1
0
Fork 0
Commit graph

413 commits

Author SHA1 Message Date
Janez
bb37962d74 Merge branch 'newOD_fixes' of https://github.com/dergentk/CANopenNode into dergentk-newOD_fixes 2021-02-25 08:20:06 +01:00
Janez
db7940ffc4 OD_interface: simplify OD_getPtr() function and add additional check. 2021-02-25 08:12:10 +01:00
Janez
c3ec5dfb68 Replace CO_NMT_setInternalState() with CO_NMT_sendInternalCommand(). 2021-02-25 07:37:16 +01:00
Koen Dergent
a3606672d1 only use time producer fields when enabled 2021-02-18 10:32:35 +01:00
Koen Dergent
d00ddf5a59 only use optional emergency fields when enabled 2021-02-18 10:32:18 +01:00
Koen Dergent
9f88191767 only use SDO segmented fields when enabled 2021-02-18 10:29:39 +01:00
Janez
88558203a0 Linux socketCAN driver, fix CANsend().
There was a problem with block transfer, when transmitting sequence of
data. If CANsend() failed (socket buffer full), message was dropped.
Now dropped message is marked with bufferFull flag and then it is
re-transmitted later by the driver, as is in the original behaviour of
CANopenNode. Same as commit acd719e27 in v2.0.
2021-02-08 17:01:55 +01:00
Janez
3ee8725036 Simplify Data Storage
- remove CO_storage from CANopen.h/c (revert)
- add target specific CO_storage_entry_t into CO_driver(_target).h
2021-02-01 15:24:37 +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
5538b5e1f8 Remove CO_errinfo() from driver and put errInfo into CO_CANopenInit() as arg 2021-01-20 12:49:20 +01:00
Janez
04ca686fd8 OD_interface, getter and setter helper functions simplified, #162 2021-01-07 08:36:45 +01:00
Janez
51d64df860 OD interface simplified #162
OD_extension is now configurable by application only.
2021-01-07 08:34:53 +01:00
Janez
7b5de9f383 Replace type char with uint8_t, where appropriate.
Fix typos and clarify CO_ODinterface.
Remove unnecessary types from CO_driver.h.
2021-01-05 12:27:22 +01:00
Janez
267a2dafb2 Replace type char with uint8_t or int8_t, where appropriate
305/CO_LSS.h now passing -Wextra warnings
2021-01-05 09:22:19 +01:00
Janez
d62de8dc64 Minor updates 2020-12-28 13:23:57 +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
09bf926856 CO_ODinterface - Change some API:
- Add OD_getPtr_vs(), OD_getPtr_os() and OD_getPtr_us().
- Move read/write from OD_subEntry_t into OD_IO_t structure.
- Change argument in OD_getSub(), use OD_IO_t instead OD_stream_t.
- OD_getSub(), argument subEntry is optional.
- Change return value of OD_extensionIO_init() to ODR_t.
2020-12-02 16:44:31 +01:00
Janez
d224de0ac9 Make Linux canopend example single thread.
Include files optionally in CANopen.h
2020-11-28 12:20:43 +01:00
Janez
a6ce313387 New Object Dictionary project file, etc. Remove old OD. Update doc. 2020-11-28 12:17:48 +01:00
Janez
5a14e91834 Set CANopenNode version V4.0
Skip V3.0, because there exists some old version numbering from SouceForge.
V3.00 exists also in old CO_OD.c. Use 4.0 to avoid confusion.
2020-10-29 09:58:26 +01:00
Janez
da850252bd Set CANopenNode version V3.0
Added macros CO_VERSION_MAJOR and CO_VERSION_MINOR into driver.h
2020-10-29 09:38:21 +01:00
Janez
8e2de726a5 works also with globals 2020-10-27 13:13:13 +01:00
Janez
ee1d8d0c81 Restore CO_CONFIG_HB_CONS_CALLBACK_CHANGE option, same as #241 2020-10-26 19:05:26 +01:00
Janez
5a7520d36d Reduce scope of local variables to avoid warning about shadowing, #241 2020-10-26 18:18:11 +01:00
Janez
ace840fa6c Fix ODinterface, basic tests passed. 2020-10-26 18:16:00 +01:00
Janez
82eeec2d23 Fix gateway socket hangup handling. Speed-up gateway processing.
Same as 65464f8f
2020-10-26 18:08:34 +01:00
Janez
0e317dddf3 Add CO_errinfo() into CO_driver.h and driver_targets.
Add additional error info for 'CO_ERROR_OD_PARAMETERS'.
2020-10-26 18:05:47 +01:00
Janez
cf9fb2a547 Some updates in OD interface.
It matches newly generated OD.h and OD.c files from libedssharp
2020-10-21 11:29:03 +02:00
Janez
f73025ef65 CANopenNode V2.0 pre-release 2020-10-07 17:50:25 +02:00
Janez
7a43f98f24 Configuration macros updated 2020-10-07 13:47:07 +02:00
Miles Simpson
05b488c45c
Added missing check for CO_NO_TIME definition to CANopen.h (#233) 2020-10-06 08:10:04 +02:00
Janez
010c6ae6a1 fix config macros in socketCAN/CO_epoll_interface.c 2020-10-02 08:49:42 +02:00
Janez
f142e893ad Can run in single thread in Linux. 2020-09-29 12:46:02 +02:00
Janez
1385c763aa small fix 2020-09-29 12:26:26 +02:00
Janez
3460e01e1c Merge branch 'master' of https://github.com/CANopenNode/CANopenNode 2020-09-29 10:13:53 +02:00
Henrik Brix Andersen
7fe0555606
Update documentation with further details on the Zephyr RTOS support (#230) 2020-09-29 09:58:31 +02:00
oto313
ffa92310a7
Update CO_HBconsumer.c (#229)
When current node is CO_HBconsumer_UNCONFIGURED then other nodes are skipped
2020-09-29 09:50:18 +02:00
Wilkins White
28925a4e3c
Add CO_SYNCsend() (#225)
* add CO_SYNCsend function

* change return type of CO_TPDOsend
2020-09-29 09:24:21 +02:00
Carsten Frank
87b293b3e6
Do ErrorReset of SYNC timeout (#220) 2020-09-29 09:19:06 +02:00
Janez
23bc5d38a7 Reorganize socketCAN/CO_Linux_threads
- Rename files to CO_epoll_interface
 - Object oriented, more flexible, separate functions
 - move epoll, timerfd and eventfd system calls from CO_driver.c to CO_epoll_interface.c
2020-09-29 09:00:31 +02:00
Janez
ac4ca2893a Remove duplicated CANopenConfiguredOK from main functions. Use CO->nodeIdUnconfigured instead. 2020-09-23 09:06:57 +02:00
Janez
d4b78771b3 socketCAN: Add CO_CANptrSocketCan_t object for "CANptr" argument for CO_CANmodule_init() function 2020-09-23 08:32:30 +02:00
Janez
6cdc70fb4e Object dictionary interface, preview updated. 2020-09-19 09:58:49 +02:00
Janez
9446aa5792 CO_TIME.c can be disabled 2020-09-14 16:49:48 +02:00
Janez
4b855d04f7 CO_TIME.c can be disabled 2020-09-14 16:45:05 +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
Carsten Frank
7b66b10dff
Fix lssAddress copy (#221) 2020-08-13 23:57:46 +02:00