Repository navigation
Add lap-gate settings and independent pit session automation #110
Copy link
Copy link
Closed
Labels
area:session-uiSession workflow and driver-facing UISession workflow and driver-facing UIarea:settingsPersistent device settings, migration, and configuration UIPersistent device settings, migration, and configuration UIarea:timingLap geometry, timing, and event stateLap geometry, timing, and event stateenhancementNew feature or requestNew feature or requestpriority:highRequired for the current milestone or a correctness/reliability riskRequired for the current milestone or a correctness/reliability risk
Milestone
Description
Parent: #105
Objective
Expose persistent device settings for selecting the repeating lap boundary and independently enabling pit-gate session automation, then apply accepted four-gate events to the session workflow without removing manual controls.
Scope
- Add a Start/Finish lap-boundary setting; default to Finish.
- Add independent Pit Exit Auto-Start and Pit Entry Auto-Stop enable/disable settings; both default disabled.
- Persist the three settings in a new versioned settings format and migrate v1-v3 data safely.
- Expose all three through Setup > Device Settings with explicit values and active-session locking.
- Map the selected boundary into TimingEngineConfig.
- Consume only accepted, typed pit gate events for automation.
- Pit exit may start only from Ready; pit entry may stop only Running/Overtime. Duplicate, rejected, disabled, or wrong-state events are no-ops.
- Automated pit entry completes the stop directly and records a distinct completion reason; guarded manual stop remains unchanged and always available.
- Emit deterministic automation decisions suitable for logging/diagnostics.
Acceptance criteria
- Saved values survive restart and v1-v3 settings migrate with safe defaults.
- Setup can change Start/Finish and both pit toggles only while inactive.
- Timing configuration uses exactly the saved lap boundary.
- Each pit toggle operates independently in replay tests.
- Accepted pit exit starts once from Ready; accepted pit entry stops once from Running/Overtime.
- Rejected, duplicate, disabled, and invalid-state events do not transition the session.
- Manual start and guarded manual stop tests remain green.
- Host, simulator, and ESP32-S3 firmware builds pass.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:session-uiSession workflow and driver-facing UISession workflow and driver-facing UIarea:settingsPersistent device settings, migration, and configuration UIPersistent device settings, migration, and configuration UIarea:timingLap geometry, timing, and event stateLap geometry, timing, and event stateenhancementNew feature or requestNew feature or requestpriority:highRequired for the current milestone or a correctness/reliability riskRequired for the current milestone or a correctness/reliability risk
Activity