v2.2.5, v2.1.7 and v2.0.8 have just been released. These are minor releases containing only bugfixes and minor improvements.
The following bugs have been fixed in all three versions:
- Receive-PDO services now interpret the value of object 1007h (Synchronous window length) as microseconds instead of milliseconds.
- Transmit-PDO (TPDO) services now ignore the value of object 1007h. Proper handling of the synchronous window requires support for a user-defined “sampling” step before transmitting PDOs. This will be added in the next release.
- Acyclic (event-driven) TPDOs (transmission type 00h) now ignore the event-timer, as specified in CiA 301.
- RTR-only (synchronous) TPDOs (transmission type FCh) now ignore RTR frames if no PDO has been buffered by a previous SYNC event.
- An empty
UploadFileattribute now results in an empty value instead of a file-not-found error during an SDO upload (read) request.
ev::when_any()function overloads now distinguish between a pair of
ev::Futures and a pair of iterators.
The following additional issues have been addressed in v2.2.5:
- Some non-compliant devices never send a boot-up message, which results in the
master never starting the NMT ‘boot slave’ process for those nodes. The user
can now manually trigger the boot-up process with the
Boot()method of the master and driver classes.
- If a slave restarts during the boot-up process, the Client-SDO now remains available for use by the application (or driver).
canopen::BasicMasternow has a protected
IsConfig()method which can be used to check if a remote node is configuring (i.e., i.e., the ‘update configuration’ step of the NMT ‘boot slave’ process is reached but not yet completed).
--disable-cythonhas been added to the
configurescript. Using this option will disable the (deprecated) Python bindings while still allowing the DCF tools to be built.
dcfgennow correctly handle implicitly defined PDOs.
dcfgennow correctly handles objects mapped to multiple PDOs.
configuration_fileattribute has been added to the slave section of the YAML file used by
dcfgen. This attribute can be used to override the name of the configuration file for the slave as it appears in object 1F22h in
master.dcf. Note that it has no effect on the name of the
.binfile generated by
- Object 1F22h is omitted from
dcfgenif no slaves use a configuration file, either because no
.binfiles are generated or because the
configuration_fileattribute is explicitly set to an empty string.