mirror of
https://github.com/Team254/cheesy-arena-lite.git
synced 2026-03-09 21:56:50 -04:00
Fixed packet count and trip time decoding and tests.
This commit is contained in:
@@ -173,7 +173,7 @@ func decodeStatusPacket(data [50]byte) *DriverStationStatus {
|
||||
dsStatus.PacketCount = int(data[28])*256 + int(data[29])
|
||||
|
||||
// Average DS-robot trip time in milliseconds, stored in two big-endian bytes.
|
||||
dsStatus.DsRobotTripTimeMs = int(data[29])*256 + int(data[30])
|
||||
dsStatus.DsRobotTripTimeMs = int(data[30])*256 + int(data[31])
|
||||
|
||||
// Robot battery voltage, stored (bizarrely) what it looks like in decimal but as two hexadecimal numbers.
|
||||
dsStatus.BatteryVoltage, _ = strconv.ParseFloat(fmt.Sprintf("%x.%x", data[40], data[41]), 32)
|
||||
|
||||
@@ -98,7 +98,7 @@ func TestSendControlPacket(t *testing.T) {
|
||||
func TestDecodeStatusPacket(t *testing.T) {
|
||||
// Check with no linked robot.
|
||||
data := [50]byte{0, 0, 64, 1, 2, 54, 0, 0, 0, 0, 82, 49, 0, 0, 0, 0, 0, 0, 48, 50, 49, 50, 49, 51, 48, 48,
|
||||
152, 160, 152, 160, 255, 255, 255, 255, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 7, 189, 111}
|
||||
98, 200, 63, 43, 0, 11, 0, 240, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 7, 189, 111}
|
||||
dsStatus := decodeStatusPacket(data)
|
||||
assert.Equal(t, 254, dsStatus.TeamId)
|
||||
assert.Equal(t, "R1", dsStatus.AllianceStation)
|
||||
@@ -108,9 +108,9 @@ func TestDecodeStatusPacket(t *testing.T) {
|
||||
assert.Equal(t, false, dsStatus.EmergencyStop)
|
||||
assert.Equal(t, 0, dsStatus.BatteryVoltage)
|
||||
assert.Equal(t, "02121300", dsStatus.DsVersion)
|
||||
assert.Equal(t, 39072, dsStatus.PacketCount)
|
||||
assert.Equal(t, 39072, dsStatus.MissedPacketCount)
|
||||
assert.Equal(t, 41215, dsStatus.DsRobotTripTimeMs)
|
||||
assert.Equal(t, 16171, dsStatus.PacketCount)
|
||||
assert.Equal(t, 25288, dsStatus.MissedPacketCount)
|
||||
assert.Equal(t, 11, dsStatus.DsRobotTripTimeMs)
|
||||
|
||||
// Check different team numbers.
|
||||
data = [50]byte{0, 0, 64, 1, 7, 66, 0, 0, 0, 0, 82, 49, 0, 0, 0, 0, 0, 0, 48, 50, 49, 50, 49, 51, 48, 48,
|
||||
@@ -151,8 +151,6 @@ func TestDecodeStatusPacket(t *testing.T) {
|
||||
152, 160, 152, 160, 255, 255, 255, 255, 82, 0, 0, 0, 0, 0, 25, 117, 0, 0, 0, 0, 42, 7, 189, 111}
|
||||
dsStatus = decodeStatusPacket(data)
|
||||
assert.Equal(t, 19.75, dsStatus.BatteryVoltage)
|
||||
|
||||
// TODO(patrick): Check packet counts and trip time.
|
||||
}
|
||||
|
||||
func TestListenForDsPackets(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user