Commit Graph
1339 Commits
Author SHA1 Message Date
Florian Pose abf37f7b94 cpplint changes. 2026-08-11 12:04:36 +02:00
powertree c4608c8ce0 Adapt to kernel 5.6+ time API changes
Building EtherCAT master debug ring on Linux v6.6 Phytium kernel
failed with:
- incomplete type 'struct timeval'
- struct timespec64 has no tv_usec member
- implicit function declaration do_gettimeofday

Linux 5.6 upstream deprecated timeval/do_gettimeofday and migrated
fully to timespec64.

Conditional compile based on LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0):
- Header: include linux/version.h in device.h for version judgment
- Data structure: ec_debug_frame_t / ec_device use timespec64 for new
  kernel, timeval for legacy
- Time subtraction: custom timerspec64_sub to replace timersub on new
  kernel
- Timestamp fetch: ktime_get_real_ts64 (5.6+), do_gettimeofday (legacy)
- Member initialization: tv_nsec / tv_usec assigned conditionally
- Log printing: divide tv_nsec by 1000 to restore us display, unified
  log format

Signed-off-by: powertree <powertree@163.com>
2026-07-29 16:18:11 +08:00
Florian Pose 2f7f884f1c Merge branch 'protect-datagram-fields' into 'stable-1.6'
Re-ordering protection for datagram fields

See merge request etherlab.org/ethercat!203
2026-07-16 14:07:09 +02:00
Florian Pose eeec8a4f81 More general approach: Check for maximum datagram size in pre-alloc. 2026-07-16 13:52:53 +02:00
Florian Pose 2faafd771c Complain if a single FMMU config would exceed the maximum datagram size. 2026-07-15 16:19:29 +02:00
Florian Pose 46a2118ad9 Fixed typo in comment. 2026-07-15 16:05:36 +02:00
Florian Pose 754d0e548a Improved smp_store positions. 2026-07-15 13:45:50 +02:00
Florian Pose b4217e93b0 Moved SMP macros to smp.h 2026-07-15 13:41:25 +02:00
Florian Pose ef425519db Moved definition of smp macros to globals. 2026-07-15 12:54:34 +02:00
Florian Pose 4397873738 General re-odering barrier for datagrams. 2026-07-15 12:46:26 +02:00
Florian Pose 81c95a7800 Merge branch 'stable-1.6' into protect-datagram-fields 2026-07-15 10:50:08 +02:00
Florian Pose 55cb7bc246 Accepted some cpplint suggestions. 2026-07-15 10:42:14 +02:00
Florian Pose 3102ba20c1 Merge branch 'stable-1.6' into protect-datagram-fields 2026-07-15 09:55:03 +02:00
Florian Pose a27db36a33 Followed markdownlint guidelines and fixed broken links. 2026-07-14 18:54:39 +02:00
Florian Pose 9c50b8a25d Test for re-ordering problem during synchrony check. 2026-07-14 11:36:19 +02:00
Florian Pose e257b4af52 Check for malicious EoE frame details. 2026-07-13 15:01:12 +02:00
Florian Pose 1c91a721ca Fixed re-allocation of SoE request buffer. 2026-07-13 13:56:31 +02:00
Florian Pose 7251b6c7be Fixed typos. 2026-07-13 13:44:22 +02:00
Florian Pose f4a1204be2 Improved error message 2026-07-13 13:41:53 +02:00
Florian Pose 5b16117c1f Protect rec_size calculation in FoE. 2026-07-13 13:32:53 +02:00
Florian Pose cf19168844 Cherry-picked MR 188 (injection-semaphore) from 1.7. 2026-03-26 16:41:43 +01:00
Florian Pose 7a7d7f051b Merge branch 'calc-dc-after-attach' into 'stable-1.6'
Attach slaves before calculating DCs

Closes #212

See merge request etherlab.org/ethercat!185
2026-03-13 15:17:53 +01:00
Florian Pose c76b02ae2e Attach slaves before calculating DCs. 2026-03-12 11:36:37 +01:00
Florian Pose c8c23aa448 Discard EoE traffic in CoE statemachine, if EoE is disabled. 2026-03-10 09:24:13 +01:00
Florian Pose 354f1493cc Switched from hrtimer_init() to hrtimer_setup() with Linux 6.15. 2025-06-10 12:08:09 +02:00
Florian Pose 527c8b52cf Avoid rescan on non-responding slave. 2025-04-03 16:19:07 +02:00
Florian Pose 1a6af314d8 Added some debug statements concering re-scanning. 2025-04-02 19:16:30 +02:00
Florian Pose 0116094a7c Avoid missing prototype warning. 2025-03-25 09:24:25 +01:00
Florian Pose 0e2dd2ff56 Do not touch AL state of EoE slaves. 2025-03-21 09:25:47 +01:00
Florian Pose 419f62161b Merge branch 'add_fake_library' into 'stable-1.6'
Add fake library

See merge request etherlab.org/ethercat!136
2024-07-26 11:18:49 +00:00
Xianzi Lu 9ee9497dd4 Fix "No such file or directory" error when using multiple masters and RTDM
This error occurs when we are using multiple masters along with RTDM.
Device minor is not set and device numbers are always one when registering
an RTDM device.
Seems there is no need to change the legacy Xenomai 2.6 RTDM driver, because
the device will be identified by a name instead of a device minor.
2024-07-23 13:34:39 +08:00
Bjarne von Horn 1d858d8b3e Fix doxygen wording. 2024-07-22 11:43:51 +02:00
Bjarne von Horn 4f71ac5099 Fix building without EoE
Fixes #123
2024-07-18 14:14:32 +02:00
Bjarne von Horn c2c3d56a2c Add README to fakelib 2024-07-18 12:02:53 +02:00
Bjarne von Horn 93b60bb812 Fix rt_mutex_lock_interruptible() again for RT >= 3.2 2024-06-06 17:10:13 +02:00
Bjarne von Horn 6f928c6fe8 Fix rt_mutex_lock_interruptible for Kernel < 3.17.0 2024-06-06 16:27:04 +02:00
Bjarne von Horn 0cb7cfd973 Fix very old kernels with CONFIG_SUSE_KERNEL 2024-06-06 16:27:04 +02:00
Florian Pose f814e7d328 Merge branch 'rework_doc_again' into 'devel-1.6'
Annotate API restrictions with tags.

See merge request etherlab.org/ethercat!130
2024-06-06 13:29:23 +00:00
Florian Pose 5177b6fb14 Fixed ref. 2024-06-06 15:23:29 +02:00
Florian Pose c4e2670164 Fixed tables. 2024-06-06 15:21:59 +02:00
Florian Pose 4a39a106e1 Reviewed API usage. 2024-06-06 15:07:25 +02:00
Florian Pose 220bb4661a Enable -Wmaybe-uninitialised; Fixed uninitialized kfree(). 2024-06-06 14:24:56 +02:00
Bjarne von Horn 2c3a92ff23 Annotate API restrictions with tags.
Refers to an overview page with tables and explainations.
2024-06-06 13:56:09 +02:00
Bjarne von Horn 495dbc1aa6 Fix return value for ecrt_master_send_ext(). 2024-06-06 13:55:40 +02:00
Bjarne von Horn 3a064cac2a avoid sleeping in ecrt_master_send_ext()
mini.c example now plays well with EoE.
2024-06-05 16:24:12 +02:00
Florian Pose 7b40d5fc40 Added missing prototypes. 2024-05-22 12:36:16 +02:00
Florian Pose 95a25495af Added ecrt_slave_config_state_timeout() in user-space library. 2024-05-22 12:06:48 +02:00
Florian Pose b182bef611 AL state timeout lookup logic. 2024-05-22 11:54:36 +02:00
Florian Pose 36d036b081 Added missing prototypes. 2024-05-22 11:05:18 +02:00
Florian Pose 737c3cf3d7 Removed unused methods. 2024-05-22 11:03:10 +02:00