146 struct completion sdo_complete; /**< SDO request completion object */ |
146 struct completion sdo_complete; /**< SDO request completion object */ |
147 }; |
147 }; |
148 |
148 |
149 /*****************************************************************************/ |
149 /*****************************************************************************/ |
150 |
150 |
151 // master creation and deletion |
151 // master creation |
152 int ec_master_init(ec_master_t *, unsigned int, unsigned int, dev_t); |
152 int ec_master_init(ec_master_t *, unsigned int, unsigned int, dev_t); |
153 void ec_master_reset(ec_master_t *); |
|
154 |
153 |
155 // free run |
154 // mode transitions |
156 void ec_master_idle_start(ec_master_t *); |
155 int ec_master_enter_idle_mode(ec_master_t *); |
157 void ec_master_idle_stop(ec_master_t *); |
156 void ec_master_leave_idle_mode(ec_master_t *); |
|
157 int ec_master_enter_operation_mode(ec_master_t *); |
|
158 void ec_master_leave_operation_mode(ec_master_t *); |
158 |
159 |
159 // EoE |
160 // EoE |
160 void ec_master_eoe_start(ec_master_t *); |
161 void ec_master_eoe_start(ec_master_t *); |
161 void ec_master_eoe_stop(ec_master_t *); |
162 void ec_master_eoe_stop(ec_master_t *); |
162 |
163 |
163 // IO |
164 // datagram IO |
164 void ec_master_receive_datagrams(ec_master_t *, const uint8_t *, size_t); |
165 void ec_master_receive_datagrams(ec_master_t *, const uint8_t *, size_t); |
165 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *); |
166 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *); |
166 |
|
167 // slave management |
|
168 int ec_master_bus_scan(ec_master_t *); |
|
169 |
167 |
170 // misc. |
168 // misc. |
171 void ec_master_output_stats(ec_master_t *); |
169 void ec_master_output_stats(ec_master_t *); |
172 void ec_master_clear_slaves(ec_master_t *); |
170 void ec_master_clear_slaves(ec_master_t *); |
173 int ec_master_measure_bus_time(ec_master_t *); |
171 void ec_master_calc_addressing(ec_master_t *); |
174 |
172 |
175 // other methods |
173 // helper functions |
176 void ec_sync_config(const ec_sii_sync_t *, const ec_slave_t *, uint8_t *); |
174 void ec_sync_config(const ec_sii_sync_t *, const ec_slave_t *, uint8_t *); |
177 void ec_fmmu_config(const ec_fmmu_t *, const ec_slave_t *, uint8_t *); |
175 void ec_fmmu_config(const ec_fmmu_t *, const ec_slave_t *, uint8_t *); |
178 void ec_master_calc_addressing(ec_master_t *); |
|
179 void ec_master_flush_sdo_requests(ec_master_t *); |
|
180 |
176 |
181 /*****************************************************************************/ |
177 /*****************************************************************************/ |
182 |
178 |
183 #endif |
179 #endif |