master/fsm_change.c
changeset 1822 74e6ac2369f4
parent 1445 45c5f5560274
child 1886 a9fcecb8415c
equal deleted inserted replaced
1821:40321a37d085 1822:74e6ac2369f4
   180     if (datagram->state == EC_DATAGRAM_TIMED_OUT && fsm->retries--)
   180     if (datagram->state == EC_DATAGRAM_TIMED_OUT && fsm->retries--)
   181         return;
   181         return;
   182 
   182 
   183     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   183     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   184         fsm->state = ec_fsm_change_state_error;
   184         fsm->state = ec_fsm_change_state_error;
   185         EC_ERR("Failed to receive state datagram from slave %u"
   185         EC_ERR("Failed to receive state datagram from slave %u: ",
   186                 " (datagram state %u)!\n",
   186                fsm->slave->ring_position);
   187                fsm->slave->ring_position, datagram->state);
   187         ec_datagram_print_state(datagram);
   188         return;
   188         return;
   189     }
   189     }
   190 
   190 
   191     if (fsm->take_time) {
   191     if (fsm->take_time) {
   192         fsm->take_time = 0;
   192         fsm->take_time = 0;
   246     if (datagram->state == EC_DATAGRAM_TIMED_OUT && fsm->retries--)
   246     if (datagram->state == EC_DATAGRAM_TIMED_OUT && fsm->retries--)
   247         return;
   247         return;
   248 
   248 
   249     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   249     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   250         fsm->state = ec_fsm_change_state_error;
   250         fsm->state = ec_fsm_change_state_error;
   251         EC_ERR("Failed to receive state checking datagram from slave %u"
   251         EC_ERR("Failed to receive state checking datagram from slave %u: ",
   252                 " (datagram state %u).\n",
   252                slave->ring_position);
   253                slave->ring_position, datagram->state);
   253         ec_datagram_print_state(datagram);
   254         return;
   254         return;
   255     }
   255     }
   256 
   256 
   257     if (datagram->working_counter != 1) {
   257     if (datagram->working_counter != 1) {
   258         char req_state[EC_STATE_STRING_SIZE];
   258         char req_state[EC_STATE_STRING_SIZE];
   384     if (datagram->state == EC_DATAGRAM_TIMED_OUT && fsm->retries--)
   384     if (datagram->state == EC_DATAGRAM_TIMED_OUT && fsm->retries--)
   385         return;
   385         return;
   386 
   386 
   387     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   387     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   388         fsm->state = ec_fsm_change_state_error;
   388         fsm->state = ec_fsm_change_state_error;
   389         EC_ERR("Failed to receive AL status code datagram from slave %u"
   389         EC_ERR("Failed to receive AL status code datagram from slave %u: ",
   390                 " (datagram state %u).\n",
   390                fsm->slave->ring_position);
   391                fsm->slave->ring_position, datagram->state);
   391         ec_datagram_print_state(datagram);
   392         return;
   392         return;
   393     }
   393     }
   394 
   394 
   395     if (datagram->working_counter != 1) {
   395     if (datagram->working_counter != 1) {
   396         EC_WARN("Reception of AL status code datagram failed: ");
   396         EC_WARN("Reception of AL status code datagram failed: ");
   443     if (datagram->state == EC_DATAGRAM_TIMED_OUT && fsm->retries--)
   443     if (datagram->state == EC_DATAGRAM_TIMED_OUT && fsm->retries--)
   444         return;
   444         return;
   445 
   445 
   446     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   446     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   447         fsm->state = ec_fsm_change_state_error;
   447         fsm->state = ec_fsm_change_state_error;
   448         EC_ERR("Failed to receive state ack datagram for slave %u"
   448         EC_ERR("Failed to receive state ack datagram for slave %u: ",
   449                 " (datagram state %u).\n",
   449                slave->ring_position);
   450                slave->ring_position, datagram->state);
   450         ec_datagram_print_state(datagram);
   451         return;
   451         return;
   452     }
   452     }
   453 
   453 
   454     if (datagram->working_counter != 1) {
   454     if (datagram->working_counter != 1) {
   455         fsm->state = ec_fsm_change_state_error;
   455         fsm->state = ec_fsm_change_state_error;
   483     if (datagram->state == EC_DATAGRAM_TIMED_OUT && fsm->retries--)
   483     if (datagram->state == EC_DATAGRAM_TIMED_OUT && fsm->retries--)
   484         return;
   484         return;
   485 
   485 
   486     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   486     if (datagram->state != EC_DATAGRAM_RECEIVED) {
   487         fsm->state = ec_fsm_change_state_error;
   487         fsm->state = ec_fsm_change_state_error;
   488         EC_ERR("Failed to receive state ack check datagram from slave %u"
   488         EC_ERR("Failed to receive state ack check datagram from slave %u: ",
   489                 " (datagram state %u).\n",
   489                slave->ring_position);
   490                slave->ring_position, datagram->state);
   490         ec_datagram_print_state(datagram);
   491         return;
   491         return;
   492     }
   492     }
   493 
   493 
   494     if (datagram->working_counter != 1) {
   494     if (datagram->working_counter != 1) {
   495         fsm->state = ec_fsm_change_state_error;
   495         fsm->state = ec_fsm_change_state_error;