Library API¶
The main objects are the BusABC and the Message.
A form of CAN interface is also required.
Hint
Check the backend specific documentation for any implementation specific details.
Utilities¶
Configuration file parsing.
-
can.util.choose_socketcan_implementation()¶ Set the best version of SocketCAN for this system.
Parameters: config – The can.rc configuration dictionary Raises: Exception – If the system doesn’t support SocketCAN
-
can.util.load_config(path=None)¶ Returns a dict with configuration details which is loaded from (in this order):
- Environment variables CAN_INTERFACE, CAN_CHANNEL
- Config files
/etc/can.confor~/.canor~/.canrcwhere the latter may add or replace values of the former.
Interface can be kvaser, socketcan, socketcan_ctypes, socketcan_native, serial
The returned dictionary may look like this:
{ 'interface': 'python-can backend interface to use', 'channel': 'default channel to use', }
Parameters: path – Optional path to config file.
-
can.util.load_environment_config()¶ Loads config dict from environmental variables (if set):
- CAN_INTERFACE
- CAN_CHANNEL
-
can.util.load_file_config(path=None)¶ Loads configuration from file with following content:
[default] interface = socketcan channel = can0
Parameters: path – path to config file. If not specified, several sensible default locations are tried depending on platform.