Releases: embedded-office/canopen-stack
Releases · embedded-office/canopen-stack
v4.4.0
Add
- Add unit tests for all object type functions
- Add CMake presets for simplified usage of CMake in CI/CD
Changed
- Separate all object type functions into separate files
- Adjust repository structure to recommendations in "Professional CMake - A Practical Guide"
- Move website to separate repository
Attention: This release introduces a breaking change:
Handle basic type implementations with separate type function files and in consequence enlarge the object entry flags from CO_OBJ_DNPRW
to CO_OBJ_DNAPRW
. This change requires adjustments in existing object dictionary definitions:
old:
{CO_KEY(0x1001, 0, CO_UNSIGNED8 |CO_OBJ____R_), 0, (CO_DATA)(&Obj1001_00_08)},
new:
{CO_KEY(0x1001, 0, CO_OBJ_____R_), CO_TUNSIGNED8, (CO_DATA)(&Obj1001_00_08)},
add an underscore or A ---^ ^
ensure type starts with CO_T -------'
v4.3.1
Fixed
- Rollback of 32bit direct storage in 16bit machines (is not compiling reliable)
Changed
- Add a warning for 16bit microcontroller using direct storage in the object dictionary in docs
v4.3.0
Added
- Add a note in documentation to usage and api about the need of sorted object dictionary
- Add support for SDO client segmented transfers @tonbo777
- Add support of mapping values with 3 bytes in PDOs
- Introducte callbacks for read/write PDO mapped values larger than 4 bytes
Changed
- Adjust SDO client API documentation to reflect conditions for expedited and segmented transfers
Fixed
- Avoid variable declaration if SDO client is disabled @jernejsk
- Allow direct data in object dictionaries running on 16bit microcontrollers
Note: The datatype in the object dictionary was
uintptr_t
in previous versions. For 16bit microcontrollersuintptr_t
may contain only 24bit instead of the required 32bits for direct data storage. For this reason, in version 4.3.0 and later the object dictionary should useCO_DATA
as data type.
v4.2.0
Added
- Add callback
CONmtResetRequest()
for handling specific application and/or communication reset features - Add feature: SYNC producer @dozack
- Add feature: SDO client (limited to expedited transfers) @dozack
Changed
- Change static website generator to Material for MkDocs
Fixed
- Fix navigation link in sidebar to quickstart example
- Correct restarting of block transfer after aborting a running transfer by a client restart
- Correct abort message when writing to 1014h:00h while active or with value out of range
- Correct abort message when writing to 1003h:00h with value out of range
- Fix data copy loops in NVM simulation read and write functions
v4.1.8
Added
- Add the option to exclude LSS and/or parameters Domen2242/configurable_features
- Detailed description of API function
COObjTypeUserSDOAbort()
- Example article explaining the usage with RTOS and baremetal
- Example article explaining the firmware upload with user domains
Fixed
- Interface description and examples of API functions on Page "Object Entry"
- SDO segmented download of basic data type
- SDO block upload and download of basic data type
- correct some Domain and String object definitions in documentation
v4.1.7
Added
- Introduce COObjTypeUserSDOAbort() to define manufacturer-specific SDO Abort codes within type functions
- Add CMake toolchain files for ARM-GCC Cortex-M3, M4 and M7
v4.1.6
Added
- Explain the possible PDO transmission options
- Add example which describes how to setup and use a dynamic object dictionary
- Add type functions for EMCY COB-ID (1014) and SYNC COB-ID (1005)
Changed
- Clarify the arguments in type functions read() and write()
Fixed
- PDO Timer Config when entering the OPERATE state multiple times
- Fix the random bogus frame passed to function when no CAN frame is received
- Fix issues in SDO block upload and download protocol
v4.1.5
Added
- Allow disabling the EMCY module by setting NULL for emcy code table.
Fixed
- Explain how to setup EMCY in quickstart example (even if not used in this application).
- Fix NMT reset when EMCY is not used (no EMCY code table).
- Fix broken RPDO communication setup @cjardin112.
v4.1.4
Added
- Allow CAN driver polling for testing and demo purpose (Don't use this in production!).
- Implement a simple NVM driver simulation in RAM.
Fixed
- Add
CO_TASYNC
in quickstart object entry to trigger PDO transmission on write access.
v4.1.3
Added
- Standard changelog file in the project root.
Fixed
- CO_OBJ_TYPE const qualifier @cesarvandevelde.
- COBID macros: use 11-bit mask for std IDs @cesarvandevelde.