CANopenNode is an open source software stack used for serial communication of multiple devices over the CAN/CANopen Network. It works on different microcontrollers, is reliable, simple and powerful and is suitable for industrial or home automation.
- CANopenNode is an opensource CANopen Stack. CANopen is CAN-based higher-layer protocol (EN-50325-4). See http://www.can-cia.org/
- CANopen features: NMT slave, Heartbeat producer/consumer, Error control, Emergency message, PDO linking and dynamic mapping, SDO expedited and segmented transfer, SDO master, Sync producer/consumer.
- Controllers: dsPIC30F, PIC24H, dsPIC33F, PIC32, Beck SC2x3, (PIC18 - old). Easy portable to other.
- Code: ANSI C language, object oriented, documented. LGPL license.
- Object Dictionary Editor: Edit CANopen accessible variables, export to: .c/.h source files, EDS/XDD canopen files and HTML documentation file.
- On some controllers is implemented memory retention of selected variables from Object Dictionary.
- Example code for simple CANopen digital/analog input/output device is included.
- CANopen master device with HTML interface to CANopen: CAN log, Emergency log, SDO master, NMT master, Custom CAN message.
Have used this stack since version 0.5 and have it currently running on almost a hundred of nodes most of which run 24/7 - works great and is stable over multiple years of operation. Thanks for writing it and putting it in the public domain, Janez!
Great stack. Worked with minimum modifications. 2 comments for future releases: 1 - PDO master support is missing. Will be really useful to have it in the library. 2 - SDOclient communication is very tightly coded for communicating with only 1 slave node, which needs to be configured during CO_init initialization. Hacking it for multiple slave nodes is a bit tedious...would be great to see it modified for multiple slave nodes.
canopennode works perfectly.
Hello! Can you use this code for PIC18F4680?
Have used the version 1.x of this stack for years in hundreds of nodes, both for home automation and scientific experiments. Runs very stable, great stack to work with. Thanks for writing it, jani - I could not have done these projects without it. Currently trying to advance to the version 3 of the code for the newer PICs...
Reliable and runs smoothly