Port (Germany) provides the version 4.5.13 of its protocol library compliant to the latest CiA 301 CANopen application layer and communication profile specification.
Port is supplying CANopen libraries since more than 20 years. The recently released version 4.5.13 has been comprehensively revised and is now available as an update to the customers. Customers with service/maintenance agreement receive automatically the update. The improvements include a report function for any received message to the application software. This allows the application to suppress further handling of a message by the library.
The library can now report the time until the next internal event. This could be used to improve timing of FlushMbox calls, which should be called promptly when receiving a message. The dynamic services setup now uses calloc instead of malloc to ensure NULLed variable initialization, when using dynamic services setup on single-line more internal functions use values derived from arguments of initDynamicServices, where applicable.
Another new feature comes with the LSS (layer setting service) Fastcsan module. This software module provides a pointer to the full identity information record instead of the start-of-line specific information. The new version is able to handle 64-bit parameter conversions (big endian). This is necessary, for example, for the LSS template.
Also the SDO block transfer has been improved by introducing an inhibit timer, delaying the transmission of the next segment, in order to give the server more time to process the segments. The feature to suppress the boot-up message is sometimes helpful to integrate CANopen NMT slave devices, but is not compliant to the CiA 301 specification.
Port has also updated its CDT CANopen design tool. The version 2.3.16 supports now the XMC4300 micro-controllers by Infineon and the TMS570DP Hercules processors by Texas Instruments. The tool generates CANopen object dictionary source code along with EDS files. The CiA 301 and CiA 302 functionality is included as well as some CiA device profiles. It simplifies the development of CANopen implementations.