You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHubβs verified signature.
π Highlights
π New CLI tool: can_bridge β bridge two physical CAN buses in software via python -m can.bridge.
π‘ Expanded protocol support:
11-bit identifiers, remote frames, and error frames in the serial interface.
CAN FD support in slcan for CANable 2.0 devices.
Error message support in the socketcand interface.
Remote frame support in TRCReader.
π₯ Windows support: Added support for the udp_multicast interface on Windows.
π Notifier improvements:
Track active Notifiers and use them as context managers.
New helper: Notifier.find_instances(bus) to discover active Notifiers.
π Better CLI integration: Public functions can.cli.add_bus_arguments and can.cli.create_bus_from_namespace for downstream packages to easily configure and parse python-can bus options.
Added
Add support for 11-bit identifiers in the serial interface. (#1758)
Add context manager support and active instance tracking to Notifier, plus Notifier.find_instances(bus). (#1890)
Add Windows support to udp_multicast interface. (#1914)
Add FD support to slcan according to CANable 2.0 implementation. (#1920)
Add support for error messages to the socketcand interface. (#1941)
Add support for remote and error frames in the serial interface. (#1948)
Add public functions can.cli.add_bus_arguments and can.cli.create_bus_from_namespace for creating bus command line options. Currently downstream packages need to implement their own logic to configure python-can buses. Now python-can can create and parse bus options for third party packages. (#1949)
Add support for remote frames to TRCReader. (#1953)
Mention the python-can-candle package in the plugin interface section of the documentation. (#1954)
Add new CLI tool python -m can.bridge (or just can_bridge) to create a software bridge between two physical buses. (#1961)
π§ Changed
Allow sending Classic CAN frames with a DLC value larger than 8 using the socketcan interface. (#1851)
Rename the gs_usb extra dependency to gs-usb. (#1945)
New PEP 735 dependency groups lint, docs and test. (#1945)
Update dependency name from zlgcan-driver-py to zlgcan. (#1946)
Use ThreadPoolExecutor in detect_available_configs() to reduce runtime and add timeout parameter. (#1947)
Unknown command line arguments ("extra args") are no longer passed down to can.Bus() instantiation. Use the --bus-kwargs argument instead. (#1949)
Remove can.io.generic.BaseIOHandler class. Improve can.io.* type annotations by using typing.Generic. (#1951)
π Fixed
Fix a bug in slcanBus.get_version() and slcanBus.get_serial_number(): If any other data was received during the function call, then None was returned. (#1904)
Fix incorrect padding of CAN FD payload in BlfReader. (#1906)
Set correct message direction for messages received with kvaser interface and receive_own_messages=True. (#1908)
Fix timestamp rounding error in BlfWriter. (#1921)
Fix timestamp rounding error in BlfReader. (#1927)
Handle timer overflow message and build timestamp according to the epoch in the ixxat interface. (#1934)
Avoid unsupported ioctl function call to allow usage of the udp_multicast interface on MacOS. (#1940)
Fix configuration file parsing for the state bus parameter. (#1957)
Mf4Reader: support non-standard CAN_DataFrame.Dir values in mf4 files created by ihedvall/mdflib. (#1967)
PcanBus: Set Message.channel attribute in PcanBus.recv(). (#1969)