fix(phase26): geocode pre-caching (BUG-09) + gate trips on OBD presence (BUG-10)
This commit is contained in:
@@ -49,6 +49,7 @@ stop_rpm = Event()
|
||||
stop_sensors = Event()
|
||||
|
||||
connection = None
|
||||
_car_ever_connected = False
|
||||
|
||||
|
||||
def _decode_odometer(messages):
|
||||
@@ -228,6 +229,8 @@ def connect_obd():
|
||||
|
||||
with _connection_lock:
|
||||
connection = candidate
|
||||
if candidate is not None:
|
||||
_car_ever_connected = True
|
||||
|
||||
if candidate is None:
|
||||
_emit_disconnected()
|
||||
@@ -268,6 +271,11 @@ def get_fresh_speed(max_age=5):
|
||||
def obd_connection():
|
||||
"""Emit current state for a newly connected browser and ensure OBD is running."""
|
||||
start_obd()
|
||||
|
||||
|
||||
def was_car_ever_connected():
|
||||
"""True if the car ECU has been reached at least once this session."""
|
||||
return _car_ever_connected
|
||||
if _is_car_connected():
|
||||
app_events.socketio.emit("obd_status", obd_status[1])
|
||||
app_events.socketio.emit("obd_speed", get_speedtime())
|
||||
|
||||
@@ -81,6 +81,12 @@ def build_trip_summaries(raw_rows):
|
||||
if len(rows) < 2:
|
||||
return []
|
||||
|
||||
# Don't generate trips from GPS drift when the car was never connected.
|
||||
# Without OBD, GPS jitter can produce false motion events on the bench.
|
||||
from modules import app_obd
|
||||
if not app_obd.was_car_ever_connected():
|
||||
return []
|
||||
|
||||
obd_motion = []
|
||||
gps_motion = []
|
||||
for index in range(1, len(rows)):
|
||||
|
||||
Reference in New Issue
Block a user