master/fsm_master.c
changeset 1174 235f34ca50e2
parent 1079 ef1266652c4d
child 1177 03d9640c9ce4
equal deleted inserted replaced
1173:2ec9651a6c89 1174:235f34ca50e2
    77     fsm->slaves_responding = 0;
    77     fsm->slaves_responding = 0;
    78     fsm->topology_change_pending = 0;
    78     fsm->topology_change_pending = 0;
    79     fsm->slave_states = EC_SLAVE_STATE_UNKNOWN;
    79     fsm->slave_states = EC_SLAVE_STATE_UNKNOWN;
    80 
    80 
    81     // init sub-state-machines
    81     // init sub-state-machines
    82     ec_fsm_slave_config_init(&fsm->fsm_slave_config, fsm->datagram);
    82     ec_fsm_coe_init(&fsm->fsm_coe, fsm->datagram);
       
    83     ec_fsm_pdo_init(&fsm->fsm_pdo, &fsm->fsm_coe);
       
    84     ec_fsm_change_init(&fsm->fsm_change, fsm->datagram);
       
    85     ec_fsm_slave_config_init(&fsm->fsm_slave_config, fsm->datagram,
       
    86             &fsm->fsm_change, &fsm->fsm_coe, &fsm->fsm_pdo);
    83     ec_fsm_slave_scan_init(&fsm->fsm_slave_scan, fsm->datagram,
    87     ec_fsm_slave_scan_init(&fsm->fsm_slave_scan, fsm->datagram,
    84             &fsm->fsm_slave_config, &fsm->fsm_coe_map);
    88             &fsm->fsm_slave_config, &fsm->fsm_pdo);
    85     ec_fsm_sii_init(&fsm->fsm_sii, fsm->datagram);
    89     ec_fsm_sii_init(&fsm->fsm_sii, fsm->datagram);
    86     ec_fsm_change_init(&fsm->fsm_change, fsm->datagram);
       
    87     ec_fsm_coe_init(&fsm->fsm_coe, fsm->datagram);
       
    88     ec_fsm_coe_map_init(&fsm->fsm_coe_map, &fsm->fsm_coe);
       
    89 }
    90 }
    90 
    91 
    91 /*****************************************************************************/
    92 /*****************************************************************************/
    92 
    93 
    93 /** Destructor.
    94 /** Destructor.
    95 void ec_fsm_master_clear(
    96 void ec_fsm_master_clear(
    96         ec_fsm_master_t *fsm /**< Master state machine. */
    97         ec_fsm_master_t *fsm /**< Master state machine. */
    97         )
    98         )
    98 {
    99 {
    99     // clear sub-state machines
   100     // clear sub-state machines
       
   101     ec_fsm_coe_clear(&fsm->fsm_coe);
       
   102     ec_fsm_pdo_clear(&fsm->fsm_pdo);
       
   103     ec_fsm_change_clear(&fsm->fsm_change);
   100     ec_fsm_slave_config_clear(&fsm->fsm_slave_config);
   104     ec_fsm_slave_config_clear(&fsm->fsm_slave_config);
   101     ec_fsm_slave_scan_clear(&fsm->fsm_slave_scan);
   105     ec_fsm_slave_scan_clear(&fsm->fsm_slave_scan);
   102     ec_fsm_sii_clear(&fsm->fsm_sii);
   106     ec_fsm_sii_clear(&fsm->fsm_sii);
   103     ec_fsm_change_clear(&fsm->fsm_change);
       
   104     ec_fsm_coe_clear(&fsm->fsm_coe);
       
   105     ec_fsm_coe_map_clear(&fsm->fsm_coe_map);
       
   106 }
   107 }
   107 
   108 
   108 /*****************************************************************************/
   109 /*****************************************************************************/
   109 
   110 
   110 /** Executes the current state of the state machine.
   111 /** Executes the current state of the state machine.