boons605 / MotoGymkhanaRaceTiming

3 stars 2 forks source link

Race management with business logic #31

Closed boons605 closed 3 years ago

boons605 commented 3 years ago

Features needed for usability at a race day:

Created Issue #33

  • Allow user-generated DNF

Created Issue #32

  • Ensure only riders on track are known by the finish ID unit
    • Remove riders that DNF
    • Remove riders that have finished after they leave stop box
    • Add riders that have started

Created issue #35

  • Implement start order logic to provide 'list' of known riders to start ID unit
    • Racetracker to remove a rider that has started from the start ID unit
    • ID units to emit event that there are no known riders
    • IStartOrderManager to respond to this event and send new rider when start order is important or send the entire list of known riders when start order is irrelevant. Decide if new heat is started automatically or user interaction is required.

Created Issue #36

  • Control start light/start release:
    • Red when riders, even when ID'ed, are not allowed to enter the track: (i.e. not allowed to enter the start box), either one of the conditions being true:
    • The maximum number of riders is on the track
    • No known riders for the start ID unit
    • A rider has started until an event takes place
      • Timed
      • User input (i.e.: Release the track for the next rider)
      • The track is empty
    • The track is closed by the user
  • Yellow when a rider is allowed to enter the start box and, when ID'ed, is allowed to start
    • Conditions for red are not true AND
    • No rider has been ID'ed in the start box
  • Green when the rider is allowed to start
    • The conditions for red are not true AND
    • A rider has been ID'ed in the start box AND
    • Start release logic has decided that this rider is allowed to start (for now: No start order logic implemented, i.e. implement dummy class)

Created Issue #34

  • Display time of finished rider
    • Display time when rider finished
    • Clear display when:
    • Rider leaves the stop box
    • Time expires
boons605 commented 3 years ago

Created new issues to split up this issue