SYMBOL INDEX (1220 symbols across 177 files) FILE: field/arena.go constant arenaLoopPeriodMs (line 26) | arenaLoopPeriodMs = 10 constant arenaLoopWarningMs (line 27) | arenaLoopWarningMs = 5 constant dsPacketPeriodMs (line 28) | dsPacketPeriodMs = 500 constant dsPacketWarningMs (line 29) | dsPacketWarningMs = 550 constant periodicTaskPeriodSec (line 30) | periodicTaskPeriodSec = 30 constant matchEndScoreDwellSec (line 31) | matchEndScoreDwellSec = 3 constant postTimeoutSec (line 32) | postTimeoutSec = 4 constant preLoadNextMatchDelaySec (line 33) | preLoadNextMatchDelaySec = 5 constant scheduledBreakDelaySec (line 34) | scheduledBreakDelaySec = 5 constant earlyLateThresholdMin (line 35) | earlyLateThresholdMin = 2.5 constant MaxMatchGapMin (line 36) | MaxMatchGapMin = 20 type MatchState (line 40) | type MatchState constant PreMatch (line 43) | PreMatch MatchState = iota constant StartMatch (line 44) | StartMatch constant WarmupPeriod (line 45) | WarmupPeriod constant AutoPeriod (line 46) | AutoPeriod constant PausePeriod (line 47) | PausePeriod constant TeleopPeriod (line 48) | TeleopPeriod constant PostMatch (line 49) | PostMatch constant TimeoutActive (line 50) | TimeoutActive constant PostTimeout (line 51) | PostTimeout type Arena (line 54) | type Arena struct method LoadSettings (line 161) | func (arena *Arena) LoadSettings() error { method CreatePlayoffTournament (line 294) | func (arena *Arena) CreatePlayoffTournament() error { method CreatePlayoffMatches (line 303) | func (arena *Arena) CreatePlayoffMatches(startTime time.Time) error { method UpdatePlayoffTournament (line 308) | func (arena *Arena) UpdatePlayoffTournament() error { method LoadMatch (line 320) | func (arena *Arena) LoadMatch(match *model.Match) error { method LoadTestMatch (line 404) | func (arena *Arena) LoadTestMatch() error { method LoadNextMatch (line 409) | func (arena *Arena) LoadNextMatch(startScheduledBreak bool) error { method SubstituteTeams (line 440) | func (arena *Arena) SubstituteTeams(red1, red2, red3, blue1, blue2, bl... method StartMatch (line 493) | func (arena *Arena) StartMatch() error { method AbortMatch (line 533) | func (arena *Arena) AbortMatch() error { method ResetMatch (line 557) | func (arena *Arena) ResetMatch() error { method StartTimeout (line 576) | func (arena *Arena) StartTimeout(description string, durationSec int) ... method SetAudienceDisplayMode (line 597) | func (arena *Arena) SetAudienceDisplayMode(mode string) { method SetAllianceStationDisplayMode (line 615) | func (arena *Arena) SetAllianceStationDisplayMode(mode string) { method MatchTimeSec (line 623) | func (arena *Arena) MatchTimeSec() float64 { method Update (line 633) | func (arena *Arena) Update() { method checkEndgameStart (line 774) | func (arena *Arena) checkEndgameStart(matchTimeSec float64) { method Run (line 793) | func (arena *Arena) Run() { method RedScoreSummary (line 816) | func (arena *Arena) RedScoreSummary() *game.ScoreSummary { method BlueScoreSummary (line 821) | func (arena *Arena) BlueScoreSummary() *game.ScoreSummary { method validateTeams (line 826) | func (arena *Arena) validateTeams(teamIds ...int) error { method assignTeam (line 843) | func (arena *Arena) assignTeam(teamId int, station string) error { method getNextMatch (line 883) | func (arena *Arena) getNextMatch(excludeCurrent bool) (*model.Match, e... method preLoadNextMatch (line 903) | func (arena *Arena) preLoadNextMatch() { method setSCCEthernetEnabled (line 942) | func (arena *Arena) setSCCEthernetEnabled(enabled bool) { method setupNetwork (line 961) | func (arena *Arena) setupNetwork(teams [6]*model.Team, isPreload bool) { method checkCanStartMatch (line 988) | func (arena *Arena) checkCanStartMatch() error { method checkAllianceStationsReady (line 1015) | func (arena *Arena) checkAllianceStationsReady(stations ...string) err... method sendDsPacket (line 1034) | func (arena *Arena) sendDsPacket(auto bool, enabled bool) { method getAssignedAllianceStation (line 1054) | func (arena *Arena) getAssignedAllianceStation(teamId int) string { method handlePlcInputOutput (line 1065) | func (arena *Arena) handlePlcInputOutput() { method handleTeamStop (line 1186) | func (arena *Arena) handleTeamStop(station string, eStopState, aStopSt... method handleSounds (line 1203) | func (arena *Arena) handleSounds(matchTimeSec float64) { method PlaySound (line 1223) | func (arena *Arena) PlaySound(name string) { method positionPostMatchScoreReady (line 1229) | func (arena *Arena) positionPostMatchScoreReady(position string) bool { method runPeriodicTasks (line 1235) | func (arena *Arena) runPeriodicTasks() { type AllianceStation (line 103) | type AllianceStation struct function NewArena (line 116) | func NewArena(dbPath string) (*Arena, error) { function trussLightWarningSequence (line 1242) | func trussLightWarningSequence(matchTimeSec float64) (bool, [3]bool) { FILE: field/arena_notifiers.go type ArenaNotifiers (line 16) | type ArenaNotifiers struct type MatchTimeMessage (line 34) | type MatchTimeMessage struct type audienceAllianceScoreFields (line 39) | type audienceAllianceScoreFields struct method configureNotifiers (line 45) | func (arena *Arena) configureNotifiers() { method generateAllianceSelectionMessage (line 69) | func (arena *Arena) generateAllianceSelectionMessage() any { method generateAllianceStationDisplayModeMessage (line 83) | func (arena *Arena) generateAllianceStationDisplayModeMessage() any { method generateArenaStatusMessage (line 87) | func (arena *Arena) generateArenaStatusMessage() any { method generateAudienceDisplayModeMessage (line 115) | func (arena *Arena) generateAudienceDisplayModeMessage() any { method generateDisplayConfigurationMessage (line 119) | func (arena *Arena) generateDisplayConfigurationMessage() any { method generateEventStatusMessage (line 130) | func (arena *Arena) generateEventStatusMessage() any { method generateLowerThirdMessage (line 134) | func (arena *Arena) generateLowerThirdMessage() any { method GenerateMatchLoadMessage (line 141) | func (arena *Arena) GenerateMatchLoadMessage() any { method generateMatchTimeMessage (line 204) | func (arena *Arena) generateMatchTimeMessage() any { method generateMatchTimingMessage (line 208) | func (arena *Arena) generateMatchTimingMessage() any { method generateRealtimeScoreMessage (line 212) | func (arena *Arena) generateRealtimeScoreMessage() any { method GenerateScorePostedMessage (line 229) | func (arena *Arena) GenerateScorePostedMessage() any { method generateScoringStatusMessage (line 322) | func (arena *Arena) generateScoringStatusMessage() any { function getAudienceAllianceScoreFields (line 351) | func getAudienceAllianceScoreFields( function getRulesViolated (line 362) | func getRulesViolated(redFouls, blueFouls []game.Foul) map[int]*game.Rule { FILE: field/arena_test.go function TestAssignTeam (line 22) | func TestAssignTeam(t *testing.T) { function TestArenaCheckCanStartMatch (line 63) | func TestArenaCheckCanStartMatch(t *testing.T) { function TestArenaMatchFlow (line 93) | func TestArenaMatchFlow(t *testing.T) { function TestArenaStateEnforcement (line 227) | func TestArenaStateEnforcement(t *testing.T) { function TestMatchStartRobotLinkEnforcement (line 319) | func TestMatchStartRobotLinkEnforcement(t *testing.T) { function TestLoadNextMatch (line 405) | func TestLoadNextMatch(t *testing.T) { function TestSubstituteTeam (line 456) | func TestSubstituteTeam(t *testing.T) { function TestLoadTeamsFromNexus (line 512) | func TestLoadTeamsFromNexus(t *testing.T) { function TestArenaTimeout (line 586) | func TestArenaTimeout(t *testing.T) { function TestSaveTeamHasConnected (line 652) | func TestSaveTeamHasConnected(t *testing.T) { function TestPlcEStopAStop (line 689) | func TestPlcEStopAStop(t *testing.T) { function TestPlcEStopAStopWithPlcDisabled (line 870) | func TestPlcEStopAStopWithPlcDisabled(t *testing.T) { function TestPlcFieldEStop (line 906) | func TestPlcFieldEStop(t *testing.T) { function TestPlcFieldEStopWithPlcDisabled (line 930) | func TestPlcFieldEStopWithPlcDisabled(t *testing.T) { function TestPlcMatchCycleEvergreen (line 954) | func TestPlcMatchCycleEvergreen(t *testing.T) { function TestPlcMatchCycleGameSpecificWithCoopEnabled (line 1037) | func TestPlcMatchCycleGameSpecificWithCoopEnabled(t *testing.T) { function TestPlcMatchCycleGameSpecificWithCoopDisabled (line 1189) | func TestPlcMatchCycleGameSpecificWithCoopDisabled(t *testing.T) { FILE: field/display.go constant minDisplayId (line 21) | minDisplayId = 100 constant displayPurgeTtlMin (line 22) | displayPurgeTtlMin = 30 type DisplayType (line 25) | type DisplayType constant InvalidDisplay (line 28) | InvalidDisplay DisplayType = iota constant PlaceholderDisplay (line 29) | PlaceholderDisplay constant AllianceStationDisplay (line 30) | AllianceStationDisplay constant AnnouncerDisplay (line 31) | AnnouncerDisplay constant AudienceDisplay (line 32) | AudienceDisplay constant BracketDisplay (line 33) | BracketDisplay constant FieldMonitorDisplay (line 34) | FieldMonitorDisplay constant LogoDisplay (line 35) | LogoDisplay constant QueueingDisplay (line 36) | QueueingDisplay constant RankingsDisplay (line 37) | RankingsDisplay constant TwitchStreamDisplay (line 38) | TwitchStreamDisplay constant WallDisplay (line 39) | WallDisplay constant WebpageDisplay (line 40) | WebpageDisplay type Display (line 75) | type Display struct method ToUrl (line 126) | func (display *Display) ToUrl() string { method generateDisplayConfigurationMessage (line 151) | func (display *Display) generateDisplayConfigurationMessage() any { type DisplayConfiguration (line 83) | type DisplayConfiguration struct function DisplayFromUrl (line 91) | func DisplayFromUrl(path string, query map[string][]string) (*DisplayCon... method NextDisplayId (line 156) | func (arena *Arena) NextDisplayId() string { method RegisterDisplay (line 172) | func (arena *Arena) RegisterDisplay(displayConfig *DisplayConfiguration,... method UpdateDisplay (line 202) | func (arena *Arena) UpdateDisplay(displayConfig DisplayConfiguration) er... method MarkDisplayDisconnected (line 219) | func (arena *Arena) MarkDisplayDisconnected(displayId string) { method purgeDisconnectedDisplays (line 238) | func (arena *Arena) purgeDisconnectedDisplays() { FILE: field/display_test.go function TestDisplayFromUrl (line 12) | func TestDisplayFromUrl(t *testing.T) { function TestDisplayToUrl (line 54) | func TestDisplayToUrl(t *testing.T) { function TestNextDisplayId (line 66) | func TestNextDisplayId(t *testing.T) { function TestDisplayRegisterUnregister (line 76) | func TestDisplayRegisterUnregister(t *testing.T) { function TestDisplayUpdateError (line 142) | func TestDisplayUpdateError(t *testing.T) { function TestDisplayPurge (line 152) | func TestDisplayPurge(t *testing.T) { FILE: field/driver_station_connection.go constant driverStationTcpListenPort (line 24) | driverStationTcpListenPort = 1750 constant driverStationUdpSendPort (line 25) | driverStationUdpSendPort = 1121 constant driverStationUdpSendPortLite (line 26) | driverStationUdpSendPortLite = 1120 constant driverStationUdpReceivePort (line 27) | driverStationUdpReceivePort = 1160 constant driverStationTcpLinkTimeoutSec (line 28) | driverStationTcpLinkTimeoutSec = 5 constant driverStationUdpLinkTimeoutSec (line 29) | driverStationUdpLinkTimeoutSec = 1 constant maxTcpPacketBytes (line 30) | maxTcpPacketBytes = 65537 type DriverStationConnection (line 33) | type DriverStationConnection struct method update (line 183) | func (dsConn *DriverStationConnection) update(arena *Arena, gameData s... method close (line 201) | func (dsConn *DriverStationConnection) close() { method signalMatchStart (line 214) | func (dsConn *DriverStationConnection) signalMatchStart(match *model.M... method encodeControlPacket (line 223) | func (dsConn *DriverStationConnection) encodeControlPacket(arena *Aren... method sendControlPacket (line 310) | func (dsConn *DriverStationConnection) sendControlPacket(arena *Arena,... method handleTcpConnection (line 477) | func (dsConn *DriverStationConnection) handleTcpConnection(arena *Aren... method checkGameData (line 535) | func (dsConn *DriverStationConnection) checkGameData(gameData string) ... method sendGameDataPacket (line 550) | func (dsConn *DriverStationConnection) sendGameDataPacket(gameData str... function driverStationTeamIdFromRemoteAddr (line 64) | func driverStationTeamIdFromRemoteAddr(addr net.Addr) (int, string, bool) { function newDriverStationConnection (line 80) | func newDriverStationConnection( method listenForDsUdpPackets (line 110) | func (arena *Arena) listenForDsUdpPackets() { method listenForDriverStations (line 324) | func (arena *Arena) listenForDriverStations() { method serveDriverStations (line 336) | func (arena *Arena) serveDriverStations(listener net.Listener) { function readTaggedTcpPacket (line 452) | func readTaggedTcpPacket(tcpConn net.Conn, buffer []byte) (int, error) { function handleInvalidTcpConnection (line 508) | func handleInvalidTcpConnection(tcpConn net.Conn, status int, station in... FILE: field/driver_station_connection_test.go function TestEncodeControlPacket (line 16) | func TestEncodeControlPacket(t *testing.T) { function TestSendControlPacket (line 138) | func TestSendControlPacket(t *testing.T) { function TestListenForDriverStations (line 152) | func TestListenForDriverStations(t *testing.T) { function TestListenForDriverStations_NetworkSecurityIgnoresNonFieldIp (line 235) | func TestListenForDriverStations_NetworkSecurityIgnoresNonFieldIp(t *tes... function TestNewDriverStationConnection_UdpPortSelection (line 260) | func TestNewDriverStationConnection_UdpPortSelection(t *testing.T) { function setupFakeTcpConnection (line 280) | func setupFakeTcpConnection(t *testing.T) net.Conn { function startTestDriverStationServer (line 290) | func startTestDriverStationServer(t *testing.T, arena *Arena) string { function waitForDriverStationConnection (line 301) | func waitForDriverStationConnection(t *testing.T, arena *Arena, station ... FILE: field/event_status.go constant maxExpectedCycleTimeSec (line 15) | maxExpectedCycleTimeSec = 900 type EventStatus (line 17) | type EventStatus struct method updateCycleTime (line 25) | func (arena *Arena) updateCycleTime(matchStartTime time.Time) { method updateEarlyLateMessage (line 60) | func (arena *Arena) updateEarlyLateMessage() { method getEarlyLateMessage (line 69) | func (arena *Arena) getEarlyLateMessage() string { FILE: field/event_status_test.go function TestCycleTime (line 14) | func TestCycleTime(t *testing.T) { function TestCycleTimeDelta (line 38) | func TestCycleTimeDelta(t *testing.T) { function TestEarlyLateMessage (line 72) | func TestEarlyLateMessage(t *testing.T) { function setMatch (line 158) | func setMatch(database *model.Database, match *model.Match, matchTime ti... FILE: field/fake_plc_test.go type FakePlc (line 12) | type FakePlc struct method SetAddress (line 31) | func (plc *FakePlc) SetAddress(address string) { method IsEnabled (line 34) | func (plc *FakePlc) IsEnabled() bool { method IsHealthy (line 38) | func (plc *FakePlc) IsHealthy() bool { method IoChangeNotifier (line 42) | func (plc *FakePlc) IoChangeNotifier() *websocket.Notifier { method Run (line 46) | func (plc *FakePlc) Run() { method GetArmorBlockStatuses (line 49) | func (plc *FakePlc) GetArmorBlockStatuses() map[string]bool { method GetFieldEStop (line 53) | func (plc *FakePlc) GetFieldEStop() bool { method GetTeamEStops (line 57) | func (plc *FakePlc) GetTeamEStops() ([3]bool, [3]bool) { method GetTeamAStops (line 61) | func (plc *FakePlc) GetTeamAStops() ([3]bool, [3]bool) { method GetEthernetConnected (line 65) | func (plc *FakePlc) GetEthernetConnected() ([3]bool, [3]bool) { method ResetMatch (line 69) | func (plc *FakePlc) ResetMatch() { method SetStackLights (line 72) | func (plc *FakePlc) SetStackLights(red, blue, orange, green bool) { method SetStackBuzzer (line 79) | func (plc *FakePlc) SetStackBuzzer(state bool) { method SetFieldResetLight (line 83) | func (plc *FakePlc) SetFieldResetLight(state bool) { method GetCycleState (line 87) | func (plc *FakePlc) GetCycleState(max, index, duration int) bool { method GetInputNames (line 91) | func (plc *FakePlc) GetInputNames() []string { method GetRegisterNames (line 95) | func (plc *FakePlc) GetRegisterNames() []string { method GetCoilNames (line 99) | func (plc *FakePlc) GetCoilNames() []string { method GetProcessorCounts (line 103) | func (plc *FakePlc) GetProcessorCounts() (int, int) { method SetTrussLights (line 107) | func (plc *FakePlc) SetTrussLights(redLights, blueLights [3]bool) { FILE: field/realtime_score.go type RealtimeScore (line 10) | type RealtimeScore struct function NewRealtimeScore (line 16) | func NewRealtimeScore() *RealtimeScore { FILE: field/scoring_panel_registry.go type ScoringPanelRegistry (line 13) | type ScoringPanelRegistry struct method initialize (line 18) | func (registry *ScoringPanelRegistry) initialize() { method resetScoreCommitted (line 23) | func (registry *ScoringPanelRegistry) resetScoreCommitted() { method GetNumPanels (line 35) | func (registry *ScoringPanelRegistry) GetNumPanels(position string) int { method GetNumScoreCommitted (line 43) | func (registry *ScoringPanelRegistry) GetNumScoreCommitted(position st... method RegisterPanel (line 57) | func (registry *ScoringPanelRegistry) RegisterPanel(position string, w... method SetScoreCommitted (line 68) | func (registry *ScoringPanelRegistry) SetScoreCommitted(position strin... method UnregisterPanel (line 76) | func (registry *ScoringPanelRegistry) UnregisterPanel(position string,... FILE: field/scoring_panel_registry_test.go function TestScoringPanelRegistry (line 12) | func TestScoringPanelRegistry(t *testing.T) { FILE: field/team_match_log.go constant logsDir (line 19) | logsDir = "static/logs" type TeamMatchLog (line 21) | type TeamMatchLog struct method LogDsPacket (line 58) | func (log *TeamMatchLog) LogDsPacket(matchTimeSec float64, packetType ... method Close (line 82) | func (log *TeamMatchLog) Close() { function NewTeamMatchLog (line 28) | func NewTeamMatchLog(teamId int, match *model.Match, wifiStatus *network... FILE: field/team_sign.go type TeamSigns (line 21) | type TeamSigns struct method Update (line 82) | func (signs *TeamSigns) Update(arena *Arena) { method SetNextMatchTeams (line 126) | func (signs *TeamSigns) SetNextMatchTeams(teams [6]int) { type TeamSign (line 33) | type TeamSign struct method SetId (line 136) | func (sign *TeamSign) SetId(id int) { method update (line 167) | func (sign *TeamSign) update( method generateTeamNumberTexts (line 272) | func (sign *TeamSign) generateTeamNumberTexts( method sendPacket (line 357) | func (sign *TeamSign) sendPacket() error { method writePacketData (line 402) | func (sign *TeamSign) writePacketData(data []byte) { constant teamSignAddressPrefix (line 50) | teamSignAddressPrefix = "10.0.100." constant teamSignYear (line 51) | teamSignYear = 2025 constant teamSignPort (line 52) | teamSignPort = 10011 constant teamSignPacketMagicString (line 53) | teamSignPacketMagicString = "CYPRX" constant teamSignPacketHeaderLength (line 54) | teamSignPacketHeaderLength = 7 constant teamSignCommandSetDisplay (line 55) | teamSignCommandSetDisplay = 0x04 constant teamSignAddressSingle (line 56) | teamSignAddressSingle = 0x01 constant teamSignPacketTypeFrontText (line 57) | teamSignPacketTypeFrontText = 0x01 constant teamSignPacketTypeRearText (line 58) | teamSignPacketTypeRearText = 0x02 constant teamSignPacketTypeFrontIntensity (line 59) | teamSignPacketTypeFrontIntensity = 0x03 constant teamSignPacketTypeColor (line 60) | teamSignPacketTypeColor = 0x04 constant teamSignPacketPeriodMs (line 61) | teamSignPacketPeriodMs = 5000 constant teamSignBlinkPeriodMs (line 62) | teamSignBlinkPeriodMs = 750 function NewTeamSigns (line 74) | func NewTeamSigns() *TeamSigns { function generateInMatchTeamRearText (line 189) | func generateInMatchTeamRearText(arena *Arena, isRed bool, countdown str... function generateInMatchTimerRearText (line 216) | func generateInMatchTimerRearText(arena *Arena, isRed bool) string { function generateTimerTexts (line 234) | func generateTimerTexts(arena *Arena, countdown, inMatchRearText string)... function blinkColor (line 410) | func blinkColor(originalColor color.RGBA) color.RGBA { FILE: field/team_sign_test.go function TestTeamSign_GenerateInMatchRearText (line 14) | func TestTeamSign_GenerateInMatchRearText(t *testing.T) { function TestTeamSign_Timer (line 36) | func TestTeamSign_Timer(t *testing.T) { function TestTeamSign_TeamNumber (line 88) | func TestTeamSign_TeamNumber(t *testing.T) { FILE: field/test_helpers.go function SetupTestArena (line 17) | func SetupTestArena(t *testing.T) *Arena { function setupTestArena (line 32) | func setupTestArena(t *testing.T) *Arena { FILE: game/foul.go type Foul (line 8) | type Foul struct method Rule (line 16) | func (foul *Foul) Rule() *Rule { method PointValue (line 21) | func (foul *Foul) PointValue() int { FILE: game/match_sounds.go type MatchSound (line 8) | type MatchSound struct function UpdateMatchSounds (line 18) | func UpdateMatchSounds() { FILE: game/match_timing.go constant TeleopGracePeriodSec (line 11) | TeleopGracePeriodSec = 3 function GetDurationToAutoEnd (line 23) | func GetDurationToAutoEnd() time.Duration { function GetDurationToTeleopStart (line 27) | func GetDurationToTeleopStart() time.Duration { function GetDurationToTeleopEnd (line 33) | func GetDurationToTeleopEnd() time.Duration { FILE: game/ranking_fields.go type RankingFields (line 10) | type RankingFields struct method AddScoreSummary (line 33) | func (fields *RankingFields) AddScoreSummary(ownScore *ScoreSummary, o... type Ranking (line 24) | type Ranking struct type Rankings (line 31) | type Rankings method Len (line 67) | func (rankings Rankings) Len() int { method Less (line 72) | func (rankings Rankings) Less(i, j int) bool { method Swap (line 96) | func (rankings Rankings) Swap(i, j int) { FILE: game/ranking_fields_test.go function TestAddScoreSummary (line 13) | func TestAddScoreSummary(t *testing.T) { function TestSortRankings (line 58) | func TestSortRankings(t *testing.T) { FILE: game/reef.go type Reef (line 8) | type Reef struct method CountTotalCoralByLevel (line 42) | func (reef *Reef) CountTotalCoralByLevel(level Level) int { method AutoCoralCount (line 47) | func (reef *Reef) AutoCoralCount() int { method AutoCoralPoints (line 57) | func (reef *Reef) AutoCoralPoints() int { method TeleopCoralCount (line 66) | func (reef *Reef) TeleopCoralCount() int { method TeleopCoralPoints (line 76) | func (reef *Reef) TeleopCoralPoints() int { method CountCoralByLevelAndPeriod (line 85) | func (reef *Reef) CountCoralByLevelAndPeriod(level Level, isAuto bool)... method isAutoBonusCoralThresholdMet (line 116) | func (reef *Reef) isAutoBonusCoralThresholdMet() bool { method countCoralBonusSatisfiedLevels (line 131) | func (reef *Reef) countCoralBonusSatisfiedLevels() int { type Level (line 17) | type Level constant Level1 (line 20) | Level1 Level = iota - 1 constant Level2 (line 21) | Level2 constant Level3 (line 22) | Level3 constant Level4 (line 23) | Level4 constant LevelCount (line 24) | LevelCount FILE: game/reef_test.go function TestReefCoralCountsAndPoints (line 12) | func TestReefCoralCountsAndPoints(t *testing.T) { function TestReef_isAutoBonusCoralThresholdMet (line 145) | func TestReef_isAutoBonusCoralThresholdMet(t *testing.T) { function TestReef_countCoralBonusSatisfiedLevels (line 222) | func TestReef_countCoralBonusSatisfiedLevels(t *testing.T) { FILE: game/rule.go type Rule (line 8) | type Rule struct function GetRuleById (line 65) | func GetRuleById(id int) *Rule { function GetAllRules (line 70) | func GetAllRules() map[int]*Rule { FILE: game/rule_test.go function TestGetRuleById (line 11) | func TestGetRuleById(t *testing.T) { function TestGetAllRules (line 18) | func TestGetAllRules(t *testing.T) { FILE: game/score.go type Score (line 8) | type Score struct method Summarize (line 37) | func (score *Score) Summarize(opponentScore *Score) *ScoreSummary { method Equals (line 160) | func (score *Score) Equals(other *Score) bool { type EndgameStatus (line 27) | type EndgameStatus constant EndgameNone (line 30) | EndgameNone EndgameStatus = iota constant EndgameParked (line 31) | EndgameParked constant EndgameShallowCage (line 32) | EndgameShallowCage constant EndgameDeepCage (line 33) | EndgameDeepCage FILE: game/score_summary.go type ScoreSummary (line 8) | type ScoreSummary struct type MatchStatus (line 30) | type MatchStatus method Get (line 40) | func (t MatchStatus) Get() MatchStatus { constant MatchScheduled (line 33) | MatchScheduled MatchStatus = iota constant MatchHidden (line 34) | MatchHidden constant RedWonMatch (line 35) | RedWonMatch constant BlueWonMatch (line 36) | BlueWonMatch constant TieMatch (line 37) | TieMatch function DetermineMatchStatus (line 45) | func DetermineMatchStatus(redScoreSummary, blueScoreSummary *ScoreSummar... function comparePoints (line 69) | func comparePoints(redPoints, bluePoints int) MatchStatus { FILE: game/score_summary_test.go function TestScoreSummaryDetermineMatchStatus (line 11) | func TestScoreSummaryDetermineMatchStatus(t *testing.T) { FILE: game/score_test.go function TestScoreSummary (line 12) | func TestScoreSummary(t *testing.T) { function TestScoreAutoBonusRankingPoint (line 71) | func TestScoreAutoBonusRankingPoint(t *testing.T) { function TestScoreCoralBonusRankingPoint (line 116) | func TestScoreCoralBonusRankingPoint(t *testing.T) { function TestScoreBargeBonusRankingPoint (line 190) | func TestScoreBargeBonusRankingPoint(t *testing.T) { function TestScoreBargeBonusRankingPointIncludingAlgae (line 281) | func TestScoreBargeBonusRankingPointIncludingAlgae(t *testing.T) { function TestScoreAutoRankingPointFromFouls (line 304) | func TestScoreAutoRankingPointFromFouls(t *testing.T) { function TestScoreEquals (line 384) | func TestScoreEquals(t *testing.T) { FILE: game/test_helpers.go function TestScore1 (line 8) | func TestScore1() *Score { function TestScore2 (line 37) | func TestScore2() *Score { function TestRanking1 (line 57) | func TestRanking1() *Ranking { function TestRanking2 (line 61) | func TestRanking2() *Ranking { FILE: main.go constant eventDbPath (line 17) | eventDbPath = "./event.db" constant httpPort (line 18) | httpPort = 8080 function main (line 21) | func main() { FILE: model/alliance.go type Alliance (line 10) | type Alliance struct type AllianceSelectionRankedTeam (line 16) | type AllianceSelectionRankedTeam struct method CreateAlliance (line 22) | func (database *Database) CreateAlliance(alliance *Alliance) error { method GetAllianceById (line 26) | func (database *Database) GetAllianceById(id int) (*Alliance, error) { method UpdateAlliance (line 30) | func (database *Database) UpdateAlliance(alliance *Alliance) error { method DeleteAlliance (line 34) | func (database *Database) DeleteAlliance(id int) error { method TruncateAlliances (line 38) | func (database *Database) TruncateAlliances() error { method GetAllAlliances (line 42) | func (database *Database) GetAllAlliances() ([]Alliance, error) { method UpdateAllianceFromMatch (line 57) | func (database *Database) UpdateAllianceFromMatch(allianceId int, matchT... method GetOffFieldTeamIds (line 92) | func (database *Database) GetOffFieldTeamIds(match *Match) ([]int, []int... method getOffFieldTeamIdsForAlliance (line 110) | func (database *Database) getOffFieldTeamIdsForAlliance(allianceId int, ... FILE: model/alliance_test.go function TestGetNonexistentAlliance (line 11) | func TestGetNonexistentAlliance(t *testing.T) { function TestAllianceCrud (line 20) | func TestAllianceCrud(t *testing.T) { function TestUpdateAllianceFromMatch (line 42) | func TestUpdateAllianceFromMatch(t *testing.T) { function TestTruncateAllianceTeams (line 55) | func TestTruncateAllianceTeams(t *testing.T) { function TestGetAllAlliances (line 67) | func TestGetAllAlliances(t *testing.T) { function TestGetOffFieldTeamIds (line 86) | func TestGetOffFieldTeamIds(t *testing.T) { FILE: model/award.go type Award (line 10) | type Award struct type AwardType (line 18) | type AwardType constant JudgedAward (line 21) | JudgedAward AwardType = iota constant FinalistAward (line 22) | FinalistAward constant WinnerAward (line 23) | WinnerAward method CreateAward (line 26) | func (database *Database) CreateAward(award *Award) error { method GetAwardById (line 30) | func (database *Database) GetAwardById(id int) (*Award, error) { method UpdateAward (line 34) | func (database *Database) UpdateAward(award *Award) error { method DeleteAward (line 38) | func (database *Database) DeleteAward(id int) error { method TruncateAwards (line 42) | func (database *Database) TruncateAwards() error { method GetAllAwards (line 46) | func (database *Database) GetAllAwards() ([]Award, error) { method GetAwardsByType (line 60) | func (database *Database) GetAwardsByType(awardType AwardType) ([]Award,... FILE: model/award_test.go function TestGetNonexistentAward (line 11) | func TestGetNonexistentAward(t *testing.T) { function TestAwardCrud (line 20) | func TestAwardCrud(t *testing.T) { function TestTruncateAwards (line 54) | func TestTruncateAwards(t *testing.T) { function TestGetAwardsByType (line 66) | func TestGetAwardsByType(t *testing.T) { FILE: model/database.go constant backupsDir (line 19) | backupsDir = "db/backups" type Database (line 23) | type Database struct method Close (line 94) | func (database *Database) Close() error { method Backup (line 99) | func (database *Database) Backup(eventName, reason string) error { method WriteBackup (line 126) | func (database *Database) WriteBackup(writer io.Writer) error { function OpenDatabase (line 42) | func OpenDatabase(filename string) (*Database, error) { FILE: model/database_test.go function TestOpenUnreachableDatabase (line 11) | func TestOpenUnreachableDatabase(t *testing.T) { function setupTestDb (line 16) | func setupTestDb(t *testing.T) *Database { FILE: model/event_settings.go type PlayoffType (line 14) | type PlayoffType constant DoubleEliminationPlayoff (line 17) | DoubleEliminationPlayoff PlayoffType = iota constant SingleEliminationPlayoff (line 18) | SingleEliminationPlayoff type EventSettings (line 41) | type EventSettings struct method GetEventSettings (line 121) | func (database *Database) GetEventSettings() (*EventSettings, error) { method UpdateEventSettings (line 161) | func (database *Database) UpdateEventSettings(eventSettings *EventSettin... FILE: model/event_settings_test.go function TestEventSettingsReadWrite (line 11) | func TestEventSettingsReadWrite(t *testing.T) { FILE: model/judging_slot.go type JudgingSlot (line 13) | type JudgingSlot struct method CreateJudgingSlot (line 24) | func (database *Database) CreateJudgingSlot(judgingSlot *JudgingSlot) er... method TruncateJudgingSlots (line 28) | func (database *Database) TruncateJudgingSlots() error { method GetAllJudgingSlots (line 32) | func (database *Database) GetAllJudgingSlots() ([]JudgingSlot, error) { FILE: model/judging_slot_test.go function TestJudgingSlotCrud (line 12) | func TestJudgingSlotCrud(t *testing.T) { FILE: model/lower_third.go type LowerThird (line 12) | type LowerThird struct method CreateLowerThird (line 20) | func (database *Database) CreateLowerThird(lowerThird *LowerThird) error { method GetLowerThirdById (line 24) | func (database *Database) GetLowerThirdById(id int) (*LowerThird, error) { method UpdateLowerThird (line 28) | func (database *Database) UpdateLowerThird(lowerThird *LowerThird) error { method DeleteLowerThird (line 32) | func (database *Database) DeleteLowerThird(id int) error { method TruncateLowerThirds (line 36) | func (database *Database) TruncateLowerThirds() error { method GetAllLowerThirds (line 40) | func (database *Database) GetAllLowerThirds() ([]LowerThird, error) { method GetLowerThirdsByAwardId (line 54) | func (database *Database) GetLowerThirdsByAwardId(awardId int) ([]LowerT... method GetNextLowerThirdDisplayOrder (line 69) | func (database *Database) GetNextLowerThirdDisplayOrder() int { FILE: model/lower_third_test.go function TestGetNonexistentLowerThird (line 11) | func TestGetNonexistentLowerThird(t *testing.T) { function TestLowerThirdCrud (line 20) | func TestLowerThirdCrud(t *testing.T) { function TestTruncateLowerThirds (line 50) | func TestTruncateLowerThirds(t *testing.T) { function TestGetLowerThirdsByAwardId (line 62) | func TestGetLowerThirdsByAwardId(t *testing.T) { FILE: model/match.go type MatchType (line 17) | type MatchType method Get (line 26) | func (t MatchType) Get() MatchType { constant Test (line 20) | Test MatchType = iota constant Practice (line 21) | Practice constant Qualification (line 22) | Qualification constant Playoff (line 23) | Playoff type Match (line 30) | type Match struct method IsComplete (line 123) | func (match *Match) IsComplete() bool { method ShouldAllowSubstitution (line 128) | func (match *Match) ShouldAllowSubstitution() bool { method ShouldAllowNexusSubstitution (line 133) | func (match *Match) ShouldAllowNexusSubstitution() bool { method ShouldUpdateCards (line 138) | func (match *Match) ShouldUpdateCards() bool { method ShouldUpdateRankings (line 143) | func (match *Match) ShouldUpdateRankings() bool { method ShouldUpdatePlayoffMatches (line 148) | func (match *Match) ShouldUpdatePlayoffMatches() bool { type TbaMatchKey (line 61) | type TbaMatchKey struct method String (line 168) | func (key TbaMatchKey) String() string { method CreateMatch (line 67) | func (database *Database) CreateMatch(match *Match) error { method GetMatchById (line 71) | func (database *Database) GetMatchById(id int) (*Match, error) { method UpdateMatch (line 75) | func (database *Database) UpdateMatch(match *Match) error { method DeleteMatch (line 79) | func (database *Database) DeleteMatch(id int) error { method TruncateMatches (line 83) | func (database *Database) TruncateMatches() error { method GetMatchByTypeOrder (line 87) | func (database *Database) GetMatchByTypeOrder(matchType MatchType, typeO... method GetMatchesByType (line 101) | func (database *Database) GetMatchesByType(matchType MatchType, includeH... function MatchTypeFromString (line 153) | func MatchTypeFromString(matchTypeString string) (MatchType, error) { FILE: model/match_result.go type MatchResult (line 12) | type MatchResult struct method RedScoreSummary (line 66) | func (matchResult *MatchResult) RedScoreSummary() *game.ScoreSummary { method BlueScoreSummary (line 71) | func (matchResult *MatchResult) BlueScoreSummary() *game.ScoreSummary { method CorrectPlayoffScore (line 76) | func (matchResult *MatchResult) CorrectPlayoffScore() { function NewMatchResult (line 24) | func NewMatchResult() *MatchResult { method CreateMatchResult (line 33) | func (database *Database) CreateMatchResult(matchResult *MatchResult) er... method GetMatchResultForMatch (line 37) | func (database *Database) GetMatchResultForMatch(matchId int) (*MatchRes... method UpdateMatchResult (line 53) | func (database *Database) UpdateMatchResult(matchResult *MatchResult) er... method DeleteMatchResult (line 57) | func (database *Database) DeleteMatchResult(id int) error { method TruncateMatchResults (line 61) | func (database *Database) TruncateMatchResults() error { FILE: model/match_result_test.go function TestGetNonexistentMatchResult (line 12) | func TestGetNonexistentMatchResult(t *testing.T) { function TestMatchResultCrud (line 21) | func TestMatchResultCrud(t *testing.T) { function TestTruncateMatchResults (line 44) | func TestTruncateMatchResults(t *testing.T) { function TestGetMatchResultForMatch (line 56) | func TestGetMatchResultForMatch(t *testing.T) { FILE: model/match_test.go function TestGetNonexistentMatch (line 13) | func TestGetNonexistentMatch(t *testing.T) { function TestMatchCrud (line 22) | func TestMatchCrud(t *testing.T) { function TestTruncateMatches (line 62) | func TestTruncateMatches(t *testing.T) { function TestGetMatchByTypeOrder (line 85) | func TestGetMatchByTypeOrder(t *testing.T) { function TestGetMatchesByType (line 115) | func TestGetMatchesByType(t *testing.T) { function TestMatchTypeFromString (line 169) | func TestMatchTypeFromString(t *testing.T) { function TestTbaMatchKeyString (line 201) | func TestTbaMatchKeyString(t *testing.T) { FILE: model/matchtype_string.go function _ (line 7) | func _() { constant _MatchType_name (line 17) | _MatchType_name = "TestPracticeQualificationPlayoff" method String (line 21) | func (i MatchType) String() string { FILE: model/ranking.go method CreateRanking (line 13) | func (database *Database) CreateRanking(ranking *game.Ranking) error { method GetRankingForTeam (line 17) | func (database *Database) GetRankingForTeam(teamId int) (*game.Ranking, ... method UpdateRanking (line 21) | func (database *Database) UpdateRanking(ranking *game.Ranking) error { method DeleteRanking (line 25) | func (database *Database) DeleteRanking(teamId int) error { method TruncateRankings (line 29) | func (database *Database) TruncateRankings() error { method GetAllRankings (line 33) | func (database *Database) GetAllRankings() (game.Rankings, error) { method ReplaceAllRankings (line 48) | func (database *Database) ReplaceAllRankings(rankings game.Rankings) err... FILE: model/ranking_test.go function TestGetNonexistentRanking (line 12) | func TestGetNonexistentRanking(t *testing.T) { function TestRankingCrud (line 21) | func TestRankingCrud(t *testing.T) { function TestTruncateRankings (line 38) | func TestTruncateRankings(t *testing.T) { function TestGetAllRankings (line 50) | func TestGetAllRankings(t *testing.T) { FILE: model/schedule_block.go type ScheduleBlock (line 13) | type ScheduleBlock struct method CreateScheduleBlock (line 21) | func (database *Database) CreateScheduleBlock(block *ScheduleBlock) error { method GetScheduleBlocksByMatchType (line 25) | func (database *Database) GetScheduleBlocksByMatchType(matchType MatchTy... method DeleteScheduleBlocksByMatchType (line 47) | func (database *Database) DeleteScheduleBlocksByMatchType(matchType Matc... method TruncateScheduleBlocks (line 61) | func (database *Database) TruncateScheduleBlocks() error { FILE: model/schedule_block_test.go function TestScheduleBlockCrud (line 12) | func TestScheduleBlockCrud(t *testing.T) { FILE: model/scheduled_break.go type ScheduledBreak (line 13) | type ScheduledBreak struct method CreateScheduledBreak (line 22) | func (database *Database) CreateScheduledBreak(scheduledBreak *Scheduled... method GetScheduledBreakById (line 26) | func (database *Database) GetScheduledBreakById(id int) (*ScheduledBreak... method UpdateScheduledBreak (line 30) | func (database *Database) UpdateScheduledBreak(scheduledBreak *Scheduled... method GetScheduledBreaksByMatchType (line 34) | func (database *Database) GetScheduledBreaksByMatchType(matchType MatchT... method GetScheduledBreakByMatchTypeOrder (line 56) | func (database *Database) GetScheduledBreakByMatchTypeOrder( method DeleteScheduledBreaksByMatchType (line 73) | func (database *Database) DeleteScheduledBreaksByMatchType(matchType Mat... method TruncateScheduledBreaks (line 87) | func (database *Database) TruncateScheduledBreaks() error { FILE: model/scheduled_break_test.go function TestScheduledBreakCrud (line 12) | func TestScheduledBreakCrud(t *testing.T) { FILE: model/sponsor_slide.go type SponsorSlide (line 10) | type SponsorSlide struct method CreateSponsorSlide (line 20) | func (database *Database) CreateSponsorSlide(sponsorSlide *SponsorSlide)... method GetSponsorSlideById (line 24) | func (database *Database) GetSponsorSlideById(id int) (*SponsorSlide, er... method UpdateSponsorSlide (line 28) | func (database *Database) UpdateSponsorSlide(sponsorSlide *SponsorSlide)... method DeleteSponsorSlide (line 32) | func (database *Database) DeleteSponsorSlide(id int) error { method TruncateSponsorSlides (line 36) | func (database *Database) TruncateSponsorSlides() error { method GetAllSponsorSlides (line 40) | func (database *Database) GetAllSponsorSlides() ([]SponsorSlide, error) { method GetNextSponsorSlideDisplayOrder (line 54) | func (database *Database) GetNextSponsorSlideDisplayOrder() int { FILE: model/sponsor_slide_test.go function TestGetNonexistentSponsorSlide (line 11) | func TestGetNonexistentSponsorSlide(t *testing.T) { function TestSponsorSlideCrud (line 20) | func TestSponsorSlideCrud(t *testing.T) { function TestTruncateSponsorSlides (line 45) | func TestTruncateSponsorSlides(t *testing.T) { FILE: model/table.go type table (line 18) | type table struct function newTable (line 28) | func newTable[R any](database *Database) (*table[R], error) { method getById (line 82) | func (table *table[R]) getById(id int) (*R, error) { method getAll (line 104) | func (table *table[R]) getAll() ([]R, error) { method create (line 130) | func (table *table[R]) create(record *R) error { method update (line 178) | func (table *table[R]) update(record *R) error { method delete (line 210) | func (table *table[R]) delete(id int) error { method truncate (line 231) | func (table *table[R]) truncate() error { method getBucket (line 251) | func (table *table[R]) getBucket(tx *bbolt.Tx) (*bbolt.Bucket, error) { function idToKey (line 260) | func idToKey(id int) []byte { FILE: model/table_test.go type validRecord (line 11) | type validRecord struct type manualIdRecord (line 17) | type manualIdRecord struct function TestTableSingleCrud (line 22) | func TestTableSingleCrud(t *testing.T) { function TestTableMultipleCrud (line 55) | func TestTableMultipleCrud(t *testing.T) { function TestTableWithManualId (line 91) | func TestTableWithManualId(t *testing.T) { function TestNewTableErrors (line 132) | func TestNewTableErrors(t *testing.T) { function TestTableCrudErrors (line 166) | func TestTableCrudErrors(t *testing.T) { FILE: model/team.go type Team (line 10) | type Team struct method CreateTeam (line 27) | func (database *Database) CreateTeam(team *Team) error { method GetTeamById (line 31) | func (database *Database) GetTeamById(id int) (*Team, error) { method UpdateTeam (line 35) | func (database *Database) UpdateTeam(team *Team) error { method DeleteTeam (line 39) | func (database *Database) DeleteTeam(id int) error { method TruncateTeams (line 43) | func (database *Database) TruncateTeams() error { method GetAllTeams (line 47) | func (database *Database) GetAllTeams() ([]Team, error) { FILE: model/team_test.go function TestGetNonexistentTeam (line 11) | func TestGetNonexistentTeam(t *testing.T) { function TestTeamCrud (line 20) | func TestTeamCrud(t *testing.T) { function TestTruncateTeams (line 51) | func TestTruncateTeams(t *testing.T) { function TestGetAllTeams (line 72) | func TestGetAllTeams(t *testing.T) { FILE: model/test_helpers.go function SetupTestDb (line 15) | func SetupTestDb(t *testing.T) *Database { function BuildTestMatchResult (line 29) | func BuildTestMatchResult(matchId int, playNumber int) *MatchResult { function BuildTestAlliances (line 38) | func BuildTestAlliances(database *Database) { FILE: model/user_session.go type UserSession (line 10) | type UserSession struct method CreateUserSession (line 17) | func (database *Database) CreateUserSession(session *UserSession) error { method GetUserSessionByToken (line 21) | func (database *Database) GetUserSessionByToken(token string) (*UserSess... method DeleteUserSession (line 35) | func (database *Database) DeleteUserSession(id int) error { method TruncateUserSessions (line 39) | func (database *Database) TruncateUserSessions() error { FILE: model/user_session_test.go function TestGetNonexistentUserSession (line 12) | func TestGetNonexistentUserSession(t *testing.T) { function TestUserSessionCrud (line 21) | func TestUserSessionCrud(t *testing.T) { function TestTruncateUserSessions (line 40) | func TestTruncateUserSessions(t *testing.T) { FILE: network/access_point.go constant accessPointPollPeriodSec (line 22) | accessPointPollPeriodSec = 1 type AccessPoint (line 25) | type AccessPoint struct method SetSettings (line 80) | func (ap *AccessPoint) SetSettings( method Run (line 95) | func (ap *AccessPoint) Run() { method ConfigureTeamWifi (line 114) | func (ap *AccessPoint) ConfigureTeamWifi(teams [6]*model.Team) error { method updateMonitoring (line 161) | func (ap *AccessPoint) updateMonitoring() error { method statusMatchesLastConfiguration (line 212) | func (ap *AccessPoint) statusMatchesLastConfiguration() bool { type TeamWifiStatus (line 35) | type TeamWifiStatus struct type configurationRequest (line 45) | type configurationRequest struct type stationConfiguration (line 50) | type stationConfiguration struct type accessPointStatus (line 55) | type accessPointStatus struct method toLogString (line 267) | func (apStatus *accessPointStatus) toLogString() string { type stationStatus (line 61) | type stationStatus struct function addStation (line 230) | func addStation(stationsConfigurations map[string]stationConfiguration, ... function updateTeamWifiStatus (line 241) | func updateTeamWifiStatus(teamWifiStatus *TeamWifiStatus, stationStatus ... FILE: network/access_point_test.go function TestAccessPoint_ConfigureTeamWifi (line 15) | func TestAccessPoint_ConfigureTeamWifi(t *testing.T) { function TestAccessPoint_updateMonitoring (line 90) | func TestAccessPoint_updateMonitoring(t *testing.T) { function TestAccessPoint_statusMatchesLastConfiguration (line 167) | func TestAccessPoint_statusMatchesLastConfiguration(t *testing.T) { FILE: network/sccswitch.go constant sccSwitchConnectTimeoutSec (line 20) | sccSwitchConnectTimeoutSec = 5 constant sccSwitchConfigTimeoutSec (line 21) | sccSwitchConfigTimeoutSec = 5 constant sccSwitchSSHPort (line 22) | sccSwitchSSHPort = 22 type SCCSwitch (line 25) | type SCCSwitch struct method SetTeamEthernetEnabled (line 52) | func (scc *SCCSwitch) SetTeamEthernetEnabled(enabled bool) error { method runCommandSequence (line 80) | func (scc *SCCSwitch) runCommandSequence(commands []string) (string, e... function NewSCCSwitch (line 38) | func NewSCCSwitch(address, username, password string, upCommands, downCo... FILE: network/sccswitch_test.go function TestConfigureSCC (line 20) | func TestConfigureSCC(t *testing.T) { function mockSSHSwitch (line 60) | func mockSSHSwitch(t *testing.T, port int, username, password string, co... FILE: network/switch.go constant switchConfigBackoffDurationSec (line 19) | switchConfigBackoffDurationSec = 5 constant switchConfigPauseDurationSec (line 20) | switchConfigPauseDurationSec = 2 constant switchTeamGatewayAddress (line 21) | switchTeamGatewayAddress = 4 constant switchTelnetPort (line 22) | switchTelnetPort = 23 constant red1Vlan (line 26) | red1Vlan = 10 constant red2Vlan (line 27) | red2Vlan = 20 constant red3Vlan (line 28) | red3Vlan = 30 constant blue1Vlan (line 29) | blue1Vlan = 40 constant blue2Vlan (line 30) | blue2Vlan = 50 constant blue3Vlan (line 31) | blue3Vlan = 60 type Switch (line 34) | type Switch struct method ConfigureTeamEthernet (line 60) | func (sw *Switch) ConfigureTeamEthernet(teams [6]*model.Team) error { method runCommand (line 131) | func (sw *Switch) runCommand(command string) (string, error) { method runConfigCommand (line 166) | func (sw *Switch) runConfigCommand(command string) (string, error) { constant DefaultServerIpAddress (line 44) | DefaultServerIpAddress = "10.0.100.5" function NewSwitch (line 48) | func NewSwitch(address, password string) *Switch { FILE: network/switch_test.go function TestConfigureSwitch (line 16) | func TestConfigureSwitch(t *testing.T) { function mockTelnet (line 88) | func mockTelnet(t *testing.T, port int, command1 *string, command2 *stri... FILE: partner/blackmagic.go constant blackmagicPort (line 17) | blackmagicPort = 9993 constant blackmagicConnectTimeoutMs (line 18) | blackmagicConnectTimeoutMs = 100 constant blackmagicStopDelaySec (line 19) | blackmagicStopDelaySec = 10 type BlackmagicClient (line 22) | type BlackmagicClient struct method StartRecording (line 39) | func (client *BlackmagicClient) StartRecording() { method StopRecording (line 44) | func (client *BlackmagicClient) StopRecording() { method sendCommand (line 50) | func (client *BlackmagicClient) sendCommand(command string) { function NewBlackmagicClient (line 27) | func NewBlackmagicClient(addresses string) *BlackmagicClient { FILE: partner/blackmagic_test.go function TestNewBlackmagicClient (line 11) | func TestNewBlackmagicClient(t *testing.T) { FILE: partner/companion.go constant companionConnectTimeoutMs (line 16) | companionConnectTimeoutMs = 1000 type CompanionEvent (line 20) | type CompanionEvent constant EventMatchPreview (line 23) | EventMatchPreview CompanionEvent = "matchPreview" constant EventShowOverlay (line 24) | EventShowOverlay CompanionEvent = "showOverlay" constant EventMatchStart (line 25) | EventMatchStart CompanionEvent = "matchStart" constant EventTeleopStart (line 26) | EventTeleopStart CompanionEvent = "teleopStart" constant EventEndgameStart (line 27) | EventEndgameStart CompanionEvent = "endgameStart" constant EventMatchEnd (line 28) | EventMatchEnd CompanionEvent = "matchEnd" constant EventShowFinalScore (line 29) | EventShowFinalScore CompanionEvent = "showFinalScore" constant EventAllianceSelection (line 30) | EventAllianceSelection CompanionEvent = "allianceSelection" constant EventMatchAbort (line 31) | EventMatchAbort CompanionEvent = "matchAbort" type CompanionEventConfig (line 35) | type CompanionEventConfig struct type CompanionClient (line 41) | type CompanionClient struct method SendEvent (line 61) | func (client *CompanionClient) SendEvent(event CompanionEvent) { method sendCommand (line 77) | func (client *CompanionClient) sendCommand(command string) { method IsEnabled (line 97) | func (client *CompanionClient) IsEnabled() bool { method GetEventConfig (line 102) | func (client *CompanionClient) GetEventConfig(event CompanionEvent) (C... function NewCompanionClient (line 48) | func NewCompanionClient( FILE: partner/companion_test.go function TestNewCompanionClient (line 13) | func TestNewCompanionClient(t *testing.T) { function TestCompanionClient_IsEnabled (line 31) | func TestCompanionClient_IsEnabled(t *testing.T) { function TestCompanionClient_GetEventConfig (line 39) | func TestCompanionClient_GetEventConfig(t *testing.T) { function TestCompanionClient_SendEvent_Disabled (line 59) | func TestCompanionClient_SendEvent_Disabled(t *testing.T) { function TestCompanionClient_SendEvent_UnconfiguredEvent (line 67) | func TestCompanionClient_SendEvent_UnconfiguredEvent(t *testing.T) { function TestCompanionClient_SendEvent_InvalidConfig (line 78) | func TestCompanionClient_SendEvent_InvalidConfig(t *testing.T) { FILE: partner/nexus.go constant nexusBaseUrl (line 17) | nexusBaseUrl = "https://frc.nexus" constant nexusApiKey (line 18) | nexusApiKey = "Vn6D9y80kQcNijDItKOJHg8yYEk" type NexusClient (line 20) | type NexusClient struct method GetLineup (line 36) | func (client *NexusClient) GetLineup(tbaMatchKey model.TbaMatchKey) (*... method getRequest (line 81) | func (client *NexusClient) getRequest(path string) (*http.Response, er... type nexusLineup (line 26) | type nexusLineup struct function NewNexusClient (line 31) | func NewNexusClient(eventCode string) *NexusClient { FILE: partner/nexus_test.go function TestGetLineup (line 15) | func TestGetLineup(t *testing.T) { FILE: partner/tba.go constant tbaBaseUrl (line 24) | tbaBaseUrl = "https://www.thebluealliance.com" constant tbaAuthKey (line 25) | tbaAuthKey = "MAApv9MCuKY9MSFkXLuzTSYBCdosboxDq8Q3ujUE2Mn8PD3Nmv64uczu5L... constant AvatarsDir (line 26) | AvatarsDir = "static/img/avatars" type TbaClient (line 29) | type TbaClient struct method GetTeam (line 175) | func (client *TbaClient) GetTeam(teamNumber int) (*TbaTeam, error) { method GetRobotName (line 195) | func (client *TbaClient) GetRobotName(teamNumber int, year int) (strin... method GetTeamAwards (line 222) | func (client *TbaClient) GetTeamAwards(teamNumber int) ([]*TbaAward, e... method DownloadTeamAvatar (line 255) | func (client *TbaClient) DownloadTeamAvatar(teamNumber, year int) error { method PublishTeams (line 296) | func (client *TbaClient) PublishTeams(database *model.Database) error { method PublishMatches (line 325) | func (client *TbaClient) PublishMatches(database *model.Database) error { method PublishRankings (line 406) | func (client *TbaClient) PublishRankings(database *model.Database) err... method PublishAlliances (line 449) | func (client *TbaClient) PublishAlliances(database *model.Database) er... method PublishAwards (line 500) | func (client *TbaClient) PublishAwards(database *model.Database) error { method DeletePublishedMatches (line 531) | func (client *TbaClient) DeletePublishedMatches() error { method getEventName (line 544) | func (client *TbaClient) getEventName(eventCode string) (string, error) { method getRequest (line 573) | func (client *TbaClient) getRequest(path string) (*http.Response, erro... method postRequest (line 587) | func (client *TbaClient) postRequest(resource string, action string, b... type TbaMatch (line 37) | type TbaMatch struct type TbaAlliance (line 48) | type TbaAlliance struct type TbaScoreBreakdown (line 55) | type TbaScoreBreakdown struct type tbaReef (line 90) | type tbaReef struct type TbaRanking (line 100) | type TbaRanking struct type TbaRankings (line 115) | type TbaRankings struct type TbaTeam (line 120) | type TbaTeam struct type TbaRobot (line 130) | type TbaRobot struct type TbaAward (line 135) | type TbaAward struct type TbaEvent (line 142) | type TbaEvent struct type TbaMediaItem (line 146) | type TbaMediaItem struct type TbaPublishedAward (line 151) | type TbaPublishedAward struct function NewTbaClient (line 165) | func NewTbaClient(eventCode, secretId, secret string) *TbaClient { function getTbaTeam (line 568) | func getTbaTeam(team int) string { function createTbaAlliance (line 609) | func createTbaAlliance(teamIds [3]int, surrogates [3]bool, score *int, c... function createTbaScoringBreakdown (line 630) | func createTbaScoringBreakdown( FILE: partner/tba_test.go function TestPublishTeams (line 20) | func TestPublishTeams(t *testing.T) { function TestPublishMatches (line 46) | func TestPublishMatches(t *testing.T) { function TestPublishRankings (line 92) | func TestPublishRankings(t *testing.T) { function TestPublishAlliances (line 118) | func TestPublishAlliances(t *testing.T) { function TestPublishingErrors (line 148) | func TestPublishingErrors(t *testing.T) { function TestPublishAwards (line 171) | func TestPublishAwards(t *testing.T) { function setupTestDb (line 200) | func setupTestDb(t *testing.T) *model.Database { FILE: playoff/alliance_source.go type allianceSource (line 10) | type allianceSource interface type allianceSelectionSource (line 29) | type allianceSelectionSource struct method AllianceId (line 33) | func (source allianceSelectionSource) AllianceId() int { method displayName (line 37) | func (source allianceSelectionSource) displayName() string { method setDestination (line 41) | func (source allianceSelectionSource) setDestination(destination Match... method update (line 45) | func (source allianceSelectionSource) update(playoffMatchResults map[i... method traverse (line 49) | func (source allianceSelectionSource) traverse(visitFunction func(Matc... type matchupSource (line 55) | type matchupSource struct method AllianceId (line 60) | func (source matchupSource) AllianceId() int { method displayName (line 68) | func (source matchupSource) displayName() string { method setDestination (line 75) | func (source matchupSource) setDestination(destination MatchGroup) { method update (line 86) | func (source matchupSource) update(playoffMatchResults map[int]playoff... method traverse (line 93) | func (source matchupSource) traverse(visitFunction func(MatchGroup) er... FILE: playoff/break_spec.go type breakSpec (line 8) | type breakSpec struct FILE: playoff/double_elimination.go function newDoubleEliminationBracket (line 15) | func newDoubleEliminationBracket(numAlliances int) (*Matchup, []breakSpe... function newDoubleEliminationMatch (line 144) | func newDoubleEliminationMatch(number int, nameDetail string, durationSe... FILE: playoff/double_elimination_test.go function TestDoubleEliminationInitial (line 13) | func TestDoubleEliminationInitial(t *testing.T) { function TestDoubleEliminationErrors (line 69) | func TestDoubleEliminationErrors(t *testing.T) { function TestDoubleEliminationProgression (line 81) | func TestDoubleEliminationProgression(t *testing.T) { FILE: playoff/match_group.go type MatchGroup (line 14) | type MatchGroup interface type matchSpec (line 29) | type matchSpec struct function collectMatchGroups (line 44) | func collectMatchGroups(rootMatchGroup MatchGroup) (map[string]MatchGrou... function collectMatchSpecs (line 59) | func collectMatchSpecs(rootMatchGroup MatchGroup) ([]*matchSpec, error) { FILE: playoff/match_group_test.go function TestCollectMatchGroupsErrors (line 12) | func TestCollectMatchGroupsErrors(t *testing.T) { function TestCollectMatchSpecsErrors (line 35) | func TestCollectMatchSpecsErrors(t *testing.T) { FILE: playoff/matchup.go type Matchup (line 15) | type Matchup struct method Id (line 30) | func (matchup *Matchup) Id() string { method MatchSpecs (line 34) | func (matchup *Matchup) MatchSpecs() []*matchSpec { method update (line 38) | func (matchup *Matchup) update(playoffMatchResults map[int]playoffMatc... method setSourceDestinations (line 90) | func (matchup *Matchup) setSourceDestinations() { method traverse (line 95) | func (matchup *Matchup) traverse(visitFunction func(MatchGroup) error)... method RedAllianceSourceDisplayName (line 110) | func (matchup *Matchup) RedAllianceSourceDisplayName() string { method BlueAllianceSourceDisplayName (line 116) | func (matchup *Matchup) BlueAllianceSourceDisplayName() string { method RedAllianceDestination (line 121) | func (matchup *Matchup) RedAllianceDestination() string { method BlueAllianceDestination (line 126) | func (matchup *Matchup) BlueAllianceDestination() string { method StatusText (line 131) | func (matchup *Matchup) StatusText() (string, string) { method WinningAllianceId (line 156) | func (matchup *Matchup) WinningAllianceId() int { method LosingAllianceId (line 167) | func (matchup *Matchup) LosingAllianceId() int { method IsComplete (line 178) | func (matchup *Matchup) IsComplete() bool { method IsLosingAllianceEliminated (line 183) | func (matchup *Matchup) IsLosingAllianceEliminated() bool { method isFinal (line 188) | func (matchup *Matchup) isFinal() bool { method allianceDestination (line 193) | func (matchup *Matchup) allianceDestination(allianceId int) string { function formatDestinationMatchName (line 217) | func formatDestinationMatchName(destination MatchGroup) string { FILE: playoff/matchup_test.go function TestMatchupAllianceSourceDisplayNames (line 12) | func TestMatchupAllianceSourceDisplayNames(t *testing.T) { function TestMatchupStatusText (line 41) | func TestMatchupStatusText(t *testing.T) { function TestMatchupHideUnnecessaryMatches (line 94) | func TestMatchupHideUnnecessaryMatches(t *testing.T) { function TestMatchupOvertime (line 134) | func TestMatchupOvertime(t *testing.T) { FILE: playoff/playoff_match_result.go type playoffMatchResult (line 10) | type playoffMatchResult struct FILE: playoff/playoff_tournament.go type PlayoffTournament (line 15) | type PlayoffTournament struct method MatchGroups (line 64) | func (tournament *PlayoffTournament) MatchGroups() map[string]MatchGro... method FinalMatchup (line 69) | func (tournament *PlayoffTournament) FinalMatchup() *Matchup { method IsComplete (line 74) | func (tournament *PlayoffTournament) IsComplete() bool { method WinningAllianceId (line 80) | func (tournament *PlayoffTournament) WinningAllianceId() int { method FinalistAllianceId (line 86) | func (tournament *PlayoffTournament) FinalistAllianceId() int { method Traverse (line 91) | func (tournament *PlayoffTournament) Traverse(visitFunction func(Match... method CreateMatchesAndBreaks (line 97) | func (tournament *PlayoffTournament) CreateMatchesAndBreaks(database *... method UpdateMatches (line 186) | func (tournament *PlayoffTournament) UpdateMatches(database *model.Dat... function NewPlayoffTournament (line 24) | func NewPlayoffTournament(playoffType model.PlayoffType, numPlayoffAllia... function positionRedTeams (line 254) | func positionRedTeams(match *model.Match, alliance *model.Alliance) { function positionBlueTeams (line 261) | func positionBlueTeams(match *model.Match, alliance *model.Alliance) { FILE: playoff/playoff_tournament_test.go function TestNewPlayoffTournamentErrors (line 15) | func TestNewPlayoffTournamentErrors(t *testing.T) { function TestPlayoffTournamentGetters (line 22) | func TestPlayoffTournamentGetters(t *testing.T) { function TestPlayoffTournamentCreateMatchesAndBreaks (line 40) | func TestPlayoffTournamentCreateMatchesAndBreaks(t *testing.T) { function TestPlayoffTournamentUpdateMatches (line 132) | func TestPlayoffTournamentUpdateMatches(t *testing.T) { FILE: playoff/single_elimination.go function newSingleEliminationBracket (line 16) | func newSingleEliminationBracket(numAlliances int) (*Matchup, []breakSpe... function newSingleEliminationAllianceSource (line 206) | func newSingleEliminationAllianceSource(matchup *Matchup, numAlliances i... function newSingleEliminationMatch (line 220) | func newSingleEliminationMatch(longRoundName, shortRoundName string, set... function newFinalMatches (line 232) | func newFinalMatches(startingOrder int) []*matchSpec { FILE: playoff/single_elimination_test.go function TestSingleEliminationInitialWith2Alliances (line 13) | func TestSingleEliminationInitialWith2Alliances(t *testing.T) { function TestSingleEliminationInitialWith3Alliances (line 36) | func TestSingleEliminationInitialWith3Alliances(t *testing.T) { function TestSingleEliminationInitialWith4Alliances (line 80) | func TestSingleEliminationInitialWith4Alliances(t *testing.T) { function TestSingleEliminationInitialWith5Alliances (line 110) | func TestSingleEliminationInitialWith5Alliances(t *testing.T) { function TestSingleEliminationInitialWith6Alliances (line 154) | func TestSingleEliminationInitialWith6Alliances(t *testing.T) { function TestSingleEliminationInitialWith7Alliances (line 204) | func TestSingleEliminationInitialWith7Alliances(t *testing.T) { function TestSingleEliminationInitialWith8Alliances (line 260) | func TestSingleEliminationInitialWith8Alliances(t *testing.T) { function TestSingleEliminationInitialWith9Alliances (line 302) | func TestSingleEliminationInitialWith9Alliances(t *testing.T) { function TestSingleEliminationInitialWith10Alliances (line 352) | func TestSingleEliminationInitialWith10Alliances(t *testing.T) { function TestSingleEliminationInitialWith11Alliances (line 408) | func TestSingleEliminationInitialWith11Alliances(t *testing.T) { function TestSingleEliminationInitialWith12Alliances (line 470) | func TestSingleEliminationInitialWith12Alliances(t *testing.T) { function TestSingleEliminationInitialWith13Alliances (line 538) | func TestSingleEliminationInitialWith13Alliances(t *testing.T) { function TestSingleEliminationInitialWith14Alliances (line 612) | func TestSingleEliminationInitialWith14Alliances(t *testing.T) { function TestSingleEliminationInitialWith15Alliances (line 694) | func TestSingleEliminationInitialWith15Alliances(t *testing.T) { function TestSingleEliminationInitialWith16Alliances (line 782) | func TestSingleEliminationInitialWith16Alliances(t *testing.T) { function TestSingleEliminationErrors (line 872) | func TestSingleEliminationErrors(t *testing.T) { function TestSingleEliminationProgression (line 884) | func TestSingleEliminationProgression(t *testing.T) { function assertFullQuarterfinalsOnward (line 967) | func assertFullQuarterfinalsOnward(t *testing.T, matchSpecs []*matchSpec... function assertFullSemifinalsOnward (line 991) | func assertFullSemifinalsOnward(t *testing.T, matchSpecs []*matchSpec, s... function assertFullFinals (line 1009) | func assertFullFinals(t *testing.T, matchSpecs []*matchSpec, startingInd... FILE: playoff/test_helpers.go function setupTestDb (line 14) | func setupTestDb(t *testing.T) *model.Database { type expectedMatchSpec (line 18) | type expectedMatchSpec struct function assertMatchSpecs (line 31) | func assertMatchSpecs( type expectedAlliances (line 54) | type expectedAlliances struct function assertMatchSpecAlliances (line 59) | func assertMatchSpecAlliances( function assertMatchGroups (line 72) | func assertMatchGroups( function assertMatch (line 83) | func assertMatch( function assertBreak (line 132) | func assertBreak( function assertMatchupOutcome (line 147) | func assertMatchupOutcome(t *testing.T, matchGroup MatchGroup, redDestin... FILE: plc/armorblock_string.go function _ (line 7) | func _() { constant _armorBlock_name (line 18) | _armorBlock_name = "redDsblueDsredIoLinkblueIoLinkarmorBlockCount" method String (line 22) | func (i armorBlock) String() string { FILE: plc/coil_string.go function _ (line 7) | func _() { constant _coil_name (line 28) | _coil_name = "heartbeatmatchResetstackLightGreenstackLightOrangestackLig... method String (line 32) | func (i coil) String() string { FILE: plc/fake_modbus_client_test.go type FakeModbusClient (line 10) | type FakeModbusClient struct method ReadCoils (line 17) | func (client *FakeModbusClient) ReadCoils(address, quantity uint16) (r... method ReadDiscreteInputs (line 21) | func (client *FakeModbusClient) ReadDiscreteInputs(address, quantity u... method WriteSingleCoil (line 32) | func (client *FakeModbusClient) WriteSingleCoil(address, value uint16)... method WriteMultipleCoils (line 36) | func (client *FakeModbusClient) WriteMultipleCoils(address, quantity u... method ReadInputRegisters (line 47) | func (client *FakeModbusClient) ReadInputRegisters(address, quantity u... method ReadHoldingRegisters (line 51) | func (client *FakeModbusClient) ReadHoldingRegisters(address, quantity... method WriteSingleRegister (line 64) | func (client *FakeModbusClient) WriteSingleRegister(address, value uin... method WriteMultipleRegisters (line 68) | func (client *FakeModbusClient) WriteMultipleRegisters( method ReadWriteMultipleRegisters (line 74) | func (client *FakeModbusClient) ReadWriteMultipleRegisters( method MaskWriteRegister (line 80) | func (client *FakeModbusClient) MaskWriteRegister(address, andMask, or... method ReadFIFOQueue (line 84) | func (client *FakeModbusClient) ReadFIFOQueue(address uint16) (results... FILE: plc/input_string.go function _ (line 7) | func _() { constant _input_name (line 33) | _input_name = "fieldEStopred1EStopred1AStopred2EStopred2AStopred3EStopre... method String (line 37) | func (i input) String() string { FILE: plc/plc.go type Plc (line 17) | type Plc interface type ModbusPlc (line 40) | type ModbusPlc struct method SetAddress (line 139) | func (plc *ModbusPlc) SetAddress(address string) { method IsEnabled (line 150) | func (plc *ModbusPlc) IsEnabled() bool { method IsHealthy (line 155) | func (plc *ModbusPlc) IsHealthy() bool { method IoChangeNotifier (line 160) | func (plc *ModbusPlc) IoChangeNotifier() *websocket.Notifier { method Run (line 165) | func (plc *ModbusPlc) Run() { method GetArmorBlockStatuses (line 189) | func (plc *ModbusPlc) GetArmorBlockStatuses() map[string]bool { method GetFieldEStop (line 198) | func (plc *ModbusPlc) GetFieldEStop() bool { method GetTeamEStops (line 203) | func (plc *ModbusPlc) GetTeamEStops() ([3]bool, [3]bool) { method GetTeamAStops (line 215) | func (plc *ModbusPlc) GetTeamAStops() ([3]bool, [3]bool) { method GetEthernetConnected (line 227) | func (plc *ModbusPlc) GetEthernetConnected() ([3]bool, [3]bool) { method ResetMatch (line 241) | func (plc *ModbusPlc) ResetMatch() { method SetStackLights (line 253) | func (plc *ModbusPlc) SetStackLights(red, blue, orange, green bool) { method SetStackBuzzer (line 261) | func (plc *ModbusPlc) SetStackBuzzer(state bool) { method SetFieldResetLight (line 266) | func (plc *ModbusPlc) SetFieldResetLight(state bool) { method GetCycleState (line 270) | func (plc *ModbusPlc) GetCycleState(max, index, duration int) bool { method GetInputNames (line 274) | func (plc *ModbusPlc) GetInputNames() []string { method GetRegisterNames (line 282) | func (plc *ModbusPlc) GetRegisterNames() []string { method GetCoilNames (line 290) | func (plc *ModbusPlc) GetCoilNames() []string { method GetProcessorCounts (line 299) | func (plc *ModbusPlc) GetProcessorCounts() (int, int) { method SetTrussLights (line 305) | func (plc *ModbusPlc) SetTrussLights(redLights, blueLights [3]bool) { method connect (line 314) | func (plc *ModbusPlc) connect() error { method resetConnection (line 331) | func (plc *ModbusPlc) resetConnection() { method update (line 339) | func (plc *ModbusPlc) update() { method readInputs (line 365) | func (plc *ModbusPlc) readInputs() bool { method readRegisters (line 384) | func (plc *ModbusPlc) readRegisters() bool { method writeCoils (line 407) | func (plc *ModbusPlc) writeCoils() bool { method generateIoChangeMessage (line 426) | func (plc *ModbusPlc) generateIoChangeMessage() any { constant modbusPort (line 57) | modbusPort = 502 constant plcLoopPeriodMs (line 58) | plcLoopPeriodMs = 100 constant plcRetryIntevalSec (line 59) | plcRetryIntevalSec = 3 constant cycleCounterMax (line 60) | cycleCounterMax = 100 type input (line 66) | type input constant fieldEStop (line 69) | fieldEStop input = iota constant red1EStop (line 70) | red1EStop constant red1AStop (line 71) | red1AStop constant red2EStop (line 72) | red2EStop constant red2AStop (line 73) | red2AStop constant red3EStop (line 74) | red3EStop constant red3AStop (line 75) | red3AStop constant blue1EStop (line 76) | blue1EStop constant blue1AStop (line 77) | blue1AStop constant blue2EStop (line 78) | blue2EStop constant blue2AStop (line 79) | blue2AStop constant blue3EStop (line 80) | blue3EStop constant blue3AStop (line 81) | blue3AStop constant redConnected1 (line 82) | redConnected1 constant redConnected2 (line 83) | redConnected2 constant redConnected3 (line 84) | redConnected3 constant blueConnected1 (line 85) | blueConnected1 constant blueConnected2 (line 86) | blueConnected2 constant blueConnected3 (line 87) | blueConnected3 constant inputCount (line 88) | inputCount type register (line 94) | type register constant fieldIoConnection (line 97) | fieldIoConnection register = iota constant redProcessor (line 98) | redProcessor constant blueProcessor (line 99) | blueProcessor constant registerCount (line 100) | registerCount type coil (line 106) | type coil constant heartbeat (line 109) | heartbeat coil = iota constant matchReset (line 110) | matchReset constant stackLightGreen (line 111) | stackLightGreen constant stackLightOrange (line 112) | stackLightOrange constant stackLightRed (line 113) | stackLightRed constant stackLightBlue (line 114) | stackLightBlue constant stackLightBuzzer (line 115) | stackLightBuzzer constant fieldResetLight (line 116) | fieldResetLight constant redTrussLightOuter (line 117) | redTrussLightOuter constant redTrussLightMiddle (line 118) | redTrussLightMiddle constant redTrussLightInner (line 119) | redTrussLightInner constant blueTrussLightOuter (line 120) | blueTrussLightOuter constant blueTrussLightMiddle (line 121) | blueTrussLightMiddle constant blueTrussLightInner (line 122) | blueTrussLightInner constant coilCount (line 123) | coilCount type armorBlock (line 129) | type armorBlock constant redDs (line 132) | redDs armorBlock = iota constant blueDs (line 133) | blueDs constant redIoLink (line 134) | redIoLink constant blueIoLink (line 135) | blueIoLink constant armorBlockCount (line 136) | armorBlockCount function byteToBool (line 434) | func byteToBool(bytes []byte, size int) []bool { function byteToUint (line 445) | func byteToUint(bytes []byte, size int) []uint16 { function boolToByte (line 453) | func boolToByte(bools []bool) []byte { FILE: plc/plc_test.go function TestPlcInitialization (line 13) | func TestPlcInitialization(t *testing.T) { function TestPlcGetCycleState (line 27) | func TestPlcGetCycleState(t *testing.T) { function TestPlcGetNames (line 60) | func TestPlcGetNames(t *testing.T) { function TestPlcInputs (line 121) | func TestPlcInputs(t *testing.T) { function TestPlcInputsGameSpecific (line 293) | func TestPlcInputsGameSpecific(t *testing.T) { function TestPlcRegisters (line 303) | func TestPlcRegisters(t *testing.T) { function TestPlcRegistersGameSpecific (line 340) | func TestPlcRegistersGameSpecific(t *testing.T) { function TestPlcCoils (line 365) | func TestPlcCoils(t *testing.T) { function TestPlcCoilsGameSpecific (line 434) | func TestPlcCoilsGameSpecific(t *testing.T) { function TestPlcIsHealthy (line 464) | func TestPlcIsHealthy(t *testing.T) { function TestByteToBool (line 486) | func TestByteToBool(t *testing.T) { function TestByteToUint (line 497) | func TestByteToUint(t *testing.T) { function TestBoolToByte (line 505) | func TestBoolToByte(t *testing.T) { FILE: plc/register_string.go function _ (line 7) | func _() { constant _register_name (line 17) | _register_name = "fieldIoConnectionredProcessorblueProcessorregisterCount" method String (line 21) | func (i register) String() string { FILE: static/js/lib/handlebars-1.3.0.js function SafeString (line 34) | function SafeString(string) { function escapeChar (line 65) | function escapeChar(chr) { function extend (line 69) | function extend(obj, value) { function escapeExpression (line 97) | function escapeExpression(string) { function isEmpty (line 114) | function isEmpty(value) { function Exception (line 135) | function Exception(message, node) { function HandlebarsEnvironment (line 184) | function HandlebarsEnvironment(helpers, partials) { function registerDefaultHelpers (line 216) | function registerDefaultHelpers(instance) { function log (line 337) | function log(level, obj) { logger.log(level, obj); } function checkRevision (line 357) | function checkRevision(compilerInfo) { function template (line 377) | function template(templateSpec, env) { function programWithDepth (line 451) | function programWithDepth(i, fn, data /*, $depth */) { function program (line 464) | function program(i, fn, data) { function invokePartial (line 475) | function invokePartial(partial, name, context, helpers, partials, data) { function noop (line 485) | function noop() { return ""; } function LocationInfo (line 535) | function LocationInfo(locInfo){ function popStack (line 886) | function popStack(n) { function lex (line 891) | function lex() { function stripFlags (line 979) | function stripFlags(open, close) { function strip (line 1158) | function strip(start, end) { function Parser (line 1251) | function Parser () { this.yy = {}; } function parse (line 1267) | function parse(input) { function Compiler (line 1285) | function Compiler() {} function precompile (line 1706) | function precompile(input, options, env) { function compile (line 1721) | function compile(input, options, env) { function Literal (line 1763) | function Literal(value) { function JavaScriptCompiler (line 1767) | function JavaScriptCompiler() {} FILE: tournament/awards.go function CreateOrUpdateAward (line 14) | func CreateOrUpdateAward(database *model.Database, award *model.Award, c... function DeleteAward (line 73) | func DeleteAward(database *model.Database, awardId int) error { function CreateOrUpdateWinnerAndFinalistAwards (line 93) | func CreateOrUpdateWinnerAndFinalistAwards(database *model.Database, win... function createOrUpdateAwardLowerThird (line 161) | func createOrUpdateAwardLowerThird( FILE: tournament/awards_test.go function TestCreateOrUpdateAwardWithIntro (line 12) | func TestCreateOrUpdateAwardWithIntro(t *testing.T) { function TestCreateOrUpdateAwardWithoutIntro (line 51) | func TestCreateOrUpdateAwardWithoutIntro(t *testing.T) { function TestCreateOrUpdateWinnerAndFinalistAwards (line 91) | func TestCreateOrUpdateWinnerAndFinalistAwards(t *testing.T) { FILE: tournament/judging_schedule.go type JudgingScheduleParams (line 16) | type JudgingScheduleParams struct type judgeSchedule (line 34) | type judgeSchedule struct function BuildJudgingSchedule (line 41) | func BuildJudgingSchedule(database *model.Database, params JudgingSchedu... function createTeamMatchMap (line 199) | func createTeamMatchMap(teams []model.Team, matches []model.Match) map[i... function getNextSlotForTeam (line 218) | func getNextSlotForTeam( FILE: tournament/judging_schedule_test.go function TestBuildJudgingSchedule (line 14) | func TestBuildJudgingSchedule(t *testing.T) { function TestBuildJudgingScheduleMissingTeamMatches (line 110) | func TestBuildJudgingScheduleMissingTeamMatches(t *testing.T) { function TestGetNextSlotForTeamAfterLastMatch (line 158) | func TestGetNextSlotForTeamAfterLastMatch(t *testing.T) { function TestBuildJudgingScheduleAllowsEndDuringBreak (line 187) | func TestBuildJudgingScheduleAllowsEndDuringBreak(t *testing.T) { FILE: tournament/qualification_rankings.go function CalculateRankings (line 17) | func CalculateRankings(database *model.Database, preservePreviousRank bo... function CalculateTeamCards (line 81) | func CalculateTeamCards(database *model.Database, matchType model.MatchT... function addMatchResultToRankings (line 135) | func addMatchResultToRankings( function sortRankings (line 163) | func sortRankings(rankings map[int]*game.Ranking) game.Rankings { FILE: tournament/qualification_rankings_test.go function TestCalculateRankings (line 15) | func TestCalculateRankings(t *testing.T) { function TestAddMatchResultToRankingsHandleCards (line 107) | func TestAddMatchResultToRankingsHandleCards(t *testing.T) { function setupMatchResultsForRankings (line 127) | func setupMatchResultsForRankings(database *model.Database) { FILE: tournament/schedule.go constant schedulesDir (line 21) | schedulesDir = "schedules" constant TeamsPerMatch (line 22) | TeamsPerMatch = 6 function BuildRandomSchedule (line 26) | func BuildRandomSchedule( function countMatches (line 109) | func countMatches(scheduleBlocks []model.ScheduleBlock) int { FILE: tournament/schedule_test.go function TestMain (line 17) | func TestMain(m *testing.M) { function TestNonExistentSchedule (line 21) | func TestNonExistentSchedule(t *testing.T) { function TestMalformedSchedule (line 31) | func TestMalformedSchedule(t *testing.T) { function TestScheduleTeams (line 55) | func TestScheduleTeams(t *testing.T) { function TestScheduleTiming (line 91) | func TestScheduleTiming(t *testing.T) { function TestScheduleSurrogates (line 108) | func TestScheduleSurrogates(t *testing.T) { function assertMatch (line 133) | func assertMatch( FILE: tournament/test_helpers.go function CreateTestAlliances (line 13) | func CreateTestAlliances(database *model.Database, allianceCount int) { function setupTestDb (line 24) | func setupTestDb(t *testing.T) *model.Database { FILE: web/alliance_selection.go constant allianceSelectionBreakDurationSec (line 27) | allianceSelectionBreakDurationSec = 120 method allianceSelectionGetHandler (line 33) | func (web *Web) allianceSelectionGetHandler(w http.ResponseWriter, r *ht... method allianceSelectionPostHandler (line 42) | func (web *Web) allianceSelectionPostHandler(w http.ResponseWriter, r *h... method allianceSelectionStartHandler (line 103) | func (web *Web) allianceSelectionStartHandler(w http.ResponseWriter, r *... method allianceSelectionResetHandler (line 148) | func (web *Web) allianceSelectionResetHandler(w http.ResponseWriter, r *... method allianceSelectionFinalizeHandler (line 178) | func (web *Web) allianceSelectionFinalizeHandler(w http.ResponseWriter, ... method allianceSelectionWebsocketHandler (line 267) | func (web *Web) allianceSelectionWebsocketHandler(w http.ResponseWriter,... method renderAllianceSelection (line 361) | func (web *Web) renderAllianceSelection(w http.ResponseWriter, r *http.R... method canModifyAllianceSelection (line 406) | func (web *Web) canModifyAllianceSelection() bool { method canResetAllianceSelection (line 415) | func (web *Web) canResetAllianceSelection() bool { method determineNextCell (line 429) | func (web *Web) determineNextCell() (int, int) { FILE: web/alliance_selection_test.go function TestAllianceSelection (line 17) | func TestAllianceSelection(t *testing.T) { function TestAllianceSelectionErrors (line 106) | func TestAllianceSelectionErrors(t *testing.T) { function TestAllianceSelectionReset (line 169) | func TestAllianceSelectionReset(t *testing.T) { function TestAllianceSelectionAutofocus (line 228) | func TestAllianceSelectionAutofocus(t *testing.T) { function TestAllianceSelectionWebsocket (line 319) | func TestAllianceSelectionWebsocket(t *testing.T) { FILE: web/alliance_station_display.go method allianceStationDisplayHandler (line 15) | func (web *Web) allianceStationDisplayHandler(w http.ResponseWriter, r *... method allianceStationDisplayWebsocketHandler (line 37) | func (web *Web) allianceStationDisplayWebsocketHandler(w http.ResponseWr... FILE: web/alliance_station_display_test.go function TestAllianceStationDisplay (line 15) | func TestAllianceStationDisplay(t *testing.T) { function TestAllianceStationDisplayWebsocket (line 28) | func TestAllianceStationDisplayWebsocket(t *testing.T) { FILE: web/announcer_display.go method announcerDisplayHandler (line 15) | func (web *Web) announcerDisplayHandler(w http.ResponseWriter, r *http.R... method announcerDisplayMatchLoadHandler (line 37) | func (web *Web) announcerDisplayMatchLoadHandler(w http.ResponseWriter, ... method announcerDisplayScorePostedHandler (line 52) | func (web *Web) announcerDisplayScorePostedHandler(w http.ResponseWriter... method announcerDisplayWebsocketHandler (line 67) | func (web *Web) announcerDisplayWebsocketHandler(w http.ResponseWriter, ... FILE: web/announcer_display_test.go function TestAnnouncerDisplay (line 14) | func TestAnnouncerDisplay(t *testing.T) { function TestAnnouncerDisplayMatchLoad (line 22) | func TestAnnouncerDisplayMatchLoad(t *testing.T) { function TestAnnouncerDisplayScorePosted (line 34) | func TestAnnouncerDisplayScorePosted(t *testing.T) { function TestAnnouncerDisplayWebsocket (line 44) | func TestAnnouncerDisplayWebsocket(t *testing.T) { FILE: web/api.go type MatchResultWithSummary (line 22) | type MatchResultWithSummary struct type MatchWithResult (line 28) | type MatchWithResult struct type RankingWithNickname (line 33) | type RankingWithNickname struct type allianceMatchup (line 38) | type allianceMatchup struct method matchesApiHandler (line 51) | func (web *Web) matchesApiHandler(w http.ResponseWriter, r *http.Request) { method sponsorSlidesApiHandler (line 97) | func (web *Web) sponsorSlidesApiHandler(w http.ResponseWriter, r *http.R... method rankingsApiHandler (line 124) | func (web *Web) rankingsApiHandler(w http.ResponseWriter, r *http.Reques... method alliancesApiHandler (line 185) | func (web *Web) alliancesApiHandler(w http.ResponseWriter, r *http.Reque... method arenaWebsocketApiHandler (line 208) | func (web *Web) arenaWebsocketApiHandler(w http.ResponseWriter, r *http.... method teamAvatarsApiHandler (line 221) | func (web *Web) teamAvatarsApiHandler(w http.ResponseWriter, r *http.Req... method bracketSvgApiHandler (line 236) | func (web *Web) bracketSvgApiHandler(w http.ResponseWriter, r *http.Requ... method generateBracketSvg (line 254) | func (web *Web) generateBracketSvg(w io.Writer, activeMatch *model.Match... FILE: web/api_test.go function TestMatchesApi (line 18) | func TestMatchesApi(t *testing.T) { function TestRankingsApi (line 80) | func TestRankingsApi(t *testing.T) { function TestSponsorSlidesApi (line 118) | func TestSponsorSlidesApi(t *testing.T) { function TestAlliancesApi (line 138) | func TestAlliancesApi(t *testing.T) { function TestArenaWebsocketApi (line 165) | func TestArenaWebsocketApi(t *testing.T) { function TestBracketSvgApiDoubleElimination (line 181) | func TestBracketSvgApiDoubleElimination(t *testing.T) { FILE: web/audience_display.go method audienceDisplayHandler (line 16) | func (web *Web) audienceDisplayHandler(w http.ResponseWriter, r *http.Re... method audienceDisplayWebsocketHandler (line 46) | func (web *Web) audienceDisplayWebsocketHandler(w http.ResponseWriter, r... FILE: web/audience_display_test.go function TestAudienceDisplay (line 13) | func TestAudienceDisplay(t *testing.T) { function TestAudienceDisplayWebsocket (line 30) | func TestAudienceDisplayWebsocket(t *testing.T) { FILE: web/bracket_display.go method bracketDisplayHandler (line 15) | func (web *Web) bracketDisplayHandler(w http.ResponseWriter, r *http.Req... method bracketDisplayWebsocketHandler (line 36) | func (web *Web) bracketDisplayWebsocketHandler(w http.ResponseWriter, r ... FILE: web/bracket_display_test.go function TestBracketDisplay (line 13) | func TestBracketDisplay(t *testing.T) { function TestBracketDisplayWebsocket (line 21) | func TestBracketDisplayWebsocket(t *testing.T) { FILE: web/display_utils.go method enforceDisplayConfiguration (line 18) | func (web *Web) enforceDisplayConfiguration(w http.ResponseWriter, r *ht... method registerDisplay (line 58) | func (web *Web) registerDisplay(r *http.Request) (*field.Display, error) { FILE: web/field_monitor_display.go method fieldMonitorDisplayHandler (line 18) | func (web *Web) fieldMonitorDisplayHandler(w http.ResponseWriter, r *htt... method fieldMonitorDisplayWebsocketHandler (line 43) | func (web *Web) fieldMonitorDisplayWebsocketHandler(w http.ResponseWrite... FILE: web/field_monitor_display_test.go function TestFieldMonitorDisplay (line 15) | func TestFieldMonitorDisplay(t *testing.T) { function TestFieldMonitorDisplayWebsocket (line 23) | func TestFieldMonitorDisplayWebsocket(t *testing.T) { function TestFieldMonitorFtaDisplayWebsocket (line 52) | func TestFieldMonitorFtaDisplayWebsocket(t *testing.T) { FILE: web/login.go method loginHandler (line 18) | func (web *Web) loginHandler(w http.ResponseWriter, r *http.Request) { method loginPostHandler (line 23) | func (web *Web) loginPostHandler(w http.ResponseWriter, r *http.Request) { method renderLogin (line 44) | func (web *Web) renderLogin(w http.ResponseWriter, r *http.Request, erro... method userIsAdmin (line 62) | func (web *Web) userIsAdmin(w http.ResponseWriter, r *http.Request) bool { method getUserSessionFromCookie (line 80) | func (web *Web) getUserSessionFromCookie(r *http.Request) *model.UserSes... method checkAuthPassword (line 89) | func (web *Web) checkAuthPassword(user, password string) error { FILE: web/login_test.go function TestLoginDisplay (line 11) | func TestLoginDisplay(t *testing.T) { FILE: web/logo_display.go method logoDisplayHandler (line 15) | func (web *Web) logoDisplayHandler(w http.ResponseWriter, r *http.Reques... method logoDisplayWebsocketHandler (line 36) | func (web *Web) logoDisplayWebsocketHandler(w http.ResponseWriter, r *ht... FILE: web/logo_display_test.go function TestLogoDisplay (line 13) | func TestLogoDisplay(t *testing.T) { function TestLogoDisplayWebsocket (line 21) | func TestLogoDisplayWebsocket(t *testing.T) { FILE: web/match_logs.go type MatchLogsListItem (line 20) | type MatchLogsListItem struct type MatchLogRow (line 30) | type MatchLogRow struct type MatchLog (line 51) | type MatchLog struct type MatchLogs (line 57) | type MatchLogs struct method matchLogsHandler (line 64) | func (web *Web) matchLogsHandler(w http.ResponseWriter, r *http.Request) { method matchLogsViewGetHandler (line 108) | func (web *Web) matchLogsViewGetHandler(w http.ResponseWriter, r *http.R... method getMatchLogFromRequest (line 138) | func (web *Web) getMatchLogFromRequest(r *http.Request) (*model.Match, *... method buildMatchLogsList (line 240) | func (web *Web) buildMatchLogsList(matchType model.MatchType) ([]MatchLo... FILE: web/match_play.go type MatchPlayListItem (line 24) | type MatchPlayListItem struct type MatchPlayList (line 32) | type MatchPlayList method Len (line 519) | func (list MatchPlayList) Len() int { method Less (line 524) | func (list MatchPlayList) Less(i, j int) bool { method Swap (line 529) | func (list MatchPlayList) Swap(i, j int) { method matchPlayHandler (line 35) | func (web *Web) matchPlayHandler(w http.ResponseWriter, r *http.Request) { method matchPlayMatchLoadHandler (line 64) | func (web *Web) matchPlayMatchLoadHandler(w http.ResponseWriter, r *http... method matchPlayWebsocketHandler (line 115) | func (web *Web) matchPlayWebsocketHandler(w http.ResponseWriter, r *http... method commitMatchScore (line 378) | func (web *Web) commitMatchScore(match *model.Match, matchResult *model.... method getCurrentMatchResult (line 502) | func (web *Web) getCurrentMatchResult() *model.MatchResult { method commitCurrentMatchScore (line 514) | func (web *Web) commitCurrentMatchScore() error { method buildMatchPlayList (line 534) | func (web *Web) buildMatchPlayList(matchType model.MatchType) (MatchPlay... FILE: web/match_play_test.go function TestMatchPlay (line 21) | func TestMatchPlay(t *testing.T) { function TestMatchPlayMatchList (line 30) | func TestMatchPlayMatchList(t *testing.T) { function TestCommitMatch (line 54) | func TestCommitMatch(t *testing.T) { function TestCommitTiebreak (line 110) | func TestCommitTiebreak(t *testing.T) { function TestCommitCards (line 189) | func TestCommitCards(t *testing.T) { function TestMatchPlayWebsocketCommands (line 269) | func TestMatchPlayWebsocketCommands(t *testing.T) { function TestMatchPlayWebsocketLoadMatch (line 357) | func TestMatchPlayWebsocketLoadMatch(t *testing.T) { function TestMatchPlayWebsocketShowAndClearResult (line 420) | func TestMatchPlayWebsocketShowAndClearResult(t *testing.T) { function TestMatchPlayWebsocketNotifications (line 455) | func TestMatchPlayWebsocketNotifications(t *testing.T) { function readWebsocketStatusMatchTime (line 525) | func readWebsocketStatusMatchTime(t *testing.T, ws *websocket.Websocket)... function getStatusMatchTime (line 529) | func getStatusMatchTime(t *testing.T, messages map[string]any) (bool, fi... FILE: web/match_review.go type MatchReviewListItem (line 17) | type MatchReviewListItem struct method matchReviewHandler (line 30) | func (web *Web) matchReviewHandler(w http.ResponseWriter, r *http.Reques... method matchReviewEditGetHandler (line 74) | func (web *Web) matchReviewEditGetHandler(w http.ResponseWriter, r *http... method matchReviewEditPostHandler (line 110) | func (web *Web) matchReviewEditPostHandler(w http.ResponseWriter, r *htt... method getMatchResultFromRequest (line 153) | func (web *Web) getMatchResultFromRequest(r *http.Request) (*model.Match... method buildMatchReviewList (line 182) | func (web *Web) buildMatchReviewList(matchType model.MatchType) ([]Match... FILE: web/match_review_test.go function TestMatchReview (line 16) | func TestMatchReview(t *testing.T) { function TestMatchReviewEditExistingResult (line 40) | func TestMatchReviewEditExistingResult(t *testing.T) { function TestMatchReviewCreateNewResult (line 89) | func TestMatchReviewCreateNewResult(t *testing.T) { function TestMatchReviewEditCurrentMatch (line 130) | func TestMatchReviewEditCurrentMatch(t *testing.T) { FILE: web/placeholder_display.go method placeholderDisplayHandler (line 15) | func (web *Web) placeholderDisplayHandler(w http.ResponseWriter, r *http... method placeholderDisplayWebsocketHandler (line 36) | func (web *Web) placeholderDisplayWebsocketHandler(w http.ResponseWriter... FILE: web/placeholder_display_test.go function TestPlaceholderDisplay (line 14) | func TestPlaceholderDisplay(t *testing.T) { function TestPlaceholderDisplayWebsocket (line 26) | func TestPlaceholderDisplayWebsocket(t *testing.T) { FILE: web/queueing_display.go constant numNonPlayoffMatchesToShow (line 17) | numNonPlayoffMatchesToShow = 5 constant numPlayoffMatchesToShow (line 18) | numPlayoffMatchesToShow = 4 method queueingDisplayHandler (line 22) | func (web *Web) queueingDisplayHandler(w http.ResponseWriter, r *http.Re... method queueingDisplayMatchLoadHandler (line 46) | func (web *Web) queueingDisplayMatchLoadHandler(w http.ResponseWriter, r... method queueingDisplayWebsocketHandler (line 110) | func (web *Web) queueingDisplayWebsocketHandler(w http.ResponseWriter, r... FILE: web/queueing_display_test.go function TestQueueingDisplay (line 13) | func TestQueueingDisplay(t *testing.T) { function TestQueueingDisplayWebsocket (line 21) | func TestQueueingDisplayWebsocket(t *testing.T) { FILE: web/rankings_display.go method rankingsDisplayHandler (line 15) | func (web *Web) rankingsDisplayHandler(w http.ResponseWriter, r *http.Re... method rankingsDisplayWebsocketHandler (line 36) | func (web *Web) rankingsDisplayWebsocketHandler(w http.ResponseWriter, r... FILE: web/rankings_display_test.go function TestRankingsDisplay (line 13) | func TestRankingsDisplay(t *testing.T) { function TestRankingsDisplayWebsocket (line 21) | func TestRankingsDisplayWebsocket(t *testing.T) { FILE: web/referee_panel.go method refereePanelHandler (line 22) | func (web *Web) refereePanelHandler(w http.ResponseWriter, r *http.Reque... method refereePanelFoulListHandler (line 44) | func (web *Web) refereePanelFoulListHandler(w http.ResponseWriter, r *ht... method refereePanelWebsocketHandler (line 70) | func (web *Web) refereePanelWebsocketHandler(w http.ResponseWriter, r *h... FILE: web/referee_panel_test.go function TestRefereePanel (line 16) | func TestRefereePanel(t *testing.T) { function TestRefereePanelWebsocket (line 24) | func TestRefereePanelWebsocket(t *testing.T) { FILE: web/reports.go method rankingsCsvReportHandler (line 25) | func (web *Web) rankingsCsvReportHandler(w http.ResponseWriter, r *http.... method rankingsPdfReportHandler (line 52) | func (web *Web) rankingsPdfReportHandler(w http.ResponseWriter, r *http.... method findBackupTeams (line 128) | func (web *Web) findBackupTeams(rankings game.Rankings) (game.Rankings, ... type backupTeam (line 165) | type backupTeam struct method backupTeamsCsvReportHandler (line 173) | func (web *Web) backupTeamsCsvReportHandler(w http.ResponseWriter, r *ht... method backupsPdfReportHandler (line 220) | func (web *Web) backupsPdfReportHandler(w http.ResponseWriter, r *http.R... constant cHPad (line 277) | cHPad = 5 constant cVPad (line 278) | cVPad = 5 constant cWidth (line 279) | cWidth = 95 constant cHeight (line 280) | cHeight = 60 constant cSideMargin (line 281) | cSideMargin = 10 constant cTopMargin (line 282) | cTopMargin = 10 constant cImgWidth (line 283) | cImgWidth = 25 constant cWOffset (line 284) | cWOffset = 5 method couponsPdfReportHandler (line 287) | func (web *Web) couponsPdfReportHandler(w http.ResponseWriter, r *http.R... function drawCoupon (line 321) | func drawCoupon(pdf gofpdf.Pdf, eventName string, x float64, y float64, ... function drawEventWatermark (line 333) | func drawEventWatermark(pdf gofpdf.Pdf, x float64, y float64, name strin... function drawCenteredText (line 351) | func drawCenteredText(pdf gofpdf.Pdf, txt string, x float64, y float64) { function drawPdfLogo (line 356) | func drawPdfLogo(pdf gofpdf.Pdf, x float64, y float64, width float64) { method scheduleCsvReportHandler (line 371) | func (web *Web) scheduleCsvReportHandler(w http.ResponseWriter, r *http.... method schedulePdfReportHandler (line 404) | func (web *Web) schedulePdfReportHandler(w http.ResponseWriter, r *http.... method teamsCsvReportHandler (line 548) | func (web *Web) teamsCsvReportHandler(w http.ResponseWriter, r *http.Req... method teamsPdfReportHandler (line 575) | func (web *Web) teamsPdfReportHandler(w http.ResponseWriter, r *http.Req... method wpaKeysCsvReportHandler (line 652) | func (web *Web) wpaKeysCsvReportHandler(w http.ResponseWriter, r *http.R... method alliancesPdfReportHandler (line 675) | func (web *Web) alliancesPdfReportHandler(w http.ResponseWriter, r *http... method bracketPdfReportHandler (line 797) | func (web *Web) bracketPdfReportHandler(w http.ResponseWriter, r *http.R... function surrogateText (line 823) | func surrogateText(isSurrogate bool) string { method cyclePdfReportHandler (line 832) | func (web *Web) cyclePdfReportHandler(w http.ResponseWriter, r *http.Req... method ftaCsvReportHandler (line 936) | func (web *Web) ftaCsvReportHandler(w http.ResponseWriter, r *http.Reque... method judgingSchedulePdfReportHandler (line 963) | func (web *Web) judgingSchedulePdfReportHandler(w http.ResponseWriter, r... function addTimeGeneratedFooter (line 1086) | func addTimeGeneratedFooter(pdf *gofpdf.Fpdf) { function drawMultiLineCell (line 1095) | func drawMultiLineCell(pdf *gofpdf.Fpdf, width, height, lineHeight float... FILE: web/reports_test.go function TestRankingsCsvReport (line 15) | func TestRankingsCsvReport(t *testing.T) { function TestRankingsPdfReport (line 31) | func TestRankingsPdfReport(t *testing.T) { function TestScheduleCsvReport (line 45) | func TestScheduleCsvReport(t *testing.T) { function TestSchedulePdfReport (line 103) | func TestSchedulePdfReport(t *testing.T) { function TestTeamsCsvReport (line 133) | func TestTeamsCsvReport(t *testing.T) { function TestTeamsPdfReport (line 170) | func TestTeamsPdfReport(t *testing.T) { function TestWpaKeysCsvReport (line 191) | func TestWpaKeysCsvReport(t *testing.T) { function TestAlliancesPdfReport (line 206) | func TestAlliancesPdfReport(t *testing.T) { function TestBracketPdfReport (line 217) | func TestBracketPdfReport(t *testing.T) { function TestJudgingSchedulePdfReport (line 226) | func TestJudgingSchedulePdfReport(t *testing.T) { FILE: web/scoring_panel.go type ScoringPosition (line 21) | type ScoringPosition struct method scoringPanelHandler (line 76) | func (web *Web) scoringPanelHandler(w http.ResponseWriter, r *http.Reque... method scoringPanelWebsocketHandler (line 107) | func (web *Web) scoringPanelWebsocketHandler(w http.ResponseWriter, r *h... FILE: web/scoring_panel_test.go function TestScoringPanel (line 16) | func TestScoringPanel(t *testing.T) { function TestScoringPanelWebsocket (line 33) | func TestScoringPanelWebsocket(t *testing.T) { FILE: web/setup_awards.go method awardsGetHandler (line 16) | func (web *Web) awardsGetHandler(w http.ResponseWriter, r *http.Request) { method awardsPostHandler (line 53) | func (web *Web) awardsPostHandler(w http.ResponseWriter, r *http.Request) { FILE: web/setup_awards_test.go function TestSetupAwards (line 12) | func TestSetupAwards(t *testing.T) { FILE: web/setup_breaks.go method breaksGetHandler (line 15) | func (web *Web) breaksGetHandler(w http.ResponseWriter, r *http.Request) { method breaksPostHandler (line 42) | func (web *Web) breaksPostHandler(w http.ResponseWriter, r *http.Request) { FILE: web/setup_breaks_test.go function TestSetupBreaks (line 13) | func TestSetupBreaks(t *testing.T) { FILE: web/setup_displays.go method displaysGetHandler (line 20) | func (web *Web) displaysGetHandler(w http.ResponseWriter, r *http.Reques... method displaysWebsocketHandler (line 42) | func (web *Web) displaysWebsocketHandler(w http.ResponseWriter, r *http.... FILE: web/setup_displays_test.go function TestSetupDisplays (line 15) | func TestSetupDisplays(t *testing.T) { function TestSetupDisplaysWebsocket (line 23) | func TestSetupDisplaysWebsocket(t *testing.T) { function TestSetupDisplaysWebsocketReloadDisplays (line 82) | func TestSetupDisplaysWebsocketReloadDisplays(t *testing.T) { function readDisplayConfiguration (line 109) | func readDisplayConfiguration(t *testing.T, ws *websocket.Websocket) map... FILE: web/setup_field_testing.go method fieldTestingGetHandler (line 19) | func (web *Web) fieldTestingGetHandler(w http.ResponseWriter, r *http.Re... method fieldTestingWebsocketHandler (line 45) | func (web *Web) fieldTestingWebsocketHandler(w http.ResponseWriter, r *h... FILE: web/setup_field_testing_test.go function TestSetupFieldTesting (line 14) | func TestSetupFieldTesting(t *testing.T) { function TestSetupFieldTestingWebsocket (line 24) | func TestSetupFieldTestingWebsocket(t *testing.T) { FILE: web/setup_judging.go method judgingGetHandler (line 25) | func (web *Web) judgingGetHandler(w http.ResponseWriter, r *http.Request) { method judgingGeneratePostHandler (line 34) | func (web *Web) judgingGeneratePostHandler(w http.ResponseWriter, r *htt... method judgingClearPostHandler (line 92) | func (web *Web) judgingClearPostHandler(w http.ResponseWriter, r *http.R... method renderJudging (line 106) | func (web *Web) renderJudging(w http.ResponseWriter, r *http.Request, er... FILE: web/setup_judging_test.go function TestSetupJudging (line 14) | func TestSetupJudging(t *testing.T) { FILE: web/setup_lower_thirds.go method lowerThirdsGetHandler (line 19) | func (web *Web) lowerThirdsGetHandler(w http.ResponseWriter, r *http.Req... method lowerThirdsWebsocketHandler (line 48) | func (web *Web) lowerThirdsWebsocketHandler(w http.ResponseWriter, r *ht... method saveLowerThird (line 158) | func (web *Web) saveLowerThird(lowerThird *model.LowerThird) error { method reorderLowerThird (line 180) | func (web *Web) reorderLowerThird(id int, moveUp bool) error { FILE: web/setup_lower_thirds_test.go function TestSetupLowerThirds (line 15) | func TestSetupLowerThirds(t *testing.T) { FILE: web/setup_schedule.go method scheduleGetHandler (line 22) | func (web *Web) scheduleGetHandler(w http.ResponseWriter, r *http.Reques... method scheduleGeneratePostHandler (line 38) | func (web *Web) scheduleGeneratePostHandler(w http.ResponseWriter, r *ht... method scheduleSavePostHandler (line 122) | func (web *Web) scheduleSavePostHandler(w http.ResponseWriter, r *http.R... method renderSchedule (line 171) | func (web *Web) renderSchedule(w http.ResponseWriter, r *http.Request, e... function getScheduleBlocks (line 220) | func getScheduleBlocks(r *http.Request) ([]model.ScheduleBlock, error) { function getMatchType (line 247) | func getMatchType(r *http.Request) string { FILE: web/setup_schedule_test.go function TestSetupSchedule (line 13) | func TestSetupSchedule(t *testing.T) { function TestSetupScheduleErrors (line 49) | func TestSetupScheduleErrors(t *testing.T) { FILE: web/setup_settings.go method settingsGetHandler (line 22) | func (web *Web) settingsGetHandler(w http.ResponseWriter, r *http.Reques... method settingsPostHandler (line 31) | func (web *Web) settingsPostHandler(w http.ResponseWriter, r *http.Reque... method saveDbHandler (line 173) | func (web *Web) saveDbHandler(w http.ResponseWriter, r *http.Request) { method restoreDbHandler (line 190) | func (web *Web) restoreDbHandler(w http.ResponseWriter, r *http.Request) { method clearDbHandler (line 259) | func (web *Web) clearDbHandler(w http.ResponseWriter, r *http.Request) { method settingsPublishAlliancesHandler (line 310) | func (web *Web) settingsPublishAlliancesHandler(w http.ResponseWriter, r... method settingsPublishAwardsHandler (line 330) | func (web *Web) settingsPublishAwardsHandler(w http.ResponseWriter, r *h... method settingsPublishMatchesHandler (line 350) | func (web *Web) settingsPublishMatchesHandler(w http.ResponseWriter, r *... method settingsPublishRankingsHandler (line 375) | func (web *Web) settingsPublishRankingsHandler(w http.ResponseWriter, r ... method settingsPublishTeamsHandler (line 395) | func (web *Web) settingsPublishTeamsHandler(w http.ResponseWriter, r *ht... method renderSettings (line 414) | func (web *Web) renderSettings(w http.ResponseWriter, r *http.Request, e... method deleteMatchDataForType (line 432) | func (web *Web) deleteMatchDataForType(matchType model.MatchType) error { FILE: web/setup_settings_test.go function TestSetupSettings (line 19) | func TestSetupSettings(t *testing.T) { function TestSetupSettingsDoubleElimination (line 45) | func TestSetupSettingsDoubleElimination(t *testing.T) { function TestSetupSettingsInvalidValues (line 54) | func TestSetupSettingsInvalidValues(t *testing.T) { function TestSetupSettingsClearDb (line 73) | func TestSetupSettingsClearDb(t *testing.T) { function TestSetupSettingsBackupRestoreDb (line 178) | func TestSetupSettingsBackupRestoreDb(t *testing.T) { function TestSetupSettingsPublishToTba (line 210) | func TestSetupSettingsPublishToTba(t *testing.T) { method postFileHttpResponse (line 237) | func (web *Web) postFileHttpResponse(path string, paramName string, file... FILE: web/setup_sponsor_slides.go method sponsorSlidesGetHandler (line 15) | func (web *Web) sponsorSlidesGetHandler(w http.ResponseWriter, r *http.R... method sponsorSlidesPostHandler (line 46) | func (web *Web) sponsorSlidesPostHandler(w http.ResponseWriter, r *http.... method reorderSponsorSlide (line 104) | func (web *Web) reorderSponsorSlide(id int, moveUp bool) error { FILE: web/setup_sponsor_slides_test.go function TestSetupSponsorSlides (line 12) | func TestSetupSponsorSlides(t *testing.T) { FILE: web/setup_teams.go constant wpaKeyLength (line 20) | wpaKeyLength = 8 method teamsGetHandler (line 26) | func (web *Web) teamsGetHandler(w http.ResponseWriter, r *http.Request) { method teamsPostHandler (line 35) | func (web *Web) teamsPostHandler(w http.ResponseWriter, r *http.Request) { method teamsRefreshHandler (line 76) | func (web *Web) teamsRefreshHandler(w http.ResponseWriter, r *http.Reque... method teamsClearHandler (line 108) | func (web *Web) teamsClearHandler(w http.ResponseWriter, r *http.Request) { method teamEditGetHandler (line 127) | func (web *Web) teamEditGetHandler(w http.ResponseWriter, r *http.Reques... method teamEditPostHandler (line 160) | func (web *Web) teamEditPostHandler(w http.ResponseWriter, r *http.Reque... method teamDeletePostHandler (line 202) | func (web *Web) teamDeletePostHandler(w http.ResponseWriter, r *http.Req... method teamsGenerateWpaKeysHandler (line 231) | func (web *Web) teamsGenerateWpaKeysHandler(w http.ResponseWriter, r *ht... method teamsUpdateProgressBarHandler (line 257) | func (web *Web) teamsUpdateProgressBarHandler(w http.ResponseWriter, r *... method renderTeams (line 262) | func (web *Web) renderTeams(w http.ResponseWriter, r *http.Request, show... method canModifyTeamList (line 287) | func (web *Web) canModifyTeamList() bool { method populateOfficialTeamInfo (line 296) | func (web *Web) populateOfficialTeamInfo(team *model.Team) error { FILE: web/setup_teams_test.go function TestSetupTeams (line 16) | func TestSetupTeams(t *testing.T) { function TestSetupTeamsDisallowModification (line 142) | func TestSetupTeamsDisallowModification(t *testing.T) { function TestSetupTeamsBadReqest (line 175) | func TestSetupTeamsBadReqest(t *testing.T) { function TestSetupTeamsWpaKeys (line 189) | func TestSetupTeamsWpaKeys(t *testing.T) { function TestSetupTeamsProgress (line 221) | func TestSetupTeamsProgress(t *testing.T) { FILE: web/twitch_display.go method twitchDisplayHandler (line 15) | func (web *Web) twitchDisplayHandler(w http.ResponseWriter, r *http.Requ... method twitchDisplayWebsocketHandler (line 36) | func (web *Web) twitchDisplayWebsocketHandler(w http.ResponseWriter, r *... FILE: web/twitch_display_test.go function TestTwitchDisplay (line 13) | func TestTwitchDisplay(t *testing.T) { function TestTwitchDisplayWebsocket (line 21) | func TestTwitchDisplayWebsocket(t *testing.T) { FILE: web/wall_display.go method wallDisplayHandler (line 16) | func (web *Web) wallDisplayHandler(w http.ResponseWriter, r *http.Reques... method wallDisplayWebsocketHandler (line 49) | func (web *Web) wallDisplayWebsocketHandler(w http.ResponseWriter, r *ht... FILE: web/wall_display_test.go function TestWallDisplay (line 13) | func TestWallDisplay(t *testing.T) { function TestWallDisplayWebsocket (line 32) | func TestWallDisplayWebsocket(t *testing.T) { FILE: web/web.go constant sessionTokenCookie (line 23) | sessionTokenCookie = "session_token" constant adminUser (line 24) | adminUser = "admin" type Web (line 27) | type Web struct method ServeWebInterface (line 90) | func (web *Web) ServeWebInterface(port int) { method indexHandler (line 100) | func (web *Web) indexHandler(w http.ResponseWriter, r *http.Request) { method newHandler (line 127) | func (web *Web) newHandler() http.Handler { method parseFiles (line 247) | func (web *Web) parseFiles(filenames ...string) (*template.Template, e... function NewWeb (line 32) | func NewWeb(arena *field.Arena) *Web { function addNoCacheHeader (line 117) | func addNoCacheHeader(handler http.Handler) http.Handler { function handleWebErr (line 241) | func handleWebErr(w http.ResponseWriter, err error) { FILE: web/web_test.go function TestIndex (line 18) | func TestIndex(t *testing.T) { method getHttpResponse (line 26) | func (web *Web) getHttpResponse(path string) *httptest.ResponseRecorder { method getHttpResponseWithHeaders (line 33) | func (web *Web) getHttpResponseWithHeaders(path string, headers map[stri... method postHttpResponse (line 43) | func (web *Web) postHttpResponse(path string, body string) *httptest.Res... method startTestServer (line 52) | func (web *Web) startTestServer() (*httptest.Server, string) { function readWebsocketError (line 58) | func readWebsocketError(t *testing.T, ws *websocket.Websocket) string { function readWebsocketType (line 67) | func readWebsocketType(t *testing.T, ws *websocket.Websocket, expectedMe... function readWebsocketMultiple (line 75) | func readWebsocketMultiple(t *testing.T, ws *websocket.Websocket, count ... function setupTestWeb (line 86) | func setupTestWeb(t *testing.T) *Web { FILE: web/webpage_display.go method webpageDisplayHandler (line 15) | func (web *Web) webpageDisplayHandler(w http.ResponseWriter, r *http.Req... method webpageDisplayWebsocketHandler (line 36) | func (web *Web) webpageDisplayWebsocketHandler(w http.ResponseWriter, r ... FILE: web/webpage_display_test.go function TestWebpageDisplay (line 13) | func TestWebpageDisplay(t *testing.T) { function TestWebpageDisplayWebsocket (line 21) | func TestWebpageDisplayWebsocket(t *testing.T) { FILE: websocket/notifier.go constant notifyBufferSize (line 14) | notifyBufferSize = 5 type Notifier (line 16) | type Notifier struct method Notify (line 36) | func (notifier *Notifier) Notify() { method NotifyWithMessage (line 42) | func (notifier *Notifier) NotifyWithMessage(messageBody any) { method notifyListener (line 52) | func (notifier *Notifier) notifyListener(listener chan messageEnvelope... method listen (line 72) | func (notifier *Notifier) listen() chan messageEnvelope { method getMessageBody (line 82) | func (notifier *Notifier) getMessageBody() any { type messageEnvelope (line 23) | type messageEnvelope struct function NewNotifier (line 28) | func NewNotifier(messageType string, messageProducer func() any) *Notifi... FILE: websocket/notifier_test.go function TestNotifier (line 13) | func TestNotifier(t *testing.T) { function TestNotifyMultipleListeners (line 57) | func TestNotifyMultipleListeners(t *testing.T) { function generateTestMessage (line 88) | func generateTestMessage() any { FILE: websocket/websocket.go constant pingInterval (line 21) | pingInterval = time.Second * 10 type Websocket (line 24) | type Websocket struct method Close (line 49) | func (ws *Websocket) Close() error { method Read (line 53) | func (ws *Websocket) Read() (string, any, error) { method ReadWithTimeout (line 72) | func (ws *Websocket) ReadWithTimeout(timeout time.Duration) (string, a... method Write (line 92) | func (ws *Websocket) Write(messageType string, data any) error { method WriteNotifier (line 105) | func (ws *Websocket) WriteNotifier(notifier *Notifier) error { method WriteError (line 109) | func (ws *Websocket) WriteError(errorMessage string) error { method HandleNotifiers (line 114) | func (ws *Websocket) HandleNotifiers(notifiers ...*Notifier) { type Message (line 29) | type Message struct function NewWebsocket (line 37) | func NewWebsocket(w http.ResponseWriter, r *http.Request) (*Websocket, e... function NewTestWebsocket (line 45) | func NewTestWebsocket(conn *websocket.Conn) *Websocket { FILE: websocket/websocket_test.go function TestWebsocket (line 16) | func TestWebsocket(t *testing.T) { function assertMessage (line 110) | func assertMessage(t *testing.T, ws *Websocket, expectedMessageType stri...