运球赛已测,这个进攻想法不能用
This commit is contained in:
parent
3654e052e7
commit
f5a40b99b1
6
MDK-ARM/.vscode/keil-assistant.log
vendored
6
MDK-ARM/.vscode/keil-assistant.log
vendored
@ -60,3 +60,9 @@
|
|||||||
|
|
||||||
[info] Log at : 2025/6/24|12:24:51|GMT+0800
|
[info] Log at : 2025/6/24|12:24:51|GMT+0800
|
||||||
|
|
||||||
|
[info] Log at : 2025/6/24|19:22:03|GMT+0800
|
||||||
|
|
||||||
|
[info] Log at : 2025/6/24|21:35:17|GMT+0800
|
||||||
|
|
||||||
|
[info] Log at : 2025/6/25|09:51:44|GMT+0800
|
||||||
|
|
||||||
|
4
MDK-ARM/.vscode/uv4.log
vendored
4
MDK-ARM/.vscode/uv4.log
vendored
@ -1,8 +1,8 @@
|
|||||||
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\keil\ARM\ARMCC\Bin'
|
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\keil\ARM\ARMCC\Bin'
|
||||||
Build target 'R1'
|
Build target 'R1'
|
||||||
compiling ball.cpp...
|
compiling shoot.cpp...
|
||||||
linking...
|
linking...
|
||||||
Program Size: Code=30768 RO-data=1832 RW-data=260 ZI-data=32244
|
Program Size: Code=31344 RO-data=1832 RW-data=268 ZI-data=32252
|
||||||
FromELF: creating hex file...
|
FromELF: creating hex file...
|
||||||
"R1\R1.axf" - 0 Error(s), 0 Warning(s).
|
"R1\R1.axf" - 0 Error(s), 0 Warning(s).
|
||||||
Build Time Elapsed: 00:00:05
|
Build Time Elapsed: 00:00:05
|
||||||
|
2
MDK-ARM/.vscode/uv4.log.lock
vendored
2
MDK-ARM/.vscode/uv4.log.lock
vendored
@ -1 +1 @@
|
|||||||
2025/6/24 2:11:53
|
2025/6/25 9:57:28
|
@ -158,7 +158,7 @@
|
|||||||
<Ww>
|
<Ww>
|
||||||
<count>0</count>
|
<count>0</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>rc_ctrl,0x0A</ItemText>
|
<ItemText>ball,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>1</count>
|
<count>1</count>
|
||||||
@ -168,17 +168,27 @@
|
|||||||
<Ww>
|
<Ww>
|
||||||
<count>2</count>
|
<count>2</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>ball,0x0A</ItemText>
|
<ItemText>triggerCount,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>3</count>
|
<count>3</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>aaaa,0x0A</ItemText>
|
<ItemText>abc,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>4</count>
|
<count>4</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>aaaxxx,0x0A</ItemText>
|
<ItemText>rc_ctrl,0x0A</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>5</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>nucbuf</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>6</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>nuc_v</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<Tracepoint>
|
<Tracepoint>
|
||||||
@ -939,7 +949,7 @@
|
|||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>User/device</GroupName>
|
<GroupName>User/device</GroupName>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
@ -1031,7 +1041,7 @@
|
|||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>User/module</GroupName>
|
<GroupName>User/module</GroupName>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
@ -1063,7 +1073,7 @@
|
|||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>User/task</GroupName>
|
<GroupName>User/task</GroupName>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
|
@ -21,16 +21,17 @@ r1上层
|
|||||||
|
|
||||||
## 待解决
|
## 待解决
|
||||||
|
|
||||||
+ 用了将运球和伸缩绑定到一起
|
+ 用了将运球和伸缩绑定到一起 √
|
||||||
+ 串口收数加个滤波
|
+ 串口收数加个滤波 √
|
||||||
|
|
||||||
## 思路
|
## 思路
|
||||||
|
|
||||||
+ 👆 传球档 👆 配合档
|
+ 👆 传球档 👆 配合档
|
||||||
+ 中 初始档 中 初始档
|
+ 中 初始档 中 初始档
|
||||||
+ 👇 发射档 👇 运球档
|
+ 👇 发射档 👇 运球档
|
||||||
+ 我现在已经收到了运球完成的信号
|
+ 起步遥控档我直接蓄力准备接球
|
||||||
+ 发射就应该去蓄力接球了
|
+ 可多次的运球
|
||||||
|
+ 缩回转移球
|
||||||
+ 蓄力到位,收到掉落信号和已伸出信号
|
+ 蓄力到位,收到掉落信号和已伸出信号
|
||||||
+ 根据视觉拟合信息的动态调整
|
+ 根据视觉拟合信息的动态调整
|
||||||
+ 拨置👇发射清空掉落信号 (发送归位信号?)
|
+ 拨置👇发射清空掉落信号
|
||||||
|
@ -16,9 +16,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define TESTUP 1
|
#define ONE_CONTROL 1
|
||||||
#define ONE_CONTROL 0
|
|
||||||
|
|
||||||
//是否使用大疆DT7遥控器
|
//是否使用大疆DT7遥控器
|
||||||
#ifndef DT7
|
#ifndef DT7
|
||||||
#define DT7 0
|
#define DT7 0
|
||||||
@ -36,7 +34,7 @@
|
|||||||
#define BALL_DOWN (1<<1)
|
#define BALL_DOWN (1<<1)
|
||||||
|
|
||||||
//运球结束
|
//运球结束
|
||||||
#define PREPARE (1<<0)
|
//#define PREPARE (1<<0)
|
||||||
|
|
||||||
//伸缩结束
|
//伸缩结束
|
||||||
#define EXTEND_OK (1<<3)
|
#define EXTEND_OK (1<<3)
|
||||||
|
@ -81,7 +81,7 @@ void Ball::Send_control()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if TESTUP
|
#if ONE_CONTROL==0
|
||||||
|
|
||||||
void Ball::ballDown(void)
|
void Ball::ballDown(void)
|
||||||
{
|
{
|
||||||
@ -151,6 +151,7 @@ void Ball::ballHadling(void)
|
|||||||
HAL_GPIO_WritePin(DOWN_GPIO_Port, DOWN_Pin, GPIO_PIN_RESET); // 确保下气缸关闭
|
HAL_GPIO_WritePin(DOWN_GPIO_Port, DOWN_Pin, GPIO_PIN_RESET); // 确保下气缸关闭
|
||||||
if (rc_key == DOWN2) // 检测按键是否被按下
|
if (rc_key == DOWN2) // 检测按键是否被按下
|
||||||
{
|
{
|
||||||
|
|
||||||
triggerCount = 0; // 重置触发计数
|
triggerCount = 0; // 重置触发计数
|
||||||
currentState1 = BALL_FORWARD;
|
currentState1 = BALL_FORWARD;
|
||||||
}
|
}
|
||||||
@ -179,6 +180,7 @@ void Ball::ballHadling(void)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case BALL_FLAG:
|
case BALL_FLAG:
|
||||||
|
osDelay(10); // 延时 50ms
|
||||||
if (triggerCount == 1 && ball_state == 0 && last_ball_state == 1) // 第二次检测到球
|
if (triggerCount == 1 && ball_state == 0 && last_ball_state == 1) // 第二次检测到球
|
||||||
{
|
{
|
||||||
triggerCount++; // 增加触发计数
|
triggerCount++; // 增加触发计数
|
||||||
@ -190,7 +192,7 @@ void Ball::ballHadling(void)
|
|||||||
case BALL_CLOSE:
|
case BALL_CLOSE:
|
||||||
if (triggerCount == 2) // 确保是第二次触发
|
if (triggerCount == 2) // 确保是第二次触发
|
||||||
{
|
{
|
||||||
//osDelay(5);
|
osDelay(50);
|
||||||
HAL_GPIO_WritePin(PAW_GPIO_Port, PAW_Pin, GPIO_PIN_RESET); // 闭合气缸爪子
|
HAL_GPIO_WritePin(PAW_GPIO_Port, PAW_Pin, GPIO_PIN_RESET); // 闭合气缸爪子
|
||||||
currentState1 = BALL_FINISH; // 切换到反转状态
|
currentState1 = BALL_FINISH; // 切换到反转状态
|
||||||
}
|
}
|
||||||
@ -200,6 +202,7 @@ void Ball::ballHadling(void)
|
|||||||
osDelay(50); // 延时 50ms
|
osDelay(50); // 延时 50ms
|
||||||
HAL_GPIO_WritePin(PAW_GPIO_Port, PAW_Pin, GPIO_PIN_RESET); // 确保气缸爪子闭合
|
HAL_GPIO_WritePin(PAW_GPIO_Port, PAW_Pin, GPIO_PIN_RESET); // 确保气缸爪子闭合
|
||||||
HAL_GPIO_WritePin(DOWN_GPIO_Port, DOWN_Pin, GPIO_PIN_RESET); // 确保下气缸关闭
|
HAL_GPIO_WritePin(DOWN_GPIO_Port, DOWN_Pin, GPIO_PIN_RESET); // 确保下气缸关闭
|
||||||
|
|
||||||
triggerCount = 0; // 重置触发计数
|
triggerCount = 0; // 重置触发计数
|
||||||
|
|
||||||
//currentState1 = BALL_IDLE; // 回到空闲状态
|
//currentState1 = BALL_IDLE; // 回到空闲状态
|
||||||
@ -213,7 +216,6 @@ void Ball::ballHadling(void)
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ONE_CONTROL
|
#if ONE_CONTROL
|
||||||
@ -233,7 +235,6 @@ void Ball::ball_control()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case DOWN2:
|
case DOWN2:
|
||||||
osThreadFlagsSet(task_struct.thread.shoot, PREPARE); // 通知发射任务快点去蓄力
|
|
||||||
ballHadling();
|
ballHadling();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -297,8 +298,22 @@ void Ball::Idle_control()
|
|||||||
osThreadFlagsClear(EXTEND_OK);
|
osThreadFlagsClear(EXTEND_OK);
|
||||||
|
|
||||||
// 拨杆回到中间挡位时,回位并重置状态机
|
// 拨杆回到中间挡位时,回位并重置状态机
|
||||||
xiaomi.position = I_ANGLE;
|
if(currentState1==EXTEND_FINISH)//转移后
|
||||||
currentState1 = BALL_IDLE;
|
{
|
||||||
|
xiaomi.position = I_ANGLE;
|
||||||
|
currentState1 = BALL_IDLE;
|
||||||
|
}
|
||||||
|
if(currentState1==BALL_FINISH)//运球完成
|
||||||
|
{
|
||||||
|
xiaomi.position = O_ANGLE;
|
||||||
|
currentState1 = BALL_IDLE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
currentState1 = BALL_IDLE;
|
||||||
|
}
|
||||||
|
//xiaomi.position = I_ANGLE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int ball_state = 0;
|
int ball_state = 0;
|
||||||
|
@ -28,7 +28,7 @@ const fp32 Shoot:: M2006_angle_PID[3] = { 15, 0.1, 0};
|
|||||||
#define TO_BOTTOM 5.0f
|
#define TO_BOTTOM 5.0f
|
||||||
|
|
||||||
#define INIT_POS -130
|
#define INIT_POS -130
|
||||||
#define TOP_POS -210
|
#define TOP_POS -211
|
||||||
#define BOTTOM_POS 0
|
#define BOTTOM_POS 0
|
||||||
#define GO_ERROR 1.0f
|
#define GO_ERROR 1.0f
|
||||||
#define Tigger_DO 0
|
#define Tigger_DO 0
|
||||||
@ -57,6 +57,7 @@ Shoot::Shoot()
|
|||||||
go1.W = 0,
|
go1.W = 0,
|
||||||
go1.T = 0,
|
go1.T = 0,
|
||||||
|
|
||||||
|
limit_speed=TO_TOP;//快速上去
|
||||||
fire_pos = INIT_POS; // 发射位置
|
fire_pos = INIT_POS; // 发射位置
|
||||||
|
|
||||||
BSP_UART_RegisterCallback(BSP_UART_RS485, BSP_UART_RX_CPLT_CB, USART1_RxCompleteCallback);//注册串口回调函数,bsp层
|
BSP_UART_RegisterCallback(BSP_UART_RS485, BSP_UART_RX_CPLT_CB, USART1_RxCompleteCallback);//注册串口回调函数,bsp层
|
||||||
@ -124,6 +125,7 @@ int Shoot::GO_SendData(float pos,float limit)
|
|||||||
// F键 sw[0]👆 1800 👇200
|
// F键 sw[0]👆 1800 👇200
|
||||||
// E键 sw[1] 👆 200 shoot 中 1000 stop sw[2]200 sw[2]👇1800
|
// E键 sw[1] 👆 200 shoot 中 1000 stop sw[2]200 sw[2]👇1800
|
||||||
// G键 sw[6]👆 1800 中 1000 👇200
|
// G键 sw[6]👆 1800 中 1000 👇200
|
||||||
|
// B键 sw[3]👆 200 开 中 1000 👇1800 关
|
||||||
//左旋 sw[7] 200 --1800
|
//左旋 sw[7] 200 --1800
|
||||||
void Shoot::rc_mode()
|
void Shoot::rc_mode()
|
||||||
{
|
{
|
||||||
@ -147,6 +149,15 @@ void Shoot::rc_mode()
|
|||||||
{
|
{
|
||||||
mode_key=VSION;
|
mode_key=VSION;
|
||||||
}
|
}
|
||||||
|
if(rc_ctrl.sw[3]==1800)
|
||||||
|
{
|
||||||
|
ready_key=PREPARE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ready_key=0; //默认不准备
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// if(rc_ctrl.sw[7]==200)
|
// if(rc_ctrl.sw[7]==200)
|
||||||
// {
|
// {
|
||||||
@ -190,7 +201,7 @@ knob_increment = map_min + (map_max - map_min) * (current_knob_value - knob_min)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if TESTUP
|
#if ONE_CONTROL==0
|
||||||
|
|
||||||
void Shoot::shoot_control() {
|
void Shoot::shoot_control() {
|
||||||
|
|
||||||
@ -279,7 +290,7 @@ break;
|
|||||||
|
|
||||||
abs_limit_min_max_fp(&go1.Pos ,-210.0f,2.0f);
|
abs_limit_min_max_fp(&go1.Pos ,-210.0f,2.0f);
|
||||||
// 发送数据到蓄力电机
|
// 发送数据到蓄力电机
|
||||||
GO_SendData(go1.Pos, 5.0f);
|
GO_SendData(go1.Pos,limit_speed);
|
||||||
|
|
||||||
// 控制扳机电机
|
// 控制扳机电机
|
||||||
trigger_control();
|
trigger_control();
|
||||||
@ -292,6 +303,7 @@ void Shoot :: shoot_Current()
|
|||||||
case SHOOT_IDLE:
|
case SHOOT_IDLE:
|
||||||
// 初始状态:钩子移动到顶部,钩住拉簧
|
// 初始状态:钩子移动到顶部,钩住拉簧
|
||||||
control_pos = TOP_POS; // 顶部位置
|
control_pos = TOP_POS; // 顶部位置
|
||||||
|
limit_speed=TO_TOP;//快速上去
|
||||||
go1.Pos = control_pos;
|
go1.Pos = control_pos;
|
||||||
t_posSet = Tigger_ZERO; // 扳机松开
|
t_posSet = Tigger_ZERO; // 扳机松开
|
||||||
if (feedback.fd_gopos <-209) {
|
if (feedback.fd_gopos <-209) {
|
||||||
@ -313,6 +325,7 @@ void Shoot :: shoot_Current()
|
|||||||
if (is_hooked)
|
if (is_hooked)
|
||||||
{
|
{
|
||||||
go1.Pos = fire_pos; // 下拉到中间挡位位置
|
go1.Pos = fire_pos; // 下拉到中间挡位位置
|
||||||
|
limit_speed=TO_BOTTOM;//慢速下来
|
||||||
if (feedback.fd_gopos >= fire_pos - GO_ERROR && feedback.fd_gopos <= fire_pos + GO_ERROR) {
|
if (feedback.fd_gopos >= fire_pos - GO_ERROR && feedback.fd_gopos <= fire_pos + GO_ERROR) {
|
||||||
BSP_Buzzer_Start();
|
BSP_Buzzer_Start();
|
||||||
BSP_Buzzer_Set(1,5000);
|
BSP_Buzzer_Set(1,5000);
|
||||||
@ -331,7 +344,7 @@ void Shoot :: shoot_Current()
|
|||||||
|
|
||||||
void Shoot::RemoveError() {
|
void Shoot::RemoveError() {
|
||||||
currentState = SHOOT_IDLE;
|
currentState = SHOOT_IDLE;
|
||||||
control_pos = TOP_POS;
|
control_pos = TOP_POS+1.0f;
|
||||||
if (feedback.fd_gopos >= control_pos - 0.5f&& feedback.fd_gopos<= control_pos + 0.5f)
|
if (feedback.fd_gopos >= control_pos - 0.5f&& feedback.fd_gopos<= control_pos + 0.5f)
|
||||||
{
|
{
|
||||||
t_posSet = Tigger_ZERO;
|
t_posSet = Tigger_ZERO;
|
||||||
@ -344,7 +357,7 @@ void Shoot::RemoveError() {
|
|||||||
BSP_Buzzer_Stop();
|
BSP_Buzzer_Stop();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
limit_speed=3.0f;//慢慢送上去
|
||||||
go1.Pos = control_pos;
|
go1.Pos = control_pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -368,13 +381,8 @@ switch (mode_key)
|
|||||||
fire_pos = distance; // 视觉拟合的力
|
fire_pos = distance; // 视觉拟合的力
|
||||||
switch (rc_key) {
|
switch (rc_key) {
|
||||||
case MIDDLE1:
|
case MIDDLE1:
|
||||||
|
|
||||||
if(shoot_thread & PREPARE) // 如果收到放球完成的通知
|
|
||||||
{
|
|
||||||
ball_receive(); // 执行接收球的操作
|
ball_receive(); // 执行接收球的操作
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if(shoot_thread & EXTEND_OK) // 如果收到伸缩完成的通知
|
if(shoot_thread & EXTEND_OK) // 如果收到伸缩完成的通知
|
||||||
{
|
{
|
||||||
go1.Pos = fire_pos; // 设置蓄力电机位置
|
go1.Pos = fire_pos; // 设置蓄力电机位置
|
||||||
@ -411,12 +419,6 @@ break;
|
|||||||
switch (rc_key) {
|
switch (rc_key) {
|
||||||
case MIDDLE1:
|
case MIDDLE1:
|
||||||
|
|
||||||
if(shoot_thread & PREPARE) // 如果收到放球完成的通知
|
|
||||||
{
|
|
||||||
ball_receive(); // 执行接收球的操作
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if(shoot_thread & EXTEND_OK) // 如果收到伸缩完成的通知
|
if(shoot_thread & EXTEND_OK) // 如果收到伸缩完成的通知
|
||||||
{
|
{
|
||||||
fire_pos = INIT_POS + knob_increment; // 根据旋钮值调整发射位置
|
fire_pos = INIT_POS + knob_increment; // 根据旋钮值调整发射位置
|
||||||
@ -427,6 +429,10 @@ break;
|
|||||||
BSP_Buzzer_Set(1,5000);
|
BSP_Buzzer_Set(1,5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ball_receive(); // 执行接收球的操作
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DOWN1:
|
case DOWN1:
|
||||||
@ -469,6 +475,8 @@ void Shoot ::ball_receive()
|
|||||||
switch (currentState)
|
switch (currentState)
|
||||||
{
|
{
|
||||||
case SHOOT_IDLE:
|
case SHOOT_IDLE:
|
||||||
|
//底盘手动档直接蓄力
|
||||||
|
if(ready_key == PREPARE){
|
||||||
// 初始状态:钩子移动到顶部,钩住拉簧
|
// 初始状态:钩子移动到顶部,钩住拉簧
|
||||||
control_pos = TOP_POS;
|
control_pos = TOP_POS;
|
||||||
limit_speed=TO_TOP;//快速上去
|
limit_speed=TO_TOP;//快速上去
|
||||||
@ -477,7 +485,7 @@ void Shoot ::ball_receive()
|
|||||||
{
|
{
|
||||||
currentState = GO_TOP; // 切换到准备发射状态
|
currentState = GO_TOP; // 切换到准备发射状态
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case GO_TOP:
|
case GO_TOP:
|
||||||
t_posSet = Tigger_DO;
|
t_posSet = Tigger_DO;
|
||||||
@ -493,7 +501,7 @@ void Shoot ::ball_receive()
|
|||||||
if(feedback.fd_gopos >= BOTTOM_POS - 1.0f && feedback.fd_gopos <= BOTTOM_POS + 1.0f)
|
if(feedback.fd_gopos >= BOTTOM_POS - 1.0f && feedback.fd_gopos <= BOTTOM_POS + 1.0f)
|
||||||
{
|
{
|
||||||
|
|
||||||
osThreadFlagsClear(PREPARE); // 清除任务通知标志位
|
//osThreadFlagsClear(PREPARE); // 清除任务通知标志位
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -39,7 +39,8 @@ typedef enum
|
|||||||
SHOOT,
|
SHOOT,
|
||||||
WAIT,
|
WAIT,
|
||||||
TEST,
|
TEST,
|
||||||
VSION
|
VSION,
|
||||||
|
PREPARE
|
||||||
}rc_mode;
|
}rc_mode;
|
||||||
|
|
||||||
// 光电传感器读取宏
|
// 光电传感器读取宏
|
||||||
@ -86,6 +87,7 @@ public:
|
|||||||
//==========================公共变量==========================
|
//==========================公共变量==========================
|
||||||
int16_t rc_key; //遥控器按键
|
int16_t rc_key; //遥控器按键
|
||||||
int16_t mode_key;
|
int16_t mode_key;
|
||||||
|
int16_t ready_key;
|
||||||
int16_t trigger_key;
|
int16_t trigger_key;
|
||||||
ShootState_t currentState; //状态机
|
ShootState_t currentState; //状态机
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ extern "C" {
|
|||||||
#define TASK_FREQ_MONITOR (2u)
|
#define TASK_FREQ_MONITOR (2u)
|
||||||
#define TASK_FREQ_CAN (1500u)
|
#define TASK_FREQ_CAN (1500u)
|
||||||
#define TASK_FREQ_AI (500u)
|
#define TASK_FREQ_AI (500u)
|
||||||
#define TASK_FREQ_BALL (700u)
|
#define TASK_FREQ_BALL (500u)
|
||||||
|
|
||||||
#define TASK_INIT_DELAY_INFO (500u)
|
#define TASK_INIT_DELAY_INFO (500u)
|
||||||
#define TASK_INIT_DELAY_MONITOR (10)
|
#define TASK_INIT_DELAY_MONITOR (10)
|
||||||
|
Loading…
Reference in New Issue
Block a user