CANopen Library V 4.5.13 available
(09/2017) PORT delivers the new CANopen Library version 4.5.13 to its customers
The CANopen Library has been comprehensively revised and is now available as an update to our customers. Customers with a current SMA (Service - Maintenance - Agreement) are automatically sent to the update. For our customers without SMA, we recommend an update to the new version - we would be happy to make you an offer.
What is New:
- the library can now report any received message to the application
- enabled via define CO_CONFIG_USER_MESSAGE_TEST
- the application can then suppress further handling of a message by the library
- the library can now report the time until the next internal event
- could be used to better time the call of FlushMbox on threaded systems
- note: FlushMbox should still be called promtly on receiving a message
- function is called co_getNextInternalEventTime(..)
Changes
- dynamic services setup now uses calloc instead of malloc to ensure NULLed variable initialization
- when using dynamic services setup on singleline more internal functions use values derived from arguments of initDynamicServices, where applicable
- this was already the case on multiline
- added option CO_CONFIG_LSS_FASTSCANDATA_REPORT_FULL_ARRAY to LSS
- this will give a pointer to the full identity information array instead of the start of line specific information
- only noticeable on multiline
- old behavior unchanged
- added option CO_CONFIG_SUPPRESS_BOOTUP to start up
- this will suppress sending any boot up, but the device will start otherwise normal
- this option is NOT according to the CANopen standard and WILL FAIL any conformance test
- added option CO_CONFIG_BLOCKTRANSFER_INHIBITED_SEND to blocktransfer
- this will inhibit data segments of the blocktransfer, spreading them over time
- value in CO_CONFIG_BLOCKTRANSFER_INHIBITED_SEND is used as a default value, this can be adjusted per SDO
- only data segments in blocktransfer are affected
Minor
- added template for coProtocolErrorInd
- added templates for coUserVirtualTpdoInd, coUserVirtualRpdoInd
Fixed
- the library can now handle 64bit variable conversion on big endian systems
- the LSS template for usr_305.c has a proper default case
If you have any questions, please do not hesitate to contact us.