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.

Configuration

An example can.ini file for windows 7:

[default]
interface = neovi
channel = 1

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

shutdown()[source]

Called to carry out any interface specific cleanup required in shutting down a bus.