New release: v2.3.3, v2.2.9 and v2.1.11

2 minute read

v2.3.3, v2.2.9 and v2.1.11 have just been released. These are minor releases containing only bugfixes.

Bug fixes

The following bugs have been fixed in all three versions:

  • configure.ac now prepends the default flags to $CFLAGS and $CXXFLAGS. This allows the user to override the default flags.
  • During a firmware update, a missing SDO download response message after the “start program” command no longer results in an error. This may happen if a device reboots immediately after receiving the command, before sending an SDO response. While this is non-conforming behavior, the firmware update process is more robust if we ignore the SDO timeout in this case.
  • GCC 13 is now supported. All build warnings have been fixed.
  • liblely-util and liblely-co no longer rely on the availability of specified-width integer types and macros. These types and macros are optional according to the standard. The least-width types and macros are used instead.
  • The previous bug fix, combined with a few other small fixes, enables support for the TI C2000 C/C++ Compiler. This compiler targets the TI C2000 Microcontroller platforms. A distinguishing feature of these platforms is the absence of 8-bit bytes.
  • CAN frames with CAN-ID 000h (NMT commands) are now only processed by the NMT service and not by other CAN frame receiver callbacks. This prevents difficult to debug issues with misconfigured CANopen services which accidentally use 000h as the COB-ID. Since those services might be recreated by the NMT service, this could even lead to segmentation faults in the worst case.
  • dcfgen now generates an explicit SDO download request to set sub-index 0 of the PDO mapping parameter object to 0 before writing the actual mapping parameters, even when the EDS/DCF file suggests that it might already be 0. The standard is vague on whether this is necessary, but always writing the value is the most robust solution.
  • A missing member initializer has been added __frbuf_init().

The following additional issues have been addressed in v2.3.3 and v2.2.9:

  • Defining LELY_NO_CO_OBJ_FILE no longer results in a linker error in liblely-coapp.

The following additional issues have been addressed in v2.3.3:

  • Padding bytes in MPDO messages are now discarded, like the standard requires.

Known issues

The following known issues are still present:

  • When compiling with clang with C17 support, the following error is reported for multiple files:
    error: macro 'ATOMIC_VAR_INIT' has been marked as deprecated [-Werror,-Wdeprecated-pragma]
    

    This cannot be easily fixed, since the ATOMIC_VAR_INIT macro is also used in the <lely/libc/stdatomic.h> compatibility layer for compilers without support for C11 atomics. For now, the error can be fixed by adding -std=c11 to $CFLAGS when compiling with clang.

Download

You can download the source from GitLab or the Ubuntu packages from our PPA.

Categories:

Updated: