Custom match times

This commit is contained in:
Ken Schenke
2019-12-18 16:27:45 -06:00
parent ddc5ff6733
commit 76ca5a4dcd
8 changed files with 41 additions and 25 deletions

View File

@@ -401,7 +401,7 @@ func (arena *Arena) Update() {
case AutoPeriod:
auto = true
enabled = true
if matchTimeSec >= float64(game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec) {
if matchTimeSec >= float64(game.MatchTiming.WarmupDurationSec+arena.EventSettings.DurationAuto) {
auto = false
sendDsPacket = true
if game.MatchTiming.PauseDurationSec > 0 {
@@ -415,7 +415,7 @@ func (arena *Arena) Update() {
case PausePeriod:
auto = false
enabled = false
if matchTimeSec >= float64(game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+
if matchTimeSec >= float64(game.MatchTiming.WarmupDurationSec+arena.EventSettings.DurationAuto+
game.MatchTiming.PauseDurationSec) {
arena.MatchState = TeleopPeriod
auto = false
@@ -425,8 +425,8 @@ func (arena *Arena) Update() {
case TeleopPeriod:
auto = false
enabled = true
if matchTimeSec >= float64(game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+
game.MatchTiming.PauseDurationSec+game.MatchTiming.TeleopDurationSec) {
if matchTimeSec >= float64(game.MatchTiming.WarmupDurationSec+arena.EventSettings.DurationAuto+
game.MatchTiming.PauseDurationSec+arena.EventSettings.DurationTeleop) {
arena.MatchState = PostMatch
auto = false
enabled = false

View File

@@ -148,6 +148,8 @@ func (arena *Arena) generateMatchTimeMessage() interface{} {
}
func (arena *Arena) generateMatchTimingMessage() interface{} {
game.MatchTiming.TeleopDurationSec = arena.EventSettings.DurationTeleop
game.MatchTiming.AutoDurationSec = arena.EventSettings.DurationAuto
return &game.MatchTiming
}

View File

@@ -223,15 +223,15 @@ func (dsConn *DriverStationConnection) encodeControlPacket(arena *Arena) [22]byt
case TimeoutActive:
fallthrough
case PostTimeout:
matchSecondsRemaining = game.MatchTiming.AutoDurationSec
matchSecondsRemaining = arena.EventSettings.DurationAuto
case StartMatch:
fallthrough
case AutoPeriod:
matchSecondsRemaining = game.MatchTiming.AutoDurationSec - int(arena.MatchTimeSec())
matchSecondsRemaining = arena.EventSettings.DurationAuto - int(arena.MatchTimeSec())
case PausePeriod:
matchSecondsRemaining = game.MatchTiming.TeleopDurationSec
matchSecondsRemaining = arena.EventSettings.DurationTeleop
case TeleopPeriod:
matchSecondsRemaining = game.MatchTiming.AutoDurationSec + game.MatchTiming.TeleopDurationSec +
matchSecondsRemaining = arena.EventSettings.DurationAuto + arena.EventSettings.DurationTeleop +
game.MatchTiming.PauseDurationSec - int(arena.MatchTimeSec())
default:
matchSecondsRemaining = 0