master/master.c
changeset 1978 d9b6e641eaeb
parent 1856 10175d5f35ea
child 1980 a89e2bedf004
equal deleted inserted replaced
1872:23d4e121faaf 1978:d9b6e641eaeb
  2294     state->link_up = master->main_device.link_state;
  2294     state->link_up = master->main_device.link_state;
  2295 }
  2295 }
  2296 
  2296 
  2297 /*****************************************************************************/
  2297 /*****************************************************************************/
  2298 
  2298 
       
  2299 void ecrt_master_configured_slaves_state(const ec_master_t *master, ec_master_state_t *state)
       
  2300 {
       
  2301     const ec_slave_config_t *sc;
       
  2302     ec_slave_config_state_t sc_state;
       
  2303 
       
  2304     // collect al_states of all configured online slaves
       
  2305     state->al_states = 0;
       
  2306     list_for_each_entry(sc, &master->configs, list) {
       
  2307         ecrt_slave_config_state(sc,&sc_state);
       
  2308         if (sc_state.online)
       
  2309             state->al_states |= sc_state.al_state;
       
  2310     }
       
  2311 
       
  2312     state->slaves_responding = master->fsm.slaves_responding;
       
  2313     state->link_up = master->main_device.link_state;
       
  2314 }
       
  2315 
       
  2316 /*****************************************************************************/
       
  2317 
  2299 void ecrt_master_application_time(ec_master_t *master, uint64_t app_time)
  2318 void ecrt_master_application_time(ec_master_t *master, uint64_t app_time)
  2300 {
  2319 {
  2301     master->app_time = app_time;
  2320     master->app_time = app_time;
  2302 
  2321 
  2303     if (unlikely(!master->has_start_time)) {
  2322     if (unlikely(!master->has_start_time)) {