Commit Graph

503 Commits

Author SHA1 Message Date
Florian Pose 91f7afa111 Added ec_sync_get_pdo_type(). 2007-09-20 12:57:28 +00:00
Florian Pose 70a945fd7c Minor comment change. 2007-09-20 12:33:58 +00:00
Florian Pose 8986c8b183 Minor: Again moved setting of alternate PDO mapping flag. 2007-09-20 10:15:21 +00:00
Florian Pose 289c68d727 Minor: Moved setting of alternate PDO mapping flag. 2007-09-20 10:05:37 +00:00
Florian Pose 937b457d3e Fixed detection of missing EEPROM category limiter. 2007-09-20 09:44:27 +00:00
Florian Pose 8ee649a8c6 Minor debugging output changes. 2007-09-20 09:43:59 +00:00
Florian Pose 27ebca0d9c Improved checking of EEPROM data while reading. 2007-09-20 09:12:27 +00:00
Florian Pose d7c42088c2 Read PDO mapping from SDO dictionary (working, not finished yet). 2007-09-19 17:44:28 +00:00
Florian Pose 2a9c3f1fd2 Added ec_slave_get_sdo() and ec_sdo_get_entry(). 2007-09-19 17:32:39 +00:00
Florian Pose 0fe3931b47 Removed 'sdo' field from ec_sdo_request_t; Exported
ec_sdo_request_\(init_read|clear\)().
2007-09-19 17:25:48 +00:00
Florian Pose eb6e709e57 Improved handling for spontaneous AL state changes. 2007-09-19 17:17:45 +00:00
Florian Pose 579c49521f Master takes mailbox sync manager configurations from EEPROM words
0x0018-0x001b, if no sync manager configurations are provided.
2007-09-19 11:52:58 +00:00
Florian Pose 0ef6a7360d Calculate checksum when writing EEPROM or alias address. 2007-09-19 09:37:01 +00:00
Florian Pose 3cdf084fdc Minor fix: Set eeprom_size to 0 on unsuccessful memory allocation. 2007-09-19 09:07:36 +00:00
Florian Pose 7be3b11fce Removed config.kbuild and replaced Kbuild files by Kbuild.in files. 2007-09-19 08:22:20 +00:00
Florian Pose 99fc363c4f Debug statement, if slave does not support mailboxing. 2007-09-18 14:19:21 +00:00
Florian Pose fde0c0977f Avoid warnings on some compilers. 2007-09-18 14:18:30 +00:00
Florian Pose 56949fa400 Allow EEPROM writing when slave has error flag set. 2007-09-18 14:17:49 +00:00
Florian Pose 2f2738ccd1 Send frame to debug-if and debug-ring only when transmitted
successfully.
2007-09-17 10:24:13 +00:00
Florian Pose 1c829731ed Improved EoE handling: Avoided skipping of datagrams and release lock
while processing.
2007-09-12 14:48:53 +00:00
Florian Pose 7369f5a5a2 Removed measure_bus_time(). 2007-09-12 14:07:28 +00:00
Florian Pose 7597e2795e Store skipped information in datagrams; name datagrams for statistics
output.
2007-09-12 14:06:35 +00:00
Florian Pose af076a36bc Clear station addresses with broadcast before setting them. 2007-09-12 13:20:29 +00:00
Florian Pose 08c67e8f2e Minor fix. 2007-09-12 13:12:38 +00:00
Florian Pose c4b87f7317 Added --enable-eoe conditional. 2007-09-12 13:10:15 +00:00
Florian Pose 0a99c21c72 Show bus status and PDO slaves status in master info file. 2007-09-12 12:30:48 +00:00
Florian Pose 5bcf9d740f Better handling of unexpected working counters; introduced
ec_datagram_print_wc_error().
2007-09-12 10:07:55 +00:00
Florian Pose fd2c20530e Create network interfaces for EoE devices with alias as eoeXaY. 2007-09-12 10:00:39 +00:00
Florian Pose 9590fc6e37 Fixed EtherCAT addressing problem on big-endian systems. The slaves
address is now a four-byte-array, that is filled with little-endian
(EtherCAT) values on datagram creation.
2007-09-06 09:28:38 +00:00
Florian Pose ce972fd4fc Broadcast MAC address accepts first device. 2007-08-10 15:04:06 +00:00
Florian Pose 808ad3e2f1 Added ecrt_master_get_slave_by_pos(). 2007-08-10 13:46:34 +00:00
Florian Pose 1c2ac14987 Limited EEPROM reading; added EC_FIRST_EEPROM_CATEGORY_HEADER define. 2007-08-10 13:35:11 +00:00
Florian Pose 0d16910def Switched to tx socket buffer ring to avoid race conditions when multiple
instances call ec_device_send() in short intervals.
2007-08-09 15:45:56 +00:00
Florian Pose 68e6dfc108 Implemented debug frame ring to output the last n frames for debugging
reasons.
2007-08-09 15:01:14 +00:00
Florian Pose f76d31ec92 Included datagram queuing in critical section in idle task; added some
debugging and comments.
2007-08-09 14:47:37 +00:00
Florian Pose cc0cee6757 Re-ordered criteria for datagram matching. 2007-08-09 14:40:29 +00:00
Florian Pose 7ddb6848d9 Removed checking for NULL slave pointer in EoE handler; added comments. 2007-08-09 14:38:18 +00:00
Florian Pose 20daa81763 Minor change. 2007-08-09 14:28:54 +00:00
Florian Pose 2ce79f1433 Changed names of debug interfaces. 2007-08-08 13:58:24 +00:00
Florian Pose 480d12021b Added debugging output for unmatched frames and those that timed out. 2007-08-07 13:33:57 +00:00
Florian Pose 2d6ec6ec99 Renamed EoE interfaces to eoe<MASTER>s<SLAVE>. 2007-08-07 13:33:21 +00:00
Florian Pose 47f04dac71 Fixed typo. 2007-08-07 13:22:37 +00:00
Florian Pose a5b9e7b556 Added --enable-dummy; renamed EC_DBG_IF to EC_DEBUG_IF, ENABLE_DEBUG_IF
conditional.
2007-08-07 07:54:51 +00:00
Florian Pose 731377fe79 Improved Makefiles. 2007-08-03 13:31:13 +00:00
Florian Pose e5fc419e45 Replaced ecdev_link_state() with ecdev_set_link(); added
ecdev_get_link().
2007-07-25 12:52:06 +00:00
Florian Pose c9c595f94e Introduced frames_timed_out flag to notice bus failure when link down is
not detected.
2007-05-03 14:29:21 +00:00
Florian Pose f5d3ec538a Completely lock master while an EoE cycle is executing. 2007-03-16 14:42:04 +00:00
Florian Pose 9466d51185 Dynamic creation of EoE handlers. 2007-03-16 14:00:12 +00:00
Florian Pose e17ebc9764 Configure alternative PDO mapping only on slaves that have PDO sync
managers.
2007-03-16 13:39:19 +00:00
Florian Pose 2a1920caaa Removed unecessary clearing of EoE handlers in master init function;
fixed possible bug on failing to initialize or add master kobject.
2007-03-16 11:23:08 +00:00
Florian Pose 8978eb88a6 Respected endianess in sysfs SDO output; Separate message, if data type
does not fit to bit length.
2007-03-16 11:04:50 +00:00
Florian Pose f5a7e78786 Slave configuration exclusively from master thread; removed
ec_master_sync_io(); introduced events in the master state machine;
locking of slave scanning and slave configuration through allow_scan
and allow_config flags.
2007-03-12 18:21:42 +00:00
Florian Pose 8b1ad52b23 Fixed missing semaphore initialization. 2007-03-12 16:40:23 +00:00
Florian Pose d813370220 Added scan time output. 2007-03-12 13:59:23 +00:00
Florian Pose b09000d770 Fixed skipped datagrams when not in FSM idle phase. 2007-03-12 13:59:06 +00:00
Florian Pose 571917dd1a Introduced idle flag in master state machine. 2007-03-12 12:11:43 +00:00
Florian Pose 467dfa260e Renamed names of enum type ec_request_state_t. 2007-03-12 11:02:05 +00:00
Florian Pose 594c3bb715 Made waiting for device semaphore uninterruptible. 2007-03-12 08:47:56 +00:00
Florian Pose 6ef75e4d45 Replaced master variable 'atomic_t available' by integer and used
semaphore in module.c instead.
2007-03-12 08:42:02 +00:00
Florian Pose 2907aebfdf Implemented SDO reading with wait queues. 2007-03-09 15:11:29 +00:00
Florian Pose 8c9fec5ce0 Renamed ec_eeprom_request_state_t enum to ec_request_state_t and made it
global.
2007-03-09 14:00:32 +00:00
Florian Pose b0c1fbaeb0 Removed X:Y addressing scheme, ec_slave_is_coupler(),
ec_master_calc_addressing(), coupler_index and coupler_subindex variables.
Adapted lsec script and examples.
2007-03-09 13:24:15 +00:00
Florian Pose 81524176a8 Correctted resetting topology_change_pending and tainted flags. 2007-03-09 13:16:12 +00:00
Florian Pose 70482be0ac Added parameters for vendor ID and product code to ecrt_get_slave(); PDO
registration functions now take a slave pointer as argument; changed
values for ec_bus_status_t.
2007-03-09 10:24:50 +00:00
Florian Pose 8ac6516b4e Allow only MAC addresses as device identifiers; replaced master list by
master array; hand ober MAC addresses with array module parameters.
2007-03-08 18:15:25 +00:00
Florian Pose 37baf012fb Removed ecrt_master_run(), removed datagram queueing from state
machines, added datagram injection, two different master thread
functions.
2007-03-08 13:02:42 +00:00
Florian Pose d77267e81c Implemented alternative PDO mapping configuration interface. 2007-03-07 17:37:21 +00:00
Florian Pose 4d79363e75 Fixed sync manager freeing bug coming up in r833. 2007-03-07 15:29:02 +00:00
Florian Pose cea235a427 Removed obsolete ec_slave_sync_config(). 2007-03-07 13:56:00 +00:00
Florian Pose e14a82d992 Layed out FMMU structure and methods to own files. 2007-03-07 13:29:29 +00:00
Florian Pose a5eabfa35d Moved a few constants to the files they are needed in. 2007-03-07 13:12:33 +00:00
Florian Pose 89dd4e09b6 Layed out sync manager structures and methods into own files. 2007-03-07 13:06:40 +00:00
Florian Pose ff176f5542 Layed out PDO structures to own files. 2007-03-07 11:46:02 +00:00
Florian Pose 762b0d2cf8 Renamed ec_sii_sync_t to ec_sync_t. 2007-03-07 11:30:09 +00:00
Florian Pose 667e0f3e13 Renamed ec_sii_pdo_t and ec_sii_pdo_entry_t to ec_pdo_t and
ec_pdo_entry_t, respectively.
2007-03-07 11:18:34 +00:00
Florian Pose 0ffba7a923 Simplified handling of EEPROM strings. 2007-03-07 11:11:17 +00:00
Florian Pose bfb1beeb5f Renamed slave configuration states "sync" to "mbox_sync" and "sync2" to
"pdo_sync".
2007-03-06 15:11:44 +00:00
Florian Pose 924ebcd8c6 Renamed SII fetching functions (non-functional). 2007-03-06 10:37:56 +00:00
Florian Pose 71f2050fa4 Introduced ec_slave_get_pdo_sync(). 2007-03-06 09:15:12 +00:00
Florian Pose b75973f27f SII sync managers as array instead of list, removed sync manager
guessing, ignoring base_sync_count.
2007-03-06 09:06:01 +00:00
Florian Pose b0487a7fe4 Removed unnecessary edge in slave configuration FSM graph. 2007-03-05 14:59:23 +00:00
Florian Pose e3afb9e9fb Removed ugly ec_slave_has_subbus() function. 2007-03-05 11:34:52 +00:00
Florian Pose b4bfda2e62 Introduced master status, ecrt_master_get_status(), tainted flag,
pdos_registered flags and pdo_slaves_offline counter.
2007-03-05 10:35:50 +00:00
Florian Pose 43075a1589 Corrected type of online_state. 2007-03-05 10:00:18 +00:00
Florian Pose b0285d88a9 Introduced ec_slave_online_state_t, ec_slave_set_online_state(), renamed
slave->online to ec_online_state and introduced
ec_slave_set_app_state().
2007-03-05 09:55:39 +00:00
Florian Pose 62e1adca17 Moved state request on PDO registration to slave.c. 2007-03-05 09:10:02 +00:00
Florian Pose d8d30c4a1f Implemented alias reading/writing via sysfs. 2007-03-02 15:43:45 +00:00
Florian Pose 94866f4bca Minor changes in EEPROM write code. 2007-03-02 14:47:09 +00:00
Florian Pose 65572b43d7 Fixed signal issue in EEPROM writing code. 2007-03-02 14:35:49 +00:00
Florian Pose 6ad6b0cb0b Fixed possible race with next request pointer again. 2007-03-02 08:45:21 +00:00
Florian Pose d2094a18e5 Fixed possible bug in master FSM concerning unqueueing of EEPROM write
requests.
2007-03-02 07:45:00 +00:00
Florian Pose 2ec4d25fce Introduced EEPROM write requests: EEPROM write operations from user
space are now queued and block until completion. Also, appropriate error
codes are returned.
2007-03-01 21:34:10 +00:00
Florian Pose e1315d14f4 Made data pointer in ec_fsm_sii_write() const. 2007-03-01 21:23:07 +00:00
Florian Pose 04056ce182 ec_slave_write_eeprom now returns certain error codes. 2007-03-01 15:03:08 +00:00
Florian Pose 9afbed92d2 Removed eeprom_write_enable file. 2007-03-01 14:50:53 +00:00
Florian Pose e3412a4c2f Completely removed ecrt_slave_pdo_size() code. 2007-02-28 09:22:03 +00:00
Florian Pose 53c66dad4f Added datagram state to "Failed to receive..." messages. 2007-02-22 13:39:19 +00:00
Florian Pose 7e373ee0c9 Removed faulty polling before device->open(). 2007-02-22 09:19:02 +00:00
Florian Pose 7b59f69823 Destroy slaves when leaving idle mode. 2007-02-21 13:43:47 +00:00
Florian Pose 6c08745e55 Made master devices persistent; added ec_device_attach() and ec_device_detach(). 2007-02-20 17:15:43 +00:00