master/fsm_slave_config.c
changeset 1931 831f2d34664c
parent 1925 29161abef052
child 1944 73896ef6d077
equal deleted inserted replaced
1930:59a50053ccc6 1931:831f2d34664c
  1240     diff_ms = (datagram->jiffies_received - fsm->jiffies_start) * 1000 / HZ;
  1240     diff_ms = (datagram->jiffies_received - fsm->jiffies_start) * 1000 / HZ;
  1241 
  1241 
  1242     if (abs_sync_diff > EC_DC_MAX_SYNC_DIFF_NS) {
  1242     if (abs_sync_diff > EC_DC_MAX_SYNC_DIFF_NS) {
  1243 
  1243 
  1244         if (diff_ms >= EC_DC_SYNC_WAIT_MS) {
  1244         if (diff_ms >= EC_DC_SYNC_WAIT_MS) {
  1245             EC_SLAVE_WARN(slave, "Slave did not sync after %u ms.\n",
  1245             EC_SLAVE_WARN(slave, "Slave did not sync after %lu ms.\n",
  1246                     (u32) diff_ms);
  1246                     diff_ms);
  1247         } else {
  1247         } else {
  1248             EC_SLAVE_DBG(slave, 1, "Sync after %4u ms: %10u ns\n",
  1248             EC_SLAVE_DBG(slave, 1, "Sync after %4lu ms: %10u ns\n",
  1249                     (u32) diff_ms, abs_sync_diff);
  1249                     diff_ms, abs_sync_diff);
  1250 
  1250 
  1251             // check synchrony again
  1251             // check synchrony again
  1252             ec_datagram_fprd(datagram, slave->station_address, 0x092c, 4);
  1252             ec_datagram_fprd(datagram, slave->station_address, 0x092c, 4);
  1253             fsm->retries = EC_FSM_RETRIES;
  1253             fsm->retries = EC_FSM_RETRIES;
  1254             return;
  1254             return;
  1255         }
  1255         }
  1256     } else {
  1256     } else {
  1257         EC_SLAVE_DBG(slave, 1, "%u ns difference after %u ms.\n",
  1257         EC_SLAVE_DBG(slave, 1, "%u ns difference after %lu ms.\n",
  1258                 abs_sync_diff, (u32) diff_ms);
  1258                 abs_sync_diff, diff_ms);
  1259     }
  1259     }
  1260 
  1260 
  1261     // set DC start time
  1261     // set DC start time
  1262     start_time = master->app_time + EC_DC_START_OFFSET; // now + X ns
  1262     start_time = master->app_time + EC_DC_START_OFFSET; // now + X ns
  1263     // FIXME use slave's local system time here?
  1263     // FIXME use slave's local system time here?