Commit Graph

1173 Commits

Author SHA1 Message Date
Florian Pose dbc993a98b Added missing linux/modules.h include. 2012-07-23 16:10:45 +02:00
Florian Pose d2c2e3a5a9 Removed whitespace. 2012-07-09 10:05:32 +02:00
Florian Pose 6c9e725c29 Added ecrt_master_link_state() to retrieve information about a redundant link. 2012-05-31 11:03:58 +02:00
Florian Pose dee3c96444 Minor: Braces. 2012-05-31 09:50:29 +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 e960e20bb3 Fixed frame loss statistics. 2012-03-19 09:56:36 +01:00
Florian Pose 8b19812c17 Fixed sending on backup link if main link is down. 2012-03-17 09:06:58 +01:00
Florian Pose e1c59c7c96 Partial WC output in domains command. 2012-03-16 18:44:59 +01:00
Florian Pose d3e9618f51 Loop through datagrams, then FMMUs; redundancy flag in domain state. 2012-03-16 18:24:29 +01:00
Florian Pose a304442ebc Compare with send buffer; copy changed data. 2012-03-16 16:04:26 +01:00
Florian Pose 39b918ed71 Added fix for ESC port order (DC delay calculation). 2012-01-30 15:17:34 +01:00
Florian Pose d88ab15d42 Fixed reset of allow_scanning flag if ecrt_master_activate() was not called. 2012-01-13 11:27:20 +01:00
Florian Pose 6edb7e55f6 Allocated ioctl data structures dynamically to avoid stack warnings. 2012-01-10 11:30:41 +01:00
Florian Pose 680d944ccd Decreased maximum length of error message to avoid stack warning. 2012-01-10 11:30:03 +01:00
Florian Pose 543a18d9bb Fixed semaphore header for kernels < 2.6.27. 2012-01-10 10:43:36 +01:00
Florian Pose a7b3698d7d Copy missing slave_info data in kernel space. 2012-01-10 10:11:20 +01:00
Florian Pose e47f14fd77 Avoided casting-away constness in expected working counter calculation. 2011-08-11 19:43:48 +02:00
Florian Pose d0bd89882b Replaced i with dev_idx. 2012-03-15 14:23:16 +01:00
Florian Pose b54aefc56a Added fix for ESC port order (DC delay calculation). 2012-01-30 15:17:34 +01:00
Florian Pose 70f91bf0d4 Fixed reset of allow_scanning flag if ecrt_master_activate() was not called. 2012-01-13 11:27:20 +01:00
Florian Pose 84de8d1928 Allocated ioctl data structures dynamically to avoid stack warnings. 2012-01-10 11:30:41 +01:00
Florian Pose dd7e81ad27 Decreased maximum length of error message to avoid stack warning. 2012-01-10 11:30:03 +01:00
Florian Pose f4623c86fd Fixed semaphore header for kernels < 2.6.27. 2012-01-10 10:43:36 +01:00
Florian Pose 94a4f01ba5 Copy missing slave_info data in kernel space. 2012-01-10 10:11:20 +01:00
Stefan Weiser 8cb225b61d Insert port information into slave info. 2010-04-30 10:53:56 +02:00
Florian Pose 929df897b5 Avoided unused variable warnings. 2012-01-09 17:42:28 +01:00
Florian Pose 0be8352c54 Allow gaps between SDO subindices when fetching dictionary. 2012-01-05 16:53:08 +01:00
Florian Pose 73de007970 Allow CoE OD List Segments to have 6 bytes instead of 8. 2012-01-05 16:47:23 +01:00
Florian Pose a1251dfed8 Removed some locks causing latency when using the library; added ioctl()
latency debugging; fixed FoE memory leaks in error case.
2011-12-20 11:12:04 +01:00
Florian Pose 6109aa9c98 merge 2011-12-16 16:31:40 +01:00
Florian Pose 76ea7a103c Removed unnecessary call of ec_master_inject_external_datagrams(). 2011-12-16 16:29:00 +01:00
Florian Pose d2b82936fb Minor: Fixed spacing. 2011-12-16 16:26:16 +01:00
Florian Pose c44723a347 Read AL status code before acknowledging spontaneous state change. 2011-12-16 11:42:55 +01:00
Florian Pose a37b4b292d Improved resetting number of responding slaves. 2011-12-09 10:35:23 +01:00
Florian Pose 4f1b5d4ae3 Minor: Ordered master member initialisations. 2011-12-09 10:46:25 +01:00
Florian Pose dc64d9c2a7 Minor. 2011-12-09 10:46:04 +01:00
Florian Pose c613a80715 Added --enable-wildcards to use 0xffffffff as wildcard for vendor ID and
product code.
2011-11-04 12:21:09 +01:00
Florian Pose 7555b87512 Added ecrt_master_sdo_download_complete() for ad-hoc downloading SDOs (also
via the command-line tool).
2011-10-24 10:49:27 +02:00
Florian Pose 0f875c88cf Always enable a sync manager, if there are registered PDOs conatined (and it
is not virtual)
2011-10-24 10:47:36 +02:00
Florian Pose c2f8bbb8f4 Fixed missing return causing slaves not going to OP. 2011-09-22 16:52:54 +02:00
Florian Pose 8000c89bcc Fixed typo. 2011-09-19 13:12:32 +02:00
Florian Pose 281c57130f Removed unnecessary list header. 2011-09-16 16:44:13 +02:00
Florian Pose a4adf60027 Removed allow_config flag and obsolete request to OP. 2011-09-16 14:10:23 +02:00
Florian Pose 197fe386b9 Don not copy frame data to datagram memory, if datagram type is write-only. 2011-09-16 12:44:54 +02:00
Florian Pose ad0e01da9e Bugfix: Reset config_changed flag when aborting state check. 2011-09-16 09:19:24 +02:00
Florian Pose bbe96b3246 Implemented ecrt_master_sdo_upload() and ecrt_master_sdo_download() also for
kernel space.
2011-09-15 16:33:13 +02:00
Florian Pose cca109cc6e No app_time is only warning. 2011-09-15 16:31:43 +02:00
Florian Pose 3981accaae Output app_time in DC debugging. 2011-09-15 12:38:48 +02:00
Florian Pose a877b8583c 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 2b8cee1651 Minor: Fixed broken keyword strings. 2011-08-09 22:17:16 +02:00
Florian Pose af63d2c39a Fixed bug in ec_master_queue_datagram() introduced in c9d32805d984. 2011-07-21 18:25:38 +02:00
Florian Pose 578818edbd Minor: removed unnecessary return. 2011-07-08 14:28:07 +02:00
Florian Pose 41db169cc3 Improved ecrt_master_queue_datagram(); detect skipped datagrams also when
already sent.
2011-07-08 14:26:25 +02:00
Florian Pose 62d6fa6605 Fixed datagram statistics output (skipped datagrams). 2011-07-08 14:23:22 +02:00
Florian Pose 6edbee06f0 Fixed compiler error for kernel versions < 2.6.23. 2011-05-12 08:40:22 +02:00
Florian Pose 6929f2f718 Added ecrt_master_reset() method. 2010-11-30 15:24:21 +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
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
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
Stefan Weiser 209ab5e91d Insert port information into slave info. 2010-04-30 10:53:56 +02:00
Florian Pose 429b3ee07e Avoided unused variable warnings. 2012-01-09 17:42:28 +01:00
Florian Pose 228501779b Allow gaps between SDO subindices when fetching dictionary. 2012-01-05 16:53:08 +01:00
Florian Pose 4003271dc4 Allow CoE OD List Segments to have 6 bytes instead of 8. 2012-01-05 16:47:23 +01:00
Florian Pose 6221ffe79c Removed some locks causing latency when using the library; added ioctl()
latency debugging; fixed FoE memory leaks in error case.
2011-12-20 11:12:04 +01:00
Florian Pose db64bfe5a5 Removed unnecessary call of ec_master_inject_external_datagrams(). 2011-12-16 16:29:00 +01:00
Florian Pose de0d773944 Minor: Fixed spacing. 2011-12-16 16:26:16 +01:00
Florian Pose ccb7acef66 Read AL status code before acknowledging spontaneous state change. 2011-12-16 11:42:55 +01:00
Florian Pose d59c70eedc Improved resetting number of responding slaves. 2011-12-09 10:35:23 +01:00
Florian Pose 1f428c78bf Minor: Ordered master member initialisations. 2011-12-09 10:46:25 +01:00
Florian Pose 953e723f31 Minor. 2011-12-09 10:46:04 +01:00
Florian Pose 3dbe764174 Added --enable-wildcards to use 0xffffffff as wildcard for vendor ID and
product code.
2011-11-04 12:21:09 +01:00
Florian Pose 522a63df8a Redundant outputs via datagram pairs. 2012-01-12 17:41:05 +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 2bb6c33d4e Output device name in link change message; fixed null-pointer protections. 2011-11-09 17:07:33 +01:00
Florian Pose 162ba28f35 Renamed main device to ecmX. 2011-11-09 17:06:04 +01:00
Florian Pose ed7f9885b2 Adjusted frame statistics for the use with two devices. 2011-11-09 14:53:33 +01:00
Florian Pose 6127a95283 Poll both devices. 2011-11-09 12:58:09 +01:00
Florian Pose ec84b03034 Master accepting two devices. 2011-11-09 12:05:44 +01:00
Florian Pose 9b3fdfb06e Improved comments. 2011-10-28 10:54:39 +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
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