Communication device

The CANmod.gps will present a USB CDC-ACM device, which on most machines will be recognized as a serial port. This represents a virtual CAN port, which the CANmod.gps will mirror data on.


The virtual CAN port cannot be used as a generic CAN interface. Only messages originating from the CANmod.gps will be present on this interface. Likewise, any messages sent to the interface will not appear on the CAN interface, but will be consumed internally by the device.

Any configured push messages will be present both on the CAN bus and on the CDC port. Likewise, any configured poll messages can be triggered from both the CAN bus and the CDC port. A poll message triggered on one port will emit a message on both interfaces.

The CANmod.gps can be used with USB as a stand-alone unit. This feature is primarily intended for testing and updating the configuration without access to a CAN interface, but does also allow for use of the CANmod.gps without a CAN bus at all.


The CAN messages are encoded using the CSSCAN protocol. For more information about the structure of the protocol, see the official repository. All timestamps are encoded relative to the device boot time.

Messages sent by the CANmod.gps will be either Standard Tx (0x02) or FD Tx (0x22), while a request for a poll frame have to be sent to the device as a RTR TxRequest (0x13).