equal
deleted
inserted
replaced
655 } |
655 } |
656 |
656 |
657 /*****************************************************************************/ |
657 /*****************************************************************************/ |
658 |
658 |
659 /** |
659 /** |
660 */ |
660 */ |
661 |
661 |
662 void ec_fsm_slave_conf_enter_mbox_sync(ec_fsm_slave_t *fsm /**< slave state machine */) |
662 void ec_fsm_slave_conf_enter_mbox_sync( |
|
663 ec_fsm_slave_t *fsm /**< slave state machine */ |
|
664 ) |
663 { |
665 { |
664 ec_master_t *master = fsm->slave->master; |
666 ec_master_t *master = fsm->slave->master; |
665 ec_slave_t *slave = fsm->slave; |
667 ec_slave_t *slave = fsm->slave; |
666 ec_datagram_t *datagram = fsm->datagram; |
668 ec_datagram_t *datagram = fsm->datagram; |
667 unsigned int i; |
669 unsigned int i; |
691 ec_datagram_npwr(datagram, slave->station_address, 0x0800, |
693 ec_datagram_npwr(datagram, slave->station_address, 0x0800, |
692 EC_SYNC_SIZE * slave->sii_sync_count); |
694 EC_SYNC_SIZE * slave->sii_sync_count); |
693 memset(datagram->data, 0x00, EC_SYNC_SIZE * slave->sii_sync_count); |
695 memset(datagram->data, 0x00, EC_SYNC_SIZE * slave->sii_sync_count); |
694 |
696 |
695 for (i = 0; i < 2; i++) { |
697 for (i = 0; i < 2; i++) { |
696 ec_slave_sync_config(slave, &slave->sii_syncs[i], |
698 ec_sync_config(&slave->sii_syncs[i], |
697 datagram->data + EC_SYNC_SIZE * i); |
699 datagram->data + EC_SYNC_SIZE * i); |
698 } |
700 } |
699 |
701 |
700 ec_master_queue_datagram(fsm->slave->master, datagram); |
702 ec_master_queue_datagram(fsm->slave->master, datagram); |
701 fsm->retries = EC_FSM_RETRIES; |
703 fsm->retries = EC_FSM_RETRIES; |
788 } |
790 } |
789 |
791 |
790 /*****************************************************************************/ |
792 /*****************************************************************************/ |
791 |
793 |
792 /** |
794 /** |
793 */ |
795 */ |
794 |
796 |
795 void ec_fsm_slave_conf_enter_pdo_sync(ec_fsm_slave_t *fsm /**< slave state machine */) |
797 void ec_fsm_slave_conf_enter_pdo_sync( |
|
798 ec_fsm_slave_t *fsm /**< slave state machine */ |
|
799 ) |
796 { |
800 { |
797 ec_slave_t *slave = fsm->slave; |
801 ec_slave_t *slave = fsm->slave; |
798 ec_datagram_t *datagram = fsm->datagram; |
802 ec_datagram_t *datagram = fsm->datagram; |
799 unsigned int i; |
803 unsigned int i; |
800 |
804 |
807 ec_datagram_npwr(datagram, slave->station_address, 0x0800, |
811 ec_datagram_npwr(datagram, slave->station_address, 0x0800, |
808 EC_SYNC_SIZE * slave->sii_sync_count); |
812 EC_SYNC_SIZE * slave->sii_sync_count); |
809 memset(datagram->data, 0x00, EC_SYNC_SIZE * slave->sii_sync_count); |
813 memset(datagram->data, 0x00, EC_SYNC_SIZE * slave->sii_sync_count); |
810 |
814 |
811 for (i = 0; i < slave->sii_sync_count; i++) { |
815 for (i = 0; i < slave->sii_sync_count; i++) { |
812 ec_slave_sync_config(slave, &slave->sii_syncs[i], |
816 ec_sync_config(&slave->sii_syncs[i], |
813 datagram->data + EC_SYNC_SIZE * i); |
817 datagram->data + EC_SYNC_SIZE * i); |
814 } |
818 } |
815 |
819 |
816 ec_master_queue_datagram(fsm->slave->master, datagram); |
820 ec_master_queue_datagram(fsm->slave->master, datagram); |
817 fsm->retries = EC_FSM_RETRIES; |
821 fsm->retries = EC_FSM_RETRIES; |