Vehicle and device capability profile system. Signal catalog, device type registry, and data-driven capabilities page.
Global signal catalog (37 signals), device type profiles (G-Series), vehicle model signals (Infiniti Q50). Public capabilities page at /site/capabilities shows confirmed data points per device + vehicle combo. Profiles grow automatically as devices discover and confirm new signals.
Nissan Mode 22 fuel level confirmed. Diagnostic session init, auto-discovery pipeline, global PID profile table.
PID 1166 returns accurate fuel level on Q50 (A/1.6 equation, session 0xC0). Three candidate PIDs tried automatically on connect. First responder stored to obd_pid_profiles for all future Q50 devices.
ACC bounce debounce. Wake lock retention across IGN transitions. Immediate flush on ignition-off.
2-second debounce prevents MCU relay bounce from killing the service. Wake locks held in MEDIUM/HIGH modes. Trips and telemetry flushed within 24-second MCU shutdown window.
Trip tracking race condition fixed. Async createTrip guard prevents distance accumulator reset.
Added tripCreating flag to prevent multiple startTrip calls while network request is in flight. Orphaned trips from March 21 recovered with GPS-derived distances.
Device deduplication. Stale device records merged and cleaned. Dashboard now shows correct active device.
APK re-signing changed ANDROID_ID, creating duplicate device records. Historical data migrated to active device IDs. 5 devices consolidated to 2.
Fuel level bug fixed. Throttle was mapped to fuel_pct column. CAN fuel event handler added.
Copy-paste bug in SupabaseClient mapped throttle_pct to fuel_pct. OBD PID 0x2F not supported by Q50. CAN_CAR_FUEL_EVT handler added to CanBusReceiver.
halocvi.com live. Branded transactional emails. Status logo variants deployed across all surfaces.
Full-screen map with persistent header. Accordion module panels. Section sub-pages.
Single-view architecture. Everything visible without navigating away from the map.
Human-readable event descriptions. Payload values inline. Multi-vehicle switcher.
No more raw event codes. Every alert explains itself in plain language with the actual values that triggered it.
CANBUS captures routed to AI analysis pipeline.
Raw CAN frames in. Decoded vehicle behavior out. Pattern recognition across capture sessions.
Multi-page launcher. Release signing. Embedded dashboard mode.
Home screen with widget container, dock, settings drawer. APK signed with persistent release keystore.
On-demand CANBUS recording. Trigger from dashboard, decode on device.
Capture raw CAN frames during any driving condition. Store locally, upload on next connection.
Automatic VIN identification via OBD-II Mode 09. NHTSA decode for make, model, year.
Send-to-car navigation. Resolve address on phone, launch turn-by-turn on head unit.
Destinations polled every 10 seconds while running. Queue persists across ignition cycles.
AI-powered diagnostics. OBD-II trouble codes analyzed by GPT-4o.
Root cause analysis, fix recommendations, parts lists, cost estimates. Plain English.
Ignition-aware boot survival. ACC broadcast trigger. Zombie service watchdog.
Service restarts within seconds of ignition-on. Detects and kills hung processes automatically.
Rebranded from Guardian to HALO. Marketing site launched.
Trip replay and export. Timestamped GPS trail with event overlay.
Battery drain detection between ignition cycles. Ignition state tracking. Quick Settings tile.
Voltage delta calculated across engine-off periods. Alerts on abnormal draw.
Silent auto-updater. APK checks Supabase for new versions on launch.
No user interaction required. PackageInstaller API for seamless updates.
Device sharing. Multiple users can monitor the same vehicle.
APEX digital dashboard. Live theme polling synced to head unit display.
First APK deployed. CANBUS listener, OBD-II diagnostics, GPS tracking, multi-device dashboard.
Foreground service with persistent notification. Room DB buffer for offline operation. Supabase sync on reconnect.