Site Information

 Loading... Please wait...

CANfetti: Open-Source CANopen Protocol Stack for Embedded Systems

Posted by Industry News on

Scythe Robotics, a developer of advanced, commercial-grade solutions for the professional landscaping industry, announced its first open-source release of CANfetti, a CANopen-compliant stack, developed to overcome the limitations of existing libraries.

Developed and improved over the past few years by Scythe's firmware and software teams, CANfetti reduces the barriers to entry with an open-source, user-friendly, and high-quality library for reliable CANopen communications in various fields including on- and off-road vehicles, industrial devices, and robotics.

The Scythe team found the APIs (application programming interfaces) and designs of current open-source frameworks too limiting to integrate consistently into their applications across firmware and software. To overcome the inflexibility of other options, CANfetti introduces the ability to use dynamic Object Dictionary types, which allow for easier integration of complex runtime behavior.

With a significantly more flexible API, CANfetti provides engineers with a drop-in CANopen stack that doesn't get in the way and lets them build their system around it. Most open-source CANopen libraries are no longer actively being developed, and many abandoned libraries sit in various states of disrepair and become rapidly outdated without community or commercial support. CANfetti represents Scythe’s first step in its commitment to updating.

According to a blog post by Scythe, other open-source frameworks only partially implement the CANopen specification and have architectures that make extending the rest of the specification a herculean effort. CANfetti, on the other hand, has a cleaner architecture and is built using modern C++. Additionally, it supports a broader set of CANopen features such as block mode, which allows users to efficiently transfer larger contiguous data blocks.

To maximize its resilience, the company created CANfetti as a versatile CANopen stack compatible with a variety of architectures, from bare metal microcontrollers to multi-threaded Linux systems. CANfetti seamlessly integrates with these platforms and can be utilized for a wide range of applications, including railway logistics, maritime electronics, and building automation.

References


CANgineBerry - CANopen Module for Raspberry Pi

CANgineBerry - CANopen Module for Raspberry Pi

The CANgineBerry for CANopen is an active CAN Bus coprocessor module that utilizes a standard UART communication channel towards the host system. It is equipped with an independent 32-bit microcontroller, allowing it to efficiently handle CAN Bus protocols with stringent timing requirements, such as CANcrypt or CANopen, achieving response times of under 10 ms.

Depending on the configuration, the CAN Bus communication can be operational within 50 ms after power-on, even if the host system takes significantly longer to boot. Available firmware options comprise a generic minimal CANopen Manager/Controller and a CANopenIA Device based on the CANopenIA implementation.

More Information...