equal
deleted
inserted
replaced
736 fsm->soe_request = req; |
736 fsm->soe_request = req; |
737 ec_soe_request_copy(&fsm->soe_request_copy, fsm->soe_request); |
737 ec_soe_request_copy(&fsm->soe_request_copy, fsm->soe_request); |
738 ec_soe_request_write(&fsm->soe_request_copy); |
738 ec_soe_request_write(&fsm->soe_request_copy); |
739 ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); |
739 ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); |
740 ec_fsm_soe_exec(fsm_soe); // execute immediately |
740 ec_fsm_soe_exec(fsm_soe); // execute immediately |
741 ec_master_queue_external_datagram(slave->master, |
741 ec_master_queue_request_fsm_datagram(slave->master, |
742 fsm_soe->datagram); |
742 fsm_soe->datagram); |
743 return; |
743 return; |
744 } |
744 } |
745 } |
745 } |
746 |
746 |
758 { |
758 { |
759 ec_slave_t *slave = fsm->slave; |
759 ec_slave_t *slave = fsm->slave; |
760 ec_fsm_soe_t *fsm_soe = &slave->fsm.fsm_soe; |
760 ec_fsm_soe_t *fsm_soe = &slave->fsm.fsm_soe; |
761 |
761 |
762 if (ec_fsm_soe_exec(fsm_soe)) { |
762 if (ec_fsm_soe_exec(fsm_soe)) { |
763 ec_master_queue_external_datagram(slave->master, fsm_soe->datagram); |
763 ec_master_queue_request_fsm_datagram(slave->master, fsm_soe->datagram); |
764 return; |
764 return; |
765 } |
765 } |
766 |
766 |
767 if (!ec_fsm_soe_success(fsm_soe)) { |
767 if (!ec_fsm_soe_success(fsm_soe)) { |
768 EC_SLAVE_ERR(slave, "SoE configuration failed.\n"); |
768 EC_SLAVE_ERR(slave, "SoE configuration failed.\n"); |
783 if (fsm->soe_request->al_state == EC_AL_STATE_PREOP) { |
783 if (fsm->soe_request->al_state == EC_AL_STATE_PREOP) { |
784 ec_soe_request_copy(&fsm->soe_request_copy, fsm->soe_request); |
784 ec_soe_request_copy(&fsm->soe_request_copy, fsm->soe_request); |
785 ec_soe_request_write(&fsm->soe_request_copy); |
785 ec_soe_request_write(&fsm->soe_request_copy); |
786 ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); |
786 ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); |
787 ec_fsm_soe_exec(fsm_soe); // execute immediately |
787 ec_fsm_soe_exec(fsm_soe); // execute immediately |
788 ec_master_queue_external_datagram(slave->master, |
788 ec_master_queue_request_fsm_datagram(slave->master, |
789 fsm_soe->datagram); |
789 fsm_soe->datagram); |
790 return; |
790 return; |
791 } |
791 } |
792 } |
792 } |
793 |
793 |
1452 fsm->soe_request = req; |
1452 fsm->soe_request = req; |
1453 ec_soe_request_copy(&fsm->soe_request_copy, fsm->soe_request); |
1453 ec_soe_request_copy(&fsm->soe_request_copy, fsm->soe_request); |
1454 ec_soe_request_write(&fsm->soe_request_copy); |
1454 ec_soe_request_write(&fsm->soe_request_copy); |
1455 ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); |
1455 ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); |
1456 ec_fsm_soe_exec(fsm_soe); // execute immediately |
1456 ec_fsm_soe_exec(fsm_soe); // execute immediately |
1457 ec_master_queue_external_datagram(slave->master, |
1457 ec_master_queue_request_fsm_datagram(slave->master, |
1458 fsm_soe->datagram); |
1458 fsm_soe->datagram); |
1459 return; |
1459 return; |
1460 } |
1460 } |
1461 } |
1461 } |
1462 |
1462 |
1474 { |
1474 { |
1475 ec_slave_t *slave = fsm->slave; |
1475 ec_slave_t *slave = fsm->slave; |
1476 ec_fsm_soe_t *fsm_soe = &slave->fsm.fsm_soe; |
1476 ec_fsm_soe_t *fsm_soe = &slave->fsm.fsm_soe; |
1477 |
1477 |
1478 if (ec_fsm_soe_exec(fsm_soe)) { |
1478 if (ec_fsm_soe_exec(fsm_soe)) { |
1479 ec_master_queue_external_datagram(slave->master, fsm_soe->datagram); |
1479 ec_master_queue_request_fsm_datagram(slave->master, fsm_soe->datagram); |
1480 return; |
1480 return; |
1481 } |
1481 } |
1482 |
1482 |
1483 if (!ec_fsm_soe_success(fsm_soe)) { |
1483 if (!ec_fsm_soe_success(fsm_soe)) { |
1484 EC_SLAVE_ERR(slave, "SoE configuration failed.\n"); |
1484 EC_SLAVE_ERR(slave, "SoE configuration failed.\n"); |
1499 if (fsm->soe_request->al_state == EC_AL_STATE_SAFEOP) { |
1499 if (fsm->soe_request->al_state == EC_AL_STATE_SAFEOP) { |
1500 ec_soe_request_copy(&fsm->soe_request_copy, fsm->soe_request); |
1500 ec_soe_request_copy(&fsm->soe_request_copy, fsm->soe_request); |
1501 ec_soe_request_write(&fsm->soe_request_copy); |
1501 ec_soe_request_write(&fsm->soe_request_copy); |
1502 ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); |
1502 ec_fsm_soe_transfer(fsm_soe, fsm->slave, &fsm->soe_request_copy); |
1503 ec_fsm_soe_exec(fsm_soe); // execute immediately |
1503 ec_fsm_soe_exec(fsm_soe); // execute immediately |
1504 ec_master_queue_external_datagram(slave->master, |
1504 ec_master_queue_request_fsm_datagram(slave->master, |
1505 fsm_soe->datagram); |
1505 fsm_soe->datagram); |
1506 return; |
1506 return; |
1507 } |
1507 } |
1508 } |
1508 } |
1509 |
1509 |