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); }
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; }