1
0
Fork 0
Commit graph

28 commits

Author SHA1 Message Date
Janez
f142e893ad Can run in single thread in Linux. 2020-09-29 12:46:02 +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
d4b78771b3 socketCAN: Add CO_CANptrSocketCan_t object for "CANptr" argument for CO_CANmodule_init() function 2020-09-23 08:32:30 +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
Janez
ca452c47cc CO_driver interface: remove Emergency object dependency for reporting CAN
errors, use CANerrorStatus own variable instead. Emergency object updated.
2020-06-13 14:06:35 +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
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
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
794c0f903a Added file CO_config.h for stack configuration. Added CO_HBconsumer_initCallback() 2020-03-18 21:06:15 +01:00
Janez
9f8e726e7e SocketCAN, CO_driver.c: replace CO_notifyPype with simpler eventfd(). 2020-03-17 17:39:22 +01:00
Janez
18bc8d4313 HBconsumer: add CO_HBconsumer_initCallbackNmtChanged(), callbaks optional
- Make HBconsumer callbacks optional via CO_CONFIG_HB_CONS_CALLBACKS
  definition.
- Add additional callback CO_HBconsumer_initCallbackNmtChanged()
2020-03-13 16:05:27 +01:00
Janez
1ce3732e60 SocketCAN: change CO_DRIVER_MULTI_INTERFACE and CO_DRIVER_ERROR_REPORTING
- Replace macro USE_EMERGENCY_OBJECT with CO_DRIVER_USE_EMERGENCY 1
- Now define sets macro to 0 or 1. It is easier to set custom value.
2020-03-12 16:20:40 +01:00
Janez
02e2cc5860 Stack configuration added do CO_driver.h
Change macro CO_USE_LEDS -> CO_CONFIG_NMT_LEDS 1
Change macro CO_SDO_BUFFER_SIZE -> CO_CONFIG_SDO_BUFFER_SIZE
2020-03-07 16:26:52 +01:00
Janez
9d17b0d671 socketCAN driver:
- Always enable CANptr and timestamp info in CO_CANrx_t.
- Update documentation
2020-02-29 22:34:48 +01:00
Janez
f21cde9ab0 doxygen socketCAN + some simplifications. 2020-02-28 16:37:41 +01:00
Janez
d40c1e1c96 Manual merge from updates in master branch - socketCAN 2020-02-28 10:08:11 +01:00
Janez
4495e32fe8 Rename macros CO_CANrxNew_* into CO_FLAG_* 2020-02-04 20:39:10 +01:00
Janez
d50e50e2c6 socketCAN related updates
- move stack/socketCAN/CO_OD_storage.* in socketCAN/CO_OD_storage.*
- CO_CANrxNew_ macros updated
- some corrections
2020-01-25 12:57:17 +01:00
Janez
23a37f0d92 New socketCAN/CO_driver_target.h
- Reduce CO_driver.h and CO_driver_base.h into CO_driver_target.h
- New functions: CO_CANrxMsg_readIdent, _DLC, _data
- rxArray[i].pFunct  changed to   -> rxArray[i].CANrx_callback
- (*pFunct)(void *object, const CO_CANrxMsg_t *message))  changed to
  (*CANrx_callback)(void *object, void *message))
- change to '#define CO_CANrxNew_READ(rxNew) ((bool_t)rxNew)'
2020-01-24 14:59:45 +01:00