static void lap_started_event(const tiny_millis_t time, const GeoPoint *sp, const float distance) { pr_debug_int_msg("Starting lap ", ++g_lap); g_at_sf = true; // Timing and predictive timing start_lap_timing(time); startLap(sp, time); reset_elapsed_time(); // Reset the sector logic g_lastSectorTimestamp = time; g_sector = 0; update_sector_geo_circle(g_sector); // Reset distance logic set_distance(distance); /* * Reset our finishGeoTrigger so that we get away from * finish before we re-arm the system. */ resetGeoTrigger(&g_finish_geo_trigger); }
// --------------------------------------------------------------------- // compute_elapsed_time // --------------------------------------------------------------------- void compute_elapsed_time(time_rec_t* since, time_rec_t* to, elapsed_time_t* elapsed) { reset_elapsed_time(elapsed); add_to_elapsed_time(since, to, elapsed); }
void ElapsedLapTimeTest::testReset() { gpsSnap.deltaFirstFix = 3; lap_started_normal_event(&gpsSnap); CPPUNIT_ASSERT_EQUAL(0, lapstats_elapsed_time()); gpsSnap.deltaFirstFix = 15; update_elapsed_time(&gpsSnap); CPPUNIT_ASSERT_EQUAL(12, lapstats_elapsed_time()); reset_elapsed_time(); CPPUNIT_ASSERT_EQUAL(0, lapstats_elapsed_time()); }
void lapStats_init() { lapstats_reset_distance(); reset_elapsed_time(); set_active_track(NULL); resetPredictiveTimer(); reset_current_lap(); g_geo_circle_radius = 0; g_configured = 0; g_lastLapTime = 0; g_lastSectorTime = 0; g_at_sf = 0; g_lapStartTimestamp = -1; g_at_sector = 0; g_lastSectorTimestamp = 0; g_lapCount = 0; g_sector = -1; // Indicates we haven't crossed start/finish yet. g_lastSector = -1; // Indicates no previous sector. }