5.3 KiB
5.3 KiB
MotorSignal — Features, Architecture & Changelog
A comprehensive summary of all implemented features, system optimizations, user interface overhauls, and bug fixes.
🏍️ 1. Speedometer & Telemetry Engine (Ultra-Fast 20Hz)
- High-Rate GNSS Polling: Configured Google Play Services Fused Location Provider on Android at 100ms (10Hz) update intervals (
LocationAccuracy.bestForNavigation). - Dynamic Fast-Tracking EMA Filter: Replaced static low-pass filtering with dynamic alpha:
- Accelerating / Braking: Dynamically switches to
0.90alpha for instant throttle and braking responsiveness without gauge lag. - Steady Cruising: Stabilizes at
0.75alpha to suppress sensor noise.
- Accelerating / Braking: Dynamically switches to
- Jitter Deadband: Speeds under
0.6 m/s(~1.3 MPH) are treated as stationary0.0 MPHto eliminate indoor GPS drift while stationary. - Immediate Stream Dispatch (20Hz): Emits telemetry samples immediately upon every GPS and IMU event, alongside a 50ms periodic heartbeat in
lib/services/telemetry_service.dart. - Lean Angle & G-Force Sensor Fusion: Real-time roll/pitch complementary filtering fused with accelerometer and gyroscope sensors for accurate real-time cornering lean angles.
🗺️ 2. Tactical Route Maps & Level-of-Detail (LOD)
- High-Detail Street Zoom (17.0): Upgraded default tactical map zoom from 15.5 to 17.0, revealing building footprints, street names, highway lanes, and driveways.
- Dual Rendering Backends:
- OpenStreetMap / Tactical Vector Engine (primary dark-mode HUD).
- Google Maps SDK with real-time traffic and dark night styling.
- Dynamic Platform-View Sizing: Constraint-based view keys prevent map letterboxing, clipping, or distortion when rotating between portrait and landscape.
🚔 3. Speed Traps, Police Radars & Road Hazard Feeds
- TomTom Traffic Provider v5 Upgrade:
- Upgraded from deprecated path-based endpoints to official v5 query-parameter API (
https://api.tomtom.com/traffic/services/5/incidentDetails?key=...&bbox=...). - Added automated API key whitespace trimming and connection testing.
- Upgraded from deprecated path-based endpoints to official v5 query-parameter API (
- OpenStreetMap / Overpass Speed Camera Ingestion: Scrapes verified highway speed traps, red-light cameras, and fixed enforcement nodes.
- Self-Hosted Waze Relay Server (Option A):
- Built complete Node.js / Docker relay server in
server/waze_relay/. - Bypasses Cloud Armor bot blocking, fetches live alerts, normalizes schemas, and caches geo-grids with 30s TTL.
- Built complete Node.js / Docker relay server in
- Community Traffic Provider: Allows custom endpoint input (
http://<IP>:3000/alerts) to stream police traps and road hazards directly onto the cockpit map.
📱 4. Evolution Dashboard & Landscape Cockpit
- Dual UI Themes: Full switchable support for Classic (analog telemetry) and Evolution (futuristic cyberpunk HUD).
- Landscape Cockpit Mode:
- 65% Tactical Map: Live vehicle heading marker, dynamic alerts, and zoom controls.
- 35% Telemetry Stack: Live G-Force target matrix with Accel/Braking bars, Lean Angle arc with Left/Right peak indicators, and large italic digital speedometer.
- Compact Landscape Top Bars:
- Shrunk header and AppBar height to 36px in landscape mode across Settings, Records, History, and Garage screens to maximize vertical screen real estate (~360–400px devices).
🏁 5. Interactive Route Preview & Ride History
- Interactive Blueprint Cards: Replaced static blueprint placeholders in
evolution_ride_details_view.dartwith active tap handlers leading directly to the route viewer. - Full Route Polyline Rendering: Draws the cyan GPS breadcrumb path for historical rides on the tactical map.
- Start & Finish Indicators:
- 🟢 START: Green Flag marker at the first GPS coordinate.
- 🏁 FINISH: Checkered Flag marker at the final GPS coordinate.
- Telemetry Event Overlays: Filter chips for Hard Acceleration, Hard Braking, Cornering Gs, and Speed Milestones plotted on the map.
- CSV & GPX Export: Full telemetry export support for external analysis and ride archiving.
🔊 6. Audio & Voice Hazard Warnings
- Text-to-Speech (TTS) Engine: Spoken voice alerts for approaching speed traps, red light cameras, and road hazards.
- Proximity Triggers: Auto-calculates user distance to ahead hazards and triggers audio announcements at configurable distances (e.g. 500m / 1000m).
- Session Lifecycle Audio: Spoken confirmations on session start, pause, and completion.
🛡️ 7. Database & Black-Box Field Testing
- Drift / SQLite Architecture:
- Tables for
Rides,TelemetrySamples,RideEvents,PerformanceRuns,GarageMotorcycles, andFieldTestSessions. - Batch insertions and periodic state machine flushes to protect against sudden power loss.
- Tables for
- Crash Recovery: Auto-detects unfinished rides upon app restart and recovers duration, timestamps, and stats.
- Black-Box Diagnostic Logging: Comprehensive sensor fusion, IMU calibration, and GPS rejection tracking.
🏍️ 8. Motorcycle Garage & Records
- Digital Garage: Multi-bike management (Make, Model, Year, VIN, Notes, Custom Specs).
- Personal Records System:
- Top Speed (MPH)
- Acceleration Sprints (0–60 MPH, 0–100 MPH)
- Peak Lean Angles (Max Left ° / Max Right °)
- Peak G-Forces (Max Acceleration G / Max Braking G)