1
0
Fork 0
Commit graph

67 commits

Author SHA1 Message Date
Janez
a98492ecaf Add heapMemoryUsed info from CO_new() 2020-03-06 11:33:25 +01:00
Janez
3fc564b72f Remove CO_CANopenInitCallback() from CANopen.h/.c (revert) 2020-02-27 15:25:59 +01:00
Janez
8fb48173c6 Add CO_CANopenInitCallback() into CANopen.h/.c.
Change CO_*_initCallback() functions - add 'void *object' argument.
2020-02-27 13:09:48 +01:00
Janez
9c0b16f981 minor corrections 2020-02-06 07:52:41 +01:00
Janez
ae48e57c33 CANopen.h/.c revision.
- example/main.c updated to microsecond time base.
- NMT master moved from CANopen.h/.c into 301/CO_NMT_Heartbeat.h/.c.
- CANopen.h/.c files revised, changes in interface, compare example/main.c.
- Removed CO_init() from CANopen.h/.c. Use separate functions instead.
- CO_USE_GLOBALS and global definitions removed from CANopen.c.
- CO_USE_OWN_CRC16 removed from CANopen.c. Use CO_driver_target.h.
2020-02-06 00:15:54 +01:00
Janez
c19879b659 Time base CHANGED TO MICROSECONDS in all objects. FIX OS!
- Necessary to update Time base in OS too - call to CO_process() function.
- timerNext_us info to OS implemented in in all objects.
- CO_NMT_blinkingProcess50ms() moved inside CO_NMT_process().
- CO_HBconsumer_process() function optimized and revised.
- Bugfix "timeDifference_us = 0;" inside the for loop.
2020-02-04 20:28:33 +01:00
Janez
a2531b0373 Merge branch 'master' into split-driver 2020-01-31 17:41:54 +01:00
Miles Simpson
a1f36cbe15 Removed maximum time restriction on timerNext_ms 2020-01-31 17:23:31 +01:00
Miles Simpson
38d5181807 Implemented changes based on PR feedback 2020-01-31 17:13:04 +01:00
Miles Simpson
729a139c12 Implementing PDO and SYNC timerNext_us return value 2020-01-31 17:13:04 +01:00
Janez
63df34d194 Rename CANdriverState to CANptr 2020-01-21 00:16:51 +01:00
Janez
06a0493c78 fix NMTstartup handling - update README and default values 2020-01-16 08:06:16 +01:00
Oleg
2fb8dfd223 fix NMTstartup handling if device is NOT the NMT Master (#150)
* fix NMTstartup handling if device is NOT the NMT Master and now OD_NMTStartup (0x1F80 OD) can be optional

issue #149

* Correctly use of NMTstartup to self start slave

According to DSP302, part2, V4.1.0, 2009 for object 1F80h (NMT startup):
bit0=0 - "CANopen device is not NMT master. The entries of the object 1F81h shall be ignored. All other bits of object 1F80h shall be ignored with the exception: value = 00000000 00000000 00000000 00001000b - "NMT slave that shall enter the NMT state Operational after the NMT state Initialisation autonomously (self starting)"
2020-01-16 07:58:01 +01:00
gotocoffee
cf015f2259
Update CANopen.c
#151
2020-01-15 15:48:24 +01:00
Oleg
f2283e3ca9 Warnings omitted (#144)
* All Warnings omitted
Now all warnings that came up in previous versions are fixed in a clean way directly in the code.
Inlcudes:
Shadowing
Missing default cases
Missing cases in switch statements
unused variables
Pointer problems
Function declarations' visibility

* Default case for NMTsendCommand
Default case was not catched before and could led to errors.

* fix typo when omitting warnings

* Omitting more warnings, and fix TIME->CANrxNew nulling

Inlcudes:
large integer implicitly truncated to unsigned type
this statement may fall through

* rename CO_this to co

* fix CO_process_SYNC name (CANopenNode master merging issue)

Co-authored-by: Michele B. <MicheleBlank@gmx-topmail.de>

----
Verified before merge. It is cleanup, no deep changes.
2020-01-15 13:40:30 +01:00
Martin Wagner
d7f28f8743
Merge branch 'master' into time-optional 2020-01-13 09:15:08 +01:00
Martin Wagner
aa08ebf51d
Merge pull request #142 from wilkinsw/add-missing-sync-guards
fix missing SYNC guards
2020-01-13 09:13:19 +01:00
Wilkins White
511a773151
Merge branch 'master' into time-optional 2020-01-08 08:46:54 -08:00
Janez
9c2f0a1c64 License changed to Apache 2.0 - main part 2020-01-08 14:52:56 +01:00
Wilkins White
36d49ee713
change TIME module to be optional 2019-12-20 10:21:58 -08:00
Wilkins White
8d6f25de40
fix missing SYNC guards 2019-12-20 10:14:49 -08:00
Wilkins White
0a4b2d3624
Merge branch 'master' into sync-optional 2019-12-16 13:59:34 -08:00
Martin Wagner
0069df9013
Merge pull request #135 from JuPrgn/FeatTimestamp
fix: CO_delete free TIME
2019-12-16 08:17:50 +01:00
Wilkins White
1c019bb48a add guard to deletion of CO->SYNC object 2019-12-10 16:33:21 -08:00
Wilkins White
f6d93fc300 change SYNC module to be optional
allows CO_NO_SYNC to be zero
2019-12-10 16:33:21 -08:00
Julien PEYREGNE
fef15a1ced fix: CO_delete free TIME 2019-12-09 11:43:36 +01:00
Martin Wagner
f9ea788caa
Merge pull request #124 from heliochronix/conditional_led
Conditionally compile LED state code
2019-12-09 08:36:12 +01:00
Martin Wagner
96fd0aa02b
Merge pull request #110 from JuPrgn/FeatTimestamp
feat: Add TimeStamp feature
2019-12-09 08:23:16 +01:00
Miles Simpson
79994e0ec9 Conditionally compile LED state code 2019-11-15 14:26:02 -08:00
Olivier Desenfans
02fd8ee9da Renaming CANdevicePtr to CANdriverState 2019-11-13 08:34:42 +01:00
Julien PEYREGNE
bba140f943 feat: Add TIME producer and refactor TIME consumer 2019-11-12 12:28:33 +01:00
Olivier Desenfans
e7d9652658 Use a void pointer for the CAN device address
Previously, the address of the CAN device (`CANbaseAddress`)
was specified as a signed or unsigned integer of variable size.
This made the ABI specific for each driver and is not generic
enough for some use cases.

Replaced all usages by using a void pointer instead.
Renamed `CANbaseAddress` to `CANdevicePtr`.
Refactored the code where it needed to be (some comparisons to -1).

Use a pointer to a user-defined variable/structure instead of
a 32-bit integer for CANbaseAddress. Renamed CANbaseAddress
to CANbaseStruct to reflect that change in behavior.

This is more modular and avoids casts.
2019-11-10 13:14:53 +01:00
trojanobelix
46a78ff308
Update CANopen.c
- correct handling if there is more than one SDO client configured.
2019-10-11 14:34:49 +02:00
JuPrgn
afa3a29f13
Fix mistake removed semicolon for dynamic aloc
Fix removed semicolon in CO_memoryUsed initialisation
2019-10-09 15:25:56 +02:00
JuPrgn
84577b72a4
Fix tabs and spaces 2019-10-09 14:56:14 +02:00
Julien PEYREGNE
e8262dc88f feat: Add TimeStamp feature 2019-10-09 14:31:26 +02:00
Martin Wagner
fa5f81e0a9 Merge branch 'master' of https://github.com/wilkinsw/CANopenNode 2019-10-08 10:01:50 +02:00
Martin Wagner
5601770589 Changed sdo client to support multiple sdo servers.
for existing code, you need to add "[0]" to the sdo function parameter CO->SDOclient (so you get CO->SDOclient[0]).
2018-09-13 09:12:21 +02:00
Benoit Rapidel
c0ec1da5ef CO_sendNMTcommand must return a CO_ReturnError_t, not a uint16_t 2018-09-05 09:10:15 +02:00
Martin Wagner
8512fec801 Merge branch 'add-lss' into neuberger-master 2018-09-05 08:34:21 +02:00
Martin Wagner
d189532337 Merge branch 'fix-emcy-timing' into neuberger-master 2018-09-05 08:33:30 +02:00
Martin Wagner
d5e31d6e06 lss init return value was ignored 2018-09-05 08:23:03 +02:00
gotocoffee
99e7dcc488 - forgot to change CANopen.c 2018-05-02 16:21:58 +02:00
Martin Wagner
360170cb70 enhanced emergency processing...
- emergency processing now affects CO_process() timerNext_ms
- timerNext_ms is gets set when either a message is ready to send, but inhibit time is not elapsed or when a message was sent to re-check the queue
- be aware that timer resolution is 1ms, whereas emergency inhibit time resolution is 100us. We round this up to the next ms.
2018-03-26 11:16:53 +02:00
Wilkins White
ee9d809d0f Expanded Emergency callback to take action when an emergency message is received. 2017-11-29 09:30:51 -08:00
Martin Wagner
f025b07ecd fix building LSS master 2017-09-07 10:15:37 +02:00
Martin Wagner
006b71e19d Added LSS fastscan master/slave
- other limitations still apply
2017-07-13 09:34:10 +02:00
Martin Wagner
9dbd2fc966 First try on LSS master addon...
- needs #define CO_NO_LSS_CLIENT 1 in CO_OD.h. This will need a change in the OD editor.
- still no fastscan support
- bitrate settin API untested
- some changes on LSS slave where necessary
2017-07-03 11:14:07 +02:00
Martin Wagner
03982ad8e3 First try on LSS slave addon...
- needs #define CO_NO_LSS_SERVER 1 in CO_OD.h. This will need a change in the OD editor.
- no Fastscan support yet
- bitrate setting API untested
- https://github.com/CANopenNode/CANopenNode/issues/46 (driver stuff)
- changed some of the other stack files, tried my best to remain compatible with standard non LSS CANopenNode
2017-06-26 13:04:02 +02:00
CANopenNode
43a37e2a7f Merge pull request #34 from martinwag/add-custom-crc
Compiler switch enables providing own CRC16 implemetation.
2017-05-20 16:25:48 +02:00