CANopen Magic Pro Library (Linux)

Part No.: MPEM-CANopen-Magic-Pro-Library-Linux
Provides a CANopen platform to build Linux based applications. Full documentation, example application and header file is included.


The CANopen Magic Pro Library is a system allowing custom CANopen based PC applications to be quickly and easily developed without needing to know all the details of CANopen. The kit consists of a professional CANopen library along with documentation, a C header file and makefile for gcc. The CANopen library implements the CANopen functionality and in turn uses the PEAK CAN driver with SocketCAN to communicate with the CAN interface.

The CANopen Magic Pro library can be used to quickly and easily build custom CANopen masters, managers and configuration utilities. It can also be used to construct custom data transfer programs, firmware update programs and network analysis applications. Applications can be designed for production line testing avoiding the need to train operators on CANopen functionality and terminology.



The following is a list of features of the CANopen Magic Pro Library. The list is not exhaustive by any means, but does give a good overview.

Send Network Management messages to all nodes or a single node

  • Perform an SDO expedited or segmented download to a node
  • Perform an SDO expedited or segmented upload from a node
  • Progress callbacks during SDO transfers
  • Operation result callback at the end of SDO transfers
  • SDO transfers are non-blocking, allowing easier implementation of applications
  • Ability to cancel an SDO transfer currently in operation
  • High speed network scan to determine nodes present. Typically completes in less than 0.5 seconds.
  • All messages have typically 1us accuracy timestamps
  • CAN 2.0A and CAN 2.0B messages supported
  • Remote Transmission Request messages supported
  • Transmit and receive plain CAN messages
  • Callbacks for CAN messages sent and received
  • Callback for events, such as bus off, timeout, hardware error and protocol error
  • Ability to get a current timestamp for comparing with timestamps of messages received
  • Switch networks and CAN interfaces on the fly
  • High speed mass expedited write to all nodes
  • Configurable timeouts and time delays
  • Write Device Configuration Files to nodes
  • Write Network Configuration Files to networks to configure all nodes at once
  • Receives error frames
  • Reset the CAN interface
  • PDO transmission and reception (event time, inhibit time, SYNC, change of state detection, application layer tx approve/deny)
  • Can connect to internal networks with no CAN interface for CANopen network simulation
  • Able to find and interrogate LSS slaves on the network
  • Able to configure the node IDs and bit timings of LSS slaves
  • Support for CiA 1301 - CANopen FD
    • USDO support
    • PDOs with up to 64-bytes of data
    • PEAK and Kvaser CAN-FD interfaces
    • Enhanced emergency messages
  • Support for CANcrypt
    • Encrypted communication with CAN nodes
    • Node pairing

What's Included

The following is a list of files that are included in the developer's kit.

  • The professional CANopen library, implementing CANopen functionality
  • A C header file
  • Makefile for gcc
  • A example application for gcc
  • A manual on how to use the CANopen library


The CANopen Magic Pro library can run on Linux 2.6. Debian/Ubuntu is recommended. Any PEAK CAN interface is required along with SocketCAN. The CANopen Magic Pro library can work with any available PEAK interface that supports SocketCAN, which are all low cost and high performance.


Support Limitations

General support is provided when using any PC development system. This consists of general questions on the library functionality. Specific help can only be given when using gcc.