NEOVI Interface


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.


This neovi interface requires the installation of the ICS neoVI DLL and python-ics package.


An example can.ini file for windows 7:

interface = neovi
channel = 1


class can.interfaces.ics_neovi.NeoViBus(channel, can_filters=None, **config)[source]

Bases: can.bus.BusABC

The CAN Bus implemented for the python_ics interface

  • 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.
  • 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.
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.

  • 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 indefinitly.

can.CanError – if the message could not be sent


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