Skip to content

Add lap-gate settings and independent pit session automation #110

Closed

Description

@PurpleSentinel

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.

Activity

  1. added
    enhancementNew feature or request
    priority:highRequired for the current milestone or a correctness/reliability risk
    area:timingLap geometry, timing, and event state
    area:session-uiSession workflow and driver-facing UI
    area:settingsPersistent device settings, migration, and configuration UI
    on Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:session-uiSession workflow and driver-facing UIarea:settingsPersistent device settings, migration, and configuration UIarea:timingLap geometry, timing, and event stateenhancementNew feature or requestpriority:highRequired for the current milestone or a correctness/reliability risk

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions