RoboPIU FRC Message Packet Specification

版本 v0.0.1 (alpha)

总述

这篇文档规定了上位机与 RoboPIU 在基于 FRC (FIRST Robotics Competition) 机器人程序环境下的通讯包格式和参数。通讯的物理层可以是 USART (USB),或者 Ethernet 网络。网络环境下使用 socket 进行数据流的传输。

格式

每一个消息都由一段元信息和一段 JSON 格式的内容构成。

元信息 meta

元信息有两个字段,共 6 字节:

含义 识别符 数据长度
长度 4 x uint8_t uint16_t
内容 0xCA 0xCA 0xCA 0xCA <内容长度>

识别符用来标识这是一个正确的 FRC 数据包,而数据长度告诉 RoboPIU 继续从数据流中读取的数据量。

内容

内容使用 JSON 格式的字符串,并且规定以下必需的字段:

{
"<数据路径>": <数据值>,
"timestamp": <发送时的时间戳>
}

数据路径代表了隶属于不同域的数据值的位置,域和子域,以及和数据路径的名称之间用正斜杠"/„连接

FRC 中的数据路径有以下这些条:

Driverstation

数据路径 含义 格式 注释
/driverstation/enabled 机器人是否处于 Enabled 状态 true/false
/driverstation/autonomous 机器人是否处于自动模式 true/false
/driverstation/test 机器人是否处于 test 模式 true/false
/driverstation/estop 机器人是否处于 Emergency Stop 状态 true/false
/driverstation/fms 控制台是否连接 FMS 场控 true/false
/driverstation/ds 是否连接了 driverstation true/false
/driverstation/station 机器人所处的场地台号 "red1"/"red2"/"red3"/"blue1"/"blue2"/"blue3"
/driverstation/match_time 比赛赛场时间 type: float driverstation 不处于 practice mode 时这一项是随机值
/driverstation/game_data 每年不同的赛场上的数据值 type: string

Joystick

数据路径 含义 格式 注释
/joystick//axes/ 手柄的摇杆值 -1.0 .. 1.0 index 范围是 0..3,axis_index 范围是 0..5
/joystick//buttons/ 手柄的按钮值 true/false index 范围是 0..3,button_index 范围是 0..11
/joystick//pov 手柄的 POV 值 -1/0/45/90/135/180/225/270/315 index 范围是 0..3,POV 没有被按下时是 -1,否则是对应的角度,0 为上

PWM

数据路径 含义 格式 注释
/pwm//value PWM 端口的输出值 -1.0 .. 1.0 index 范围是 0..9

Analog

数据路径 含义 格式 注释
/analog//value 模拟端口的输入值 0.0 .. 1.0 index 范围是 0..3

DIO

数据路径 含义 格式 注释
/dio//value DIO 端口的输入/输出值 true/false index 范围是 0..9

你可能感兴趣的:(RoboPIU FRC Message Packet Specification)