1
0
Fork 0
Commit graph

39 commits

Author SHA1 Message Date
Janez
8c09a433ef Fix CANopen terminology: “CAN messages” are actually “CAN frames”
Fix all documentation and comments according to CiA proposals:
https://www.can-cia.org/services/publications/can-community-news/05-2025

CANopenNode was using "CAN message" in many places, but actually such
term is incorrect. No code or variable names was changed.
2026-06-26 10:23:01 +02:00
Janez
ac2140717c Mention bitwise PDO mapping in readme. 2025-11-22 12:40:47 +01:00
Sl-Alex
039827c7a2 Mention that *_OD_IO_ACCESS is mandatory for bitwise PDO mapping 2025-04-04 15:13:21 +02:00
Sl-Alex
cdc8cb872a Add a config option for PDO bitwise mapping 2025-04-04 15:13:21 +02:00
Janez
b87fad2195 Format the .h files using clang-format v15. 2024-07-06 21:54:59 +02:00
Janez
f064eeaa40 Format the license information in files. 2024-07-06 13:03:00 +02:00
Janez
f054501d0e SRDO updated to current CANopenNode 2024-05-31 01:47:28 +02:00
Janez
b0b0724c6f Node guarding added 2023-09-07 16:58:04 +02:00
Janez
b9927ff1cd Remove CO_CONFIG_EM_BUFFER_SIZE macro, size is fetched from Object Dictionary
It is necessary to re-generate OD.h file with the latest CANopenEditor
from https://github.com/CANopenNode/CANopenEditor
2021-06-28 12:39:03 +02:00
Janez
b8b9011f7f Remove CO_CONFIG_HB_CONS_SIZE macro, size is fetched from Object Dictionary
It is necessary to re-generate OD.h file with the latest CANopenEditor
from https://github.com/CANopenNode/CANopenEditor
2021-06-26 13:53:49 +02:00
Janez
cdad71beee Fix reading OD entry 1003,0, etc. 2021-06-26 13:35:43 +02:00
Janez
f56c96db3c Documentation arrangement according to doxygen.
- Minor changes in most files
- add CANopenNode.png
- update doxyfile
- move doc/LSSusage.md and doc/gettingStarted.md into CANopenDemo repository
- update README.md
2021-05-17 13:29:13 +02:00
Janez
66d0e14ef4 301/CO_PDO.h/c updated to newOD. 2021-03-18 15:13:06 +01:00
Janez
49f7c80114 Heartbeat consumer updated to newOD 2021-01-30 14:40:27 +01:00
Janez
8cff68f196 CO_config.h: use global macros for common definitions 2021-01-25 21:32:51 +01:00
Janez
464a856a3f 301/CO_time.c updated to newOD. Some principles changed. 2021-01-25 12:52:52 +01:00
Janez
9dce037ecb Add data storage, common and Linux specific functions, tested in Linux. 2021-01-25 12:42:10 +01:00
Janez
9e9fce74a9 Updates and testing of OD interface, SDO server, SDO client, gateway, etc.
- SDO server: Change behavior for string data type + fixes + test all
- SDO client: fixes + test all
- OD interface: Special behavior for string data type
- CO_driver.h: added default debug configuration macros + fix spelling
- Gateway + fifo: added base64 support + updates
- CO_CANopenInit() - added arguments.
- update some documentation
- CO_epoll_interface fixes.
- CO_main_basic.c updates
2020-12-24 14:15:10 +01:00
Janez
ee1d8d0c81 Restore CO_CONFIG_HB_CONS_CALLBACK_CHANGE option, same as #241 2020-10-26 19:05:26 +01:00
Janez
7a43f98f24 Configuration macros updated 2020-10-07 13:47:07 +02:00
Janez
6cdc70fb4e Object dictionary interface, preview updated. 2020-09-19 09:58:49 +02:00
Janez
a528eb1669 Better organised configuration macros (CO_config.h):
- rearranged and better documented
 - default values moved from CO_driver.h into appropriate files
 - rearranged also in CO_driver_target.h files
 - parts of the stack or whole objects can be disabled.
 - configuration is verified for depencies

Additional:
 - renamed some members of CO_Default_CAN_ID_t
 - moved helpers CO_setUint32() etc from CO_SDOserver.h into CO_driver.h.
 - change wrong CO_ERROR_PARAMETERS to CO_ERROR_ILLEGAL_ARGUMENT.
 - renamed CO_ERROR_PARAMETERS to CO_ERROR_OD_PARAMETERS
2020-09-14 15:50:21 +02:00
gotocoffee
0f7b3e2d17
CANopen Safety (SRDO according to DIN EN 50325-5:2016) (#196)
* CANopen Safety (SRDO according to DIN EN 50325-5:2016)

* GFC code and docs

* clang-format on GFC

Co-authored-by: rg1 <r.gruening@miunske.com>
2020-06-22 10:14:14 +02:00
Janez
bd3326fed9 Make own file for CANopen status LED diodesLED indicator indication
(CiA303-3) moved from NMT into own files. Now fully comply to standard.
2020-06-05 18:02:26 +02:00
Janez
ae220f9115 Configuration for LSS updated. 2020-05-29 09:56:05 +02:00
Janez
cb9b2cce42 Add printout of message log from CANopen gateway-ascii (non-standard). 2020-05-29 07:36:23 +02:00
Janez
f41069561a Make SDO client and NMT master optional in gateway_ascii 2020-05-28 16:40:21 +02:00
Freddie Chopin
288f8c603f
Fix fifo include (#184)
* Include CO_fifo.h in CO_SDOclient.h in all cases

Struct CO_SDOclient_t has CO_fifo_t member no matter what configuration
is set, so the header is always required. Without this change the build
fails when CO_CONFIG_SDO_CLI_SEGMENTED is not enabled.

* Fix minor copy-paste errors in CO_config.h comments
2020-05-14 16:24:04 +02:00
Janez
b5bfeec42a Added CANopen gateway-ascii command interface according to CiA309-3 as a
microcontroller independent module.
It includes NMT master, LSS master and SDO client interface.
Interface is non-blocking, it is added to mainline.
Example for Linux stdio and socket is included.

Added CO_fifo.h/c for fifo data buffer, used with rewritten SDO client, etc

SDO client is rewritten. Now includes r/w fifo interface to transfer data.

doc/gettingStarted.md is updated.
2020-05-12 18:11:43 +02:00
Freddie Chopin
b4b0fe069f Convert {T,R}PDO_CALLS_EXTENSION to CO_CONFIG_{T,R}PDO_CALLS_EXTENSION
User can now enable extension callbacks in RPDO/TPDO handling paths
simply by configuration flags instead of modifying sources or by passing
the defines directly to the compiler.
2020-05-06 18:22:50 +02:00
Freddie Chopin
9b8a296fb7 Add CO_TIME_initCallbackPre() for received TIME messages
This optional mechanism allows to immediatelly wake the thread that
processes TIME, without waiting for its next tick.
2020-05-06 18:08:45 +02:00
Freddie Chopin
495f827d37 Fix minor typo/edit mistakes in CHANGELOG.md and CO_config.h 2020-05-06 18:00:28 +02:00
Freddie Chopin
aa6075b3c8
Add CO_..._initCallbackPre() for RPDO and SYNC (#178)
* Merge two parts of CO_PDO_receive() into single common code

* Add CO_RPDO_initCallbackPre() for received RPDO messages

This optional mechanism allows to immediatelly wake the thread that
processes RPDO, without waiting for its next tick.

* Add CO_SYNC_initCallbackPre() for received SYNC messages

This optional mechanism allows to immediatelly wake the thread that
processes SYNC, without waiting for its next tick.
2020-05-05 13:23:26 +02:00
Janez
5a2a1e85cf Update configuration macros. SDO state machine preview. 2020-04-29 13:12:07 +02:00
Janez
ffd5027cb2 Make SYNC optional in TPDO and RPDO. 2020-03-20 18:47:16 +01:00
Janez
6e28914ca9 Make calculation of timerNext_us optional. 2020-03-20 16:44:37 +01:00
Janez
c88194e813 Add Stack configuration macros to most of CANopenNode objects.
Add CO_NMT_initCallbackPre()
2020-03-19 18:07:23 +01:00
Janez
d9c44c69d1 Change non-descriptive CO_***_initCallback() into CO_***_initCallbackPre().
Change CO_NMT_initCallback() into CO_NMT_initCallbackChange().
Change type of NMT->operatingState from uint8_t into enum CO_NMT_internalState_t.
2020-03-18 23:19:29 +01:00
Janez
794c0f903a Added file CO_config.h for stack configuration. Added CO_HBconsumer_initCallback() 2020-03-18 21:06:15 +01:00