]>
git.feebdaed.xyz Git - 0xmirror/SOEM.git/log
Matthias Schoepfer [Wed, 31 Jul 2024 15:36:30 +0000 (17:36 +0200)]
CMakeLists.txt: Add possibility to build library as shared
This adds the option to build the soem library also as shared object.
Note that the default is untouched, so by default, it will still build
a static library.
The [BUILD_SHARED_LIBS](https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html)
is the standard way of doing it, many tools use this semantics to influence
the output to be the desired type (whichever you want).
Signed-off-by: Matthias Schoepfer <matthias.schoepfer@googlemail.com>
ArthurKetels [Mon, 27 Jan 2025 09:52:57 +0000 (10:52 +0100)]
Merge pull request #875 from jalius/master
Update to support MSYS2/GCC
jawelch [Fri, 24 Jan 2025 20:43:37 +0000 (13:43 -0700)]
Fix MSVC build: include lean windows.h, include stdlib.h for malloc/free
Jalius Welch [Fri, 29 Nov 2024 08:39:29 +0000 (01:39 -0700)]
include minwindefs.h for missing HANDLE definition
Jalius Welch [Fri, 29 Nov 2024 08:39:25 +0000 (01:39 -0700)]
Address unused parameter and unused argument warnings.
Jalius Welch [Fri, 29 Nov 2024 08:39:22 +0000 (01:39 -0700)]
Fix build errors due to signature mismatch in osal_thread_create.
Fix missing timezone struct declaration.
Jalius Welch [Fri, 29 Nov 2024 08:38:44 +0000 (01:38 -0700)]
Update CMakeLists for non-MSVC, remove standard library files, add GCC-style struct packing
Hans-Erik Floryd [Wed, 3 Apr 2024 14:10:31 +0000 (16:10 +0200)]
Fix potential buffer overflow in exc_FOEread/write
An excessively long filename could overflow the mailbox buffer. Fix by
limiting the filename size to EC_MAXFOEDATA.
Problem found and fix proposed by m1etz.
Windsgo [Thu, 21 Mar 2024 06:51:29 +0000 (14:51 +0800)]
Fix `add_timespec` in other codes besides `red_test` (#794)
nakarlsson [Wed, 6 Dec 2023 18:54:05 +0000 (19:54 +0100)]
Allow FoE write of 0byte file (#769)
If FoE write of a file is done, no check
of incoming size is performed. If the
file is 0byte, a FoE Write Request is
sent but no ACK since dofinalzero
is initialized to FALSE.
fixes #766
Co-authored-by: Andreas Karlsson <andreas.karlsson@rt-labs.com>
rtmagj [Fri, 13 Oct 2023 13:31:27 +0000 (15:31 +0200)]
Update simple_test.c
rtmagj [Fri, 13 Oct 2023 13:31:01 +0000 (15:31 +0200)]
Update eoe_test.c
Magnus Johansson [Fri, 13 Oct 2023 09:40:42 +0000 (11:40 +0200)]
Remove variable for unused parameter.
Torsten Robitzki [Fri, 2 Dec 2022 18:03:35 +0000 (19:03 +0100)]
Local variable Size is only written and causes compiler warning (#670)
Patrick Laza [Wed, 19 Oct 2022 14:06:55 +0000 (16:06 +0200)]
Added config_map_aligned to use byte aligned outputs and inputs (#645)
lbckmnn [Mon, 19 Sep 2022 05:47:55 +0000 (07:47 +0200)]
remove boot state from ecx_readstate and add some documentation (#643)
* remove boot state from ecx_readstate and documentation
lbckmnn [Sat, 2 Jul 2022 09:32:02 +0000 (11:32 +0200)]
also configure the last SM (#622)
fixes #617
lbckmnn [Mon, 20 Jun 2022 06:29:17 +0000 (08:29 +0200)]
const correctness in coe functions (#620)
* add const in RxPDO and SDOwrite
* doc typo
* uniform indention in ethercatcoe.h
Co-authored-by: Lukas Beckmann <lukas.beckmann@yuanda-robotics.de>
nakarlsson [Thu, 16 Jun 2022 05:34:04 +0000 (07:34 +0200)]
Merge pull request #614 from notofug/avoid_warnings
avoid 'maybe used unitialized' warnings
Tore Fuglestad [Thu, 12 May 2022 06:27:07 +0000 (08:27 +0200)]
avoid 'may be used unitialized' warnings
gcc : -Wmaybe-uninitialized or -Wuninitialized
nakarlsson [Wed, 30 Mar 2022 17:42:43 +0000 (19:42 +0200)]
Merge pull request #601 from rhdlilj/master
Using context->maxslave instead EC_MAXSLAVE
lilj [Wed, 16 Mar 2022 09:25:06 +0000 (17:25 +0800)]
Update ethercatconfig.c
Using context->maxslave instead EC_MAXSLAVE
ArthurKetels [Thu, 13 Jan 2022 21:58:03 +0000 (22:58 +0100)]
Merge pull request #533 from yschmid-levi/fix-win32-timeperiod
matching call to timeEndPeriod and timeBeginPeriod
ArthurKetels [Tue, 26 Oct 2021 18:46:34 +0000 (20:46 +0200)]
Merge pull request #564 from hefloryd/master
Bump cmake version
Hans-Erik Floryd [Tue, 26 Oct 2021 07:47:36 +0000 (09:47 +0200)]
Bump cmake version
Bump CMake version to 3.9, which the oldest version supporting the
project DESCRIPTION option (see
https://cmake.org/cmake/help/latest/command/project.html#command:project),
which was introduced by commit
59821cb .
CMake policy CMP0048 is set to NEW by default since 3.0 and can be
removed.
Fixes #559, fixes #512
ArthurKetels [Tue, 26 Oct 2021 06:57:15 +0000 (08:57 +0200)]
Merge pull request #563 from hefloryd/master
Update build matrix
Hans-Erik Floryd [Mon, 25 Oct 2021 09:53:02 +0000 (11:53 +0200)]
Update build matrix
Ubuntu 16.04 is now deprecated. Remove it and add ubuntu-latest.
ArthurKetels [Tue, 28 Sep 2021 19:19:56 +0000 (21:19 +0200)]
Merge pull request #553 from OpenEtherCATsociety/mheden/slaveinfo
slaveinfo: improve SDO printout
Mikael Heden [Wed, 8 Sep 2021 13:36:33 +0000 (15:36 +0200)]
slaveinfo: improve SDO printout
nakarlsson [Fri, 10 Sep 2021 06:59:18 +0000 (08:59 +0200)]
Merge pull request #552 from OpenEtherCATsociety/show-adapters
Examples: show avaialable adapters if not specified
Mikael Heden [Wed, 8 Sep 2021 07:41:30 +0000 (09:41 +0200)]
Examples: show avaialable adapters if not specified
ArthurKetels [Tue, 31 Aug 2021 17:01:24 +0000 (19:01 +0200)]
Merge pull request #548 from eglimi/fix_546
Fix some UB cases. Closes #546
Michael Egli [Tue, 31 Aug 2021 04:47:48 +0000 (06:47 +0200)]
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.
nakarlsson [Tue, 10 Aug 2021 05:17:09 +0000 (07:17 +0200)]
Merge pull request #539 from Wanga/master
Add group checking for slave input offset calculation
fixes #538
Wanga [Wed, 4 Aug 2021 12:32:33 +0000 (20:32 +0800)]
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.
ArthurKetels [Mon, 2 Aug 2021 18:58:30 +0000 (20:58 +0200)]
Merge pull request #537 from ArthurKetels/master
Add missing PO2SOconfigx() hook to ecx_reconfig_slave()
ArthurKetels [Mon, 2 Aug 2021 18:52:22 +0000 (20:52 +0200)]
Add missing PO2SOconfigx() hook to ecx_reconfig_slave()
Yves Schmid [Tue, 13 Jul 2021 07:13:03 +0000 (09:13 +0200)]
matching call to timeEndPeriod and timeBeginPeriod
"You must match each call to timeBeginPeriod with a call to
timeEndPeriod, specifying the same minimum resolution in both calls."
ArthurKetels [Wed, 2 Jun 2021 19:02:23 +0000 (21:02 +0200)]
Merge pull request #521 from nakarlsson/master
Adjust size of ec_EOE_t to max mailbox size
andreas karlsson [Wed, 2 Jun 2021 18:18:25 +0000 (20:18 +0200)]
Adjust size of ec_EOE_t to max mailbox size
fix #514
nakarlsson [Mon, 12 Apr 2021 05:45:09 +0000 (07:45 +0200)]
Merge pull request #486 from ntd/simple_test-revamp
simple_test revamp
Nicola Fontana [Thu, 25 Feb 2021 09:01:21 +0000 (10:01 +0100)]
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).
nakarlsson [Thu, 8 Apr 2021 04:54:10 +0000 (06:54 +0200)]
Merge pull request #499 from alexkalmuk/fix-osal-linux-time
Fix linux osal timers and osal_current_time
nakarlsson [Wed, 7 Apr 2021 17:42:22 +0000 (19:42 +0200)]
Merge pull request #498 from alexkalmuk/firm-update-test-check-state
Check for reaching pre_op state in firm_update
Alex Kalmuk [Tue, 6 Apr 2021 21:16:50 +0000 (00:16 +0300)]
Fix linux osal timers and osal_current_time
Alex Kalmuk [Tue, 6 Apr 2021 17:46:29 +0000 (20:46 +0300)]
Check for reaching pre_op state in firm_update
nakarlsson [Tue, 6 Apr 2021 12:49:15 +0000 (14:49 +0200)]
Merge pull request #496 from alexkalmuk/fix-red-test-timespec-overflow
Fix red test timespec overflow
Alex Kalmuk [Fri, 2 Apr 2021 20:13:28 +0000 (23:13 +0300)]
Fix timespec overflow in red_test
Alex Kalmuk [Fri, 2 Apr 2021 20:11:36 +0000 (23:11 +0300)]
Fix red_test build with gcc 9
nakarlsson [Thu, 4 Mar 2021 14:27:50 +0000 (15:27 +0100)]
Merge pull request #481 from alex-brinkman/apb-add-userdata
Proposal: Add Userdata to ecx_context
Alex Brinkman [Thu, 18 Feb 2021 17:30:33 +0000 (09:30 -0800)]
add userdata initialization to default ecx_contextt
Alex Brinkman [Thu, 18 Feb 2021 17:11:29 +0000 (09:11 -0800)]
add STATUS to CMake message statements
nakarlsson [Wed, 17 Feb 2021 14:39:27 +0000 (15:39 +0100)]
Merge pull request #480 from hefloryd/feature/gh-actions
Migrate to Github Actions
Hans-Erik Floryd [Wed, 17 Feb 2021 10:54:41 +0000 (11:54 +0100)]
Migrate to Github Actions
Alex Brinkman [Sun, 14 Feb 2021 17:22:48 +0000 (09:22 -0800)]
improved logic around BUILD_TESTS
Alex Brinkman [Sat, 13 Feb 2021 20:26:38 +0000 (12:26 -0800)]
add userdata to ec_context
Hans-Erik Floryd [Sun, 3 Jan 2021 13:34:09 +0000 (14:34 +0100)]
Merge pull request #471 from jorritolthuis/master
Change include in ethercateoe.h
Jorrit Olthuis [Sat, 2 Jan 2021 10:15:08 +0000 (11:15 +0100)]
Change include in ethercateoe.h (#470)
ArthurKetels [Mon, 9 Nov 2020 21:46:25 +0000 (22:46 +0100)]
Merge pull request #460 from OpenEtherCATsociety/ArthurKetels-add_timespec
Arthur ketels add timespec
ArthurKetels [Mon, 9 Nov 2020 21:41:50 +0000 (22:41 +0100)]
Update red_test.c
ArthurKetels [Mon, 9 Nov 2020 21:39:56 +0000 (22:39 +0100)]
Fix add_timespec
ArthurKetels [Mon, 12 Oct 2020 20:09:27 +0000 (22:09 +0200)]
Merge pull request #454 from nakarlsson/master
Fix llvm compiler implicit-int-conversion warnings
Andreas Karlsson [Fri, 9 Oct 2020 14:57:53 +0000 (16:57 +0200)]
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
ArthurKetels [Thu, 1 Oct 2020 21:02:47 +0000 (23:02 +0200)]
Merge pull request #452 from OpenEtherCATsociety/AK-fix-SoE-mapping
Fix bug in ecx_readIDNmap(), Osize and Isize
ArthurKetels [Thu, 1 Oct 2020 21:00:01 +0000 (23:00 +0200)]
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.
ArthurKetels [Tue, 18 Aug 2020 13:56:47 +0000 (15:56 +0200)]
Merge pull request #436 from nakarlsson/master
Don't always include optional IP parameter lengths
Andreas Karlsson [Fri, 14 Aug 2020 13:04:46 +0000 (15:04 +0200)]
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
ArthurKetels [Tue, 18 Aug 2020 13:40:50 +0000 (15:40 +0200)]
Merge pull request #435 from OpenEtherCATsociety/revert-431-master
Revert "EoE and Distributed clock fixes"
nakarlsson [Tue, 18 Aug 2020 12:56:16 +0000 (14:56 +0200)]
Revert "EoE and Distributed clock fixes"
Hans-Erik Floryd [Mon, 17 Aug 2020 07:07:40 +0000 (09:07 +0200)]
Merge pull request #431 from nakarlsson/master
EoE and Distributed clock fixes
Andreas Karlsson [Fri, 14 Aug 2020 13:35:45 +0000 (15:35 +0200)]
Correct unit for dc mastertime calulcation to (ns)
The correct factor for seconds should be
1000000000
fixes #432
Andreas Karlsson [Fri, 14 Aug 2020 13:04:46 +0000 (15:04 +0200)]
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
Pedram Nimreezi [Sat, 18 Apr 2020 20:56:24 +0000 (16:56 -0400)]
Update printf statement
Just happened to spot this
berkaydeniz [Thu, 7 May 2020 16:47:14 +0000 (12:47 -0400)]
assert is removed from macos version of nicdrv.c
As discussed in Issue #392, this assert only exists for macos and is an overkill.
Andreas Karlsson [Tue, 3 Mar 2020 09:27:37 +0000 (10:27 +0100)]
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
seanyen [Mon, 16 Dec 2019 19:32:09 +0000 (11:32 -0800)]
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.
Arthur Ketels [Wed, 13 Nov 2019 20:03:56 +0000 (21:03 +0100)]
Fix ecx_pushindex, remove DCtO and DCl from ecx_context
Arthur Ketels [Tue, 12 Nov 2019 16:03:48 +0000 (17:03 +0100)]
Fix tx/rx processdata functions
Hans-Erik Floryd [Mon, 21 Oct 2019 10:11:55 +0000 (12:11 +0200)]
Merge pull request #348 from jjguti/feature/run-on-newer-gcc
run on newer gcc
Hans-Erik Floryd [Mon, 21 Oct 2019 10:11:36 +0000 (12:11 +0200)]
Merge pull request #347 from jjguti/master
fix warning with strncpy on newer GCC's
Juanjo Gutiérrez [Fri, 18 Oct 2019 11:19:21 +0000 (13:19 +0200)]
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
Juanjo Gutiérrez [Fri, 18 Oct 2019 11:19:21 +0000 (13:19 +0200)]
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
Giuseppe Iellamo [Mon, 23 Sep 2019 14:14:26 +0000 (16:14 +0200)]
Update to CMakeLists.txt
nakarlsson [Thu, 13 Jun 2019 06:06:41 +0000 (08:06 +0200)]
Fix doxygen build warnings for SOEM 1.4.0 (#312)
Trvial non-code changes
ArthurKetels [Wed, 12 Jun 2019 17:25:55 +0000 (19:25 +0200)]
Merge pull request #303 from OpenEtherCATsociety/feature/soem_140
Feature/soem 140
Andreas Karlsson [Wed, 12 Jun 2019 12:50:38 +0000 (14:50 +0200)]
VxWorks, calculate tick receive timouts from systick, fixes #310
Andreas Karlsson [Wed, 12 Jun 2019 12:42:26 +0000 (14:42 +0200)]
VxWorks, use monotonic clock, fixes #309
Andreas Karlsson [Mon, 10 Jun 2019 09:48:41 +0000 (11:48 +0200)]
Add support to choose if manual or automatic state change is done by config functions, fixes #189
Andreas Karlsson [Mon, 10 Jun 2019 07:23:02 +0000 (09:23 +0200)]
Add PO2SO hook including context, fixes #230
Andreas Karlsson [Fri, 24 May 2019 12:27:41 +0000 (14:27 +0200)]
Add extra ERROR on mailbox receive timeout to improv diagnostics possibilities
Andreas Karlsson [Fri, 24 May 2019 12:05:53 +0000 (14:05 +0200)]
Make ERROR slave count exceeded unique
Andreas Karlsson [Fri, 24 May 2019 12:02:46 +0000 (14:02 +0200)]
Make it possible to set EC_VER from osal layer
Andreas Karlsson [Fri, 24 May 2019 12:01:40 +0000 (14:01 +0200)]
Add ec_error to string print function, fixes #227 and fixes #232
Andreas Karlsson [Fri, 24 May 2019 11:58:41 +0000 (13:58 +0200)]
VxWorks: Remove usage of muxTkSend, improve abandoned frame handling. bugfix for msgQRecv return value, add cleanup on NIC close
Andreas Karlsson [Fri, 24 May 2019 11:55:15 +0000 (13:55 +0200)]
Don't re-define TRUE and FALSE if already defined
Andreas Karlsson [Fri, 24 May 2019 11:49:10 +0000 (13:49 +0200)]
Adjust Linux and Win32 application SAFEOP->OP timeouts, fixes #141
Andreas Karlsson [Fri, 24 May 2019 11:43:01 +0000 (13:43 +0200)]
Improve documentation fixes #226 and fixes #270
Marc Butler [Wed, 15 May 2019 05:35:31 +0000 (15:35 +1000)]
Add port to macOS (#286)
* Port to macOS
This port to macOS is an amalgam of the existing Linux and Win32
ports. Consequently code is duplicated from each in this port:
primarily from win32 in oshw, and Linux is osal.
Synthesizing a shared common posix port, did not seem warranted given
the modest amount of code, and stable api.
This port uses the default pcap interface provided in the development
libraries shipped with XCode.
Limited testing on os releases: 10.13 and 10.14.
* fix possible race condition as for win32
See
aed0f81724e5a2d482491bd6e5e9932a83a42646
* fix spelling as for linux / win32
See
7beba91c6286900f07c8831afe1e1468b665815f
ArthurKetels [Fri, 10 May 2019 21:14:50 +0000 (23:14 +0200)]
Merge pull request #283 from Apollo3zehn/fix/windows_use_absolute_time
osal.c (Windows): Use absolute time instead of relative time.
Vincent Wilms [Fri, 10 May 2019 12:54:17 +0000 (14:54 +0200)]
Use absolute time on win32 for DC initialization and errors.