master/fsm_change.c
branchstable-1.5
changeset 2408 b31f1d261ab8
parent 2175 37a25c76987b
child 2415 af21f0bdc7c9
equal deleted inserted replaced
2407:35223d2e6e72 2408:b31f1d261ab8
   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);