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. Other values will invoke crash

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

Button

1 bit per button, so the number of bytes is count / 8 + ((count == 0) ? 0 : 1)

Stored LSB 0. All bits after the specified number of buttons are 0.

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