- Add session layer with UseCaseSession, SessionRun, SessionManager for use-case driven telemetry analysis (shift points, track mapping) - Add analysis module with shift point detection (gear RPM ranges, upshift events, recommended shift RPM) and track map reconstruction (spline-aligned interpolation for center line from boundary runs) - Add 9 REST API endpoints for session CRUD, run management, and analysis triggers under /api/sessions/* - Add RecordingManager with always-on ring buffers (5 min, 18k frames) replacing raw binary file dumps - Wire SessionManager in main.rs with Arc<Mutex> shared state - Add TelemetryFrame Serialize derives for JSON API output - Fix stop_recording race: hold active lock across flush I/O - Fix flush: separate ring buffer lock from JSON serialization - Fix flush failure propagation: errors prevent Stopped status - Add data_truncated flag on SessionRun for ring buffer wrap detection - Deduplicate gear_display into shared free function - Deduplicate session_display into closure - Mutex poisoning recovery on all session API handlers
17 lines
481 B
TOML
17 lines
481 B
TOML
[package]
|
|
name = "rusty-telemetry"
|
|
version = "0.5.0"
|
|
edition = "2021"
|
|
description = "Sim racing telemetry receiver and analyzer"
|
|
|
|
[dependencies]
|
|
tokio = { version = "1", features = ["full"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
futures = "0.3"
|
|
ratatui = "0.29"
|
|
crossterm = "0.28"
|
|
axum = "0.8"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
uuid = { version = "1", features = ["v4", "serde"] }
|
|
tower-http = { version = "0.6", features = ["cors"] }
|