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
Florian Pose
d942e87cef
Implemented master semaphore to secure concurrent access from ioctls, state machine and realtime interface.
2008-07-01 15:38:20 +00:00
Florian Pose
a81228a587
Store sync manager configurations in ec_slave_config_t instead of Pdo
...
lists for each direction; changed realtime interface to allow sync
manager configuration.
2008-06-26 13:16:15 +00:00
Florian Pose
a6b7657daf
Fixed alias bug.
2008-06-20 13:38:35 +00:00
Florian Pose
c233259931
Removed state machine cycle time measuring.
2008-06-19 10:22:24 +00:00
Florian Pose
cdd45226aa
Disable use of CPU timestamp counter by default.
2008-06-19 10:18:58 +00:00
Florian Pose
f03af4c38b
Removed 'end' and 'error' states from master state machine.
2008-06-18 13:53:31 +00:00
Florian Pose
0ef150c812
Renamed master 'mode' to 'phase'.
2008-06-18 13:33:50 +00:00
Florian Pose
d91aa97487
Removed configs_attached flag; changed return value of
...
ec_master_attach_slave_configs() to void.
2008-06-18 12:49:11 +00:00
Florian Pose
6535c4d9ed
Minor change.
2008-06-18 11:15:36 +00:00
Florian Pose
6dd92542d7
Only load default assignment, if slave was attached.
2008-06-18 11:13:30 +00:00
Florian Pose
4688b35ada
Implemented ecrt_slave_config_state(); minor changes in
...
ec_master_state_t and ec_slave_config_state_t; adapted example.
2008-06-18 10:13:58 +00:00
Richard Hacker
2d683ae0de
Completed master states.
2008-06-17 14:24:33 +00:00
Florian Pose
2e6a9a955e
Added support for different versions of class_device_create().
2008-06-17 13:03:33 +00:00
Florian Pose
25ffc9f638
Create class device with device_number information in sysfs.
2008-06-17 12:49:06 +00:00
Florian Pose
9aa0789b33
Reverted revision number checking from r1228.
2008-06-17 09:44:46 +00:00
Florian Pose
541c2a0cd8
Added revision number to slave type checking.
2008-06-16 09:30:58 +00:00
Florian Pose
d3f7c7bbd8
Added a few debugging messages.
2008-06-12 13:05:05 +00:00
Florian Pose
6759569586
Fixed duplicate kfree() bug.
2008-06-12 13:00:32 +00:00
Florian Pose
e4c9a82a56
Store slaves in an array instead of a list.
2008-06-12 09:32:25 +00:00
Florian Pose
e2c03b9e77
Removed kobject from master and module. Sysfs is gone!
2008-06-12 08:12:02 +00:00
Florian Pose
3197ca4a23
Removed kobject from slave_config.
2008-06-12 07:45:27 +00:00
Florian Pose
fbdb093ec0
Clear domains before slave configs, because domain references the FMMU
...
configurations.
2008-06-12 07:32:05 +00:00
Florian Pose
448eb13820
Removed kobject from domain.
2008-06-12 07:26:38 +00:00
Florian Pose
22fe4a1841
Removed kobjects from sdo and slave.
2008-06-12 07:15:54 +00:00
Florian Pose
1132577dd9
Bus configuration via 'ethercat config'.
2008-06-11 15:29:47 +00:00
Florian Pose
2a7a7e2e5c
Replaced misleading %i by %u.
2008-06-10 11:54:39 +00:00
Florian Pose
825836dd77
Removed master info from sysfs.
2008-06-05 15:44:58 +00:00
Florian Pose
7194a43da1
Implemented 'ethercat debug' command.
2008-06-05 14:33:36 +00:00
Florian Pose
e5f7d6f400
Introduced ec_master_domain_count() and ec_master_find_domain().
2008-06-04 10:10:05 +00:00
Florian Pose
8b8b470eaa
Introduced ec_master_find_slave().
2008-05-30 10:46:14 +00:00
Florian Pose
85e8f72c68
Output subindices with %02X.
2008-05-30 09:39:29 +00:00
Florian Pose
3b4cae9626
Added the new ethercat comman-line tool with lsec functionality.
2008-05-29 15:11:26 +00:00
Florian Pose
c294906bbf
Moved setting of the allow flags.
2008-04-25 12:13:26 +00:00
Florian Pose
5742847dea
Removed ec_master_prepare().
2008-04-25 12:08:11 +00:00
Florian Pose
80c1bf823d
Removed bus validation; slave configuration during realtime operation;
...
improved scan/config busy flags.
2008-04-25 12:04:23 +00:00
Florian Pose
593a5fda9c
Changed terms "Pdo mapping" -> "Pdo assignment" and "Pdo configuration"
...
-> "Pdo mapping"; created ecrt_slave_config_pdo_assign_clear() and
ecrt_slave_config_pdo_mapping_clear().
2008-04-03 13:34:13 +00:00
Florian Pose
f69b21af02
Renamed EEPROM to SII.
2008-03-17 09:38:48 +00:00
Florian Pose
f28f42ceb1
Introduced ec_sdo_request_state_t, making ec_request_t private again;
...
therefore added EC_REQUEST_INIT and renamed EC_REQUEST_IN_PROGRESS to
EC_REQUEST_BUSY and EC_REQUEST_COMPLETE to EC_REQUEST_SUCCESS.
2008-03-04 11:37:51 +00:00
Florian Pose
0b5b3b9e9b
Removed slave pointer from ec_sdo_request_t class.
2008-02-29 16:20:12 +00:00
Florian Pose
350c159a9d
Renamed [PS]DO to [PS]do.
2008-02-22 12:29:30 +00:00
Florian Pose
3a50cd0ff1
Allow bus configuration when link is down.
2008-02-19 09:58:48 +00:00
Florian Pose
6189092aed
Implemented most realtime interface changes for version 1.4, improved
...
ec_pdo_t and ec_pdo_entry_t classes, added fmmu_config_t, adjusted
minimal example, etc...
2008-02-19 08:22:20 +00:00
Florian Pose
c5b3ade0c0
Updated Doxygen documentation.
2007-09-24 12:12:11 +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
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
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
808ad3e2f1
Added ecrt_master_get_slave_by_pos().
2007-08-10 13:46:34 +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
20daa81763
Minor change.
2007-08-09 14:28:54 +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
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
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
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
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
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
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
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
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
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
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
9afbed92d2
Removed eeprom_write_enable file.
2007-03-01 14:50:53 +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
Florian Pose
b1a770729c
Removed ktype for module kobject; added backup device for master; device
...
connection information and IDs in master info file.
2007-02-20 13:42:44 +00:00
Florian Pose
27f9a4af2d
New module file /sys/ethercat, masters moved to /sys/ethercat/masterX.
2007-02-20 11:28:15 +00:00
Florian Pose
0f53f8fa3e
Introduced device IDs; removed comment lines from 8139too; removed
...
ec_eoeif_count parameter.
2007-02-16 17:13:39 +00:00
Florian Pose
2cbddbb9d1
Removed XML device from master structure.
2007-02-16 13:23:57 +00:00
Florian Pose
e643409867
Made ec_sync_config() and ec_fmmu_config() to methods of ec_slave_t.
2007-02-13 11:48:46 +00:00
Florian Pose
9a9e5d719c
Fixed bug causing unloading of realtime module being very slow after topology change.
2007-02-12 11:15:23 +00:00
Florian Pose
6d74555dad
schedule() other processes while waiting in ec_master_sync_io().
2007-02-12 11:12:00 +00:00
Florian Pose
3b4c23a436
Ignore queued datagrams while waiting in ec_master_sync_io().
2007-02-12 10:39:52 +00:00
Florian Pose
5f7ac3aa85
Minor changes in master thread messages.
2007-02-09 10:04:05 +00:00
Florian Pose
291d63856b
Replaced ec_isr_t by ec_pollfunc_t; added poll function s in network drivers.
2007-01-12 14:28:33 +00:00
Florian Pose
413fdbb006
Minor fix on master.c (name of master thread).
2007-01-10 16:34:42 +00:00
Florian Pose
df1cc1d939
Layed out slave state machines in own files fsm_slave.[ch]; renamed fsm.[ch] to fsm_master.[ch]
2007-01-10 16:32:06 +00:00
Florian Pose
ba97994717
Added some documentation.
2007-01-10 10:58:49 +00:00
Florian Pose
ea7e0ca982
Master workqueue replaced with kernel thread.
2007-01-10 10:45:57 +00:00
Florian Pose
81acf0c368
Fixed blocking of EoE processing while entering or leaving operational mode.
2007-01-09 14:51:00 +00:00
Florian Pose
4dc453ef55
Fixed race: Stop EoE processing when entering or leaving operation mode.
2007-01-09 12:56:03 +00:00
Florian Pose
8f51b59d3e
Minor fix in master.c
2007-01-08 15:15:17 +00:00
Florian Pose
ed70ae4999
Internal locking callbacks, improved locking.
2007-01-08 15:01:18 +00:00
Florian Pose
03c3e13bf9
Removed datagram.cycles_queued, needed for "starved" datagrams (deprecated).
2007-01-08 08:23:18 +00:00
Florian Pose
0c3d8c8ce1
Fixed warnings in master.c.
2006-12-18 11:51:43 +00:00
Florian Pose
fc6917709a
Corrected error messages in get_slave().
2006-12-18 11:00:26 +00:00
Florian Pose
b3de249e28
Fixed lost frames display bug when no frames were sent.
2006-11-24 11:09:36 +00:00
Florian Pose
c0f6188104
Interface changes for version 1.2, see NEWS file.
2006-11-24 11:02:35 +00:00
Florian Pose
2568ef35d1
Added frame counter.
2006-11-21 15:46:21 +00:00
Florian Pose
bae7fb4e90
Introduced "starved" datagrams.
2006-11-21 15:13:48 +00:00