From d1968033403f9bf70941ecdcf82c8c5018bfa194 Mon Sep 17 00:00:00 2001 From: Jay <44783760+jschenke488@users.noreply.github.com> Date: Tue, 29 Oct 2024 10:00:51 -0500 Subject: [PATCH] Add RIO ping --- field/driver_station_connection.go | 3 +++ field/team_match_log.go | 3 ++- static/css/field_monitor_display.css | 3 +++ static/js/field_monitor_display.js | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/field/driver_station_connection.go b/field/driver_station_connection.go index f26c6e09..b3e37b1e 100644 --- a/field/driver_station_connection.go +++ b/field/driver_station_connection.go @@ -36,6 +36,7 @@ type DriverStationConnection struct { Estop bool DsLinked bool RadioLinked bool + RioLinked bool RobotLinked bool BatteryVoltage float64 DsRobotTripTimeMs int @@ -99,6 +100,7 @@ func (arena *Arena) listenForDsUdpPackets() { dsConn.DsLinked = true dsConn.lastPacketTime = time.Now() + dsConn.RioLinked = data[3]&0x08 != 0 dsConn.RadioLinked = data[3]&0x10 != 0 dsConn.RobotLinked = data[3]&0x20 != 0 if dsConn.RobotLinked { @@ -120,6 +122,7 @@ func (dsConn *DriverStationConnection) update(arena *Arena) error { if time.Since(dsConn.lastPacketTime).Seconds() > driverStationUdpLinkTimeoutSec { dsConn.DsLinked = false + dsConn.RioLinked = false dsConn.RadioLinked = false dsConn.RobotLinked = false dsConn.BatteryVoltage = 0 diff --git a/field/team_match_log.go b/field/team_match_log.go index ea888f5c..d0358930 100644 --- a/field/team_match_log.go +++ b/field/team_match_log.go @@ -38,7 +38,7 @@ func NewTeamMatchLog(teamId int, match *model.Match, wifiStatus *network.TeamWif } log := TeamMatchLog{log.New(logFile, "", 0), logFile, wifiStatus} - log.logger.Println("matchTimeSec,packetType,teamId,allianceStation,dsLinked,radioLinked,robotLinked,auto,enabled," + + log.logger.Println("matchTimeSec,packetType,teamId,allianceStation,dsLinked,radioLinked,rioLinked,robotLinked,auto,enabled," + "emergencyStop,batteryVoltage,missedPacketCount,dsRobotTripTimeMs,rxRate,txRate,signalNoiseRatio") return &log, nil @@ -54,6 +54,7 @@ func (log *TeamMatchLog) LogDsPacket(matchTimeSec float64, packetType int, dsCon dsConn.AllianceStation, dsConn.DsLinked, dsConn.RadioLinked, + dsConn.RioLinked, dsConn.RobotLinked, dsConn.Auto, dsConn.Enabled, diff --git a/static/css/field_monitor_display.css b/static/css/field_monitor_display.css index 108fda04..e9becf59 100644 --- a/static/css/field_monitor_display.css +++ b/static/css/field_monitor_display.css @@ -69,6 +69,9 @@ body { background-color: #00ff00; color: #333; } +.team-id[data-status=rio-linked], .team-notes[data-status=rio-linked] { + background-color: #00cc00; +} .team-id[data-status=radio-linked], .team-notes[data-status=radio-linked] { background-color: #AA3377; } diff --git a/static/js/field_monitor_display.js b/static/js/field_monitor_display.js index a5329302..65902835 100644 --- a/static/js/field_monitor_display.js +++ b/static/js/field_monitor_display.js @@ -41,6 +41,8 @@ var handleArenaStatus = function(data) { status = "wrong-station"; } else if (stationStatus.DsConn.RobotLinked) { status = "robot-linked"; + } else if (stationStatus.DsConn.RioLinked) { + status = "rio-linked"; } else if (stationStatus.DsConn.RadioLinked) { status = "radio-linked"; } else if (stationStatus.DsConn.DsLinked) {