Commit Graph

1164 Commits

Author SHA1 Message Date
Florian Pose 4802bcd961 Minor: removed empty lines. 2011-08-11 20:20:12 +02:00
Florian Pose 89cbcd86bb Avoided casting-away constness in expected working counter calculation. 2011-08-11 19:43:48 +02:00
Florian Pose 0aedfdac0f Improved DC sync at startup: Abort iterating though slaves and first correct
system time offsets, then begin configuring at slave 0.
2011-08-09 22:10:45 +02:00
Florian Pose 6171cc6e3b Fixed skipped datagrams output again; added datagram information on skip. 2011-08-01 17:54:56 +02:00
Florian Pose c57242219f Minor: Fixed line wraps and spacing. 2011-08-01 17:02:45 +02:00
Florian Pose 7406f815f9 Fixed typo. 2011-08-01 16:53:21 +02:00
Florian Pose 1caeaad06c merge. 2011-07-25 10:32:46 +02:00
Florian Pose 7416eb4216 Fixed malformed comment. 2011-07-25 10:29:48 +02:00
Florian Pose e80332d61a Fixed bug in ec_master_queue_datagram() introduced in c9d32805d984. 2011-07-21 18:25:38 +02:00
Florian Pose 8e5a96aa45 merge. 2011-07-08 15:31:46 +02:00
Florian Pose 52d1750dcd Minor: removed unnecessary return. 2011-07-08 14:28:07 +02:00
Florian Pose ae060ff267 Improved ecrt_master_queue_datagram(); detect skipped datagrams also when
already sent.
2011-07-08 14:26:25 +02:00
Florian Pose e6e8063fd9 Fixed datagram statistics output (skipped datagrams). 2011-07-08 14:23:22 +02:00
Florian Pose 01de69446f merge. 2011-05-12 16:45:02 +02:00
Florian Pose 6edbee06f0 Fixed compiler error for kernel versions < 2.6.23. 2011-05-12 08:40:22 +02:00
Andreas Stewering-Bone f1e2f6d912 Merge 2011-04-13 22:06:28 +02:00
Martin Troxler 638b57420e fixed kernel oops bug in ec_fsm_coe_down_response (Blame the C Compiler) 2011-03-31 14:47:42 +02:00
Andreas Stewering-Bone 76ff88c43c First working RTDM Version,
to be reviewed,
further testing and optimation needed

Thanks to Moehwald GmbH B.Benner for Basic Code
2011-03-16 22:12:23 +01:00
Martin Troxler b65f4f7cde merged 2011-03-14 16:57:47 +01:00
Martin Troxler ae09c143c9 Reduced frame size when sending to mailbox, uses 2 datagrams. Enabled with configure option --enable-mboxframesize 2011-03-14 16:55:09 +01:00
Martin Troxler f405ebef0a fixed race condition when comparing datagram state
EC_DATAGRAM_QUEUED must be compared before EC_DATAGRAM_SENT because it might change in between
2011-03-14 16:08:25 +01:00
Martin Troxler dda18aa1f6 merged 2011-03-14 11:20:05 +01:00
Rafael Blank 144ac534f6 Fixed segmented sdo dictionary upload (only first segment contains list type) 2011-02-24 10:04:42 +01:00
Martin Troxler 7ddaa2b007 lock io_mutex when unqueueing datagrams; unqueue datagrams from send-receive queue. 2011-01-17 11:09:11 +01:00
Martin Troxler 0f18d720ec Minor changes (consistent variable naming) 2011-01-14 12:23:00 +01:00
Martin Troxler cc4f691d6c Datagram queue race fixed: insert datagrams into master-fsm_queue with fsm_queue list_head 2011-01-14 11:36:53 +01:00
Martin Troxler 85822a6242 Optionally compile with trace_printk support 2011-01-12 14:56:53 +01:00
Matthias Luescher e4722b4475 properly deactivate slaves if there is no eoe slave 2011-01-06 17:19:15 +01:00
Martin Troxler 67d28bec54 always use rt_mutex instead of semaphore for mutual exclusion on kernels >= 2.6.24 (removed --enable-mutex build option) 2011-01-06 13:11:21 +01:00
Martin Troxler 54da56e622 releasing of refcounted requests fixed: do not call EC_SLAVE_DBG without valid slave 2011-01-06 12:47:20 +01:00
Martin Troxler b3bfc21724 SoE request wait_event() deadlock fixed: use wait_event_interruptible and refcount ec_master_soe_request_t objects with kref 2011-01-05 12:46:12 +01:00
Martin Troxler 7e6b05b195 Register read/write wait_event() deadlock fixed: use wait_event_interruptible and refcount ec_reg_request_t objects with kref 2011-01-05 12:26:33 +01:00
Martin Troxler 74762f3bca Sii write wait_event() deadlock fixed: use wait_event_interruptible and refcount ec_master_sii_write_request_t objects with kref 2011-01-05 11:33:31 +01:00
Martin Troxler 273be9d362 FoE wait_event() deadlock fixed: refcount ec_master_foe_request_t objects with kref 2011-01-05 09:50:35 +01:00
Martin Troxler c059ec6f49 use rt_mutex instead of semaphore for mutual exclusion (use --enable-mutex) 2011-01-05 08:36:53 +01:00
Martin Troxler f2131608f1 SDO wait_event() deadlock fixed: refcount ec_master_sdo_request_t objects with kref 2010-12-23 09:48:56 +01:00
Martin Troxler f78a45f668 Failed FoE transfer: notify foe_queue instead of sdo_queue 2010-12-23 09:28:39 +01:00
Martin Troxler 075dce4d7e ecrt_master_callbacks: replaced send/receive callback mechanism with locking mechanism; removed ecrt_master_send_ext 2010-12-16 15:47:28 +01:00
Martin Troxler 2fcb8f9079 fixed 'ethercat eoe' command: interchanged rx/tx bytes/rates 2010-12-16 12:41:16 +01:00
Martin Troxler b6c795058b renamed ext_injection_timeout -> fsm_injection_timeout 2010-12-16 12:31:38 +01:00
Martin Troxler fc0ab2c764 removed now obsolete ext_datagram_queu 2010-12-16 11:29:23 +01:00
Martin Troxler c15f66ae48 removed eoe thread: eoe processing now done by Idle/Operation thread 2010-12-16 11:23:32 +01:00
Martin Troxler 902a3e3728 use ext_queue_sem for fsm datagram queue (instead of io_sem) 2010-12-16 09:52:17 +01:00
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
Martin Troxler 711764aec3 Inplace I/O bug: correct domain tx-size when tx-size of input and output fmmu is different. 2010-12-06 11:42:48 +01:00
Florian Pose 6929f2f718 Added ecrt_master_reset() method. 2010-11-30 15:24:21 +01:00
Martin Troxler 0fa074e917 fixed compiling without EC_HAVE_CYCLES (dc_jiffies_app_start_time) 2010-11-30 07:37:09 +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 b7bd17853e fixed ioctl codes, increased ioctl version magic 2010-11-29 08:15:57 +01:00
Martin Troxler f938cab3d1 Merged 2010-11-27 17:02:54 +01:00
Martin Troxler ed04e7e886 Re-enabled waiting for clock synchronity before setting dc offsets. (changeset b0dcdfbd4238) 2010-11-26 11:23:19 +01:00
Martin Troxler 8ff146ae8d fixed race when calculating DC offsets and start times due to ec_slave_config_attach: removed obsolete request to change slave state to OP.
The request to change to OP is done by ec_master_request_op after activating the master.
2010-11-26 10:33:55 +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
Florian Pose f739694670 Improved compiling on 2.6.34 (thanks to Malcolm Lewis). 2010-10-25 16:45:33 +02:00
Florian Pose 83e1173e12 Added missing header. 2010-10-25 16:33:41 +02:00
Florian Pose 47a3e1a5c1 Minor 64bit improvements. 2010-10-25 16:15:12 +02:00
Florian Pose a7cdeeec13 Increased AL state change timeout to 5 s. 2010-10-25 09:57:37 +02:00
Florian Pose 869215071e Output IDN configuration as part of 'ethercat config -v'. 2010-10-24 08:43:44 +02:00
Martin Troxler a55d77d7ed merged 2010-10-18 10:45:07 +02:00
Martin Troxler 911e09392f Inplace I/O: prevent pairing with already paired fmmus 2010-10-18 10:30:57 +02:00
Florian Pose 19a1a019ea merge. 2010-09-22 15:41:43 +02:00
Florian Pose 65cffd14d9 Read at least 64 words, when SII size determination failed. 2010-09-22 12:28:36 +02:00
Florian Pose 7edceb2028 Minor: Improved SII debugging. 2010-09-22 12:26:32 +02:00
Florian Pose d3a9a36d63 Always write PDO mapping/assignment. 2010-09-21 14:20:23 +02:00
Florian Pose b3e4b73854 Merge. 2010-09-16 10:16:12 +02:00
Florian Pose 6f97d7e27f Rescan command. 2010-09-16 09:08:11 +02:00
Florian Pose ba64ed28fc Fixed frame statistics overflow (to be verified). 2010-07-31 16:45:10 +02:00
Florian Pose 190cdce964 Added drive_no parameter to SoE layer. 2010-07-20 10:52:31 +02:00
Florian Pose 0e0033f572 Improved SII debugging. 2010-07-13 13:52:59 +02:00
Florian Pose 5531b692ee Output correct errno when transferring SDOs via command-line interface. 2010-07-06 17:40:20 +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 5c131113dd Incremented ioctl interface version; Minor changes. 2010-06-06 23:16:30 +02:00
Florian Pose 26d4687d0e Added state parameter to ecrt_slave_config_idn(). 2010-06-06 22:40:22 +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 c442beaa02 Minor change. 2010-06-02 22:46:48 +02:00
Florian Pose ca921529a2 Introduced configure switch --enable-regalias for enabling reading alias
addresses from registers. Disabled by default.
2010-05-25 14:12:02 +02:00
Florian Pose 9618b9dfe6 Added debug output for ecrt_slave_config_dc(). 2010-05-25 13:32:43 +02:00
Florian Pose 6d354de9c0 Fixed format specifiers. 2010-05-20 12:46:09 +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 d70f805a10 Disabled waiting for clock synchronity before setting dc offsets 2010-05-12 15:07:13 +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
Martin Troxler 34d7a7360d Increase version magic due to changed ioctl interface: Slave port info, inplace I/O 2010-05-07 15:16:14 +02:00
Florian Pose 337f2c09ef Fixed NULL pointer dereference caused by wrong usage of DBG macro. 2010-05-06 11:56:35 +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 a05a56429a Minor change. 2010-05-06 11:41:25 +02:00
Florian Pose cf105593d2 Minor. 2010-05-06 11:39:29 +02:00
Florian Pose e1571b2795 Minor. 2010-05-06 11:39:08 +02:00
Florian Pose 62b722ab33 Improved syslog macros. 2010-05-03 18:07:57 +02:00
Martin Troxler c2d9442c8d Inplace I/O: fixed domain command (fmmu logical_address -> domain_address); show domain tx size 2010-05-03 10:21:23 +02:00
Stefan Weiser be8dd1daf0 Insert port information into slave info. 2010-04-30 10:53:56 +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 d24bede41c Added missing code documentation. 2010-04-19 21:56:16 +02:00
Florian Pose 351e1a681a Renamed sdo_injecton_timeout to ext_injection_timeout. 2010-04-19 21:54:54 +02:00
Florian Pose 18549af043 Better use enums in SoE code. 2010-04-19 21:53:52 +02:00
Florian Pose 68cbcacb95 Moved ABS() macro to globals. 2010-04-19 21:52:46 +02:00
Florian Pose 6bfa337435 Documented fsm_foe members and removed unused variables. 2010-04-16 07:57:16 +02:00
Florian Pose 1a373c1c59 Use ec_datagram_zero() wherever possible. 2010-04-15 20:15:48 +02:00
Florian Pose f5ffc1f386 Added debugging output for result of register request. 2010-04-15 12:31:12 +02:00
Florian Pose 1aa6122534 Improved DC tome offset calculation:
- Only write time offset, if absolute difference to application time is
      more than 100 ms.
    - Separate handling for 32 bit and 64 bit time registers.
2010-03-29 18:04:17 +02:00
Florian Pose 454b42eb9f Included futher AL status code messages. 2010-03-29 13:53:17 +02:00
Florian Pose 7c95c485eb Removed unnecessary kernel header inclusion. 2010-03-25 11:30:26 +01:00
Florian Pose 6d94d17576 Minor fix. 2010-03-19 12:46:57 +01:00
Florian Pose 4b66f42669 Improved SoE statemachine error output. 2010-03-19 12:42:23 +01:00
Florian Pose 1d419954f2 Minor fix. 2010-03-19 12:39:05 +01:00
Florian Pose 6f07aec656 Included list of common SoE error messages. 2010-03-19 12:01:32 +01: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 15bc20fb11 Fixed fragmented SoE write. 2010-03-09 16:17:51 +01:00
Florian Pose 05cda2e570 Implemented SoE write fragmenting. 2010-03-09 14:40:25 +01:00
Florian Pose cde1ad8ca0 Implemented SoE fragmented reading. 2010-03-09 13:37:15 +01:00
Florian Pose 430b47d574 64 bit frame statistics. 2010-03-09 12:18:43 +01:00
Florian Pose d5c2b6f0b2 Implemented ecrt_slave_config_idn() for user-space library. 2010-03-09 12:01:29 +01:00
Florian Pose 271d540f38 Output tx errors and tx rate in byte/s. 2010-03-09 10:22:32 +01:00
Florian Pose 79e2df1245 Fixed clearing frame statistics on link down. 2010-03-09 09:59:32 +01:00
Florian Pose a029de59e5 Clear frame statistics on link loss. 2010-03-08 08:01:26 +01:00
Florian Pose 5203433078 Fixed frame statistics. 2010-03-08 07:40:54 +01:00
Florian Pose 697124e23c Frame statistics in 'ethercat master' output. 2010-03-07 23:55:51 +01:00
Florian Pose 541a6e145c Fixed segfault - Initialize SoE request properly. 2010-03-07 23:08:07 +01:00
Florian Pose 1cea08c920 Removed unused variable frames_timed_out. 2010-03-07 21:20:40 +01:00
Florian Pose fc4ee4d699 Added ecrt_slave_config_idn() method to store SoE IDN configurations. 2010-03-05 18:05:35 +01:00
Florian Pose 27ecf7ad96 Added ec_soe_request_copy() method. 2010-03-05 18:02:13 +01:00
Florian Pose 388fbd730f Minor: Removed unnecessary include. 2010-03-05 17:48:50 +01:00
Florian Pose adb0a81974 Fixed reading error code from write response. 2010-03-05 16:30:51 +01:00
Florian Pose 3fda13418c Fixed returning SoE error code. 2010-03-05 16:15:49 +01:00
Florian Pose e875955873 Fixed SoE opcode determination. 2010-03-05 16:15:22 +01:00
Florian Pose ffca1fa780 Implemented SoE write state machine and soe_write command. 2010-03-05 15:32:56 +01:00
Florian Pose 3850763eca Implemented reading Sercos-over-EtherCAT services. To be continued... 2010-03-01 18:33:42 +01:00
Florian Pose d11fd92168 Reset AL states on link down. 2010-02-26 18:22:02 +01:00
Florian Pose f41dadb84f Multi-master support for command-line tool. The --master option supports
ranges like '1-3,6,7-9'. The ioctl() interface version is checked.
2010-02-24 16:27:11 +01:00
Florian Pose 6e06798fb2 Use kernel's modules_install target, instead of building our own. Attention:
Module installation directories have changed!
2010-02-23 17:37:02 +01:00
Florian Pose ed4205d08a Improved output when PDO assignment/mapping fails. 2010-02-23 15:49:12 +01:00
Florian Pose f5a2a4167d Introduced ec_datagram_print_state() method and used it at all places where
the datagram state is output.
2010-02-23 15:13:56 +01:00
Florian Pose b16ac3ff7a Increased default number of masters to 32. 2010-02-16 18:19:17 +01:00
Florian Pose 69da1f1cb2 Improved handling and installation of the modules' symbol versions. 2010-02-16 15:08:54 +01:00
Florian Pose 328b7e1df8 Fixed master/Makefile.am in case Module.symvers does not exist. 2010-02-15 18:31:23 +01:00
Florian Pose a144042657 Removed tabulators. 2010-02-05 10:29:47 +01:00
Martin Troxler 7ac0b678be Merge 2010-02-02 08:35:28 +01:00
Martin Troxler 70c30b43e5 Merged 2010-01-31 14:50:37 +01:00
Florian Pose 0114f02d27 Reduced CoE timeouts to 1000 ms. 2010-01-26 11:38:25 +01:00
Florian Pose afad66a301 Improved dictionary timeout messages. 2010-01-26 11:35:58 +01:00
Florian Pose ac50d8c983 Improved CoE error messages. 2010-01-26 11:20:07 +01:00