T613通信协议
T613与客户使用的Soc通信方式有两种:
- Uart 方式通信
- I2C 方式通信
下面我们分别介绍一下通信过程中,具体的实现原理和通信细节。
第一部分: Uart 方式通信
帧格式:
帧头 |
Cmd |
Cmd_Val |
X_Val |
Y_Val |
Z_Val |
CheckSum |
帧详解:
UART |
Head |
0x55AA55AA |
4bytes |
Cmd |
命令字 |
1byte |
|
Cmd_Val |
对应命令的值 |
1byte |
|
X_Val |
X方向的角度值 |
2bytes |
|
Y_Val |
Y方向的角度值 |
2bytes |
|
Z_Val |
Z方向的角度值 |
2bytes |
|
CheckSum |
校验位 |
2bytes |
Head:固定4bytes, 0x55AA55AA
Cmd_Val:相应命令字对应的值大小。比如:
Cmd为LT_ON,
Cmd_Val = 0xf2;则LT_ON的时候设置的值为0xf2,
当Command为LT_OFF,
Cmd_Val = 0xf2,那么此时的Func_Val值无效。
X_Val: X方向的实时角度值。
Y_Val: Y方向的实时角度值。
Z_Val: Z方向的实时角度值。
CheckSum: 校验位。
CheckSum = Cmd + Cmd_Val + X_Val + Y_Val + Z_Val
2、命令字
Typedefenum I2C_UART_CMD{
CMD_ZRota_ON = 0, // 0x00开启左右梯形校正
CMD_ZRota_OFF, // 0x01关闭左右梯形校正
CMD_VCali_ON, // 0x02开启上下梯形校正
CMD_VCali_OFF, // 0x03关闭上下梯形校正
CMD_HCali_ON, // 0x04开启画面旋转
CMD_HCali_OFF, // 0x05关闭画面旋转
CMD_DigFocus_ON, // 0x06开启数字校正
CMD_DigFocus_OFF, // 0x07关闭数字校正
CMD_UnifoBri_ON, // 0x08开启亮度校正
CMD_UnifoBri_OFF, // 0x09关闭亮度校正
CMD_HLinear_ON, // 0x0a开启水平方向线性校正
CMD_HLinear_OFF, // 0x0b关闭水平方向线性校正
CMD_VLinear_ON, // 0x0c开启垂直方向线性校正
CMD_VLinear_OFF, // 0x0d关闭垂直方向线性校正
//陀螺仪原点参考位置选取
CMD_CaliLoca, // 0x0e选取参考位置,此时将XYZ置零
CMD_Rectify_ON, // 0x0f开启自动校正,APP自动更新
CMD_Rectify_OFF, // 0x10关闭自动校正,APP不更新
CMD_Reset, // 0x11复位APP所有设定的值到初始态
CMD_Raspberry, // 0x12 切换树莓派控制
//四点位置校正
//当FPCORR打开时,后面的四点坐标数据才会有效,否则无效
CMD_FPCorr_ON, // 0x13开启四点校正
CMD_FPCorr_OFF, // 0x14关闭四点校正
CMD_CorrA_PX, // 0x15 A点校正X方向值
CMD_CorrA_PY, // 0x16 A点校正Y方向值
CMD_CorrB_PX, // 0x17 B点校正X方向值
CMD_CorrB_PY, // 0x18 B点校正Y方向值
CMD_CorrC_PX, // 0x19 C点校正X方向值
CMD_CorrC_PY, // 0x1a C点校正Y方向值
CMD_CorrD_PX, // 0x1b D点校正X方向值
CMD_CorrD_PY, // 0x1c D点校正Y方向值
CMD_Deflt_Val, // 0x1d 恢复四点初始值
CMD_ReturnBefore, // 0x1e恢复四点校正前的值
CMD_Rotate_ON, // 0x1f打开画面上下翻转180度
CMD_Rotate_OFF, // 0x20关闭画面上下翻转180度
};
注:以上指令中Cmd_Val在
CMD_CaliLoca, // 0x0e选取参考位置,此时将XYZ置零
CMD_Rectify_ON, // 0x0f开启自动校正,APP自动更新
CMD_Rectify_OFF, // 0x10关闭自动校正,APP不更新
CMD_Reset, // 0x11复位APP所有设定的值到初始态
CMD_RASPBERRY, // 0x12切换RASPBERRY和LIGTHING
CMD_Deflt_Val, // 0x1d 恢复四点初始值
CMD_ReturnBefore // 0x1e恢复四点校正前的值
CMD_Rotate_ON, // 0x1f打开画面上下翻转180