equal
deleted
inserted
replaced
46 #define EC_FSM_COE_DICT_TIMEOUT 3000 |
46 #define EC_FSM_COE_DICT_TIMEOUT 3000 |
47 |
47 |
48 #define EC_COE_DOWN_REQ_HEADER_SIZE 10 |
48 #define EC_COE_DOWN_REQ_HEADER_SIZE 10 |
49 #define EC_COE_DOWN_SEG_REQ_HEADER_SIZE 3 |
49 #define EC_COE_DOWN_SEG_REQ_HEADER_SIZE 3 |
50 #define EC_COE_DOWN_SEG_MIN_DATA_SIZE 7 |
50 #define EC_COE_DOWN_SEG_MIN_DATA_SIZE 7 |
|
51 |
|
52 #define DEBUG_RETRIES 0 |
51 |
53 |
52 /*****************************************************************************/ |
54 /*****************************************************************************/ |
53 |
55 |
54 void ec_fsm_coe_dict_start(ec_fsm_coe_t *); |
56 void ec_fsm_coe_dict_start(ec_fsm_coe_t *); |
55 void ec_fsm_coe_dict_request(ec_fsm_coe_t *); |
57 void ec_fsm_coe_dict_request(ec_fsm_coe_t *); |
1211 if (datagram->working_counter != 1) { |
1213 if (datagram->working_counter != 1) { |
1212 if (!datagram->working_counter) { |
1214 if (!datagram->working_counter) { |
1213 unsigned long diff_ms = |
1215 unsigned long diff_ms = |
1214 (jiffies - fsm->request->jiffies_sent) * 1000 / HZ; |
1216 (jiffies - fsm->request->jiffies_sent) * 1000 / HZ; |
1215 if (diff_ms < fsm->request->response_timeout) { |
1217 if (diff_ms < fsm->request->response_timeout) { |
|
1218 #if DEBUG_RETRIES |
1216 if (fsm->slave->master->debug_level) { |
1219 if (fsm->slave->master->debug_level) { |
1217 EC_DBG("Slave %u did not respond to SDO download request. " |
1220 EC_DBG("Slave %u did not respond to SDO download request. " |
1218 "Retrying after %u ms...\n", |
1221 "Retrying after %u ms...\n", |
1219 slave->ring_position, (u32) diff_ms); |
1222 slave->ring_position, (u32) diff_ms); |
1220 } |
1223 } |
|
1224 #endif |
1221 // no response; send request datagram again |
1225 // no response; send request datagram again |
1222 return; |
1226 return; |
1223 } |
1227 } |
1224 } |
1228 } |
1225 fsm->state = ec_fsm_coe_error; |
1229 fsm->state = ec_fsm_coe_error; |
1704 if (datagram->working_counter != 1) { |
1708 if (datagram->working_counter != 1) { |
1705 if (!datagram->working_counter) { |
1709 if (!datagram->working_counter) { |
1706 unsigned long diff_ms = |
1710 unsigned long diff_ms = |
1707 (jiffies - fsm->request->jiffies_sent) * 1000 / HZ; |
1711 (jiffies - fsm->request->jiffies_sent) * 1000 / HZ; |
1708 if (diff_ms < fsm->request->response_timeout) { |
1712 if (diff_ms < fsm->request->response_timeout) { |
|
1713 #if DEBUG_RETRIES |
1709 if (fsm->slave->master->debug_level) { |
1714 if (fsm->slave->master->debug_level) { |
1710 EC_DBG("Slave %u did not respond to SDO upload request. " |
1715 EC_DBG("Slave %u did not respond to SDO upload request. " |
1711 "Retrying after %u ms...\n", |
1716 "Retrying after %u ms...\n", |
1712 slave->ring_position, (u32) diff_ms); |
1717 slave->ring_position, (u32) diff_ms); |
1713 } |
1718 } |
|
1719 #endif |
1714 // no response; send request datagram again |
1720 // no response; send request datagram again |
1715 return; |
1721 return; |
1716 } |
1722 } |
1717 } |
1723 } |
1718 fsm->state = ec_fsm_coe_error; |
1724 fsm->state = ec_fsm_coe_error; |