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. CANopen is the internationally standardized (EN 50325-4) (CiA DS-301) CAN-based higher-layer protocol for embedded control system.
- CANopenNode is an opensource CANopen Stack. CANopen is CAN-based higher-layer protocol (EN-50325-4) (CiA DS-301). 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.
- Support for eCos, open source real-time operating system. Multiple hardware is supported, including ARM.
- 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.
This implementation of CANopenNode for sure is an easy to use and easy to port open source stack as mentioned by the author. This CANopen_3_10.zip version of the code is ported on to Analog Devices ADSP-CM408F mixed signal control processor successfully with the required CANopen drivers and board support package. This support package for CANopenNode using Analog Devices ADSP-CM408F has been made available on sourceforge (use keyword(s): CANopenNode-for-ADSP-CM408F canopennode-for-adsp-cm408f).
Interesting project. Do you have knowledge of an implementation on ATMEL AT32 UC3 micro controller?
Its good CANopen Node protocol stack works fine, i have ported same CANopen node to Analog Device DSP processors working properly 24/7. I would like to share source code, please let me know how i can do it.
Thanks for Canopennode, it's great!