Remove 'endgame' match state since it's just used for playing a sound.

This commit is contained in:
Patrick Fairbank
2019-04-12 17:38:58 -07:00
parent 0f74de7ad8
commit 5ed1204379
8 changed files with 8 additions and 56 deletions

View File

@@ -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)

View File

@@ -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) {

View File

@@ -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:

View File

@@ -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])

View File

@@ -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)

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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":