master/fsm_master.c
changeset 1402 4c1203ec569d
parent 1400 3c4923051e43
child 1408 91b35db64a24
equal deleted inserted replaced
1401:96baef8a3162 1402:4c1203ec569d
   194         fsm->slaves_responding = datagram->working_counter;
   194         fsm->slaves_responding = datagram->working_counter;
   195         EC_INFO("%u slave(s) responding.\n", fsm->slaves_responding);
   195         EC_INFO("%u slave(s) responding.\n", fsm->slaves_responding);
   196     }
   196     }
   197 
   197 
   198     if (fsm->link_state && !master->main_device.link_state) { // link went down
   198     if (fsm->link_state && !master->main_device.link_state) { // link went down
   199         // clear slave list
   199         if (master->debug_level) {
       
   200             EC_DBG("Master state machine detected "
       
   201                     "link down. Clearing slave list.\n");
       
   202         }
       
   203 
   200 #ifdef EC_EOE
   204 #ifdef EC_EOE
   201         ec_master_eoe_stop(master);
   205         ec_master_eoe_stop(master);
   202         ec_master_clear_eoe_handlers(master);
   206         ec_master_clear_eoe_handlers(master);
   203 #endif
   207 #endif
   204         ec_master_clear_slaves(master);
   208         ec_master_clear_slaves(master);
   205     }
   209     }
   206     fsm->link_state = master->main_device.link_state;
   210     fsm->link_state = master->main_device.link_state;
   207 
   211 
   208     if (datagram->state != EC_DATAGRAM_RECEIVED) { // link is down
   212     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   209         ec_fsm_master_restart(fsm);
   213         ec_fsm_master_restart(fsm);
   210         return;
   214         return;
   211     }
   215     }
   212 
   216 
   213     if (fsm->slaves_responding) {
   217     if (fsm->slaves_responding) {