master/fsm_slave_config.c
changeset 1053 0cb9604cbaa7
parent 1052 22b509f8c898
child 1055 2be8918682fa
equal deleted inserted replaced
1052:22b509f8c898 1053:0cb9604cbaa7
    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 
       
    51 /*****************************************************************************/
    47 /*****************************************************************************/
    52 
    48 
    53 void ec_fsm_slave_config_state_start(ec_fsm_slave_config_t *);
    49 void ec_fsm_slave_config_state_start(ec_fsm_slave_config_t *);
    54 void ec_fsm_slave_config_state_init(ec_fsm_slave_config_t *);
    50 void ec_fsm_slave_config_state_init(ec_fsm_slave_config_t *);
    55 void ec_fsm_slave_config_state_clear_fmmus(ec_fsm_slave_config_t *);
    51 void ec_fsm_slave_config_state_clear_fmmus(ec_fsm_slave_config_t *);
   450     // start Sdo configuration
   446     // start Sdo configuration
   451     fsm->state = ec_fsm_slave_config_state_sdo_conf;
   447     fsm->state = ec_fsm_slave_config_state_sdo_conf;
   452     fsm->request = list_entry(fsm->slave->config->sdo_configs.next,
   448     fsm->request = list_entry(fsm->slave->config->sdo_configs.next,
   453             ec_sdo_request_t, list);
   449             ec_sdo_request_t, list);
   454     ecrt_sdo_request_write(fsm->request);
   450     ecrt_sdo_request_write(fsm->request);
   455     fsm->request->response_timeout = EC_FSM_SLAVE_CONF_SDO_CONF_TIMEOUT;
       
   456     ec_fsm_coe_transfer(&fsm->fsm_coe, fsm->slave, fsm->request);
   451     ec_fsm_coe_transfer(&fsm->fsm_coe, fsm->slave, fsm->request);
   457     ec_fsm_coe_exec(&fsm->fsm_coe); // execute immediately
   452     ec_fsm_coe_exec(&fsm->fsm_coe); // execute immediately
   458 }
   453 }
   459 
   454 
   460 /*****************************************************************************/
   455 /*****************************************************************************/