/**
 * Use this method add hoc when you don't have access to GpsSnapshot
 */
tiny_millis_t getMillisSinceFirstFix()
{
    // If we have no GPS data, return 0 to indicate that.
    if (isGpsDataCold()) return 0;

    return (tiny_millis_t) (getMillisSinceEpoch() - g_timeFirstFix);
}
/**
 * Use this method add hoc when you don't have access to GpsSnapshot
 */
millis_t getMillisSinceEpoch()
{
    // If we have no GPS data, return 0 to indicate that.
    if (isGpsDataCold()) return 0;

    //interpolate milliseconds from system clock
    return g_gpsSnapshot.sample.time + getDeltaSinceSample();
}
void lapstats_processUpdate(const GpsSnapshot *gps_snapshot)
{
    if (isGpsDataCold())
        return; /* No valid GPS data to work with */

    if (!g_configured)
        lapstats_setup(gps_snapshot);

    if (g_configured)
        lapstats_location_updated(gps_snapshot);
}