依赖与架构准备
This commit is contained in:
27
docs/Transmit/ctrl_command.md
Normal file
27
docs/Transmit/ctrl_command.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# 控制指令的发送说明
|
||||
|
||||
在主机外接收的控制板中的控制代码的实现是:
|
||||
|
||||
```c
|
||||
// CAN 速率 1000kbps
|
||||
void CToC_CANDataProcess(unit32_t ID, uint8_t *Data)
|
||||
{
|
||||
// 以下所有变量有效范围为 [-660,660]
|
||||
if(ID == 0x149) // 运动控制
|
||||
{
|
||||
|
||||
Remote_RxData.Remote_R_RL =(int16_t)((uint16_t)Data[0]<<8 | Data[1]); // 平动 X 轴(左右)
|
||||
Remote_RxData.Remote_R_UD =(int16_t)((uint16_t)Data[2]<<8 | Data[3]); // 平动 Y 轴(前后)
|
||||
Remote_RxData.Remote_L_RL =(int16_t)((uint16_t)Data[4]<<8 | Data[5]); // 云台偏航 (左右)
|
||||
Remote_RxData.Remote_L_UD =(int16_t)((uint16_t)Data[6]<<8 | Data[7]); // 云台俯仰 (上下)
|
||||
}
|
||||
else if(ID == 0x189) // 攻击控制
|
||||
{
|
||||
Remote_RxData.Remote_ThumbWheel =(int16_t)((uint16_t)Data[0]<<8 | Data[1]); // 拨弹盘(进弹/退弹),660 为进弹,0 为关闭,-660 为退弹
|
||||
Remote_RxData.Remote_RS =(int16_t)((uint16_t)Data[2]<<8 | Data[3]); // 小陀螺(反自瞄)开关,置 660 为开启,0 为关闭
|
||||
Remote_RxData.Remote_LS =(int16_t)((uint16_t)Data[4]<<8 | Data[5]); // 摩擦轮开关, 置 660 为开启,0 为关闭
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
两个 ID 分别是云台和底盘的控制板,在处于进点/回家状态时不应开启小陀螺,发射弹丸需要**打开摩擦轮 同时 进弹**,因此只有在处于攻击状态时开启摩擦轮,此时可以将进弹视为扳机。
|
||||
Reference in New Issue
Block a user