master/fsm_change.c
changeset 2412 7ac02fa34e8b
parent 2176 ad4f7514ba71
child 2415 af21f0bdc7c9
equal deleted inserted replaced
2411:01370d59233d 2412:7ac02fa34e8b
   426                 " datagram failed: ");
   426                 " datagram failed: ");
   427         ec_datagram_print_wc_error(datagram);
   427         ec_datagram_print_wc_error(datagram);
   428     } else {
   428     } else {
   429         code = EC_READ_U16(datagram->data);
   429         code = EC_READ_U16(datagram->data);
   430         for (al_msg = al_status_messages; al_msg->code != 0xffff; al_msg++) {
   430         for (al_msg = al_status_messages; al_msg->code != 0xffff; al_msg++) {
   431             if (al_msg->code != code) continue;
   431             if (al_msg->code != code) {
       
   432                 continue;
       
   433             }
       
   434 
   432             EC_SLAVE_ERR(fsm->slave, "AL status message 0x%04X: \"%s\".\n",
   435             EC_SLAVE_ERR(fsm->slave, "AL status message 0x%04X: \"%s\".\n",
   433                     al_msg->code, al_msg->message);
   436                     al_msg->code, al_msg->message);
   434             break;
   437             break;
   435         }
   438         }
   436         if (!al_msg->code)
   439         if (al_msg->code == 0xffff) { /* not found in our list. */
   437             EC_SLAVE_ERR(fsm->slave, "Unknown AL status code 0x%04X.\n",
   440             EC_SLAVE_ERR(fsm->slave, "Unknown AL status code 0x%04X.\n",
   438                     code);
   441                     code);
       
   442         }
   439     }
   443     }
   440 
   444 
   441     // acknowledge "old" slave state
   445     // acknowledge "old" slave state
   442     ec_datagram_fpwr(datagram, fsm->slave->station_address, 0x0120, 2);
   446     ec_datagram_fpwr(datagram, fsm->slave->station_address, 0x0120, 2);
   443     EC_WRITE_U16(datagram->data, fsm->slave->current_state);
   447     EC_WRITE_U16(datagram->data, fsm->slave->current_state);