Open source CANopen stack with CiA 417 lift profile
Swiss engineering company Xyntos has released CANoopEn, a CANopen protocol stack with built-in support for the CiA 417 lift application profile, under the Apache License 2.0.
The implementation grew out of a real lift project: sample projects for the ST NUCLEO-C092RC board demonstrate a CiA 417 hall call panel with the matching hall call controller - a hall call is registered on one board and acknowledged by the other, and the call sequence was verified with a CANopen-Lift analyzer.
The stack is written in object-oriented C++17 and is aimed at developers who want a maintainable CANopen implementation rather than a configuration-driven code generator: a device is a C++ class, the object dictionary is a class with typed entry objects, and callbacks are virtual methods of listener interfaces.
Completely target-independent
Photo: Logo: © Xyntos GmbHBeyond the lift profile, CANoopEn implements NMT, heartbeat, SDO server and client including block transfer, PDO and MPDO, SYNC, TIME, EMCY, LSS (CiA 305), the indicator specification (CiA 303-3) and the NMT boot process (CiA 302-2).
The object dictionary is generated from a standard EDS file (CiA 306) by the included Eds2Od tool. The stack uses no dynamic memory allocation, is completely target-independent, and every service can be compiled out to fit small flash budgets. A CiA 401 I/O device sample is included as well.
The stack, samples, unit tests and tools are available on GitHub; the documentation is at CANoopEn.net.
Background
Until now, there have been no open-source protocol stacks for CANopen Lift (CiA 417). These had to be purchased from specialist suppliers. Open-source software is available free of charge, but this also means that services provided by a commercial supplier – such as support and further development – are not included.
With CANoopEn, the Apache Licence 2.0 permits free use, adaptation and further development – even for commercial products. CANoopEn thus offers, for the first time, a freely available alternative to commercial CANopen Lift stacks.
More informations: CANoopEn.net
xyntos.ch
Write a comment