CAN Tools is a set of tools designed to operate with the QNX CAN1000 Driver.
While the CAN1000 driver is released under the GPLv2 license the tools in this project are separate processes that interact with the CAN1000 driver. No CAN1000 driver source code is included in this distribution. The only file required from the CAN1000 Driver source is the CAN_Driver.h header file which defines constants and typedefs needed to implement the driver interface. This file is copied in as part of the compilation process and should never be included as part of the CAN Tools source.
Several tools make up the CAN Tools project. A summary of each tool is listed below.
- can2net: Creates a bridge to convert UDP/TCP data to/from specified CAN IDs.
- candrain: Outputs human readable text for a specified canserver file as new messages are received.
- cangen: Takes in parameters defining a CAN message and generates a CAN message that can be redirected to a CAN channel for transmission.
- canserver: Monitors one or more CAN channels for incoming messages on one or more channels. For each received unique message ID it creates a virtual file in its namespace that can then be read by other applications. Supports immediate read of most recent message, blocking reads, and buffered reads.
- cantest: Implemets many of the commands provided by the CAN driver to include setting bitrate, start/stop, flush buffers, clear counters, get device status, transmit a test message, etc.
For additional information read the use files in each tool's folder.
This software has been used extensively and performs well. Additional users and contributors are welcome.
Contributing to CAN Tools is always appreciated.
Here are some areas that could use attention:
- Add support for QNX 6.x and 8.x.
- Add any other useful tools.
Please see the contributing doc for instructions and please report any issue or comments.