equal
deleted
inserted
replaced
1022 if (slave->master->debug_level) { |
1022 if (slave->master->debug_level) { |
1023 EC_DBG("Download request:\n"); |
1023 EC_DBG("Download request:\n"); |
1024 ec_print_data(data, 10 + request->data_size); |
1024 ec_print_data(data, 10 + request->data_size); |
1025 } |
1025 } |
1026 |
1026 |
|
1027 fsm->request->jiffies_sent = jiffies; |
1027 fsm->retries = EC_FSM_RETRIES; |
1028 fsm->retries = EC_FSM_RETRIES; |
1028 fsm->state = ec_fsm_coe_down_request; |
1029 fsm->state = ec_fsm_coe_down_request; |
1029 } |
1030 } |
1030 |
1031 |
1031 /*****************************************************************************/ |
1032 /*****************************************************************************/ |
1050 slave->ring_position, datagram->state); |
1051 slave->ring_position, datagram->state); |
1051 return; |
1052 return; |
1052 } |
1053 } |
1053 |
1054 |
1054 if (datagram->working_counter != 1) { |
1055 if (datagram->working_counter != 1) { |
|
1056 if (!datagram->working_counter) { |
|
1057 unsigned long diff_ms = |
|
1058 (jiffies - fsm->request->jiffies_sent) * 1000 / HZ; |
|
1059 if (diff_ms < fsm->request->response_timeout) { |
|
1060 if (fsm->slave->master->debug_level) { |
|
1061 EC_DBG("Slave %u did no respond to Sdo download request. " |
|
1062 "Retrying after %u ms...\n", |
|
1063 slave->ring_position, (u32) diff_ms); |
|
1064 // no response; send request datagram again |
|
1065 return; |
|
1066 } |
|
1067 } |
|
1068 } |
1055 fsm->state = ec_fsm_coe_error; |
1069 fsm->state = ec_fsm_coe_error; |
1056 EC_ERR("Reception of CoE download request failed on slave %u: ", |
1070 EC_ERR("Reception of CoE download request failed on slave %u: ", |
1057 slave->ring_position); |
1071 slave->ring_position); |
1058 ec_datagram_print_wc_error(datagram); |
1072 ec_datagram_print_wc_error(datagram); |
1059 return; |
1073 return; |
1251 if (master->debug_level) { |
1265 if (master->debug_level) { |
1252 EC_DBG("Upload request:\n"); |
1266 EC_DBG("Upload request:\n"); |
1253 ec_print_data(data, 10); |
1267 ec_print_data(data, 10); |
1254 } |
1268 } |
1255 |
1269 |
|
1270 fsm->request->jiffies_sent = jiffies; |
1256 fsm->retries = EC_FSM_RETRIES; |
1271 fsm->retries = EC_FSM_RETRIES; |
1257 fsm->state = ec_fsm_coe_up_request; |
1272 fsm->state = ec_fsm_coe_up_request; |
1258 } |
1273 } |
1259 |
1274 |
1260 /*****************************************************************************/ |
1275 /*****************************************************************************/ |
1279 slave->ring_position, datagram->state); |
1294 slave->ring_position, datagram->state); |
1280 return; |
1295 return; |
1281 } |
1296 } |
1282 |
1297 |
1283 if (datagram->working_counter != 1) { |
1298 if (datagram->working_counter != 1) { |
|
1299 if (!datagram->working_counter) { |
|
1300 unsigned long diff_ms = |
|
1301 (jiffies - fsm->request->jiffies_sent) * 1000 / HZ; |
|
1302 if (diff_ms < fsm->request->response_timeout) { |
|
1303 if (fsm->slave->master->debug_level) { |
|
1304 EC_DBG("Slave %u did no respond to Sdo upload request. " |
|
1305 "Retrying after %u ms...\n", |
|
1306 slave->ring_position, (u32) diff_ms); |
|
1307 // no response; send request datagram again |
|
1308 return; |
|
1309 } |
|
1310 } |
|
1311 } |
1284 fsm->state = ec_fsm_coe_error; |
1312 fsm->state = ec_fsm_coe_error; |
1285 EC_ERR("Reception of CoE upload request failed on slave %u: ", |
1313 EC_ERR("Reception of CoE upload request failed on slave %u: ", |
1286 slave->ring_position); |
1314 slave->ring_position); |
1287 ec_datagram_print_wc_error(datagram); |
1315 ec_datagram_print_wc_error(datagram); |
1288 return; |
1316 return; |