mirror of
https://github.com/Team254/cheesy-arena-lite.git
synced 2026-03-09 13:46:44 -04:00
Remove 'endgame' match state since it's just used for playing a sound.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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])
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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":
|
||||
|
||||
Reference in New Issue
Block a user