master/fsm_slave_config.c
changeset 1052 22b509f8c898
parent 986 a486591ba86b
child 1053 0cb9604cbaa7
equal deleted inserted replaced
1051:40a4f31ec3b8 1052:22b509f8c898
    42 #include "master.h"
    42 #include "master.h"
    43 #include "mailbox.h"
    43 #include "mailbox.h"
    44 #include "slave_config.h"
    44 #include "slave_config.h"
    45 #include "fsm_slave_config.h"
    45 #include "fsm_slave_config.h"
    46 
    46 
       
    47 /** Time in ms to wait for a response when downloading Sdo configurations.
       
    48  */
       
    49 #define EC_FSM_SLAVE_CONF_SDO_CONF_TIMEOUT 3000
       
    50 
    47 /*****************************************************************************/
    51 /*****************************************************************************/
    48 
    52 
    49 void ec_fsm_slave_config_state_start(ec_fsm_slave_config_t *);
    53 void ec_fsm_slave_config_state_start(ec_fsm_slave_config_t *);
    50 void ec_fsm_slave_config_state_init(ec_fsm_slave_config_t *);
    54 void ec_fsm_slave_config_state_init(ec_fsm_slave_config_t *);
    51 void ec_fsm_slave_config_state_clear_fmmus(ec_fsm_slave_config_t *);
    55 void ec_fsm_slave_config_state_clear_fmmus(ec_fsm_slave_config_t *);
   446     // start Sdo configuration
   450     // start Sdo configuration
   447     fsm->state = ec_fsm_slave_config_state_sdo_conf;
   451     fsm->state = ec_fsm_slave_config_state_sdo_conf;
   448     fsm->request = list_entry(fsm->slave->config->sdo_configs.next,
   452     fsm->request = list_entry(fsm->slave->config->sdo_configs.next,
   449             ec_sdo_request_t, list);
   453             ec_sdo_request_t, list);
   450     ecrt_sdo_request_write(fsm->request);
   454     ecrt_sdo_request_write(fsm->request);
       
   455     fsm->request->response_timeout = EC_FSM_SLAVE_CONF_SDO_CONF_TIMEOUT;
   451     ec_fsm_coe_transfer(&fsm->fsm_coe, fsm->slave, fsm->request);
   456     ec_fsm_coe_transfer(&fsm->fsm_coe, fsm->slave, fsm->request);
   452     ec_fsm_coe_exec(&fsm->fsm_coe); // execute immediately
   457     ec_fsm_coe_exec(&fsm->fsm_coe); // execute immediately
   453 }
   458 }
   454 
   459 
   455 /*****************************************************************************/
   460 /*****************************************************************************/