Driver Station to RoboRIO¶
UDP¶
Sent every 20ms to the RoboRIO, UDP port 1110 (port 1115 when connected to FMS)
Field | Length | Type | Comment |
---|---|---|---|
Sequence Num | 2 | uint16 | |
Comm Version | 1 | uint8 | 0x01 is currently the only observed value |
Control | 1 | Control | |
Request | 1 | Request | |
Alliance | 1 | Alliance | |
Tags | n | Tags |
Control¶
Field | Mask | Comment |
---|---|---|
E-Stop | x....... |
|
FMS Connected | ....x... |
|
Enabled | .....x.. |
|
Mode | ......xx |
0: Teleop, 1: Test, 2: Autonomous |
Request¶
Field | Mask | Comment |
---|---|---|
Reboot RoboRIO | ....x... |
|
Restart Code | .....x.. |
Alliance¶
Color is Red if value < 3
, else Blue. Position is value % 3 + 1
Tags¶
Field | Length | Type | Comment |
---|---|---|---|
Size | 1 | uint8 | |
ID | 1 | uint8 | See table below |
Data | n | Depends on tag type |
ID | Tag |
---|---|
0x07 |
Countdown |
0x0c |
Joystick |
0x0f |
Date |
0x10 |
Timezone |
Countdown 0x07
¶
Field | Length | Type | Comment |
---|---|---|---|
Countdown | 4 | float | In seconds |
Joystick 0x0c
¶
Field | Length | Type | Comment |
---|---|---|---|
Axis Count | 1 | uint8 | Number of axis bytes to follow |
Axes | n | int8 | -128 to 127, for each axis |
Button Count | 1 | uint8 | Number of buttons |
Buttons | n | Button | Bytes containing button data |
POV Count | 1 | uint8 | Number of POVs |
POVs | 2 * n | int16 | 0 to 360, -1 if not pressed |
Date 0x0f
¶
This and Timezone below are sent once when the DS first connects.
Field | Length | Type | Comment |
Microseconds | 4 | uint32 | |
Second | 1 | uint8 | |
Minute | 1 | uint8 | |
Hour | 1 | uint8 | In UTC |
Day | 1 | uint8 | |
Month | 1 | uint8 | 0 is January |
Year | 1 | uint8 | Year (starting at 1900) |
Timezone 0x10
¶
Field | Length | Type | Comment |
Timezone | n | string | Timezone |
TCP¶
Sent over TCP port 1740. Strings are either prefixed with a length (specified) or implied.
Field | Length | Type | Comment |
Size | 2 | uint16 | Including ID |
ID | 1 | uint8 | See table below (only if Size > 0) |
Tags | n | Tags |
Tags¶
ID | Tag |
0x02 |
Joystick Descriptor |
0x07 |
Match Info |
0x0e |
Game Data |
Joystick Descriptor 0x02
¶
Sends everything on the USB Devices tab of the DS, whether connected or not. Sent when joystick is plugged in, unplugged, or reordered.
Field | Length | Type | Comment |
---|---|---|---|
Index | 1 | uint8 | |
Is Xbox | 1 | bool | True if XBox controller |
Type | 1 | int8 | See below |
Name | 1 + n | string | |
Axis Count | 1 | uint8 | |
Axis Types | n | bytes | See below (one per axis) |
Button Count | 1 | uint8 | |
POV Count | 1 | uint8 |
Joystick Type¶
Num | Type | Num | Type |
-1 | Unknown | 8 | XInput Drum Kit |
0 | XInput Unknown | 11 | XInput Guitar 3 |
1 | XInput Gamepad | 19 | XINput Arcade Pad |
2 | XInput Wheel | 20 | HID Joystick |
3 | XInput Arcade | 21 | HID Gamepad |
4 | XInput Flight Stick | 22 | HID Driving |
5 | XInput Dance Pad | 23 | HID Flight |
6 | XInput Guitar | 24 | HID 1st Person |
7 | XInput Guitar 2 |
Axis Type¶
Num | Type | Num | Type |
---|---|---|---|
0 | X Axis | 3 | Twist Axis |
1 | Y Axis | 4 | Throttle Axis |
2 | Z Axis |
Match Info 0x07
¶
Field | Length | Type | Comment |
---|---|---|---|
Competition | 1 + n | string | |
Match Type | 1 | enum | 0:”None”, 1:Practice, 2:Qualifications, 3:Eliminations |
Game Data 0x0e
¶
Field | Length | Type | Comment |
---|---|---|---|
Game Data | n | string |