master/fsm_master.c
changeset 1021 fa5cf205f4f0
parent 1005 5af7ab9a98b1
child 1028 afdd4bdbb7ec
equal deleted inserted replaced
1020:9bf2ddf05e17 1021:fa5cf205f4f0
   200     if (datagram->state != EC_DATAGRAM_RECEIVED) { // link is down
   200     if (datagram->state != EC_DATAGRAM_RECEIVED) { // link is down
   201         fsm->state = ec_fsm_master_state_error;
   201         fsm->state = ec_fsm_master_state_error;
   202         return;
   202         return;
   203     }
   203     }
   204 
   204 
   205     // slave states changed?
   205     if (fsm->slaves_responding) {
   206     if (EC_READ_U8(datagram->data) != fsm->slave_states) {
   206         uint8_t states = EC_READ_U8(datagram->data);
   207         char states[EC_STATE_STRING_SIZE];
   207         if (states != fsm->slave_states) { // slave states changed?
   208         fsm->slave_states = EC_READ_U8(datagram->data);
   208             char state_str[EC_STATE_STRING_SIZE];
   209         ec_state_string(fsm->slave_states, states);
   209             fsm->slave_states = states;
   210         EC_INFO("Slave states: %s.\n", states);
   210             ec_state_string(fsm->slave_states, state_str);
       
   211             EC_INFO("Slave states: %s.\n", state_str);
       
   212         }
       
   213     } else {
       
   214         fsm->slave_states = 0x00;
   211     }
   215     }
   212 
   216 
   213     if (fsm->topology_change_pending) {
   217     if (fsm->topology_change_pending) {
   214         down(&master->scan_sem);
   218         down(&master->scan_sem);
   215         if (!master->allow_scan) {
   219         if (!master->allow_scan) {