equal
deleted
inserted
replaced
56 */ |
56 */ |
57 #define EC_VOE_RESPONSE_TIMEOUT 500 |
57 #define EC_VOE_RESPONSE_TIMEOUT 500 |
58 |
58 |
59 /*****************************************************************************/ |
59 /*****************************************************************************/ |
60 |
60 |
61 void ec_voe_handler_clear_data(ec_voe_handler_t *); |
|
62 |
|
63 void ec_voe_handler_state_write_start(ec_voe_handler_t *); |
61 void ec_voe_handler_state_write_start(ec_voe_handler_t *); |
64 void ec_voe_handler_state_write_response(ec_voe_handler_t *); |
62 void ec_voe_handler_state_write_response(ec_voe_handler_t *); |
65 |
63 |
66 void ec_voe_handler_state_read_start(ec_voe_handler_t *); |
64 void ec_voe_handler_state_read_start(ec_voe_handler_t *); |
67 void ec_voe_handler_state_read_check(ec_voe_handler_t *); |
65 void ec_voe_handler_state_read_check(ec_voe_handler_t *); |
197 |
195 |
198 /****************************************************************************** |
196 /****************************************************************************** |
199 * State functions. |
197 * State functions. |
200 *****************************************************************************/ |
198 *****************************************************************************/ |
201 |
199 |
|
200 /** Start writing VoE data. |
|
201 */ |
202 void ec_voe_handler_state_write_start(ec_voe_handler_t *voe) |
202 void ec_voe_handler_state_write_start(ec_voe_handler_t *voe) |
203 { |
203 { |
204 ec_slave_t *slave = voe->config->slave; |
204 ec_slave_t *slave = voe->config->slave; |
205 uint8_t *data; |
205 uint8_t *data; |
206 |
206 |
232 voe->state = ec_voe_handler_state_write_response; |
232 voe->state = ec_voe_handler_state_write_response; |
233 } |
233 } |
234 |
234 |
235 /*****************************************************************************/ |
235 /*****************************************************************************/ |
236 |
236 |
|
237 /** Wait for the mailbox response. |
|
238 */ |
237 void ec_voe_handler_state_write_response(ec_voe_handler_t *voe) |
239 void ec_voe_handler_state_write_response(ec_voe_handler_t *voe) |
238 { |
240 { |
239 ec_datagram_t *datagram = &voe->datagram; |
241 ec_datagram_t *datagram = &voe->datagram; |
240 ec_slave_t *slave = voe->config->slave; |
242 ec_slave_t *slave = voe->config->slave; |
241 |
243 |
280 voe->state = ec_voe_handler_state_end; |
282 voe->state = ec_voe_handler_state_end; |
281 } |
283 } |
282 |
284 |
283 /*****************************************************************************/ |
285 /*****************************************************************************/ |
284 |
286 |
|
287 /** Start reading VoE data. |
|
288 */ |
285 void ec_voe_handler_state_read_start(ec_voe_handler_t *voe) |
289 void ec_voe_handler_state_read_start(ec_voe_handler_t *voe) |
286 { |
290 { |
287 ec_datagram_t *datagram = &voe->datagram; |
291 ec_datagram_t *datagram = &voe->datagram; |
288 ec_slave_t *slave = voe->config->slave; |
292 ec_slave_t *slave = voe->config->slave; |
289 |
293 |
304 voe->state = ec_voe_handler_state_read_check; |
308 voe->state = ec_voe_handler_state_read_check; |
305 } |
309 } |
306 |
310 |
307 /*****************************************************************************/ |
311 /*****************************************************************************/ |
308 |
312 |
|
313 /** Check for new data in the mailbox. |
|
314 */ |
309 void ec_voe_handler_state_read_check(ec_voe_handler_t *voe) |
315 void ec_voe_handler_state_read_check(ec_voe_handler_t *voe) |
310 { |
316 { |
311 ec_datagram_t *datagram = &voe->datagram; |
317 ec_datagram_t *datagram = &voe->datagram; |
312 ec_slave_t *slave = voe->config->slave; |
318 ec_slave_t *slave = voe->config->slave; |
313 |
319 |
354 voe->state = ec_voe_handler_state_read_response; |
360 voe->state = ec_voe_handler_state_read_response; |
355 } |
361 } |
356 |
362 |
357 /*****************************************************************************/ |
363 /*****************************************************************************/ |
358 |
364 |
|
365 /** Read the pending mailbox data. |
|
366 */ |
359 void ec_voe_handler_state_read_response(ec_voe_handler_t *voe) |
367 void ec_voe_handler_state_read_response(ec_voe_handler_t *voe) |
360 { |
368 { |
361 ec_datagram_t *datagram = &voe->datagram; |
369 ec_datagram_t *datagram = &voe->datagram; |
362 ec_slave_t *slave = voe->config->slave; |
370 ec_slave_t *slave = voe->config->slave; |
363 ec_master_t *master = voe->config->master; |
371 ec_master_t *master = voe->config->master; |
417 voe->state = ec_voe_handler_state_end; // success |
425 voe->state = ec_voe_handler_state_end; // success |
418 } |
426 } |
419 |
427 |
420 /*****************************************************************************/ |
428 /*****************************************************************************/ |
421 |
429 |
|
430 /** Successful termination state function. |
|
431 */ |
422 void ec_voe_handler_state_end(ec_voe_handler_t *voe) |
432 void ec_voe_handler_state_end(ec_voe_handler_t *voe) |
423 { |
433 { |
424 } |
434 } |
425 |
435 |
426 /*****************************************************************************/ |
436 /*****************************************************************************/ |
427 |
437 |
|
438 /** Failure termination state function. |
|
439 */ |
428 void ec_voe_handler_state_error(ec_voe_handler_t *voe) |
440 void ec_voe_handler_state_error(ec_voe_handler_t *voe) |
429 { |
441 { |
430 } |
442 } |
431 |
443 |
432 /*****************************************************************************/ |
444 /*****************************************************************************/ |