equal
deleted
inserted
replaced
35 /*****************************************************************************/ |
35 /*****************************************************************************/ |
36 |
36 |
37 #include "globals.h" |
37 #include "globals.h" |
38 #include "master.h" |
38 #include "master.h" |
39 #include "fsm_change.h" |
39 #include "fsm_change.h" |
|
40 |
|
41 /*****************************************************************************/ |
|
42 |
|
43 /** Timeout while waiting for AL state change [s]. |
|
44 */ |
|
45 #define EC_AL_STATE_CHANGE_TIMEOUT 2 |
40 |
46 |
41 /*****************************************************************************/ |
47 /*****************************************************************************/ |
42 |
48 |
43 void ec_fsm_change_state_start(ec_fsm_change_t *); |
49 void ec_fsm_change_state_start(ec_fsm_change_t *); |
44 void ec_fsm_change_state_check(ec_fsm_change_t *); |
50 void ec_fsm_change_state_check(ec_fsm_change_t *); |
302 return; |
308 return; |
303 } |
309 } |
304 |
310 |
305 // still old state |
311 // still old state |
306 |
312 |
307 if (datagram->jiffies_received - fsm->jiffies_start >= HZ) { // 1s |
313 if (datagram->jiffies_received - fsm->jiffies_start >= |
|
314 EC_AL_STATE_CHANGE_TIMEOUT * HZ) { |
308 // timeout while checking |
315 // timeout while checking |
309 char state_str[EC_STATE_STRING_SIZE]; |
316 char state_str[EC_STATE_STRING_SIZE]; |
310 ec_state_string(fsm->requested_state, state_str, 0); |
317 ec_state_string(fsm->requested_state, state_str, 0); |
311 fsm->state = ec_fsm_change_state_error; |
318 fsm->state = ec_fsm_change_state_error; |
312 EC_ERR("Timeout while setting state %s on slave %u.\n", |
319 EC_ERR("Timeout while setting state %s on slave %u.\n", |
511 EC_INFO("Acknowledged state %s on slave %u.\n", |
518 EC_INFO("Acknowledged state %s on slave %u.\n", |
512 state_str, slave->ring_position); |
519 state_str, slave->ring_position); |
513 return; |
520 return; |
514 } |
521 } |
515 |
522 |
516 if (datagram->jiffies_received - fsm->jiffies_start >= HZ) { // 1s |
523 if (datagram->jiffies_received - fsm->jiffies_start >= |
|
524 EC_AL_STATE_CHANGE_TIMEOUT * HZ) { |
517 // timeout while checking |
525 // timeout while checking |
518 char state_str[EC_STATE_STRING_SIZE]; |
526 char state_str[EC_STATE_STRING_SIZE]; |
519 ec_state_string(slave->current_state, state_str, 0); |
527 ec_state_string(slave->current_state, state_str, 0); |
520 fsm->state = ec_fsm_change_state_error; |
528 fsm->state = ec_fsm_change_state_error; |
521 EC_ERR("Timeout while acknowledging state %s on slave %u.\n", |
529 EC_ERR("Timeout while acknowledging state %s on slave %u.\n", |