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
083bd419b8
Renamed app_start_time to dc_ref_time; output via command-line tool.
2018-11-26 17:17:18 +01:00
Florian Pose
605739d78a
Introduced FORCE_OUTPUT_CORRUPTED.
2013-05-21 13:18:24 +02:00
Florian Pose
b0eace9ef1
Implemented emergency register requests to analyze a broken bus.
2013-05-13 20:21:19 +02:00
Florian Pose
f6f5460485
Updated Doxygen documentation.
2013-02-12 15:46:43 +01:00
Florian Pose
032acb3d85
Avoided io_sem locking from userspace/rtdm library.
2013-01-10 17:36:41 +01:00
Florian Pose
5f73e9c046
Using common waitqueue for requests.
2012-12-04 16:05:23 +01:00
Florian Pose
3cb0b12899
Added configure option for redundancy (--with-devices).
2012-11-30 20:15:31 +01:00
Florian Pose
becf05dbd6
Added interface to select the reference clock and to sync to it.
...
Added rtai_rtdm_dc example, thanks to Graeme Foot.
2012-11-20 14:35:53 +01:00
Florian Pose
4773e88bf6
Added interface to read/write register contents; re-worked register requests.
2012-11-14 22:12:57 +01:00
Florian Pose
9faaa83212
Re-worked and seamlessly integrated RTDM interface.
2012-09-20 15:28:25 +02:00
Florian Pose
b0b7e6fde4
Removed trailing spaces.
2012-09-06 20:22:24 +02:00
Florian Pose
4c3c5c2778
Slave scanning and configuration on all links.
2012-04-06 23:35:05 +02:00
Florian Pose
f30e8a0572
Improved/fixed frame statistics (low-pass filters).
2012-03-19 10:43:09 +01:00
Florian Pose
953e723f31
Minor.
2011-12-09 10:46:04 +01:00
Florian Pose
849f37cd41
Datagram device_index member.
2012-01-12 13:55:15 +01:00
Florian Pose
6d932e88d5
Devices as array; lock all device modules with module_get().
2012-01-12 12:14:33 +01:00
Florian Pose
ed7f9885b2
Adjusted frame statistics for the use with two devices.
2011-11-09 14:53:33 +01:00
Florian Pose
a4adf60027
Removed allow_config flag and obsolete request to OP.
2011-09-16 14:10:23 +02:00
Florian Pose
8b6d5f8af3
Fixed bug that caused the configuration not to be cleared when reserved but
...
not activated and then releasing.
2010-06-02 22:54:08 +02:00
Florian Pose
d9f27a2597
Made send_interval variable an unsigned int; fixed format specifiers for
...
size_t variables.
2010-05-20 12:35:36 +02:00
Florian Pose
9c91630351
Write DC system time offsets right after slave scan / config change. Wait for DC clock discipline.
2010-05-06 11:42:52 +02:00
Florian Pose
62b722ab33
Improved syslog macros.
2010-05-03 18:07:57 +02:00
Florian Pose
d24bede41c
Added missing code documentation.
2010-04-19 21:56:16 +02:00
Florian Pose
1cea08c920
Removed unused variable frames_timed_out.
2010-03-07 21:20:40 +01:00
Florian Pose
a144042657
Removed tabulators.
2010-02-05 10:29:47 +01:00
Martin Troxler
94fec37d0f
use given send interval to limit SDO/FOE traffic
2009-12-15 10:55:36 +01:00
Martin Troxler
d823576945
Moved FOE request queue and fsm into slaves
2009-12-01 16:00:22 +01:00
Martin Troxler
abb3588747
Moved sdo request queue to slaves
2009-12-01 14:24:57 +01:00
Martin Troxler
cb33213076
ecrt_master_set_max_cycle_size: limit SDO traffic
2009-11-30 12:26:56 +01:00
Martin Troxler
0d17968348
Each slave got its own SDO state machine (faster handling of external SDO requests)
2009-11-26 15:33:48 +01:00
Florian Pose
700226ac83
DC synchrony monitoring methods.
2009-08-21 12:15:16 +02:00
Florian Pose
103eb7139c
Added ecrt_master_deactivate() to remove the bus configuration.
2009-08-20 14:27:35 +02:00
Florian Pose
694838c9f6
Fixed compiler error on --disable-eoe.
2009-08-04 07:54:16 +00:00
Florian Pose
f411a51ca6
Re-added callback data pointer, because it is necessary for some applications.
2009-07-29 09:19:53 +00:00
Florian Pose
a3c32e8b67
Improved the callback mechanism.
2009-07-13 15:18:28 +00:00
Florian Pose
f7e14d2915
EoE processing with kthread.
2009-06-30 11:11:56 +00:00
Florian Pose
1baa06d05b
ethercat eoe command.
2009-06-26 09:46:57 +00:00
Florian Pose
6935cbb247
Use application start time as a common reference for cyclic generation
...
start times.
2009-05-04 12:11:00 +00:00
Florian Pose
29eb2d7d06
Transition delay calculation. TBC...
2009-04-30 14:12:47 +00:00
Florian Pose
f4b6807cc9
Bus topology calculation.
2009-04-29 09:43:04 +00:00
Florian Pose
5e79dc8c06
Find DC reference clock.
2009-04-20 14:33:47 +00:00
Florian Pose
4694cde027
Added debug_level module parameter. debug_level is now unsigned int.
2009-04-17 12:03:12 +00:00
Florian Pose
0dd5ec3567
DC sync reference clock to application time. TBC...
2009-04-09 18:21:18 +00:00
Florian Pose
de1a332eee
Introduced ecrt_master_sync() for synchronizing slave clocks to reference clock.
2009-04-09 10:21:47 +00:00
Florian Pose
7f97ba66a2
Renamed phy_ commands to reg_.
2009-04-08 12:48:59 +00:00
Florian Pose
a5752e0123
Preparations to compile against 2.6.27.
2009-03-09 09:08:09 +00:00
Florian Pose
12c12b1bab
Improved and added license headers.
2009-02-24 12:51:39 +00:00
Florian Pose
7a703ecb05
merge -c1616 branches/1.4-foe: Included FoE patch from Olav Zarges.
2009-01-26 13:01:58 +00:00
Florian Pose
826ae37b26
merge -c1604 branches/stable-1.4: Fixed spelling of EtherCAT terms.
2009-01-26 11:45:30 +00:00