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. }
/** * Useful for setting up internal state for unit tests. */ static void lapstats_setup_internals(const Track *track, const float gc_radius, const bool auto_detect) { set_active_track(track); if (!track) return; g_geo_circle_radius = gc_radius; g_start_finish_enabled = isStartFinishEnabled(track); g_sector_enabled = isSectorTrackingEnabled(track); g_track_status = auto_detect ? TRACK_STATUS_AUTO_DETECTED : TRACK_STATUS_FIXED_CONFIG; setup_geo_triggers(track, g_geo_circle_radius * GEO_TRIGGER_RADIUS_MULTIPLIER); setup_geo_circles(); lc_setup(track, g_geo_circle_radius); g_configured = 1; }
void ElapsedLapTimeTest::setUp() { lapStats_init(); set_active_track(&track); memset(&gpsSnap, 0, sizeof(GpsSnapshot)); }