diff -r 07fd94c5119d -r 72e7507b3f1b master/fsm_coe.c --- a/master/fsm_coe.c Thu Sep 13 11:08:46 2007 +0000 +++ b/master/fsm_coe.c Wed Oct 03 08:58:01 2007 +0000 @@ -1158,13 +1158,12 @@ ec_slave_t *slave = fsm->slave; ec_master_t *master = slave->master; ec_sdo_request_t *request = fsm->request; - ec_sdo_t *sdo = request->sdo; ec_sdo_entry_t *entry = request->entry; uint8_t *data; if (master->debug_level) EC_DBG("Uploading SDO 0x%04X:%i from slave %i.\n", - sdo->index, entry->subindex, slave->ring_position); + entry->sdo->index, entry->subindex, slave->ring_position); if (!(data = ec_slave_mbox_prepare_send(slave, datagram, 0x03, 10))) { fsm->state = ec_fsm_coe_error; @@ -1173,7 +1172,7 @@ EC_WRITE_U16(data, 0x2 << 12); // SDO request EC_WRITE_U8 (data + 2, 0x2 << 5); // initiate upload request - EC_WRITE_U16(data + 3, sdo->index); + EC_WRITE_U16(data + 3, entry->sdo->index); EC_WRITE_U8 (data + 5, entry->subindex); memset(data + 6, 0x00, 4); @@ -1289,7 +1288,6 @@ uint8_t *data, mbox_prot; size_t rec_size, data_size; ec_sdo_request_t *request = fsm->request; - ec_sdo_t *sdo = request->sdo; ec_sdo_entry_t *entry = request->entry; uint32_t complete_size; unsigned int expedited, size_specified; @@ -1340,7 +1338,7 @@ if (EC_READ_U16(data) >> 12 == 0x2 && // SDO request EC_READ_U8 (data + 2) >> 5 == 0x4) { // abort SDO transfer request EC_ERR("SDO upload 0x%04X:%X aborted on slave %i.\n", - sdo->index, entry->subindex, slave->ring_position); + entry->sdo->index, entry->subindex, slave->ring_position); ec_canopen_abort_msg(EC_READ_U32(data + 6)); fsm->state = ec_fsm_coe_error; return; @@ -1348,9 +1346,9 @@ if (EC_READ_U16(data) >> 12 != 0x3 || // SDO response EC_READ_U8 (data + 2) >> 5 != 0x2 || // upload response - EC_READ_U16(data + 3) != sdo->index || // index + EC_READ_U16(data + 3) != entry->sdo->index || // index EC_READ_U8 (data + 5) != entry->subindex) { // subindex - EC_ERR("SDO upload 0x%04X:%X failed:\n", sdo->index, entry->subindex); + EC_ERR("SDO upload 0x%04X:%X failed:\n", entry->sdo->index, entry->subindex); EC_ERR("Invalid SDO upload response at slave %i!\n", slave->ring_position); ec_print_data(data, rec_size); @@ -1531,7 +1529,6 @@ uint8_t *data, mbox_prot; size_t rec_size, data_size; ec_sdo_request_t *request = fsm->request; - ec_sdo_t *sdo = request->sdo; ec_sdo_entry_t *entry = request->entry; uint32_t seg_size; unsigned int last_segment; @@ -1582,7 +1579,7 @@ if (EC_READ_U16(data) >> 12 == 0x2 && // SDO request EC_READ_U8 (data + 2) >> 5 == 0x4) { // abort SDO transfer request EC_ERR("SDO upload 0x%04X:%X aborted on slave %i.\n", - sdo->index, entry->subindex, slave->ring_position); + entry->sdo->index, entry->subindex, slave->ring_position); ec_canopen_abort_msg(EC_READ_U32(data + 6)); fsm->state = ec_fsm_coe_error; return; @@ -1590,7 +1587,7 @@ if (EC_READ_U16(data) >> 12 != 0x3 || // SDO response EC_READ_U8 (data + 2) >> 5 != 0x0) { // upload segment response - EC_ERR("SDO upload 0x%04X:%X failed:\n", sdo->index, entry->subindex); + EC_ERR("SDO upload 0x%04X:%X failed:\n", entry->sdo->index, entry->subindex); EC_ERR("Invalid SDO upload segment response at slave %i!\n", slave->ring_position); ec_print_data(data, rec_size);