New release: v2.2.6, v2.1.8 and v2.0.9
v2.2.6, v2.1.8 and v2.0.9 have just been released. These are minor releases containing only bugfixes and minor improvements.
Bug fixes
The following bugs have been fixed in all three versions:
co_val_cmp()
now correctly comparesTIME_OF_DAY
andTIME_DIFF
values: thedays
member is compared before thems
member.- A potential race condition was fixed in asynchronous I/O functions, which made it possible in a multi-threaded environment for an asynchronous operation to complete and release its promise before the invoking function acquired the corresponding future.
- The Transmit-PDO event timer no longer stops in case of an error.
co_sdev_load()
no longer causes compilation failures whenLELY_NO_CO_OBJ_NAME
is defined.
The following additional issues have been addressed in v2.2.6:
- Drivers inheriting from
canopen::LoopDriver
can now use theJoin()
method in their destructor to ensure the thread running the dedicated event loop finishes its execution before continuing. This is necessary to guarantee that all tasks involving registered logical drivers have finished before those drivers are destroyed. TheJoin()
method is public, so it can also be used to synchronize the destruction of logical drivers that are not owned by the driver inheriting fromLoopDriver
. - The
USleep()
method incanopen::LoopDriver
now uses an actual timer instead of relying on therun_for()
method ofev::Loop
. This makes the implementation consistent withcanopen::FiberDriver
and removes the 1 ms resolution of the timeout. - The
AsyncWait()
operation used by theUSleep()
method incanopen::LoopDriver
andcanopen::FiberDriver
is now canceled if the event loop is interrupted. dcfgen
now copies the producer heartbeat time from object 1017h in the slave EDS/DCF if theheartbeat_producer
attribute is not explicitly specified.dcfgen
no longer omits the SDO request to set the number of mapped objects to 0 before changing the PDO mapping.- The
on_can_state()
method inio::CanNet
now receives thenew_state
andold_state
arguments in the correct order.
Download
You can download the source from GitLab or the Ubuntu packages from our PPA.