NEOVI Interface¶
Warning
This ICS NeoVI
documentation is a work in progress. Feedback and revisions
are most welcome!
Interface to Intrepid Control Systems neoVI API range of devices via python-ics wrapper on Windows.
Installation¶
This neovi interface requires the installation of the ICS neoVI DLL and python-ics package.
- Download and install the Intrepid Product Drivers
- Install python-ics
pip install python-ics
Bus¶
-
class
can.interfaces.ics_neovi.
NeoViBus
(channel, can_filters=None, **kwargs)[source]¶ Bases:
can.bus.BusABC
The CAN Bus implemented for the python_ics interface https://github.com/intrepidcs/python_ics
Parameters: - channel (int or str or list(int) or list(str)) – The channel ids to create this bus with. Can also be a single integer, netid name or a comma separated string.
- can_filters (list) – See
can.BusABC.set_filters()
for details. - receive_own_messages (bool) – If transmitted messages should also be received by this bus.
- use_system_timestamp (bool) – Use system timestamp for can messages instead of the hardware time stamp
- serial (str) – Serial to connect (optional, will use the first found if not supplied)
- bitrate (int) – Channel bitrate in bit/s. (optional, will enable the auto bitrate feature if not supplied)
- fd (bool) – If CAN-FD frames should be supported.
- data_bitrate (int) – Which bitrate to use for data phase in CAN FD. Defaults to arbitration bitrate.
- override_library_name – Absolute path or relative path to the library including filename.
-
static
get_serial_number
(device)[source]¶ Decode (if needed) and return the ICS device serial string
Parameters: device – ics device Returns: ics device serial string Return type: str
-
send
(msg, timeout=None)[source]¶ Transmit a message to the CAN bus.
Override this method to enable the transmit path.
Parameters: - msg (can.Message) – A message object.
- timeout (float or None) – If > 0, wait up to this many seconds for message to be ACK’ed or for transmit queue to be ready depending on driver implementation. If timeout is exceeded, an exception will be raised. Might not be supported by all interfaces. None blocks indefinitely.
Raises: can.CanError – if the message could not be sent