Commit Graph

1190 Commits

Author SHA1 Message Date
Bjarne von Horn d08e41f913 Add page ref to device drivers page.
It's now always in doxygen-output/html/devicedrivers.html
2023-09-06 10:19:49 +02:00
Florian Pose d35c5a41cc Always define EoE handler count. 2023-07-19 15:56:09 +02:00
Nicola Fontana 5d8c8990de Fix class_create on kernel 6.4
Commit 1aaba11da9aa7d7d6b52a74d45b31cac118295a1 in kernel code removed
`module *` argument from `class_create`.
2023-07-05 12:13:32 +02:00
Andreas Stewering-Bone 04f202a39c Merge branch 'fix_vm_set_flag' into 'stable-1.5'
Fix setting flag in vm_area_struct for Kernel 6.3

See merge request etherlab.org/ethercat!67
2023-06-01 05:53:32 +00:00
Bjarne von Horn 27db882dab Fix setting flag in vm_area_struct for Kernel 6.3
The error was:
```
[  150s]   gcc -Wp,-MMD,/home/abuild/rpmbuild/BUILD/build-default/devices/ccat/.netdev.o.d -nostdinc -I/usr/src/linux-6.3.1-1/arch/x86/include -I./arch/x86/include/generated -I/usr/src/linux-6.3.1-1/include -I./include -I/usr/src/linux-6.3.1-1/arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I/usr/src/linux-6.3.1-1/include/uapi -I./include/generated/uapi -include /usr/src/linux-6.3.1-1/include/linux/compiler-version.h -include /usr/src/linux-6.3.1-1/include/linux/kconfig.h -include /usr/src/linux-6.3.1-1/include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=/usr/src/linux-6.3.1-1/= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -funsigned-char -std=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fno-stack-clash-protection -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -falign-functions=16 -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -g -gdwarf-5  -DMODULE  -DKBUILD_BASENAME='"netdev"' -DKBUILD_MODNAME='"ec_ccat"' -D__KBUILD_MODNAME=kmod_ec_ccat -c -o /home/abuild/rpmbuild/BUILD/build-default/devices/ccat/netdev.o /home/abuild/rpmbuild/BUILD/build-default/devices/ccat/netdev.c   ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --orc --retpoline --rethunk --sls --static-call --uaccess --prefix=16   --module /home/abuild/rpmbuild/BUILD/build-default/devices/ccat/netdev.o
[  151s] /home/abuild/rpmbuild/BUILD/build-default/master/cdev.c: In function 'eccdev_mmap':
[  151s] /home/abuild/rpmbuild/BUILD/build-default/master/cdev.c:246:19: error: assignment of read-only member 'vm_flags'
[  151s]   246 |     vma->vm_flags |= VM_DONTDUMP; /* Pages will not be swapped out */
[  151s]       |                   ^~
[  151s] make[3]: *** [/usr/src/linux-6.3.1-1/scripts/Makefile.build:253: /home/abuild/rpmbuild/BUILD/build-default/master/cdev.o] Error 1
```
2023-05-09 14:28:11 +02:00
Bjarne von Horn b97af7523a igb for 5.15 2023-05-02 12:17:37 +00:00
Florian Pose 47cf84f406 Merge branch 'allow-empty-sdos' into 'stable-1.5'
Allow zero-sized SDO responses

See merge request etherlab.org/ethercat!61
2023-05-02 08:43:17 +00:00
Florian Pose 1726abf0c3 Allow zero-sized SDO responses 2023-05-02 08:43:16 +00:00
Florian Pose c022ddbcf2 Merge branch 'stable-1.5' into 'stable-1.5'
fix version compatibility of alloc_netdev when debug if is enabled

See merge request etherlab.org/ethercat!62
2023-03-14 15:59:31 +00:00
Florian Pose 57adee4c7b Changed email and postal address. 2023-01-09 09:59:08 +01:00
raim.delgado 7bdaca925c fix version compatibility of alloc_netdev when debug if is enabled 2022-11-29 09:59:02 +09:00
Florian Pose 9aa5935d08 Merge branch 'fix_eoe_usermode_lock' into 'stable-1.5'
ioctl.c: FIX: must take io_sem around ecrt_master_send/ecrt_master_receive

See merge request etherlab.org/ethercat!36
2022-09-05 09:11:37 +00:00
Florian Pose 26e5b9f553 Minor: Fixed indent. 2022-05-17 14:10:51 +02:00
Bjarne von Horn d301cbb992 Fix setting mac_address
eoe->dev->dev_addr is read_only in 5.17.0
using eth_hw_addr_set instead
2022-05-17 12:17:28 +02:00
Florian Pose 49135bfaff Centrally defined mailbox types. 2022-03-04 10:00:47 +01:00
till straumann f4e3a92352 master/ioctl.c: FIX -- more points where io_sem must be locked
Experienced corruption of master->datagram_queue because ecrt_domain_queue()
(when called from ioctl) does not hold the io_sem!
2021-11-04 13:50:55 +01:00
till straumann 5437ec4ef1 ioctl.c: FIX: must take io_sem around ecrt_master_send/ecrt_master_receive 2021-10-14 10:20:52 +02:00
Matthias Schoepfer e6d842cc8f master: added 'run_on_cpu' module parameter to bind kthreads to a cpu
When you use isolcpus to isolate a cpu for the realtime task, as well
as assiging all relevant interrupts to this cpu, it makes sense to
also bind the EtherCAT-OP / EtherCAT-IDLE task to this cpu to reduce
the cache misses and avoid data migration between cores. Therefore
a parameter 'run_on_cpu' is added, that takes the cpu number (same as
in isolcpus, not a smp_affinity mask). If unset, will bind to any cpu
and will be migratable.

The reason to put this into the kernel module is, that the thread is
created during runtime, i.e. when the userspace program is starting
the ethercat master. It would be rather hacky, to find the pid of the
EtherCAT-xx thread and migrate it at this point.

Signed-off-by: Matthias Schoepfer <m.schoepfer@rethinkrobotics.com>
2021-09-27 14:56:01 +02:00
Florian Pose eba73fc292 Strictly using KERN_CONT for continued printk() calls to avoid newlines. 2021-09-01 11:00:49 +02:00
Florian Pose 09d1096623 Avoided warning about unreasonable use of strncpy(). 2021-08-25 12:00:01 +02:00
Florian Pose 4e11a50670 Define set_normal_priority() inside #ifdef EC_EOE. Fixes #12. 2021-08-25 09:47:26 +02:00
Florian Pose a750e08884 Merge branch 'feature-flags' into 'stable-1.5'
Feature Flags / AssignToPdi

See merge request etherlab.org/ethercat!30
2021-08-24 10:15:10 +00:00
Florian Pose 9ec0eb6295 Merge remote-tracking branch 'gitlab/stable-1.5' into stable-1.5 2021-08-10 14:49:56 +02:00
Florian Pose e3d9056cbc Added export for ecrt_slave_config_reg_pdo_entry_pos(). Fixes #11. 2021-08-10 14:48:07 +02:00
Florian Pose 441b7e470e First feature flag: AssignToPdi. 2021-07-23 16:16:18 +02:00
Florian Pose 443a7ad3e3 Find flag method with const char * parameter; added method to header. 2021-07-23 16:15:05 +02:00
Florian Pose a178c9e452 Added feature flags to API. 2021-07-23 15:53:11 +02:00
Florian Pose cd0d17d6a5 Also changed license of gloabl headers to LGPL.
Moved definition of EC_SDO_INJECTION_TIMEOUT to master.c.
2021-07-23 13:33:54 +02:00
Florian Pose edd473c36b Corrected license text of master/ioctl.h, because it is included in the userspace library. 2021-07-22 16:38:53 +02:00
Nicola Fontana 82399a9239 Revive 'make distcheck' 2021-06-22 14:43:07 +00:00
Florian Pose 94f2fa860f Retry responding slaves datagram; more robust to timeouts. 2021-06-01 16:53:06 +02:00
Nicola Fontana 60dd78485c Do not include AC_CONFIG_FILES in BUILT_SOURCES
BUILT_SOURCES is used to trigger early generation of files in the `make`
process to workaround dependency problems:

    https://www.gnu.org/software/automake/manual/html_node/Sources.html

AC_CONFIG_FILES are generated by `configure`, so they are already
present in the file system even before `make` is called. Furthermore,
AC_CONFIG_FILES already properly handle dist and clean targets, so no
need to add them to EXTRA_DIST or DISTCLEANFILES:

    https://www.gnu.org/software/automake/manual/html_node/Requirements.html
2021-05-22 08:25:26 +02:00
Florian Pose b87076135e Use Git for version detection and tools. 2021-03-17 14:51:35 +01:00
Nicola Fontana 2600c89390 Fix sched_setscheduler undefined on kernel 5.9
sched_setscheduler is no more exported:
    https://lkml.org/lkml/2020/4/22/1071
2021-03-05 15:16:15 +01:00
Florian Pose 7fd991bec7 Improved debugging and behavior on sick SII contents. 2020-09-03 12:53:53 +02:00
Florian Pose 21d0fb5176 Fixed missing include for struct sched_param. 2020-04-03 12:09:39 +02:00
Florian Pose af90fa6a94 New page fault return type vm_fault_t since 4.17. 2020-04-03 12:00:24 +02:00
Florian Pose 2570ab3345 Fixed infinite waiting for SoE write response. 2020-01-24 14:36:43 +01:00
Florian Pose 0a14b16aef Using vmalloc() for FoE memory allocation. 2020-01-24 11:09:48 +01:00
Florian Pose f03f15a6fc Added ecrt_master_sync_reference_clock_to() method. 2018-11-26 17:41:27 +01:00
Florian Pose 083bd419b8 Renamed app_start_time to dc_ref_time; output via command-line tool. 2018-11-26 17:17:18 +01:00
Florian Pose 0257660396 Fixed working counter calculation when process data of the same slave are
split into separate datagrams.
2018-11-12 15:02:49 +01:00
Florian Pose 538c3d7c04 Improved buffer overflow messages. 2017-12-13 15:39:13 +01:00
Florian Pose a694e3055f Support scheduler parameters in kernels >= 4.11. 2017-12-06 10:09:50 +01:00
Florian Pose 39919cd96a Fixed statistics filter initialisation. 2017-10-12 13:22:06 +02:00
Florian Pose 06ab4c34a8 Doc. 2017-10-12 13:09:52 +02:00
Philipp Weyer e709444450 Fixed vm_fault. 2017-09-04 17:24:46 +02:00
Florian Pose cf8227a71b Adapted vm_operations_struct for kernels >= 4.11 2017-09-04 17:12:59 +02:00
Florian Pose 545d4e548c Use SYNC0 + SYNC1 cycle times for cyclic start time generation. 2016-09-16 12:35:09 +02:00
Florian Pose c7f2a93cc5 merge 2016-09-16 11:56:53 +02:00