Skip to content

Releases: embedded-office/canopen-stack

v4.4.0

20 Aug 22:07
Compare
Choose a tag to compare

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

14 Jul 16:41
0b1525b
Compare
Choose a tag to compare

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

13 Jul 10:40
3ed1ae9
Compare
Choose a tag to compare

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 microcontrollers uintptr_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 use CO_DATA as data type.

v4.2.0

01 Apr 09:47
f346870
Compare
Choose a tag to compare

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

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

04 Oct 14:35
Compare
Choose a tag to compare

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

28 Jul 10:22
09090ec
Compare
Choose a tag to compare

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

21 Jul 22:44
33f3325
Compare
Choose a tag to compare

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

11 Feb 14:50
590685b
Compare
Choose a tag to compare

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

15 Dec 18:44
Compare
Choose a tag to compare

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

30 Oct 14:33
ae55ffe
Compare
Choose a tag to compare

Added

  • Standard changelog file in the project root.

Fixed