From 5ed12043794d0548a525984f3ba258f92b79efb4 Mon Sep 17 00:00:00 2001 From: Patrick Fairbank Date: Fri, 12 Apr 2019 17:38:58 -0700 Subject: [PATCH] Remove 'endgame' match state since it's just used for playing a sound. --- field/arena.go | 14 ------------ field/arena_test.go | 29 +------------------------ field/driver_station_connection.go | 2 -- field/driver_station_connection_test.go | 1 - game/match_timing.go | 3 +-- static/css/alliance_station_display.css | 4 ++-- static/js/match_play.js | 2 +- static/js/match_timing.js | 9 +++----- 8 files changed, 8 insertions(+), 56 deletions(-) diff --git a/field/arena.go b/field/arena.go index e2283e5..4422d8f 100644 --- a/field/arena.go +++ b/field/arena.go @@ -36,7 +36,6 @@ const ( AutoPeriod PausePeriod TeleopPeriod - EndgamePeriod PostMatch TimeoutActive PostTimeout @@ -506,17 +505,6 @@ 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-game.MatchTiming.EndgameTimeLeftSec) { - arena.MatchState = EndgamePeriod - sendDsPacket = false - if !arena.MuteMatchSounds { - arena.PlaySoundNotifier.NotifyWithMessage("match-endgame") - } - } - case EndgamePeriod: auto = false enabled = true if matchTimeSec >= float64(game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+ @@ -856,8 +844,6 @@ func (arena *Arena) handleLeds() { case AutoPeriod: fallthrough case TeleopPeriod: - fallthrough - case EndgamePeriod: handleSeesawTeleopLeds(arena.Scale, &arena.ScaleLeds) handleSeesawTeleopLeds(arena.RedSwitch, &arena.RedSwitchLeds) handleSeesawTeleopLeds(arena.BlueSwitch, &arena.BlueSwitchLeds) diff --git a/field/arena_test.go b/field/arena_test.go index e33611f..85f201f 100644 --- a/field/arena_test.go +++ b/field/arena_test.go @@ -148,19 +148,7 @@ func TestArenaMatchFlow(t *testing.T) { assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Enabled) - // Check endgame and match end. - arena.MatchStartTime = time.Now(). - Add(-time.Duration(game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+ - game.MatchTiming.PauseDurationSec+game.MatchTiming.TeleopDurationSec-game.MatchTiming.EndgameTimeLeftSec) * - time.Second) - arena.Update() - assert.Equal(t, EndgamePeriod, arena.MatchState) - assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) - assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Enabled) - arena.Update() - assert.Equal(t, EndgamePeriod, arena.MatchState) - assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) - assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Enabled) + // Check match end. arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec+ game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec+game.MatchTiming.TeleopDurationSec) * time.Second) @@ -252,21 +240,6 @@ func TestArenaStateEnforcement(t *testing.T) { if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "Cannot reset match while") } - arena.MatchState = EndgamePeriod - err = arena.LoadMatch(new(model.Match)) - if assert.NotNil(t, err) { - assert.Contains(t, err.Error(), "Cannot load match while") - } - err = arena.StartMatch() - if assert.NotNil(t, err) { - assert.Contains(t, err.Error(), "Cannot start match while") - } - err = arena.ResetMatch() - if assert.NotNil(t, err) { - assert.Contains(t, err.Error(), "Cannot reset match while") - } - err = arena.AbortMatch() - assert.Nil(t, err) arena.MatchState = PostMatch err = arena.LoadMatch(new(model.Match)) if assert.NotNil(t, err) { diff --git a/field/driver_station_connection.go b/field/driver_station_connection.go index 54ea8f5..d822fa2 100644 --- a/field/driver_station_connection.go +++ b/field/driver_station_connection.go @@ -231,8 +231,6 @@ func (dsConn *DriverStationConnection) encodeControlPacket(arena *Arena) [22]byt case PausePeriod: matchSecondsRemaining = game.MatchTiming.TeleopDurationSec case TeleopPeriod: - fallthrough - case EndgamePeriod: matchSecondsRemaining = game.MatchTiming.AutoDurationSec + game.MatchTiming.TeleopDurationSec + game.MatchTiming.PauseDurationSec - int(arena.MatchTimeSec()) default: diff --git a/field/driver_station_connection_test.go b/field/driver_station_connection_test.go index 5a19301..72041e5 100644 --- a/field/driver_station_connection_test.go +++ b/field/driver_station_connection_test.go @@ -122,7 +122,6 @@ func TestEncodeControlPacket(t *testing.T) { arena.MatchStartTime = time.Now().Add(-time.Duration(33 * time.Second)) data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(119), data[21]) - arena.MatchState = EndgamePeriod arena.MatchStartTime = time.Now().Add(-time.Duration(150 * time.Second)) data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(2), data[21]) diff --git a/game/match_timing.go b/game/match_timing.go index e5c2a82..97bc86b 100644 --- a/game/match_timing.go +++ b/game/match_timing.go @@ -12,9 +12,8 @@ var MatchTiming = struct { AutoDurationSec int PauseDurationSec int TeleopDurationSec int - EndgameTimeLeftSec int TimeoutDurationSec int -}{0, 15, 0, 135, 20, 0} +}{0, 15, 0, 135, 0} func GetAutoEndTime(matchStartTime time.Time) time.Time { return matchStartTime.Add(time.Duration(MatchTiming.WarmupDurationSec+MatchTiming.AutoDurationSec) * time.Second) diff --git a/static/css/alliance_station_display.css b/static/css/alliance_station_display.css index 49f30b6..4da27ca 100644 --- a/static/css/alliance_station_display.css +++ b/static/css/alliance_station_display.css @@ -66,7 +66,7 @@ body[data-mode=fieldReset] .mode#fieldReset { height: 100%; } #match[data-state=WARMUP_PERIOD], #match[data-state=AUTO_PERIOD], #match[data-state=PAUSE_PERIOD], - #match[data-state=TELEOP_PERIOD], #match[data-state=ENDGAME_PERIOD], #match[data-state=POST_MATCH] { + #match[data-state=TELEOP_PERIOD], #match[data-state=POST_MATCH] { background-color: #fff; color: #000; } @@ -79,7 +79,7 @@ body[data-mode=fieldReset] .mode#fieldReset { } #match[data-state=WARMUP_PERIOD] #inMatch, #match[data-state=AUTO_PERIOD] #inMatch, #match[data-state=PAUSE_PERIOD] #inMatch, #match[data-state=TELEOP_PERIOD] #inMatch, - #match[data-state=ENDGAME_PERIOD] #inMatch, #match[data-state=POST_MATCH] #inMatch { + #match[data-state=POST_MATCH] #inMatch { display: block; } diff --git a/static/js/match_play.js b/static/js/match_play.js index 6637e45..9cc24f1 100644 --- a/static/js/match_play.js +++ b/static/js/match_play.js @@ -142,10 +142,10 @@ var handleArenaStatus = function(data) { $("#startTimeout").prop("disabled", false); break; case "START_MATCH": + case "WARMUP_PERIOD": case "AUTO_PERIOD": case "PAUSE_PERIOD": case "TELEOP_PERIOD": - case "ENDGAME_PERIOD": $("#startMatch").prop("disabled", true); $("#abortMatch").prop("disabled", false); $("#commitResults").prop("disabled", true); diff --git a/static/js/match_timing.js b/static/js/match_timing.js index a0e0ff4..b3b3cb2 100644 --- a/static/js/match_timing.js +++ b/static/js/match_timing.js @@ -10,10 +10,9 @@ var matchStates = { 3: "AUTO_PERIOD", 4: "PAUSE_PERIOD", 5: "TELEOP_PERIOD", - 6: "ENDGAME_PERIOD", - 7: "POST_MATCH", - 8: "TIMEOUT_ACTIVE", - 9: "POST_TIMEOUT" + 6: "POST_MATCH", + 7: "TIMEOUT_ACTIVE", + 8: "POST_TIMEOUT" }; var matchTiming; @@ -41,7 +40,6 @@ var translateMatchTime = function(data, callback) { matchStateText = "PAUSE"; break; case "TELEOP_PERIOD": - case "ENDGAME_PERIOD": matchStateText = "TELEOPERATED"; break; case "POST_MATCH": @@ -65,7 +63,6 @@ var getCountdown = function(matchState, matchTimeSec) { case "AUTO_PERIOD": return matchTiming.WarmupDurationSec + matchTiming.AutoDurationSec - matchTimeSec; case "TELEOP_PERIOD": - case "ENDGAME_PERIOD": return matchTiming.WarmupDurationSec + matchTiming.AutoDurationSec + matchTiming.TeleopDurationSec + matchTiming.PauseDurationSec - matchTimeSec; case "TIMEOUT_ACTIVE":