コード例 #1
0
ファイル: Simulator.cpp プロジェクト: davidswelt/XCSoar
void
Simulator::Process(NMEAInfo &basic)
{
  assert(is_simulator());

  Touch(basic);

  basic.location = FindLatitudeLongitude(basic.location, basic.track,
                                         basic.ground_speed);

  // use this to test FLARM parsing/display
  if (IsDebug() && !IsAltair())
    GenerateFLARMTraffic(basic);
}
コード例 #2
0
ファイル: Simulator.cpp プロジェクト: macsux/XCSoar
void
Simulator::Process(NMEAInfo &basic)
{
  if (!is_simulator())
    return;

  basic.UpdateClock();
  basic.connected.Update(basic.clock);
  basic.gps.satellites_used = -1;
  basic.gps.simulator = true;
  basic.gps.real = false;

#ifdef ANDROID
  basic.gps.android_internal_gps = false;
#endif

  basic.location = FindLatitudeLongitude(basic.location, basic.track,
                                         basic.ground_speed);
  basic.location_available.Update(basic.clock);
  basic.gps_altitude_available.Update(basic.clock);
  basic.track_available.Update(basic.clock);
  basic.ground_speed_available.Update(basic.clock);

  basic.time_available.Update(basic.clock);
  basic.time += fixed_one;
  (BrokenTime &)basic.date_time_utc =
    BrokenTime::FromSecondOfDayChecked((unsigned)basic.time);

  // use this to test FLARM parsing/display
  if (is_debug() && !is_altair())
    GenerateFLARMTraffic(basic);

  // clear Airspeed as it is not available in simulation mode
  basic.airspeed_available.Clear();
  basic.airspeed_real = false;
}