equal
deleted
inserted
replaced
446 return; |
446 return; |
447 } |
447 } |
448 |
448 |
449 // start Sdo configuration |
449 // start Sdo configuration |
450 fsm->state = ec_fsm_slave_config_state_sdo_conf; |
450 fsm->state = ec_fsm_slave_config_state_sdo_conf; |
451 fsm->sdodata = |
451 fsm->request = list_entry(fsm->slave->config->sdo_configs.next, |
452 list_entry(fsm->slave->config->sdo_configs.next, ec_sdo_data_t, list); |
452 ec_sdo_request_t, list); |
453 ec_fsm_coe_download(&fsm->fsm_coe, fsm->slave, fsm->sdodata); |
453 ec_sdo_request_write(fsm->request); |
|
454 ec_fsm_coe_download(&fsm->fsm_coe, fsm->slave, fsm->request); |
454 ec_fsm_coe_exec(&fsm->fsm_coe); // execute immediately |
455 ec_fsm_coe_exec(&fsm->fsm_coe); // execute immediately |
455 } |
456 } |
456 |
457 |
457 /*****************************************************************************/ |
458 /*****************************************************************************/ |
458 |
459 |
473 fsm->state = ec_fsm_slave_config_state_error; |
474 fsm->state = ec_fsm_slave_config_state_error; |
474 return; |
475 return; |
475 } |
476 } |
476 |
477 |
477 // Another Sdo to configure? |
478 // Another Sdo to configure? |
478 if (fsm->sdodata->list.next != &fsm->slave->config->sdo_configs) { |
479 if (fsm->request->list.next != &fsm->slave->config->sdo_configs) { |
479 fsm->sdodata = |
480 fsm->request = list_entry(fsm->request->list.next, ec_sdo_request_t, |
480 list_entry(fsm->sdodata->list.next, ec_sdo_data_t, list); |
481 list); |
481 ec_fsm_coe_download(&fsm->fsm_coe, fsm->slave, fsm->sdodata); |
482 ec_sdo_request_write(fsm->request); |
|
483 ec_fsm_coe_download(&fsm->fsm_coe, fsm->slave, fsm->request); |
482 ec_fsm_coe_exec(&fsm->fsm_coe); // execute immediately |
484 ec_fsm_coe_exec(&fsm->fsm_coe); // execute immediately |
483 return; |
485 return; |
484 } |
486 } |
485 |
487 |
486 // All Sdos are now configured. |
488 // All Sdos are now configured. |