From 8f93b7ead6ce5b6492581885a93aea64d38c8b02 Mon Sep 17 00:00:00 2001 From: Florian Pose <fp@igh-essen.com> Date: Thu, 19 Jun 2008 14:06:27 +0000 Subject: [PATCH] Introduced global upload timeout for fsm_coe_map. --- master/fsm_coe_map.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/master/fsm_coe_map.c b/master/fsm_coe_map.c index 173d99a2..8262ac8e 100644 --- a/master/fsm_coe_map.c +++ b/master/fsm_coe_map.c @@ -61,6 +61,12 @@ void ec_fsm_coe_map_action_next_pdo_entry(ec_fsm_coe_map_t *); /*****************************************************************************/ +/** Sdo upload timeout in ms for reading Pdo assigment/mapping. + */ +#define EC_FSM_COE_MAP_UPLOAD_TIMEOUT 3000 + +/*****************************************************************************/ + /** Constructor. */ @@ -73,6 +79,7 @@ void ec_fsm_coe_map_init( fsm->fsm_coe = fsm_coe; fsm->state = NULL; ec_sdo_request_init(&fsm->request); + fsm->request.response_timeout = EC_FSM_COE_MAP_UPLOAD_TIMEOUT; ec_pdo_list_init(&fsm->pdos); } @@ -182,7 +189,6 @@ void ec_fsm_coe_map_action_next_dir( ec_pdo_list_clear_pdos(&fsm->pdos); ec_sdo_request_address(&fsm->request, fsm->sync_sdo_index, 0); - fsm->request.response_timeout = 10000; ecrt_sdo_request_read(&fsm->request); fsm->state = ec_fsm_coe_map_state_pdo_count; ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request); @@ -247,7 +253,6 @@ void ec_fsm_coe_map_action_next_pdo( if (fsm->sync_subindex <= fsm->sync_subindices) { ec_sdo_request_address(&fsm->request, fsm->sync_sdo_index, fsm->sync_subindex); - fsm->request.response_timeout = 5000; ecrt_sdo_request_read(&fsm->request); fsm->state = ec_fsm_coe_map_state_pdo; ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request); @@ -314,7 +319,6 @@ void ec_fsm_coe_map_state_pdo( list_add_tail(&fsm->pdo->list, &fsm->pdos.list); ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0); - fsm->request.response_timeout = 5000; ecrt_sdo_request_read(&fsm->request); fsm->state = ec_fsm_coe_map_state_pdo_entry_count; ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request); @@ -370,7 +374,6 @@ void ec_fsm_coe_map_action_next_pdo_entry( { if (fsm->pdo_subindex <= fsm->pdo_subindices) { ec_sdo_request_address(&fsm->request, fsm->pdo->index, fsm->pdo_subindex); - fsm->request.response_timeout = 5000; ecrt_sdo_request_read(&fsm->request); fsm->state = ec_fsm_coe_map_state_pdo_entry; ec_fsm_coe_transfer(fsm->fsm_coe, fsm->slave, &fsm->request); -- GitLab