equal
deleted
inserted
replaced
27 { |
27 { |
28 unsigned int timeouts; /**< Kommando-Timeouts */ |
28 unsigned int timeouts; /**< Kommando-Timeouts */ |
29 unsigned int delayed; /**< Verzögerte Kommandos */ |
29 unsigned int delayed; /**< Verzögerte Kommandos */ |
30 unsigned int corrupted; /**< Verfälschte Rahmen */ |
30 unsigned int corrupted; /**< Verfälschte Rahmen */ |
31 unsigned int unmatched; /**< Unpassende Kommandos */ |
31 unsigned int unmatched; /**< Unpassende Kommandos */ |
|
32 unsigned int eoe_errors; /**< Ethernet-over-EtherCAT Fehler */ |
32 cycles_t t_last; /**< Timestamp-Counter bei der letzten Ausgabe */ |
33 cycles_t t_last; /**< Timestamp-Counter bei der letzten Ausgabe */ |
33 } |
34 } |
34 ec_stats_t; |
35 ec_stats_t; |
35 |
36 |
36 /*****************************************************************************/ |
37 /*****************************************************************************/ |
55 unsigned int slaves_responding; /**< Anzahl antwortender Slaves */ |
56 unsigned int slaves_responding; /**< Anzahl antwortender Slaves */ |
56 ec_slave_state_t slave_states; /**< Zustände der antwortenden Slaves */ |
57 ec_slave_state_t slave_states; /**< Zustände der antwortenden Slaves */ |
57 int debug_level; /**< Debug-Level im Master-Code */ |
58 int debug_level; /**< Debug-Level im Master-Code */ |
58 ec_stats_t stats; /**< Rahmen-Statistiken */ |
59 ec_stats_t stats; /**< Rahmen-Statistiken */ |
59 unsigned int timeout; /**< Timeout für synchronen Datenaustausch */ |
60 unsigned int timeout; /**< Timeout für synchronen Datenaustausch */ |
|
61 struct list_head eoe_slaves; /**< Ethernet over EtherCAT Slaves */ |
60 }; |
62 }; |
61 |
63 |
62 /*****************************************************************************/ |
64 /*****************************************************************************/ |
63 |
65 |
64 // Master creation and deletion |
66 // Master creation and deletion |
67 void ec_master_reset(ec_master_t *); |
69 void ec_master_reset(ec_master_t *); |
68 |
70 |
69 // IO |
71 // IO |
70 void ec_master_receive(ec_master_t *, const uint8_t *, size_t); |
72 void ec_master_receive(ec_master_t *, const uint8_t *, size_t); |
71 void ec_master_queue_command(ec_master_t *, ec_command_t *); |
73 void ec_master_queue_command(ec_master_t *, ec_command_t *); |
72 int ec_master_simple_io(ec_master_t *); |
74 int ec_master_simple_io(ec_master_t *, ec_command_t *); |
73 |
75 |
74 // Registration of devices |
76 // Registration of devices |
75 int ec_master_open(ec_master_t *); |
77 int ec_master_open(ec_master_t *); |
76 void ec_master_close(ec_master_t *); |
78 void ec_master_close(ec_master_t *); |
77 |
79 |
80 |
82 |
81 // Misc |
83 // Misc |
82 void ec_master_debug(const ec_master_t *); |
84 void ec_master_debug(const ec_master_t *); |
83 void ec_master_output_stats(ec_master_t *); |
85 void ec_master_output_stats(ec_master_t *); |
84 |
86 |
|
87 void ec_master_run_eoe(ec_master_t *); |
|
88 |
85 /*****************************************************************************/ |
89 /*****************************************************************************/ |
86 |
90 |
87 #endif |
91 #endif |
88 |
92 |
89 /* Emacs-Konfiguration |
93 /* Emacs-Konfiguration |