Skip to content

Releases: busmust/python-can

bmcan v4.6.1.1

Choose a tag to compare

@busmust busmust released this 27 Jul 03:37

BUSMUST bmcan v4.6.1.1 is based on upstream python-can v4.6.1 and updates the
BUSMUST BMAPI backend.

Highlights:

  • Uses BMAPI hardware transmit tasks for indefinite single-message periodic
    transmission when supported.
  • Falls back to python-can's software cyclic sender for finite duration,
    multiple-message, modifier-callback, and hardware-slot-exhaustion cases.
  • Hardens periodic-task allocation, restart, data modification, rollback,
    shutdown, and concurrent slot handling.
  • Adds focused regression coverage for lifecycle, concurrency, resource
    exhaustion, extended CAN identifiers, and cleanup behavior.
  • Keeps the public Git repository and Python wheel source-only and binary-free.

Recommended installation:

python -m pip install --upgrade --force-reinstall "python-can @ git+https://github.com/busmust/python-can.git@bmcan-latest"

Install this immutable release:

python -m pip install --upgrade --force-reinstall "python-can @ git+https://github.com/busmust/python-can.git@bmcan-v4.6.1.1"

The BMAPI runtime library is required. Configure PATH on Windows or
LD_LIBRARY_PATH/the system loader on Linux when installing from Git. The
attached standalone ZIP includes matching Windows and Linux BMAPI runtime
libraries plus example.run.bat and example.run.sh for offline use.

Validation:

  • Focused bmcan tests: 21 passed, 1 skipped.
  • Broad filtered Windows regression: 378 passed, 73 skipped, 32
    environment-dependent UDP multicast tests deselected.
  • Black, Ruff, and Pylint: passed.
  • Sphinx HTML build and 39 doctests: passed.
  • Public wheel: 102 entries, zero DLL/SO/cache/archive/log artifacts.
  • Bamboo CAN-BBP-297: successful at internal release commit 9d138745.
  • Standalone ZIP: 306 entries, 12 BMAPI runtime libraries, zero cache/Git
    directories, nested archives, wheels, logs, or excluded repair tooling.

Standalone ZIP SHA-256:
A1842DDAFF91C9B4E388E86A54B3E7E50DD8271DA2793B124898BAA3A0DC72B3

bmcan v4.6.1

Choose a tag to compare

@busmust busmust released this 21 Jun 07:34

BUSMUST bmcan integration release based on upstream python-can v4.6.1.

Install the recommended BUSMUST build:

python -m pip install --upgrade --force-reinstall "python-can @ git+https://github.com/busmust/python-can.git@bmcan-latest"

Install this exact release:

python -m pip install --upgrade --force-reinstall "python-can @ git+https://github.com/busmust/python-can.git@bmcan-v4.6.1"

Runtime dependency:

  • BUSMUST BMAPI runtime library is required.
  • On Windows, make BMAPI64.dll discoverable through PATH or place it in a standard DLL search location.
  • On Linux, make libbmapi64.so discoverable through LD_LIBRARY_PATH or the system dynamic linker path.

Changes in this release:

  • Add BUSMUST bmcan interface support.
  • Document BUSMUST bmcan fork installation and BMAPI runtime setup.
  • Fix BM_TxTaskTypeDef ctypes layout to match the BMAPI C structure.
  • Initialize periodic TX task version and delay fields correctly.
  • Add disable_hardware_isotp / hardware_isotp selection in config_isotp().

Validation:

  • Windows syntax/import checks.
  • BM_TxTaskTypeDef size and offset checks: 128 bytes, length offset 3, delay offset 4.
  • Linux hardware smoke test on BUSMUST CAN FD hardware: normal CAN send/receive and hardware TxTask periodic transmit.
  • Real ECU UDS smoke test through BUSMUST python-udsoncan and bmcan.