Commit Graph

193 Commits

Author SHA1 Message Date
ArthurKetels 4b81d4099d
Merge pull request #548 from eglimi/fix_546
Fix some UB cases. Closes #546
2021-08-31 19:01:24 +02:00
Michael Egli ff448e3485 Fix some UB cases. Closes #546
There are two cases of UB that are fixed in this commit.

1. In ethercatmain.c, there are two left shifts of 31:

    (1 << 31)

Because 1 is a signed int by default, the result cannot be represented
in an int. The fix is to explicitly make the 1 unsigned.

2. In ethercatconfig.c, for slaves that have no inputs, the code would
   apply an offset to a NULL pointer. The fix is to test that the slave
   has inputs available before applying the offset.

Both cases were found by clang with the help of UBSan.
2021-08-31 13:02:10 +02:00
nakarlsson be1a2df6b2
Merge pull request #539 from Wanga/master
Add group checking for slave input offset calculation

fixes #538
2021-08-10 07:17:09 +02:00
Wanga 9fef1fc23c Add group checking for slave input offset calculation
Some slaves can be at different group and do not use overlap PDO map,
Let ec_config_overlap_map_group only change the input offset for current group.
2021-08-04 20:43:50 +08:00
ArthurKetels 04f7baec68
Merge pull request #537 from ArthurKetels/master
Add missing  PO2SOconfigx() hook to ecx_reconfig_slave()
2021-08-02 20:58:30 +02:00
ArthurKetels 6982a7648f
Add missing PO2SOconfigx() hook to ecx_reconfig_slave() 2021-08-02 20:52:22 +02:00
ArthurKetels 219670218b
Merge pull request #521 from nakarlsson/master
Adjust size of ec_EOE_t to max mailbox size
2021-06-02 21:02:23 +02:00
andreas karlsson 9de0889802 Adjust size of ec_EOE_t to max mailbox size
fix #514
2021-06-02 20:18:25 +02:00
nakarlsson f9db4f2b23
Merge pull request #486 from ntd/simple_test-revamp
simple_test revamp
2021-04-12 07:45:09 +02:00
Nicola Fontana a50ed4bf4c Add simple_ng test program
This is a rewrite of `simple_test` with the following major changes:

* portable codebase, so no splitting between different OS;
* no threads: they are not needed for such simple task;
* use newer APIs (i.e., ecx_... functions).
2021-04-10 16:49:17 +02:00
nakarlsson 2573834ade
Merge pull request #499 from alexkalmuk/fix-osal-linux-time
Fix linux osal timers and osal_current_time
2021-04-08 06:54:10 +02:00
nakarlsson 1568fd59be
Merge pull request #498 from alexkalmuk/firm-update-test-check-state
Check for reaching pre_op state in firm_update
2021-04-07 19:42:22 +02:00
Alex Kalmuk cd7acdc78f Fix linux osal timers and osal_current_time 2021-04-07 12:11:29 +03:00
Alex Kalmuk 8aa894bc34 Check for reaching pre_op state in firm_update 2021-04-06 20:46:29 +03:00
nakarlsson 25e36e44f3
Merge pull request #496 from alexkalmuk/fix-red-test-timespec-overflow
Fix red test timespec overflow
2021-04-06 14:49:15 +02:00
Alex Kalmuk 52cb5fd5da Fix timespec overflow in red_test 2021-04-02 23:13:28 +03:00
Alex Kalmuk 61ef8e3198 Fix red_test build with gcc 9 2021-04-02 23:11:36 +03:00
nakarlsson b5f58d2130
Merge pull request #481 from alex-brinkman/apb-add-userdata
Proposal: Add Userdata to ecx_context
2021-03-04 15:27:50 +01:00
Alex Brinkman bb303a645f add userdata initialization to default ecx_contextt 2021-02-18 09:30:33 -08:00
Alex Brinkman 9a077ddd39 add STATUS to CMake message statements 2021-02-18 09:11:29 -08:00
nakarlsson d548e9907d
Merge pull request #480 from hefloryd/feature/gh-actions
Migrate to Github Actions
2021-02-17 15:39:27 +01:00
Hans-Erik Floryd 44fa68a5a9 Migrate to Github Actions 2021-02-17 13:53:41 +01:00
Alex Brinkman e0c3806045 improved logic around BUILD_TESTS 2021-02-14 09:22:48 -08:00
Alex Brinkman 59821cb410 add userdata to ec_context 2021-02-13 12:26:38 -08:00
Hans-Erik Floryd 61668c71b7
Merge pull request #471 from jorritolthuis/master
Change include in ethercateoe.h
2021-01-03 14:34:09 +01:00
Jorrit Olthuis 5550c445d8 Change include in ethercateoe.h (#470) 2021-01-02 11:15:08 +01:00
ArthurKetels 342ca8632c
Merge pull request #460 from OpenEtherCATsociety/ArthurKetels-add_timespec
Arthur ketels add timespec
2020-11-09 22:46:25 +01:00
ArthurKetels 2c1b9b2756
Update red_test.c 2020-11-09 22:41:50 +01:00
ArthurKetels 4b4cdc2c45
Fix add_timespec 2020-11-09 22:39:56 +01:00
ArthurKetels d9261e801d
Merge pull request #454 from nakarlsson/master
Fix llvm compiler implicit-int-conversion warnings
2020-10-12 22:09:27 +02:00
Andreas Karlsson 447d184d7e Fix llvm compiler implicit-int-conversion warnings
* use uint8 for idx
* make config Isize/Osize uint32
* generally, align sizes in functions to HW objects
* Fix non-standard [0] size data array in EoE struct
2020-10-12 16:24:42 +02:00
ArthurKetels b01ceb9905
Merge pull request #452 from OpenEtherCATsociety/AK-fix-SoE-mapping
Fix bug in ecx_readIDNmap(), Osize and Isize
2020-10-01 23:02:47 +02:00
ArthurKetels cbc8f36e87
Fix bug in ecx_readIDNmap(), Osize and Isize
Osize and Isize where reset to 16 at every new drive number, thus loosing all lower drive mapping data. Changed to add 16 to Osize and Isize.
2020-10-01 23:00:01 +02:00
ArthurKetels f69b1ab702
Merge pull request #436 from nakarlsson/master
Don't always include optional IP parameter lengths
2020-08-18 15:56:47 +02:00
Andreas Karlsson 101ac54a7d Don't always include optional IP parameter lengths
Obvious fix, the optional IP parameters length should
only be included in total length if they are included.

fixes #421
2020-08-18 15:47:36 +02:00
ArthurKetels f938df6bac
Merge pull request #435 from OpenEtherCATsociety/revert-431-master
Revert "EoE and Distributed clock fixes"
2020-08-18 15:40:50 +02:00
nakarlsson bb82fc33d7
Revert "EoE and Distributed clock fixes" 2020-08-18 14:56:16 +02:00
Hans-Erik Floryd 08d480cf82
Merge pull request #431 from nakarlsson/master
EoE and Distributed clock fixes
2020-08-17 09:07:40 +02:00
Andreas Karlsson 33aa7a3c57 Correct unit for dc mastertime calulcation to (ns)
The correct factor for seconds should be 1000000000

fixes #432
2020-08-16 11:25:13 +02:00
Andreas Karlsson bae37b9028 Don't always include optional IP parameter lengths
Obvious fix, the optional IP parameters length should
only be included in total length if they are included.

fixes #421
2020-08-16 11:20:10 +02:00
Pedram Nimreezi 953eb07f8a Update printf statement
Just happened to spot this
2020-05-09 13:49:17 +02:00
berkaydeniz 63d699d303 assert is removed from macos version of nicdrv.c
As discussed in Issue #392, this assert only exists for macos and is an overkill.
2020-05-09 13:46:44 +02:00
Andreas Karlsson 093311561c Limit expected working counter per ESC
Add one to the expected working counter per
ESC/Slave, not for every syncmanager/fmmu.
Use case, if the slave define more input/output
syncmanager/fmmus it still only generate maximum
working counter of 3 for a RW command.

fixes 374
2020-03-03 11:30:55 +01:00
seanyen 7fe05b5b4b Improved SOEM portability.
* Replaced CMAKE_SOURCE_DIR with CMAKE_CURRENT_LIST_DIR to make SOEM CMakeLists.txt more relocatable.
* Installed SOEM CMake config files to a more universal location to search.
2020-01-07 16:08:50 +01:00
Arthur Ketels 92ff466357 Fix ecx_pushindex, remove DCtO and DCl from ecx_context 2019-11-13 21:03:56 +01:00
Arthur Ketels 9ec8635943 Fix tx/rx processdata functions 2019-11-12 17:03:48 +01:00
Hans-Erik Floryd 2a8c07c32b
Merge pull request #348 from jjguti/feature/run-on-newer-gcc
run on newer gcc
2019-10-21 12:11:55 +02:00
Hans-Erik Floryd f8b0029765
Merge pull request #347 from jjguti/master
fix warning with strncpy on newer GCC's
2019-10-21 12:11:36 +02:00
Juanjo Gutiérrez 7bb27de2a2 testing on newer gccs and macosx
this patch adds building on ubuntu bionic that has a newer gcc while
keeping ubuntu xenial (default on travis-ci)

it also adds macosx since it was very easy to add and it's a platform we can build for
2019-10-20 22:27:00 +02:00
Juanjo Gutiérrez cffd3ba283 fix warning with strncpy on newer GCC versions
strncpy should not be called with a "length" parameter which is based on
the source string since it negates the benefits of using strncpy. this
patch fixes the warning for linux, macosx and rtems

Fixes #346
Change-Id: Ib2fb7637e9845545e4c15045e6be7c7ce8e0672b
2019-10-18 15:31:57 +02:00