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, **kwargs)[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.
  • 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=0)[source]

Transmit a message to the CAN bus.

  • msg (Message) – A message object.
  • timeout (float) – If > 0, wait up to this many seconds for message to be ACK’ed. If timeout is exceeded, an exception will be raised. None blocks indefinitely.

can.CanError – if the message could not be sent


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