master/fsm_coe.c
changeset 975 dae04112bcc7
parent 962 ea83a7aab57a
child 986 a486591ba86b
equal deleted inserted replaced
974:5868944a6456 975:dae04112bcc7
  1027     EC_WRITE_U16(data + 3, request->index);
  1027     EC_WRITE_U16(data + 3, request->index);
  1028     EC_WRITE_U8 (data + 5, request->subindex);
  1028     EC_WRITE_U8 (data + 5, request->subindex);
  1029     EC_WRITE_U32(data + 6, request->data_size);
  1029     EC_WRITE_U32(data + 6, request->data_size);
  1030     memcpy(data + 10, request->data, request->data_size);
  1030     memcpy(data + 10, request->data, request->data_size);
  1031 
  1031 
       
  1032     if (slave->master->debug_level) {
       
  1033         EC_DBG("Download request:\n");
       
  1034         ec_print_data(data, 10 + request->data_size);
       
  1035     }
       
  1036 
  1032     fsm->retries = EC_FSM_RETRIES;
  1037     fsm->retries = EC_FSM_RETRIES;
  1033     fsm->state = ec_fsm_coe_down_request;
  1038     fsm->state = ec_fsm_coe_down_request;
  1034 }
  1039 }
  1035 
  1040 
  1036 /*****************************************************************************/
  1041 /*****************************************************************************/
  1171         // check for CoE response again
  1176         // check for CoE response again
  1172         ec_slave_mbox_prepare_check(slave, datagram); // can not fail.
  1177         ec_slave_mbox_prepare_check(slave, datagram); // can not fail.
  1173         fsm->retries = EC_FSM_RETRIES;
  1178         fsm->retries = EC_FSM_RETRIES;
  1174         fsm->state = ec_fsm_coe_down_check;
  1179         fsm->state = ec_fsm_coe_down_check;
  1175         return;
  1180         return;
       
  1181     }
       
  1182 
       
  1183     if (slave->master->debug_level) {
       
  1184         EC_DBG("Download response:\n");
       
  1185         ec_print_data(data, rec_size);
  1176     }
  1186     }
  1177 
  1187 
  1178     if (rec_size < 6) {
  1188     if (rec_size < 6) {
  1179         fsm->state = ec_fsm_coe_error;
  1189         fsm->state = ec_fsm_coe_error;
  1180         EC_ERR("Received data is too small (%u bytes):\n", rec_size);
  1190         EC_ERR("Received data is too small (%u bytes):\n", rec_size);