master/master.c
branchredundancy
changeset 2336 dc82f7d09767
parent 2305 668bdb89879b
child 2340 3f2a4f9ff786
equal deleted inserted replaced
2335:6c0d59f35642 2336:dc82f7d09767
  1349 static int ec_master_idle_thread(void *priv_data)
  1349 static int ec_master_idle_thread(void *priv_data)
  1350 {
  1350 {
  1351     ec_master_t *master = (ec_master_t *) priv_data;
  1351     ec_master_t *master = (ec_master_t *) priv_data;
  1352     ec_slave_t *slave = NULL;
  1352     ec_slave_t *slave = NULL;
  1353     int fsm_exec;
  1353     int fsm_exec;
       
  1354 #ifdef EC_USE_HRTIMER
  1354     size_t sent_bytes;
  1355     size_t sent_bytes;
       
  1356 #endif
  1355 
  1357 
  1356     // send interval in IDLE phase
  1358     // send interval in IDLE phase
  1357     ec_master_set_send_interval(master, 1000000 / HZ); 
  1359     ec_master_set_send_interval(master, 1000000 / HZ); 
  1358 
  1360 
  1359     EC_MASTER_DBG(master, 1, "Idle thread running with send interval = %u us,"
  1361     EC_MASTER_DBG(master, 1, "Idle thread running with send interval = %u us,"
  1385         if (fsm_exec) {
  1387         if (fsm_exec) {
  1386             ec_master_queue_datagram(master, &master->fsm_datagram,
  1388             ec_master_queue_datagram(master, &master->fsm_datagram,
  1387                     EC_DEVICE_MAIN);
  1389                     EC_DEVICE_MAIN);
  1388         }
  1390         }
  1389         ecrt_master_send(master);
  1391         ecrt_master_send(master);
       
  1392 #ifdef EC_USE_HRTIMER
  1390         sent_bytes = master->devices[EC_DEVICE_MAIN].tx_skb[
  1393         sent_bytes = master->devices[EC_DEVICE_MAIN].tx_skb[
  1391             master->devices[EC_DEVICE_MAIN].tx_ring_index]->len;
  1394             master->devices[EC_DEVICE_MAIN].tx_ring_index]->len;
       
  1395 #endif
  1392         up(&master->io_sem);
  1396         up(&master->io_sem);
  1393 
  1397 
  1394         if (ec_fsm_master_idle(&master->fsm)) {
  1398         if (ec_fsm_master_idle(&master->fsm)) {
  1395 #ifdef EC_USE_HRTIMER
  1399 #ifdef EC_USE_HRTIMER
  1396             ec_master_nanosleep(master->send_interval * 1000);
  1400             ec_master_nanosleep(master->send_interval * 1000);