Commit Graph

383 Commits

Author SHA1 Message Date
Martin Troxler fedec244d8 replaced injection_seq mechanism with fsm datagram queue 2010-12-16 09:49:17 +01:00
Martin Troxler 53056753da Increment injection_seq on slave state changes 2010-12-14 14:00:19 +01:00
Martin Troxler 51a014f6f9 ec_master_queue_external_datagram: fixed missing up(io_sem) 2010-12-13 17:38:24 +01:00
Florian Pose 6929f2f718 Added ecrt_master_reset() method. 2010-11-30 15:24:21 +01:00
Martin Troxler e2a3734546 Minor 64bit improvements (use %zu when formatting size_t values in printk) 2010-11-29 08:18:11 +01:00
Martin Troxler efa248364d renamed dc_cycles_app_time -> dc_cycles_app_start_time & dc_jiffies_app_time -> dc_jiffies_app_start_time 2010-11-22 09:53:43 +01:00
Martin Troxler 6bfc5ee334 Idle thread considers fsm step prepared by Op-thread (Otherwise some state changes may get lost) 2010-11-22 09:09:23 +01:00
Martin Troxler e13ea1d2fa use app_start_time for initial DC offset calculation because app_time might be overwritten while calculating the offsets. 2010-11-22 08:50:34 +01:00
Martin Troxler 57b57fe71d Use ESC port order (0-3-1-2) for bus topology and DC delay calculation 2010-11-16 15:32:27 +01:00
Martin Troxler a55d77d7ed merged 2010-10-18 10:45:07 +02:00
Florian Pose 190cdce964 Added drive_no parameter to SoE layer. 2010-07-20 10:52:31 +02:00
Florian Pose 324b9758a2 Implemented ecrt_master_read_idn() and ecrt_master_write_idn() in kernel space. 2010-07-06 15:09:57 +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
Martin Troxler d135711521 merged 2010-05-11 13:57:58 +02:00
Martin Troxler ef375c0935 Improved distributed clock offset calculation to speed-up initial drift compensation 2010-05-07 15:25:55 +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
Martin Troxler 196bc7db4d Inplace I/O: let input Pdos use the same bus space as Output Pdos 2010-04-29 16:33:32 +02:00
Martin Troxler 82ea99132c Merged 2010-04-29 14:05:15 +02:00
Florian Pose 02b27f9fbc Fixed possible bug in EoE code: Only restart EoE process, when it was running
before (not while scanning).
2010-04-27 13:40:44 +02:00
Florian Pose 6373e38ca3 Introduced effective_alias variable to separate reg12 alias from SII alias. 2010-04-23 16:42:27 +02:00
Florian Pose 351e1a681a Renamed sdo_injecton_timeout to ext_injection_timeout. 2010-04-19 21:54:54 +02:00
Florian Pose bf2bffdcf5 Added missing queue_external_datagram(); removed tabs. 2010-03-19 10:48:16 +01:00
Martin Troxler 20d8691f5f added API ecrt_master_configured_slaves_state
use this function instead of ecrt_master_state() if there are unused slaves on the bus
2010-03-14 20:47:10 +01:00
Florian Pose 79e2df1245 Fixed clearing frame statistics on link down. 2010-03-09 09:59:32 +01:00
Florian Pose 1cea08c920 Removed unused variable frames_timed_out. 2010-03-07 21:20:40 +01:00
Florian Pose 3850763eca Implemented reading Sercos-over-EtherCAT services. To be continued... 2010-03-01 18:33:42 +01:00
Florian Pose a144042657 Removed tabulators. 2010-02-05 10:29:47 +01:00
Florian Pose 1753d24369 Fixed name of byte transmission time define; changed coding style. 2010-01-19 17:57:46 +01:00
Florian Pose 4f347b6da8 Disable use of hrtimer for scheduling by default. Does not work on some PPC targets. 2010-01-19 15:15:57 +01:00
Florian Pose 91e5c0d860 Merged Komax changes. 2010-01-08 11:26:07 +01:00
Florian Pose a163d3f1bd Implemented ecrt_master() and ecrt_master_get_slave() in kernel space. 2010-01-07 17:26:39 +01:00
Martin Troxler 5d6ce8b992 Merged 2009-12-27 16:58:19 +01:00
Martin Troxler 49fc79081f merged 2009-12-18 11:09:07 +01:00
Matthias Luescher df099a1998 fix build for recent kernel versions (tested with 2.6.31) 2009-12-17 17:21:03 +01:00
Martin Troxler 8d4a5ed16a removed busy loop in idle thread 2009-12-17 10:54:59 +01:00
Martin Troxler 94fec37d0f use given send interval to limit SDO/FOE traffic 2009-12-15 10:55:36 +01:00
Florian Pose 344ec90545 Merged changes by Martin Troxler. 2009-12-14 13:25:50 +01:00
Florian Pose 699b184f6f Merged changes from Martin Troxler. 2009-12-14 13:11: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
Martin Troxler bf63d965d8 Merge 2009-11-19 14:44:57 +01:00
Martin Troxler dfeb99b1cb applied komax patch to version r1822
- adapted to 2.6.31 (-rt): init_MUTEX -> sema_init, net_device_ops (Matthias Lüscher)
- 8139too eth driver for 2.6.31 (Matthias Lüscher)
- scan_busy queryable in user mode (ec_master_info_t) (Martin Troxler)
- read alias from register 0x0012 (TODO: reread alias after sii write) (Martin Troxler)
- cancel external SDO/FOE,Reg&SII requests (Martin Troxler)
2009-11-19 14:39:10 +01:00
Florian Pose 21dacadf01 Merge x86_64 fixes. 2009-10-19 13:13:55 +02:00
Florian Pose 7ac08b531f Avoid warnings on x86_64 platform. Thanks to Thomas Elste. 2009-10-19 13:12:40 +02:00
Florian Pose e3b459e060 Fixed clearing slaves: Also clear external requests before. Thanks to Martin
Troxler.
2009-10-06 13:50:30 +02: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 735f1efbc1 Removed unwanted tabulators. 2009-07-27 10:37:47 +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 2a7052264b Minor: vendor/product with 8 hex digits. 2009-06-26 07:44:50 +00:00
Florian Pose ceec75bf50 Always set DC reference clock to OP. 2009-05-06 15:06:46 +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 a34809e18d Separated application time from synchronizing reference clock. 2009-05-04 10:05:55 +00:00
Florian Pose f057a0f968 Transition->Transmission. 2009-04-30 14:37:02 +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 69da9e5524 Determine type of DC implementation (full or delay meas. only); update scan FSM graph. 2009-04-27 11:38:03 +00:00
Florian Pose d3303e0fa4 Replaced timeval by 64-bit EtherCAT time. 2009-04-24 10:24:53 +00:00
Florian Pose 40bb1edaec Output reference clock and application time in 'ethercat Master'. 2009-04-24 08:39:20 +00:00
Florian Pose fe56cc111c Separated sync_reference_clock() and sync_slave_clocks(). 2009-04-23 12:02:26 +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 723a9d66f4 merge -c1610 branches/stable-1.4: Added missing doxygen docs. 2009-01-26 11:58:35 +00:00
Florian Pose 121cfd7098 merge -c1606 branches/stable-1.4: Output vendor Id in hex. 2009-01-26 11:46:38 +00:00
Florian Pose 826ae37b26 merge -c1604 branches/stable-1.4: Fixed spelling of EtherCAT terms. 2009-01-26 11:45:30 +00:00
Florian Pose 5ca3d24337 merge -c1603 branches/stable-1.4: Changed licence headers to avoid conflicts with the GPL; restricted licence to GPLv2 only. 2009-01-26 11:16:10 +00:00
Florian Pose 8d46a283f6 Improved error case return codes of many functions. 2008-11-17 17:18:02 +00:00
Florian Pose bdbaf5d078 Created backend versions of all API functions returing a pointer; using
the PTR_ERR()... macros.
2008-11-17 15:04:28 +00:00
Florian Pose 7fca697c8d Output corrupted frame reasons. 2008-11-05 09:59:20 +00:00
Florian Pose f8bff8668f merge -c1522 branches/stable-1.4: Fixed jace in jiffies timeout calculation. 2008-10-17 13:36:43 +00:00
Florian Pose 7765e989c4 Added ec_master_get_config(). 2008-10-09 09:48:59 +00:00
Florian Pose 4104c786ac Applied patch by Mario Witkowski to support the new class/device
interface from kernel 2.6.26.
2008-10-09 09:00:48 +00:00
Florian Pose 2484105d5a Minor change. 2008-10-02 10:44:43 +00:00
Florian Pose 488bf0a640 Moved threads to kthread interface. 2008-10-01 14:37:34 +00:00
Florian Pose 426b0ab2d7 Avoided using #ifdef inside a macro. 2008-10-01 08:44:44 +00:00
Florian Pose 12d30c487a Added VoE handler. 2008-09-01 14:17:18 +00:00
Florian Pose d975aafa18 Added phy commands. 2008-08-13 13:23:52 +00:00
Florian Pose 17352d9e3b Fixed race concerning thread signaling when master thread had no
opportunity to run, but shall be killed immediately.
2008-08-08 13:47:23 +00:00
Florian Pose 908624d4d8 Fixed missing up(). 2008-08-08 13:42:46 +00:00
Florian Pose 1cf5448e88 Added debugging for configuration function of the application interface. 2008-08-01 09:24:26 +00:00
Florian Pose 09a6ddc5a4 Fixed reconfiguration: Force config when application detaches. 2008-08-01 07:23:09 +00:00
Florian Pose c0b7fca9b6 Improved source code doc. 2008-07-04 12:06:10 +00:00
Florian Pose d871e4fd08 Renamed ecrt_slave_config_sync_managers() to ecrt_slave_config_pdos();
Added EC_MAX_SYNC_MANAGERS to ecrt.h.
2008-07-02 14:06:10 +00:00
Florian Pose 8265fb115f Improved locking between ioctl()s and master state machine; separate
functions for ioctls(); removed master's sii_sem and sdo_sem.
2008-07-02 11:26:51 +00:00
Florian Pose 20911256c3 Added ec_master_find_domain_const(). 2008-07-02 09:22:55 +00:00
Florian Pose f10cc06840 Added ec_master_find_slave_const(). 2008-07-02 08:14:47 +00:00