From 8c5f3de1853585b34b625050a66fbae022fab4da Mon Sep 17 00:00:00 2001 From: ZHAISHUI04 <3150778793@qq.com> Date: Thu, 20 Mar 2025 22:29:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=A5=E6=8E=A7=E5=99=A8=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=9C=A8cmd.h=E9=87=8C=E9=9D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/Src/main.c | 1 - MDK-ARM/AUTO_CHASSIS.uvoptx | 90 +++------- MDK-ARM/AUTO_CHASSIS.uvprojx | 20 --- MDK-ARM/ELE_CHASSIS/AUTO_CHASSIS.axf | Bin 2823004 -> 2754240 bytes User/Algorithm/navi.c | 216 ----------------------- User/Algorithm/navi.h | 108 ------------ User/Module/Chassis.c | 10 +- User/Module/Chassis.h | 2 - User/Module/config.c | 94 +--------- User/Module/config.h | 2 - User/bsp/bsp_action.c | 53 ------ User/bsp/bsp_action.h | 8 - User/device/Action.c | 203 --------------------- User/device/Action.h | 59 ------- User/device/cmd.c | 67 ++++--- User/device/cmd.h | 72 ++++---- User/device/dr16.c | 254 ++++++++++++++------------- User/device/dr16.h | 6 + User/device/r12ds.c | 9 +- User/device/r12ds.h | 5 +- User/task/action_task.c | 75 -------- User/task/action_task.h | 1 - User/task/chassis_task.c | 6 +- User/task/cmd_task.c | 3 - User/task/dr16_task.c | 142 ++++++--------- User/task/init.c | 16 -- User/task/navi_task.c | 68 ------- User/task/navi_task.h | 1 - User/task/r12ds_task.c | 11 ++ User/task/user_task.c | 17 +- User/task/user_task.h | 33 +--- 31 files changed, 308 insertions(+), 1344 deletions(-) delete mode 100644 User/Algorithm/navi.c delete mode 100644 User/Algorithm/navi.h delete mode 100644 User/bsp/bsp_action.c delete mode 100644 User/bsp/bsp_action.h delete mode 100644 User/device/Action.c delete mode 100644 User/device/Action.h delete mode 100644 User/task/action_task.c delete mode 100644 User/task/action_task.h delete mode 100644 User/task/navi_task.c delete mode 100644 User/task/navi_task.h diff --git a/Core/Src/main.c b/Core/Src/main.c index 8fca7f2..f48044b 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -32,7 +32,6 @@ /* USER CODE BEGIN Includes */ #include "bsp_delay.h" #include "bsp_can.h" -#include "Action.h" //#include "bsp_dwt.h" /* USER CODE END Includes */ diff --git a/MDK-ARM/AUTO_CHASSIS.uvoptx b/MDK-ARM/AUTO_CHASSIS.uvoptx index 773efef..528face 100644 --- a/MDK-ARM/AUTO_CHASSIS.uvoptx +++ b/MDK-ARM/AUTO_CHASSIS.uvoptx @@ -1144,30 +1144,6 @@ 0 0 0 - ..\User\task\action_task.c - action_task.c - 0 - 0 - - - 8 - 72 - 1 - 0 - 0 - 0 - ..\User\task\navi_task.c - navi_task.c - 0 - 0 - - - 8 - 73 - 1 - 0 - 0 - 0 ..\User\task\r12ds_task.c r12ds_task.c 0 @@ -1183,7 +1159,7 @@ 0 9 - 74 + 72 1 0 0 @@ -1195,7 +1171,7 @@ 9 - 75 + 73 1 0 0 @@ -1207,7 +1183,7 @@ 9 - 76 + 74 1 0 0 @@ -1219,7 +1195,7 @@ 9 - 77 + 75 1 0 0 @@ -1231,7 +1207,7 @@ 9 - 78 + 76 1 0 0 @@ -1243,7 +1219,7 @@ 9 - 79 + 77 1 0 0 @@ -1253,18 +1229,6 @@ 0 0 - - 9 - 80 - 1 - 0 - 0 - 0 - ..\User\Algorithm\navi.c - navi.c - 0 - 0 - @@ -1275,7 +1239,7 @@ 0 10 - 81 + 78 1 0 0 @@ -1287,7 +1251,7 @@ 10 - 82 + 79 1 0 0 @@ -1299,7 +1263,7 @@ 10 - 83 + 80 1 0 0 @@ -1311,7 +1275,7 @@ 10 - 84 + 81 1 0 0 @@ -1323,7 +1287,7 @@ 10 - 85 + 82 1 0 0 @@ -1335,7 +1299,7 @@ 10 - 86 + 83 1 0 0 @@ -1347,19 +1311,7 @@ 10 - 87 - 1 - 0 - 0 - 0 - ..\User\device\Action.c - Action.c - 0 - 0 - - - 10 - 88 + 84 1 0 0 @@ -1379,7 +1331,7 @@ 0 11 - 89 + 85 1 0 0 @@ -1391,7 +1343,7 @@ 11 - 90 + 86 1 0 0 @@ -1403,7 +1355,7 @@ 11 - 91 + 87 1 0 0 @@ -1423,7 +1375,7 @@ 0 12 - 92 + 88 1 0 0 @@ -1443,7 +1395,7 @@ 0 13 - 93 + 89 1 0 0 @@ -1455,7 +1407,7 @@ 13 - 94 + 90 1 0 0 @@ -1467,7 +1419,7 @@ 13 - 95 + 91 1 0 0 @@ -1479,7 +1431,7 @@ 13 - 96 + 92 1 0 0 diff --git a/MDK-ARM/AUTO_CHASSIS.uvprojx b/MDK-ARM/AUTO_CHASSIS.uvprojx index 80c2dc2..77e8f73 100644 --- a/MDK-ARM/AUTO_CHASSIS.uvprojx +++ b/MDK-ARM/AUTO_CHASSIS.uvprojx @@ -1228,16 +1228,6 @@ 1 ..\User\task\dr16_task.c - - action_task.c - 1 - ..\User\task\action_task.c - - - navi_task.c - 1 - ..\User\task\navi_task.c - r12ds_task.c 1 @@ -1278,11 +1268,6 @@ 1 ..\User\Algorithm\pid.c - - navi.c - 1 - ..\User\Algorithm\navi.c - @@ -1318,11 +1303,6 @@ 1 ..\User\device\dr16.c - - Action.c - 1 - ..\User\device\Action.c - r12ds.c 1 diff --git a/MDK-ARM/ELE_CHASSIS/AUTO_CHASSIS.axf b/MDK-ARM/ELE_CHASSIS/AUTO_CHASSIS.axf index 56467b5cd3bbdc1479abe469af66f2f27141133a..4ba7c538f4e4ecf3a1a944dab1999f6421507973 100644 GIT binary patch delta 243337 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%0D)CurbC_Dcf)|yd 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 = 9999;//等待全场定位初始化 -// } - -// TIM4->CCR3 = 0; - HAL_GPIO_WritePin(LED_G_GPIO_Port,LED_G_Pin,GPIO_PIN_SET);//接收到码盘数据后亮灯指示 -// - -// osDelay(5); - - o->param = param; - /*全场定位pid初始化*/ - //全场定位跑路径的xy方向速度环pid - PID_init(&o->pid_PosSpeed_x, PID_POSITION,(&o->param->ops_pid.pid_PosSpeed_x_param)); - PID_init(&o->pid_PosSpeed_y, PID_POSITION,(&o->param->ops_pid.pid_PosSpeed_y_param)); - /* 初始化角度纠正PID */ - PID_init(&o->pid_OutAngle,PID_POSITION,(&o->param->ops_pid.pid_OutAngle_param));//外环 - PID_init(&o->pid_InnerAngle,PID_POSITION,(&o->param->ops_pid.pid_InnerAngle_param));//内环 - //底盘xy方向位置环pid初始化 - //内环 - PID_init(&o->pid_pos_x_inner,PID_POSITION,(&o->param->ops_pid.pid_pos_x_inner_param)); - PID_init(&o->pid_pos_y_inner,PID_POSITION,(&o->param->ops_pid.pid_pos_y_inner_param)); - //外环 - PID_init(&o->pid_pos_x_out,PID_POSITION,(&o->param->ops_pid.pid_pos_x_out_param)); - PID_init(&o->pid_pos_y_out,PID_POSITION,(&o->param->ops_pid.pid_pos_y_out_param)); - - - - //底盘路径速度pid初始化 - PID_init(&o->path_speed_pid,PID_POSITION,(&o->param->ops_pid.path_speed_pid_param)); - //全场定位底盘坐标初始化 - o->chassis_pos->pos_x=0; - o->chassis_pos->pos_y=0; - o->chassis_pos->pos_lastX=0; - o->chassis_pos->pos_lastY=0; - o->chassis_map =param->path ; - o->chassis_pos = pos; - - - //设置全场定位允许的误差范围 - o->state.mistake = POS_ALLOW_MISTAKE; - o->state .angle_mistake =POS_ALLOW_ANGLE_MISTAKE ; - o->state.moveState = START; - o->state.points_num = param->path_num; - //标志位初始化 - o->POS_IS_CPT = NO; - - - - - return DEVICE_OK; -} -//利用C板imu纠正角度 -fp32 ops9_AngleCorr(ops_t *o,fp32 hope_angle) -{ - fp32 delta_angle,delta_w; - //外环角度纠正 - delta_angle = PID_calc(&o->pid_OutAngle,o->ops_imu_pos.yaw,hope_angle); - //内环速度纠正 - delta_w = -PID_calc(&o->pid_InnerAngle,o->ops_gyro.z,delta_angle); - return delta_w; -} - -//底盘xy速度计算(全场定位) -void POS_chassis_set(ops_t *o,fp32 vx_set, fp32 vy_set, fp32 yaw_angle_set){ - - - o->final_out.vx = (PID_calc(&o->pid_PosSpeed_x, o->chassis_pos->pos_Vx,vx_set));//根据遥控器的方向选择正负 - o->final_out.vy = PID_calc(&o->pid_PosSpeed_y, o->chassis_pos->pos_Vy,vy_set); - o->final_out.yaw_angle = ops9_AngleCorr(o,yaw_angle_set); - - -} - - -//定点控制 -void hold_point(ops_t *o,point_t p,fp32 yaw_angle_set) -{ - fp32 delta_x,delta_y; - fp32 delta_vx,delta_vy; - fp32 vx_set,vy_set;//x,y,w目标速度 - - //x - delta_x = PID_calc(&o->pid_pos_x_out,o->chassis_pos->pos_x,p.x); - delta_vx = PID_calc(&o->pid_pos_x_inner,o->chassis_pos->pos_Vx,delta_x); - - //y - delta_y = PID_calc(&o->pid_pos_y_out,o->chassis_pos->pos_y,p.y); - delta_vy = PID_calc(&o->pid_pos_y_inner,o->chassis_pos->pos_Vy,delta_y); - - - - - vx_set = delta_vx; - vy_set = delta_vy; - - POS_chassis_set(o,vx_set,vy_set,yaw_angle_set); -} - - - - -//判断是否到达函数(全场定位),最最后判断 -bool isArrive(point_t p,ops_t *o) -{ - uint16_t xArrive = 0, yArrive = 0, zArrive=0; - - xArrive = abs_float_double(p.x,o->chassis_pos->pos_x) < o->state.mistake ? 1:0; - yArrive = abs_float_double(p.y,o->chassis_pos->pos_y) < o->state.mistake ? 1:0; - - if(xArrive && yArrive) return true; - else return false; -} - - - - -//寻迹,跑点函数 -int8_t go_path(ops_t *o,CMD_ACTION_t *ops_out) -{ - static fp32 distance;//两点之间的距离差 - static fp32 chassis_speed_set;//底盘速度设置 - static fp32 SIN,COS;//方向解算 - static fp32 world_vx,world_vy;//x,y方向分解速度 - static fp32 chassis_vx,chassis_vy;//底盘xy分速度 - static int cnt =0 ;//计数标志位 - - static int flag_update_num;//记录flag更新,防止cnt一直变化 - - /*数据同步*/ - o->current_x =o->chassis_pos ->pos_x ; - o->current_y =o->chassis_pos ->pos_y ; - o->next_mapx = o->chassis_map[cnt].x; - o->next_mapy =o->chassis_map[cnt].y; - - - o->Navi_Mode .Trig_flag = ops_out ->flag ; - - if(o == NULL) return DEVICE_ERR; - if (ops_out == NULL) return DEVICE_ERR; - -// static fp32 yaw_angle_set = 0; - if(o->POS_IS_CPT == NO)//路径未跑完 - { - if(o->state.moveState ==START) - { - //更新路径状态 - o->state.moveState =MOVING; - } - - - distance = sqrt((o->chassis_map[cnt].x - o->chassis_pos->pos_x)*(o->chassis_map[cnt].x - o->chassis_pos->pos_x) - +(o->chassis_map[cnt].y - o->chassis_pos->pos_y)*(o->chassis_map[cnt].y - o->chassis_pos->pos_y)); - - chassis_speed_set = PID_calc(&o->path_speed_pid,-distance,0);//此处由pid计算距离得出相应的速度 - //速度分解 - SIN = (o->chassis_map[cnt].y - o->chassis_pos->pos_y)/distance; - COS = (o->chassis_map[cnt].x - o->chassis_pos->pos_x)/distance; - - world_vx = chassis_speed_set * COS; - world_vy = chassis_speed_set * SIN; - -// chassis_vx = world_vx; -// chassis_vy = world_vy; - //世界坐标转机器坐标系转换 - - chassis_vx = -world_vy*sin(o->ops_imu_pos.yaw) + world_vx*cos(o->ops_imu_pos.yaw); - chassis_vy = world_vy*cos(o->ops_imu_pos.yaw) + world_vx*sin(o->ops_imu_pos.yaw); - - } - -/*下面的逻辑按需更改,根据cnt计数器自动跑点,遥控器触发跑点等等*/ - - - if(isArrive(o->chassis_map[cnt],o)) //判断是否到达(全场定位),只涉及xy的判断 - { - /*到达点后,这里应该增加cnt增加或减小的触发方式*/ - - if (o->Navi_Mode .Trig_flag != flag_update_num) { // 只有flag发生变化时才更新cnt - if (o->Navi_Mode .Trig_flag==1) cnt++; } - else if (o->Navi_Mode .Trig_flag == -1) cnt--; - flag_update_num = o->Navi_Mode .Trig_flag; // 更新prev_flag为当前的flag状态 - } - else - { - o->POS_IS_CPT = NO; - hold_point(o,o->chassis_map[cnt],o->chassis_map[cnt].angle); //调用该函数使临近误差值快速响应 - } - if(cnt>3)//根据点数更改 - { - o->POS_IS_CPT =YES; - //到达目的地 - o->final_out .vx =0; - o->final_out .vy =0; - o->final_out.yaw_angle=0; - } - - - - - - ops_out->out.Vx= o->final_out .vx ; - ops_out->out.Vy = o->final_out .vy ; - ops_out->out.Vw = o->final_out.yaw_angle; - - return DEVICE_OK; -} diff --git a/User/Algorithm/navi.h b/User/Algorithm/navi.h deleted file mode 100644 index 5b313b0..0000000 --- a/User/Algorithm/navi.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef NAVI_H -#define NAVI_H - - -#include "Action.h" -#include "pid.h" -#include "ahrs.h" -#include "bmi088.h" -#include "map.h" - -typedef enum { - AUTO_MODE, // Զܵģʽ - MANUAL_MODE , // ģʽ - NO_MODE -} Navi_Mode_t; - -typedef struct { - - Navi_Mode_t mode; - - int Trig_flag;//أʼֵΪ㣬ֿģʽ£ֵΪ1ʹcnt+1Ϊ-1ʹcnt-1 - -} Navi_COT_MODE_t; - - -typedef struct{ - float pos_x; - float pos_y; - float last_pos_x; - float last_pos_y; -}chassis_position_t; - -typedef enum{ - YES, - NO, - NEXT1, - NEXT2 -}is_cpt_e; -typedef struct{ - pid_param_t pid_PosSpeed_x_param; - pid_param_t pid_PosSpeed_y_param; - pid_param_t pid_pos_x_out_param; - pid_param_t pid_pos_x_inner_param; - pid_param_t pid_pos_y_out_param; - pid_param_t pid_pos_y_inner_param; - pid_param_t pid_OutAngle_param; - pid_param_t pid_InnerAngle_param; - pid_param_t path_speed_pid_param; - -}ops_pid_param_t; - -typedef struct { - ops_pid_param_t ops_pid; - const point_t *path; - int8_t path_num; -}ops_param_t; - -/** - * @brief - * -*/ -typedef struct { - Action_POS_t *chassis_pos; - fp32 current_x; - fp32 current_y; - - fp32 next_mapx; - fp32 next_mapy; - const point_t *chassis_map; - const ops_param_t *param; - PathState_t state; - Navi_COT_MODE_t Navi_Mode; - - AHRS_Eulr_t ops_imu_pos; - AHRS_Gyro_t ops_gyro; - - - - pid_type_def pid_PosSpeed_x; - pid_type_def pid_PosSpeed_y; - pid_type_def pid_pos_x_out; - pid_type_def pid_pos_x_inner; - pid_type_def pid_pos_y_out; - pid_type_def pid_pos_y_inner; - pid_type_def pid_OutAngle; - pid_type_def pid_InnerAngle; - pid_type_def path_speed_pid; - - - is_cpt_e POS_IS_CPT; - - struct - { - fp32 vx; - fp32 vy; - fp32 yaw_angle; - }final_out; - -}ops_t; - - - - -int8_t Action_init(ops_t *o,const ops_param_t *param,Action_POS_t *pos); - -int8_t go_path(ops_t *o,CMD_ACTION_t *ops_out); -#endif - diff --git a/User/Module/Chassis.c b/User/Module/Chassis.c index 3acc87d..03246ce 100644 --- a/User/Module/Chassis.c +++ b/User/Module/Chassis.c @@ -1,6 +1,5 @@ #include "Chassis.h" #include "gpio.h" -#include "Action.h" #include "user_math.h" #include "bsp_buzzer.h" #include "bsp_delay.h" @@ -113,16 +112,11 @@ int8_t Chassis_init(Chassis_t *c,const Chassis_Param_t *param,float target_freq) void Chassis_speed_calculate(Chassis_t *c,fp32 Vx,fp32 Vy,fp32 Vw) //底盘逆运动学的解算 { c->hopemotorout.OmniSpeedOut[3] = -Vx+Vy+Vw;//右前 - c->hopemotorout.OmniSpeedOut[2] = -Vx-Vy+Vw;//右后 - c->hopemotorout.OmniSpeedOut[1] = Vx-Vy+Vw;//左后 + c->hopemotorout.OmniSpeedOut[1] = -Vx-Vy+Vw;//右后 + c->hopemotorout.OmniSpeedOut[2] = Vx-Vy+Vw;//左后 c->hopemotorout.OmniSpeedOut[0] = Vx+Vy+Vw;//左前 } -// v[0] = (vx_set+vy_set+vw_set)*mul + gyro_z;//左前 -// v[1] = (-vx_set+vy_set+vw_set)*mul + gyro_z;//右前 -// v[2] = (-vx_set-vy_set+vw_set)*mul + gyro_z;//右后 -// v[3] = (vx_set-vy_set+vw_set)*mul + gyro_z;//左后 - //bool isArrive(fp32 real_pos,fp32 target_pos,fp32 mistake) //{ // uint16_t xArrive = 0, yArrive = 0; diff --git a/User/Module/Chassis.h b/User/Module/Chassis.h index d3f15ad..e906470 100644 --- a/User/Module/Chassis.h +++ b/User/Module/Chassis.h @@ -31,7 +31,6 @@ #include "can_use.h" #include "cmd.h" #include "filter.h" -#include "Action.h" #define CHASSIS_OK (0) #define CHASSIS_ERR (-1) @@ -125,7 +124,6 @@ typedef struct{ const Chassis_Param_t *param; //一些固定的参数 ChassisImu_t pos088; //088的实时姿态 - Action_POS_t Action_pos; CMD_Chassis_CtrlType_e ctrl; CMD_Chassis_mode_e mode; diff --git a/User/Module/config.c b/User/Module/config.c index 5a04df7..909b2ab 100644 --- a/User/Module/config.c +++ b/User/Module/config.c @@ -193,93 +193,7 @@ static const ConfigParam_t param_chassis ={ }, - - - /*码盘导航*/ - - .ops={ - - /*导航点*/ - .path=map_point, - .path_num = point_num , - .ops_pid={ - /*路径速度*/ - .path_speed_pid_param= - { - .p = 15.1f, - .i = 0.02f, - .d = 3.2f, - .i_limit = 200.0f, - .out_limit =6000.0f, - - - }, - .pid_PosSpeed_x_param={ - .p =1.0f, - .i =0.001f, - .d =0.0f, - .i_limit =15.0f, - .out_limit =4000.0f, - }, - .pid_PosSpeed_y_param={ - .p =1.0f, - .i =0.001f, - .d =0.0f, - .i_limit =15.0f, - .out_limit =4000.0f, - }, - .pid_pos_x_out_param={ - .p =1.0f, - .i =0.001f, - .d =0.0f, - .i_limit =15.0f, - .out_limit =4000.0f, - }, - .pid_pos_x_inner_param={ - .p =2.0f, - .i =0.001f, - .d =0.0f, - .i_limit =15.0f, - .out_limit =4000.0f, - }, - .pid_pos_y_out_param={ - .p =1.0f, - .i =0.001f, - .d =0.0f, - .i_limit =15.0f, - .out_limit =4000.0f, - }, - .pid_pos_y_inner_param={ - .p =2.0f, - .i =0.001f, - .d =0.0f, - .i_limit =15.0f, - .out_limit =4000.0f, - }, - /*码盘导航陀螺仪角度纠正内外环*/ - .pid_OutAngle_param={ - .p = 5.0f, - .i = 0.0f, - .d = 0.0f, - .i_limit = 0.0f, - .out_limit =100.0f, - }, - .pid_InnerAngle_param={ - .p = 100.0f, - .i = 0.0f, - .d = 0.0f, - .i_limit = 0.0f, - .out_limit =1000.0f, - }, - - - - - }, - - - }, - + .can = { .pitch6020 = BSP_CAN_1, .motor3508 = BSP_CAN_1, @@ -293,11 +207,7 @@ const ConfigParam_t *Config_ChassisGet(void) return ¶m_chassis; } -///*获取导航地图*/ -//void set_ops_path(ConfigParam_t *config, const point_t *path, int8_t path_num) { -// config->ops.path = path; -// config->ops.path_num = path_num; -//} + /** * \brief 从Flash读取配置信息 * diff --git a/User/Module/config.h b/User/Module/config.h index 4cd4a72..9ba1c14 100644 --- a/User/Module/config.h +++ b/User/Module/config.h @@ -4,13 +4,11 @@ #include "Chassis.h" #include "can_use.h" #include "ahrs.h" -#include "navi.h" #include "map.h" typedef struct{ Chassis_Param_t chassis; /**/ -ops_param_t ops; CAN_Params_t can; AHRS_Eulr_t mech_zero[4]; diff --git a/User/bsp/bsp_action.c b/User/bsp/bsp_action.c deleted file mode 100644 index 7e024e3..0000000 --- a/User/bsp/bsp_action.c +++ /dev/null @@ -1,53 +0,0 @@ -#include "bsp_action.h" -#include "main.h" - - -extern UART_HandleTypeDef huart1; -extern DMA_HandleTypeDef hdma_usart1_rx; -void RS232_init(uint8_t *rx1_buf, uint8_t *rx2_buf, uint16_t dma_buf_num) -{ - - //enable the dma transfer for the receiver request - SET_BIT(huart1.Instance->CR3, USART_CR3_DMAR); - - //enable idle interrupt - __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE); - - //disable dma, to change the dma register - __HAL_DMA_DISABLE(&hdma_usart1_rx); - - //disable dma again but why? - //what's the condition? - while(hdma_usart1_rx.Instance->CR & DMA_SxCR_EN) - { - __HAL_DMA_DISABLE(&hdma_usart1_rx); - } - - //?? - hdma_usart1_rx.Instance->PAR = (uint32_t) & (USART1->DR); - - //memory buffer 1 - hdma_usart1_rx.Instance->M0AR = (uint32_t)(rx1_buf); - - //momory buffer 2 - hdma_usart1_rx.Instance->M1AR = (uint32_t)(rx2_buf); - - //data length - hdma_usart1_rx.Instance->NDTR = dma_buf_num; - - //enable double memory buffer - SET_BIT(hdma_usart1_rx.Instance->CR, DMA_SxCR_DBM); - - - //enable dma - __HAL_DMA_ENABLE(&hdma_usart1_rx); - -} - - - - - - - - diff --git a/User/bsp/bsp_action.h b/User/bsp/bsp_action.h deleted file mode 100644 index b72a94f..0000000 --- a/User/bsp/bsp_action.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BSP_ACTION_H -#define BSP_ACTION_H -#include "struct_typedef.h" - -void RS232_init(uint8_t *rx1_buf, uint8_t *rx2_buf, uint16_t dma_buf_num); - -#endif - diff --git a/User/device/Action.c b/User/device/Action.c deleted file mode 100644 index c576405..0000000 --- a/User/device/Action.c +++ /dev/null @@ -1,203 +0,0 @@ - -/** - * 东北大学ACTION码盘驱动 - * - * 本驱动采用ops_9定位系统,负责收发码盘的原始数据,并在任务中解析出相应的位置坐标。 - * 解析后的位置坐标将被交给导航处理模块,生成期望的运动向量。 - * - * 使用手册: - * 请参阅相关文档了解如何使用本驱动。 - * - * 注意: - * 本驱动仅适用于东北大学ACTION码盘。 - - *删去Action_HandleOffline错误处理函数中对结构体清0的函数 - - */ - -/* Includes ----------------------------------------------------------------- */ -#include "tim.h" -#include "Action.h" -#include - -static osThreadId_t thread_alert; - - -uint8_t rxbuf[RS232_FRAME_LENGTH]; - -static void Ops10msTimerCallback(void *arg){ - (void)arg; - osThreadFlagsSet(thread_alert,SIGNAL_OPSTIMER_REDY); -} - -/* Private function -------------------------------------------------------- */ -static void ACTION_IdleCallback(void) { - osThreadFlagsSet(thread_alert,SIGNAL_ACTION_RAW_REDY); -} - -/* Exported functions ------------------------------------------------------- */ -int8_t ACTIONRECV_Init(Action_POS_t *pos){ - if(pos == NULL) return DEVICE_ERR_NULL; - - pos->Action_ready =0;//码盘校准标志位初始化 - - if((thread_alert = osThreadGetId()) == NULL ) return DEVICE_ERR_NULL; - pos->action_timer_Id = - osTimerNew(Ops10msTimerCallback, osTimerPeriodic,NULL,NULL); - - osTimerStart(pos->action_timer_Id,10);//此处ticks 理解为1个tick为1ms 此处为每10ms触发一次回调函数 - - BSP_UART_RegisterCallback(BSP_UART_ACTION,BSP_UART_IDLE_LINE_CB, - ACTION_IdleCallback); - - return DEVICE_OK; -} - -int8_t ACTION_StartReceiving() { - if (HAL_UARTEx_ReceiveToIdle_DMA(BSP_UART_GetHandle(BSP_UART_ACTION), - (uint8_t *)rxbuf, - sizeof(rxbuf)) == HAL_OK) - return DEVICE_OK; - return DEVICE_ERR; -} - -bool_t ACTION_WaitDmaCplt(void) { - return(osThreadFlagsWait(SIGNAL_ACTION_RAW_REDY, osFlagsWaitAll,400) == - SIGNAL_ACTION_RAW_REDY); -} - - -/* * - - -*/ -int8_t ACTION_Parse(Action_POS_t *pos) -{ - if (pos == NULL) return DEVICE_ERR_NULL; - - static union - { - fp32 pos_data[3]; - char rxbuff[12]; - } pos_rxbuf; - - - if (rxbuf[0] == 0x0D && rxbuf[1] == 0x0A) - { - if (rxbuf[26] == 0x0A && rxbuf[27] == 0x0D) - { - - pos_rxbuf.rxbuff[0]=rxbuf[2]; - pos_rxbuf.rxbuff[1]=rxbuf[3]; - pos_rxbuf.rxbuff[2]=rxbuf[4]; - pos_rxbuf.rxbuff[3]=rxbuf[5]; - - - pos_rxbuf.rxbuff[4]=rxbuf[14]; - pos_rxbuf.rxbuff[5]=rxbuf[15]; - pos_rxbuf.rxbuff[6]=rxbuf[16]; - pos_rxbuf.rxbuff[7]=rxbuf[17]; - - - pos_rxbuf.rxbuff[8]=rxbuf[18]; - pos_rxbuf.rxbuff[9]=rxbuf[19]; - pos_rxbuf.rxbuff[10]=rxbuf[20]; - pos_rxbuf.rxbuff[11]=rxbuf[21]; - - - - // 数据解析 - pos->pos_yaw = pos_rxbuf.pos_data[0]; - // 按照安装方向决定正负号 - pos->pos_x = pos_rxbuf.pos_data[1]; - pos->pos_y = pos_rxbuf.pos_data[2]; - - pos ->Action_ready =1;//码盘校准完成 - } - } - else - { - return -1; - } - return DEVICE_OK; -} - -//该函数用来计算速度度(利用获取的位置来计算相应的速度) -//此处获取的是真实的位置(mm)后每10ms做一次微分处理 -int8_t ACTION_DataRefresh(Action_POS_t *pos){ - if (pos == NULL) return DEVICE_ERR_NULL; - - if (osThreadFlagsGet() & SIGNAL_OPSTIMER_REDY){ - osThreadFlagsClear(SIGNAL_OPSTIMER_REDY); - //计算每毫秒的速度 该函数每10ms调用 - pos->pos_Vx = (pos->pos_x - pos->pos_lastX) / 10; - pos->pos_Vy = (pos->pos_y - pos->pos_lastY) / 10; - - pos->pos_lastX = pos->pos_x; - pos->pos_lastY = pos->pos_y; - } - return DEVICE_OK; -} - - - -int8_t Action_HandleOffline(Action_POS_t *pos) { - if (pos == NULL) return DEVICE_ERR_NULL; - - (void)pos; - -// memset(pos, 0, sizeof(*pos)); - return 0; -} - -/* 将字符串拼接 */ -void Strcat(char str1[], char str2[], uint8_t num) -{ - int i = 0, j = 0; - - while (str1[i] != '\0') - i++; - - for (j = 0; j < num; j++) - { - str1[i++] = str2[j]; - } -} - -/* 该部分函数用于码盘的重定位系统 */ -/* ----------------------------- */ - -/* 手动标定,用于校正 */ -void ACT_Calibration(void) -{ - HAL_UART_Transmit(&huart1, (uint8_t *)"ACTR", 4, 100); -} - -/* 清零 */ -/* 将当前位置设置为 (0, 0) */ -void ACT_ZeroClear(void) -{ - HAL_UART_Transmit(&huart1, (uint8_t *)"ACT0", 4, 100); -} - -/* 更新 XY 坐标 */ -/* 将当前位置更新为指定的 X 和 Y */ -void ACT_UpdateXY(float pos_x, float pos_y) -{ - char update_xy[12] = "ACTD"; // 命令前缀为 "ACTD" - static union - { - float XY[2]; // 两个浮点数表示 X 和 Y 坐标 - char data[8]; // 将浮点数视为字节数据 - } set; - - set.XY[0] = pos_x; - set.XY[1] = pos_y; - - Strcat(update_xy, set.data, 8); - - HAL_UART_Transmit(&huart1, (uint8_t *)update_xy, sizeof(update_xy), 100); -} - - - diff --git a/User/device/Action.h b/User/device/Action.h deleted file mode 100644 index c0b8186..0000000 --- a/User/device/Action.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef _ACTION_H_ -#define _ACTION_H_ - -#define RS232_FRAME_LENGTH 28u -#define REF_LEN_RX_BUFF 0xFF - -#include -#include "device.h" -#include "bsp_usart.h" -#include "cmd.h" - - -typedef struct -{ - osTimerId_t action_timer_Id; - /*原始数据*/ - fp32 pos_x; - fp32 pos_y; - fp32 pos_yaw; // 航向角速度 - /*处理数据*/ - fp32 pos_Vx; - fp32 pos_Vy; - fp32 pos_lastX; - fp32 pos_lastY; - - int Action_ready;//码盘校准标志位 - - -}Action_POS_t; - - - - - -int8_t ACTIONRECV_Init(Action_POS_t*pos); - -int8_t ACTION_StartReceiving(void); - -bool_t ACTION_WaitDmaCplt(void); - -int8_t ACTION_Parse(Action_POS_t*pos); - -int8_t ACTION_DataRefresh(Action_POS_t*pos); - -int8_t Action_HandleOffline(Action_POS_t *pos); - -void ACT_UpdateXY(float pos_x,float pos_y); - -void ACT_ZeroClear(void); - - - - - - - - -#endif - diff --git a/User/device/cmd.c b/User/device/cmd.c index f0f8654..bc481bc 100644 --- a/User/device/cmd.c +++ b/User/device/cmd.c @@ -13,6 +13,17 @@ /* Private function -------------------------------------------------------- */ /*Export function --------------------------------------------------------------*/ + + + + +#ifdef dr16_t + + +#else + + +#endif int8_t CMD_Init(CMD_t *cmd){ /*若主结构体为空 自动返回错误 */ if(cmd == NULL) return-1; @@ -23,12 +34,14 @@ int8_t CMD_Init(CMD_t *cmd){ return 0; } -float aaaa; static void CMD_RcLogic(const CMD_RC_t *rc, CMD_t *cmd) { /* 将操纵杆的对应值转换为底盘的控制向量和云台变化的欧拉角 */ + +#ifdef r12ds_t + /*乐迪反馈值转换(-1 -- 1 )范围*/ if(rc->ch_x<0) cmd->Vx =map_fp32(rc->ch_x,-337,0,-1,0); else cmd->Vx =map_fp32(rc->ch_x,0,310,0,1); @@ -42,7 +55,25 @@ static void CMD_RcLogic(const CMD_RC_t *rc, CMD_t *cmd) { cmd->key_ctrl_l = rc->key [0]; cmd->key_ctrl_r = rc->key [1]; +#elif defined(dr16_t) + + cmd->Vx = rc->ch_r_x; + cmd->Vy = -rc->ch_r_y; + cmd->Vw = rc->ch_l_x; + + cmd->poscamear = rc->ch_l_y; + + cmd->key_ctrl_l = rc->sw_l; + cmd->key_ctrl_r = rc->sw_r ; + + +#endif + + + + + } @@ -59,12 +90,15 @@ static void CMD_RcLostLogic(CMD_t *cmd){ int8_t CMD_ParseRc(CMD_t *cmd,CMD_RC_t *rc){ if (cmd == NULL) return -1; if (rc == NULL) return -1; +#ifdef dr16_t /*c当rc丢控时,恢复机器人至默认状态 */ -// if ((rc->ch_w == CMD_SW_ERR) || (rc->ch_y == CMD_SW_ERR)) { -// CMD_RcLostLogic(cmd); -// } else { + if ((rc->ch_w == CMD_SW_ERR) || (rc->ch_y == CMD_SW_ERR)) { + CMD_RcLostLogic(cmd); + } else { CMD_RcLogic(rc, cmd); -// } + } + +#endif return 0; } @@ -174,27 +208,4 @@ int8_t CMD_CtrlSet(CMD_t *cmd) { } return 0; } -int8_t CMD_ParseAction(CMD_t *cmd,CMD_ACTION_t *act) -{ - if(cmd == NULL) return -1; - if(act == NULL) return -1; - - if(cmd->key_ctrl_l ==CMD_SW_MID ) - { - if(cmd->key_ctrl_r == CMD_SW_UP) - act->flag =1; - - if(cmd->key_ctrl_r == CMD_SW_DOWN ) - act->flag =-1; - - } - - cmd->C_navi .vx =act ->out .Vx ; - cmd ->C_navi .vy =act ->out .Vy ; - cmd ->C_navi .wz =act ->out .Vw ; - - - return 0; - -} diff --git a/User/device/cmd.h b/User/device/cmd.h index eecc6a4..d4d80c3 100644 --- a/User/device/cmd.h +++ b/User/device/cmd.h @@ -24,6 +24,14 @@ #define MID (0x09) + +/*选择遥控器,else为r12ds*/ +//#define dr16_t +#define r12ds_t + + + + typedef enum{ RC,//遥控器控制,左按键上 MID_NAVI,//雷达导航 @@ -63,54 +71,46 @@ typedef enum { CMD_SW_DOWN = 2, } CMD_SwitchPos_t; +typedef enum +{ + RC_dr16 , + RC_r12ds +}remote_type; + /*遥控器值,使用CMD_RcLogic函数传入CMD_t结构体*/ typedef struct { -// float ch_l_x; /* 遥控器左侧摇杆横轴值,上为正 */ -// float ch_l_y; /* 遥控器左侧摇杆纵轴值,右为正 */ -// float ch_r_x; /* 遥控器右侧摇杆横轴值,上为正 */ -// float ch_r_y; /* 遥控器右侧摇杆纵轴值,右为正 */ + + remote_type RC_type; +#ifdef dr16_t + + float ch_l_x; /* 遥控器左侧摇杆横轴值,上为正 */ + float ch_l_y; /* 遥控器左侧摇杆纵轴值,右为正 */ + float ch_r_x; /* 遥控器右侧摇杆横轴值,上为正 */ + float ch_r_y; /* 遥控器右侧摇杆纵轴值,右为正 */ -// float ch_res; /* 第五通道值 */ + float ch_res; /* 第五通道值 */ -// CMD_SwitchPos_t sw_r; /* 右侧拨杆位置 */ -// CMD_SwitchPos_t sw_l; /* 左侧拨杆位置 */ + CMD_SwitchPos_t sw_r; /* 右侧拨杆位置 */ + CMD_SwitchPos_t sw_l; /* 左侧拨杆位置 */ -// uint16_t key; /* 按键值 */ + uint16_t key; /* 按键值 */ -// uint16_t res; /* 保留,未启用 */ + uint16_t res; /* 保留,未启用 */ + +#else int16_t ch_x; // X轴(Channel 1) int16_t mul; // MUL(Channel 2) int16_t ch_y; // Y轴(Channel 3) int16_t ch_w; // W轴(Channel 4) int16_t key[8]; // 按键通道(Channel 5-12) + int16_t offline; +#endif } __attribute__((packed))CMD_RC_t; -typedef struct - { - fp32 Vx; - fp32 Vy; - fp32 Vw; - }OpsHopeVector_t; -typedef struct - { - fp32 x; - fp32 y; - fp32 z; - int cnt_point;//计数点 - }ops_point; - - -typedef struct { - - OpsHopeVector_t out; - - int flag;//传递flag触发标志位 - -} CMD_ACTION_t; typedef struct { uint8_t status_fromnuc; @@ -121,12 +121,7 @@ typedef struct { fp32 vy; fp32 wz; }navi; - struct - { - fp32 posx; - fp32 posy; - fp32 posw; - }pick; + struct { fp32 angle; @@ -175,11 +170,8 @@ int8_t CMD_Init(CMD_t *cmd); int8_t CMD_ParseRc(CMD_t *cmd,CMD_RC_t *rc); -int8_t CMD_ParseAction(CMD_t *cmd,CMD_ACTION_t *act); - int8_t CMD_ParseNuc(CMD_t *cmd,CMD_NUC_t *n); - int8_t CMD_SwitchStatus(CMD_t *cmd); int8_t CMD_CtrlSet(CMD_t *cmd); diff --git a/User/device/dr16.c b/User/device/dr16.c index 20704b5..e6d316b 100644 --- a/User/device/dr16.c +++ b/User/device/dr16.c @@ -1,135 +1,137 @@ -///* -// DR16接收机 +/* + DR16接收机 -//*/ +*/ -///* Includes ----------------------------------------------------------------- */ -//#include "dr16.h" - -//#include - -//#include "bsp_usart.h" -//#include "error_detect.h" -///* Private define ----------------------------------------------------------- */ -//#define DR16_CH_VALUE_MIN (364u) -//#define DR16_CH_VALUE_MID (1024u) -//#define DR16_CH_VALUE_MAX (1684u) - -///* Private macro ------------------------------------------------------------ */ -///* Private typedef ---------------------------------------------------------- */ -///* Private variables -------------------------------------------------------- */ - -//static osThreadId_t thread_alert; -//uint8_t cbuf[36]; //此处设置为两帧字节的长度 若为一帧会出现乱码的情况 -///* Private function -------------------------------------------------------- */ -//static void DR16_RxCpltCallback(void) { -// osThreadFlagsSet(thread_alert, SIGNAL_DR16_RAW_REDY); -//// detect_hook(DR16_TOE); -//} - -//static bool DR16_DataCorrupted(const DR16_t *dr16) { -// if (dr16 == NULL) return DEVICE_ERR_NULL; - -// if ((dr16->data.ch_r_x < DR16_CH_VALUE_MIN) || -// (dr16->data.ch_r_x > DR16_CH_VALUE_MAX)) -// return true; - -// if ((dr16->data.ch_r_y < DR16_CH_VALUE_MIN) || -// (dr16->data.ch_r_y > DR16_CH_VALUE_MAX)) -// return true; - -// if ((dr16->data.ch_l_x < DR16_CH_VALUE_MIN) || -// (dr16->data.ch_l_x > DR16_CH_VALUE_MAX)) -// return true; - -// if ((dr16->data.ch_l_y < 1000u) || -// (dr16->data.ch_l_y > DR16_CH_VALUE_MAX)) -// return true; - -// if (dr16->data.sw_l == 0) return true; - -// if (dr16->data.sw_r == 0) return true; - -// return false; -//} -///* Exported functions ------------------------------------------------------- */ -//int8_t DR16_Init(DR16_t *dr16) { -// if (dr16 == NULL) return DEVICE_ERR_NULL; -// if ((thread_alert = osThreadGetId()) == NULL) return DEVICE_ERR_NULL; - -// BSP_UART_RegisterCallback(BSP_UART_REMOTE, BSP_UART_IDLE_LINE_CB, -// DR16_RxCpltCallback); -// return DEVICE_OK; -//} - -//int8_t DR16_Restart(void) { -// __HAL_UART_DISABLE(BSP_UART_GetHandle(BSP_UART_REMOTE)); -// __HAL_UART_ENABLE(BSP_UART_GetHandle(BSP_UART_REMOTE)); -// return DEVICE_OK; -//} - -//int8_t DR16_StartDmaRecv(DR16_t *dr16) { -// if (HAL_UARTEx_ReceiveToIdle_DMA(BSP_UART_GetHandle(BSP_UART_REMOTE), -// (uint8_t *)cbuf, -// sizeof(cbuf)) == HAL_OK) -// return DEVICE_OK; -// return DEVICE_ERR; -//} - -//bool DR16_WaitDmaCplt(uint32_t timeout) { -// return (osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, timeout) == -// SIGNAL_DR16_RAW_REDY); -//} - -//int8_t DR16_ParseRaw(DR16_t *dr16) -//{ -// if(dr16 ==NULL) return DEVICE_ERR_NULL; -// dr16->data.ch_r_x = (cbuf[0] | (cbuf[1] <<8)); -// dr16->data.ch_r_y = ((cbuf[1] >> 3)| (cbuf[2] << 5)); -// dr16->data.ch_l_x = ((cbuf[2] >>6) | (cbuf[3] << 2) | (cbuf[4] <<10)); -// dr16->data.ch_l_y = ((cbuf[4] >>1) | (cbuf[5] <<7)); -// dr16->data.sw_r = ((cbuf[5] >>4)); -// dr16->data.sw_l = ((cbuf[5] >> 4) & 0x000C) >> 2; -// -// return 1; -//} -//int8_t DR16_ParseRC(const DR16_t *dr16, CMD_RC_t *rc) { -// if (dr16 == NULL) return DEVICE_ERR_NULL; -// -// if (DR16_DataCorrupted(dr16)) { -// return DEVICE_ERR; -// } else { -// memset(rc, 0, sizeof(*rc)); -// } - -// float full_range = (float)(DR16_CH_VALUE_MAX - DR16_CH_VALUE_MIN); - -// rc->ch_r_x = 2 * ((float)dr16->data.ch_r_x - DR16_CH_VALUE_MID) / full_range; -// rc->ch_r_y = 2 * ((float)dr16->data.ch_r_y - DR16_CH_VALUE_MID) / full_range; -// rc->ch_l_x = 2 * ((float)dr16->data.ch_l_x - DR16_CH_VALUE_MID) / full_range; -// rc->ch_l_y = 2 * ((float)dr16->data.ch_l_y - DR16_CH_VALUE_MID) / full_range; - -// rc->sw_l = (CMD_SwitchPos_t)dr16->data.sw_l; -// rc->sw_r = (CMD_SwitchPos_t)dr16->data.sw_r; - -// rc->key = dr16->data.key; - -//// rc->ch_res = ((float)dr16->data.res - DR16_CH_VALUE_MID) / full_range; -// return DEVICE_OK; -//} - -//int8_t DR16_HandleOffline(const DR16_t *dr16, CMD_RC_t *rc) { -// if (dr16 == NULL) return DEVICE_ERR_NULL; -// if (rc == NULL) return DEVICE_ERR_NULL; - -// (void)dr16; -// memset(rc, 0, sizeof(*rc)); -// return 0; -//} +/* Includes ----------------------------------------------------------------- */ +#include "dr16.h" +#include +#include "bsp_usart.h" +#include "error_detect.h" +#ifdef dr16_t + +/* Private define ----------------------------------------------------------- */ +#define DR16_CH_VALUE_MIN (364u) +#define DR16_CH_VALUE_MID (1024u) +#define DR16_CH_VALUE_MAX (1684u) + +/* Private macro ------------------------------------------------------------ */ +/* Private typedef ---------------------------------------------------------- */ +/* Private variables -------------------------------------------------------- */ + +static osThreadId_t thread_alert; +uint8_t cbuf[36]; //此处设置为两帧字节的长度 若为一帧会出现乱码的情况 +/* Private function -------------------------------------------------------- */ +static void DR16_RxCpltCallback(void) { + osThreadFlagsSet(thread_alert, SIGNAL_DR16_RAW_REDY); +// detect_hook(DR16_TOE); +} + +static bool DR16_DataCorrupted(const DR16_t *dr16) { + if (dr16 == NULL) return DEVICE_ERR_NULL; + + if ((dr16->data.ch_r_x < DR16_CH_VALUE_MIN) || + (dr16->data.ch_r_x > DR16_CH_VALUE_MAX)) + return true; + + if ((dr16->data.ch_r_y < DR16_CH_VALUE_MIN) || + (dr16->data.ch_r_y > DR16_CH_VALUE_MAX)) + return true; + + if ((dr16->data.ch_l_x < DR16_CH_VALUE_MIN) || + (dr16->data.ch_l_x > DR16_CH_VALUE_MAX)) + return true; + + if ((dr16->data.ch_l_y < 1000u) || + (dr16->data.ch_l_y > DR16_CH_VALUE_MAX)) + return true; + + if (dr16->data.sw_l == 0) return true; + + if (dr16->data.sw_r == 0) return true; + + return false; +} +/* Exported functions ------------------------------------------------------- */ +int8_t DR16_Init(DR16_t *dr16) { + if (dr16 == NULL) return DEVICE_ERR_NULL; + if ((thread_alert = osThreadGetId()) == NULL) return DEVICE_ERR_NULL; + + BSP_UART_RegisterCallback(BSP_UART_REMOTE, BSP_UART_IDLE_LINE_CB, + DR16_RxCpltCallback); + return DEVICE_OK; +} + +int8_t DR16_Restart(void) { + __HAL_UART_DISABLE(BSP_UART_GetHandle(BSP_UART_REMOTE)); + __HAL_UART_ENABLE(BSP_UART_GetHandle(BSP_UART_REMOTE)); + return DEVICE_OK; +} + +int8_t DR16_StartDmaRecv(DR16_t *dr16) { + if (HAL_UARTEx_ReceiveToIdle_DMA(BSP_UART_GetHandle(BSP_UART_REMOTE), + (uint8_t *)cbuf, + sizeof(cbuf)) == HAL_OK) + return DEVICE_OK; + return DEVICE_ERR; +} + +bool DR16_WaitDmaCplt(uint32_t timeout) { + return (osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, timeout) == + SIGNAL_DR16_RAW_REDY); +} + +int8_t DR16_ParseRaw(DR16_t *dr16) +{ + if(dr16 ==NULL) return DEVICE_ERR_NULL; + dr16->data.ch_r_x = (cbuf[0] | (cbuf[1] <<8)); + dr16->data.ch_r_y = ((cbuf[1] >> 3)| (cbuf[2] << 5)); + dr16->data.ch_l_x = ((cbuf[2] >>6) | (cbuf[3] << 2) | (cbuf[4] <<10)); + dr16->data.ch_l_y = ((cbuf[4] >>1) | (cbuf[5] <<7)); + dr16->data.sw_r = ((cbuf[5] >>4)); + dr16->data.sw_l = ((cbuf[5] >> 4) & 0x000C) >> 2; + + return 1; +} + +int8_t DR16_ParseRC(const DR16_t *dr16, CMD_RC_t *rc) { + if (dr16 == NULL) return DEVICE_ERR_NULL; + + if (DR16_DataCorrupted(dr16)) { + return DEVICE_ERR; + } else { + memset(rc, 0, sizeof(*rc)); + } + + float full_range = (float)(DR16_CH_VALUE_MAX - DR16_CH_VALUE_MIN); + + rc->ch_r_x = 2 * ((float)dr16->data.ch_r_x - DR16_CH_VALUE_MID) / full_range; + rc->ch_r_y = 2 * ((float)dr16->data.ch_r_y - DR16_CH_VALUE_MID) / full_range; + rc->ch_l_x = 2 * ((float)dr16->data.ch_l_x - DR16_CH_VALUE_MID) / full_range; + rc->ch_l_y = 2 * ((float)dr16->data.ch_l_y - DR16_CH_VALUE_MID) / full_range; + + rc->sw_l = (CMD_SwitchPos_t)dr16->data.sw_l; + rc->sw_r = (CMD_SwitchPos_t)dr16->data.sw_r; + + rc->key = dr16->data.key; + +// rc->ch_res = ((float)dr16->data.res - DR16_CH_VALUE_MID) / full_range; + return DEVICE_OK; +} + +int8_t DR16_HandleOffline(const DR16_t *dr16, CMD_RC_t *rc) { + if (dr16 == NULL) return DEVICE_ERR_NULL; + if (rc == NULL) return DEVICE_ERR_NULL; + + (void)dr16; + memset(rc, 0, sizeof(*rc)); + return 0; +} +#endif diff --git a/User/device/dr16.h b/User/device/dr16.h index b8cb98d..db37183 100644 --- a/User/device/dr16.h +++ b/User/device/dr16.h @@ -11,6 +11,11 @@ /* Exported constants ------------------------------------------------------- */ /* Exported macro ----------------------------------------------------------- */ /* Exported types ----------------------------------------------------------- */ + +#ifdef dr16_t + + +#define dr16_t typedef __packed struct { uint16_t ch_r_x : 11; @@ -44,3 +49,4 @@ int8_t DR16_HandleOffline(const DR16_t *dr16, CMD_RC_t *rc); #endif +#endif \ No newline at end of file diff --git a/User/device/r12ds.c b/User/device/r12ds.c index adffdba..3bc7b8e 100644 --- a/User/device/r12ds.c +++ b/User/device/r12ds.c @@ -12,6 +12,8 @@ #include #include "cmd.h" #include "user_math.h" + +#ifdef r12ds_t extern UART_HandleTypeDef huart3; extern DMA_HandleTypeDef hdma_usart3_rx; @@ -121,11 +123,6 @@ int8_t R12ds_DMA_Init(uint8_t *rx1_buf, uint8_t *rx2_buf, uint16_t dma_buf_num) return 1; } -//int map(int x, int in_min, int in_max, int out_min, int out_max) //ӳʤگ˽ -//{ -// return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; -//} - int8_t sbus_to_rc(volatile const uint8_t *sbus_buf, CMD_RC_t *rc_ctrl) { @@ -180,5 +177,5 @@ int8_t sbus_to_rc(volatile const uint8_t *sbus_buf, CMD_RC_t *rc_ctrl) return 0; } - +#endif diff --git a/User/device/r12ds.h b/User/device/r12ds.h index a035e4e..389aa59 100644 --- a/User/device/r12ds.h +++ b/User/device/r12ds.h @@ -6,6 +6,9 @@ #include "bsp_usart.h" #include "cmd.h" + +#ifdef r12ds_t + #define RC_FRAME_LENGTH 25u @@ -21,8 +24,8 @@ int8_t sbus_to_rc(volatile const uint8_t *sbus_buf,CMD_RC_t *rc_ctrl); //void R12ds_HandleOffline(void); -// int map_int(int x, int in_min, int in_max, int out_min, int out_max) ; #endif +#endif diff --git a/User/task/action_task.c b/User/task/action_task.c deleted file mode 100644 index cae95a2..0000000 --- a/User/task/action_task.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - 码盘解析任务 - - 处理码盘测量的实际距离 - - 将需要的数据共享给其他的线程 - -*/ -#include "action_task.h" -#include "Action.h" -#include "user_task.h" - - -#ifdef DEBUG - -Action_POS_t pos; -#else - -static Action_POS pos; - -#endif - -void Task_action(void *argument) -{ - (void)argument; -// osDelay(TASK_INIT_DELAY_ACTION); - - const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_ACTION; - - - ACTIONRECV_Init(&pos); - - - uint32_t tick = osKernelGetTickCount(); /* 获取当前控制任务运行频率的tick*/ - - while (1) - { -#ifdef DEBUG - /* 记录任务使用的的栈空闄*/ - task_runtime.stack_water_mark.action = - osThreadGetStackSpace(osThreadGetId()); -#endif - ACTION_StartReceiving(); - ACTION_DataRefresh(&pos); - - - - /* 使用下面的错误处理函数遇到一些问题 - 每10ms置标志位, ACTION_WaitDmaCplt 判断此标志位,通过后会执行速度计算 - 根据计算,任务运行频率大于中断产生频率,每一次运行判断标志位不通过,会导致结构体内数据清0的操作 - 目前的处理方法:注释掉Action_HandleOffline函数中,对结构体数据清零的函数memset - - - */ - - if(ACTION_WaitDmaCplt()){ - - ACTION_Parse(&pos); - - } - else{ - Action_HandleOffline(&pos); - } - - - //将解算后的码盘位置值放入消息队列供其他任务使用 - osMessageQueueReset(task_runtime.msgq.cmd.raw.Action); - osMessageQueuePut(task_runtime.msgq.cmd.raw.Action,(&pos),0,0); - - - tick += delay_tick; /* 计算下一个唤醒时刻*/ - osDelayUntil(tick); - } -} - diff --git a/User/task/action_task.h b/User/task/action_task.h deleted file mode 100644 index 8b13789..0000000 --- a/User/task/action_task.h +++ /dev/null @@ -1 +0,0 @@ - diff --git a/User/task/chassis_task.c b/User/task/chassis_task.c index 7a4603b..f3b6f7c 100644 --- a/User/task/chassis_task.c +++ b/User/task/chassis_task.c @@ -13,8 +13,6 @@ static CAN_t can; -#define remote_mode dr16 //遥控器选择 - #ifdef DEBUG CAN_Output_t out; @@ -70,9 +68,7 @@ void Task_Chassis(void *argument) osMessageQueueGet(task_runtime.msgq.imu.accl, &chassis.pos088.bmi088.accl,NULL, 0); /*can上设备数据获取*/ osMessageQueueGet(task_runtime.msgq.can.feedback.CAN_feedback, &can, NULL, 0); - - osMessageQueueGet(task_runtime.msgq.cmd.raw.Action, &chassis.Action_pos , NULL, 0); - + /*底盘控制信息获取,目前dji遥控器*/ osMessageQueueGet(task_runtime.msgq.cmd.chassis,&ctrl, NULL, 0); diff --git a/User/task/cmd_task.c b/User/task/cmd_task.c index 83bd681..d155116 100644 --- a/User/task/cmd_task.c +++ b/User/task/cmd_task.c @@ -6,7 +6,6 @@ CMD_t cmd; CMD_RC_t rc_ctrl; CMD_NUC_t Nuc; -CMD_ACTION_t cmd_ops_out; #else @@ -52,8 +51,6 @@ void Task_cmd(void *argument){ if(osMessageQueueGet(task_runtime.msgq.cmd.raw.rc, &rc_ctrl, 0, 0) == osOK)//遥控器 CMD_ParseRc(&cmd, &rc_ctrl); - if(osMessageQueueGet(task_runtime.msgq.cmd.raw .ops_9_out , &cmd_ops_out, 0, 0) == osOK)//码盘 - CMD_ParseAction (&cmd ,&cmd_ops_out); osKernelUnlock(); /* 同上 解锁RTOS内核 */ /*将需要与其他任务共享的数据放到消息队列里 此处主要分享给底盘 后续会添加和上层机构的通信 */ diff --git a/User/task/dr16_task.c b/User/task/dr16_task.c index c9351a1..6e4e59a 100644 --- a/User/task/dr16_task.c +++ b/User/task/dr16_task.c @@ -1,104 +1,62 @@ -///* -// DR16接收机通信任务(支持DR16和SBUS双协议) -//*/ +/* + DR16接收机通信任务 +*/ -///* Includes ----------------------------------------------------------------- */ -//#include -//#include "dr16.h" -//#include "LD_remote.h" // 新增 SBUS 支持 -//#include "user_task.h" +/* Includes ----------------------------------------------------------------- */ +#include -///* Private typedef ---------------------------------------------------------- */ -///* Private define ----------------------------------------------------------- */ -//#define PROTOCOL_DR16 0 -//#define PROTOCOL_SBUS 1 +#include "dr16.h" +#include "user_task.h" +/* Private typedef ---------------------------------------------------------- */ +/* Private define ----------------------------------------------------------- */ /* Private macro ------------------------------------------------------------ */ -///* Private variables -------------------------------------------------------- */ -//#ifdef DEBUG -//DR16_t dr16; -//CMD_RC_t cmd_rc; -//#else -//static DR16_t dr16; -//static CMD_RC_t cmd_rc; -//#endif +/* Private variables -------------------------------------------------------- */ -//static uint8_t protocol_type = PROTOCOL_DR16; // 当前协议类型 -// uint8_t sbus_rx_buf[36]; // SBUS 数据缓冲区 +#ifdef dr16 -///* Private function --------------------------------------------------------- */ -///** -// * \brief 协议识别函数 -// * -// * \param buf 接收到的数据缓冲区 -// * \return uint8_t 协议类型:PROTOCOL_DR16 或 PROTOCOL_SBUS -// */ -//static uint8_t Detect_Protocol(const uint8_t *buf) { -// if (buf[0] == 0x0F && buf[24] == 0x00) { // SBUS 协议特征 -// return PROTOCOL_SBUS; -// } -// return PROTOCOL_DR16; // 默认 DR16 -//} +#ifdef DEBUG +DR16_t dr16; +CMD_RC_t cmd_rc; +#else +static DR16_t dr16; +static CMD_RC_t cmd_rc; +#endif -///** -// * \brief 统一回调函数 -// */ -//static void UART_RxCpltCallback(void) { -// if (Detect_Protocol(sbus_rx_buf) == PROTOCOL_SBUS) { -// protocol_type = PROTOCOL_SBUS; -// } else { -// protocol_type = PROTOCOL_DR16; -// } -// osThreadFlagsSet(osThreadGetId(), SIGNAL_DR16_RAW_REDY); -//} +#endif -///* Exported functions ------------------------------------------------------- */ +/* Private function --------------------------------------------------------- */ +/* Exported functions ------------------------------------------------------- */ -///** -// * \brief dr16接收机任务(支持DR16和SBUS双协议) -// * -// * \param argument 未使用 -// */ -//void Task_dr16(void *argument) { -// (void)argument; /* 未使用,消除警告 */ +/** + * \brief dr16接收机 + * + * \param argument 未使用 + */ +void Task_dr16(void *argument) { + (void)argument; /* 未使用,消除警告 */ +#ifdef dr16 -// DR16_Init(&dr16); /* 初始化 DR16 */ -// RC_New_Init(); /* 初始化 SBUS */ + DR16_Init(&dr16); /* 初始化dr16 */ -// while (1) { -//#ifdef DEBUG -// /* 调试信息:堆栈水位 */ -// task_runtime.stack_water_mark.dr16 = osThreadGetStackSpace(osThreadGetId()); -//#endif + while (1) { +#ifdef DEBUG + /* */ + task_runtime.stack_water_mark.dr16 = osThreadGetStackSpace(osThreadGetId()); +#endif + /* 开启DMA */ + DR16_StartDmaRecv(&dr16); -// /* 开启 DMA 接收 */ -// if (protocol_type == PROTOCOL_DR16) { -// DR16_StartDmaRecv(&dr16); -// } else { -// HAL_UARTEx_ReceiveToIdle_DMA(&huart3, sbus_rx_buf, sizeof(sbus_rx_buf)); -// } - -// /* 等待 DMA 完成 */ -// if (DR16_WaitDmaCplt(30)) { -// if (protocol_type == PROTOCOL_DR16) { -// /* DR16 数据处理 */ -// DR16_ParseRaw(&dr16); -// DR16_ParseRC(&dr16, &cmd_rc); -// } else { -// /* SBUS 数据处理 */ -// const RC_Ctrl_New_t *sbus_data = RC_New_GetData(); -// cmd_rc.ch_r_x = sbus_data->ch[0] / 1000.0f; // 映射到 [-1, 1] -// cmd_rc.ch_r_y = sbus_data->ch[1] / 1000.0f; -// cmd_rc.ch_l_x = sbus_data->ch[2] / 1000.0f; -// cmd_rc.ch_l_y = sbus_data->ch[3] / 1000.0f; -// } -// } else { -// /* 处理遥控器离线 */ -// DR16_HandleOffline(&dr16, &cmd_rc); -// } - -// /* 发送数据到消息队列 */ -// osMessageQueueReset(task_runtime.msgq.cmd.raw.rc); -// osMessageQueuePut(task_runtime.msgq.cmd.raw.rc, &cmd_rc, 0, 0); -// } -//} \ No newline at end of file + if (DR16_WaitDmaCplt(30)) { + /* 转换 */ + DR16_ParseRaw(&dr16); + DR16_ParseRC(&dr16, &cmd_rc); + } else { + /* 处理遥控器离线 */ + DR16_HandleOffline(&dr16, &cmd_rc); + } + osMessageQueueReset(task_runtime.msgq.cmd.raw.rc); + osMessageQueuePut(task_runtime.msgq.cmd.raw.rc, &cmd_rc, 0, 0); + } +#endif +} diff --git a/User/task/init.c b/User/task/init.c index 0dffbec..c540de2 100644 --- a/User/task/init.c +++ b/User/task/init.c @@ -11,7 +11,6 @@ #include "task\user_task.h" #include "can_use.h" #include "cmd.h" -#include "Action.h" /* Private typedef ---------------------------------------------------------- */ /* Private define ----------------------------------------------------------- */ @@ -36,8 +35,6 @@ void Task_Init(void *argument) { osThreadNew(Task_AttiEsti, NULL, &attr_atti_esti); task_runtime.thread.chassis = osThreadNew(Task_Chassis, NULL, &attr_chassis); -// task_runtime.thread.dr16 = -// osThreadNew(Task_dr16,NULL,&attr_dr16); task_runtime.thread.r12ds = osThreadNew(Task_r12ds,NULL,&attr_r12ds); @@ -47,13 +44,7 @@ void Task_Init(void *argument) { osThreadNew(Task_cmd,NULL,&attr_cmd); task_runtime.thread.nuc = osThreadNew(Task_nuc,NULL,&attr_nuc); - - task_runtime.thread.navi = - osThreadNew(Task_Navi,NULL,&attr_navi); - task_runtime.thread.action_ops= - osThreadNew(Task_action,NULL,&attr_ops_9pos); - task_runtime.thread.error_detect = osThreadNew(Task_error_detect,NULL,&attr_error_detect); @@ -88,13 +79,6 @@ void Task_Init(void *argument) { osMessageQueueNew(3u, sizeof(CMD_t), NULL); task_runtime.msgq.cmd.raw.nuc = osMessageQueueNew(3u,sizeof(CMD_NUC_t), NULL); - task_runtime.msgq.cmd.raw.Action = - osMessageQueueNew(3u,sizeof(Action_POS_t), NULL); - task_runtime.msgq.cmd.raw.ops_9_out = - osMessageQueueNew(3u,sizeof(CMD_ACTION_t), NULL); - -// task_runtime.mutex.imu_eulr = -// xSemaphoreCreateMutex(); osKernelUnlock(); osThreadTerminate(osThreadGetId()); /* 结束自身 */ diff --git a/User/task/navi_task.c b/User/task/navi_task.c deleted file mode 100644 index 78dba44..0000000 --- a/User/task/navi_task.c +++ /dev/null @@ -1,68 +0,0 @@ -#include "user_task.h" -#include "navi.h" -#include "map.h" - -#ifdef DEBUG -ops_t o; -Action_POS_t pos_get; -CMD_ACTION_t ops_out;//经过导航算法解算后输出的期望控制值 - -#else - -static ops_t o; -static Action_POS_t pos_get; -static CMD_ACTION_t ops_out; - - -#endif - - -void Task_Navi(void *argument){ - - (void)argument; - - const uint32_t delay_tick = osKernelGetTickFreq() /TASK_FREQ_NAVI; - - Action_init(&o,&(task_runtime.config.chassis_config->ops),&pos_get); - - - uint32_t tick = osKernelGetTickCount(); /* 获取当前控制任务运行频率的tick*/ - - while (1) - { -#ifdef DEBUG - /* 记录任务使用的的栈空间 */ - task_runtime.stack_water_mark.action = - osThreadGetStackSpace(osThreadGetId()); -#endif - osMessageQueueGet(task_runtime.msgq.imu.gyro,&o.ops_gyro,NULL,0); - - osMessageQueueGet(task_runtime.msgq.imu.eulr,&o.ops_imu_pos,NULL,0); - - osMessageQueueGet(task_runtime.msgq.cmd .raw .Action ,&pos_get,NULL,0); - - go_path(&o,&ops_out); - - //将解算后的导航期望运动值放入消息队列供其他任务使用 - osMessageQueueReset(task_runtime.msgq.cmd.raw.ops_9_out); - osMessageQueuePut(task_runtime.msgq.cmd.raw.ops_9_out,(&ops_out),0,0); - - tick += delay_tick; /* 计算下一个唤醒时刻*/ - osDelayUntil(tick); - } - -} - - - - -// -// -// -// -// -// -// - - - diff --git a/User/task/navi_task.h b/User/task/navi_task.h deleted file mode 100644 index 6f01d09..0000000 --- a/User/task/navi_task.h +++ /dev/null @@ -1 +0,0 @@ -#include "navi.h" \ No newline at end of file diff --git a/User/task/r12ds_task.c b/User/task/r12ds_task.c index d073462..d12f02c 100644 --- a/User/task/r12ds_task.c +++ b/User/task/r12ds_task.c @@ -3,6 +3,9 @@ #include "user_task.h" #include + +#ifdef r12ds_t + #ifdef DEBUG CMD_RC_t cmd_rc; @@ -20,6 +23,8 @@ static CMD_RC_t cmd_rc; CMD_RC_t *R12ds_DataGet(){ return &cmd_rc; } + + //void R12ds_HandleOffline(void) { // CMD_RC_t *rc; // rc = R12ds_DataGet(); @@ -27,10 +32,15 @@ CMD_RC_t *R12ds_DataGet(){ // memset(rc, 0, sizeof(*rc)); // rc->offline = 1;//用作遥控器断电后急停使用 //} + +#endif void Task_r12ds(void *argument) { (void)argument; + +#ifdef r12ds_t + const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_R12DS; R12ds_DMA_Init(sbus_rx_buf[0],sbus_rx_buf[1],50); @@ -61,6 +71,7 @@ void Task_r12ds(void *argument) } +#endif } diff --git a/User/task/user_task.c b/User/task/user_task.c index e2496e4..f6c9ae8 100644 --- a/User/task/user_task.c +++ b/User/task/user_task.c @@ -25,11 +25,6 @@ const osThreadAttr_t attr_atti_esti = { .priority = osPriorityRealtime, .stack_size = 256 * 4, }; -const osThreadAttr_t attr_ops_9pos = { - .name = "action", - .priority = osPriorityRealtime, - .stack_size = 256 *4, -}; const osThreadAttr_t attr_chassis = { .name = "chassis", .priority = osPriorityAboveNormal, @@ -65,14 +60,10 @@ const osThreadAttr_t attr_error_detect = { .stack_size = 128 *4, }; -//const osThreadAttr_t attr_dr16 = { -// .name = "dr16", -// .priority = osPriorityRealtime, -// .stack_size = 128 *4, -//}; - -const osThreadAttr_t attr_navi = { - .name = "navi", +const osThreadAttr_t attr_dr16 = { + .name = "dr16", .priority = osPriorityRealtime, .stack_size = 128 *4, }; + + diff --git a/User/task/user_task.h b/User/task/user_task.h index 4c2c9b7..9317486 100644 --- a/User/task/user_task.h +++ b/User/task/user_task.h @@ -18,17 +18,13 @@ #define TASK_FREQ_CTRL_CMD (500u) #define TASK_FREQ_NUC (500u) #define TASK_FREQ_CAN (1000u) -#define TASK_FREQ_NAVI (500u) #define TASK_FREQ_R12DS (1000u) -#define TASK_FREQ_ACTION (500u) +#define TASK_FREQ_dr16 (1000u) #define TASK_FREQ_ERROR_DTC (3u) #define DEBUG - -#define TASK_INIT_DELAY_ACTION (400u) - #define TASK_INIT_DELAY_NUC (500u) /* Exported defines --------------------------------------------------------- */ @@ -40,17 +36,14 @@ typedef struct { struct { osThreadId_t atti_esti; osThreadId_t chassis; -// osThreadId_t dr16; + osThreadId_t dr16; osThreadId_t r12ds; - - osThreadId_t action_ops; osThreadId_t ai; osThreadId_t can; osThreadId_t cmd; osThreadId_t nuc; - osThreadId_t navi; osThreadId_t error_detect; } thread; @@ -67,8 +60,6 @@ typedef struct { osMessageQueueId_t rc; osMessageQueueId_t nuc; osMessageQueueId_t eulr;/*姿态结算得到的欧拉角*/ - osMessageQueueId_t Action; - osMessageQueueId_t ops_9_out; }raw; @@ -105,13 +96,11 @@ typedef struct { UBaseType_t chassis; UBaseType_t can; UBaseType_t atti_esti; -// UBaseType_t dr16; + UBaseType_t dr16; UBaseType_t r12ds; - UBaseType_t action; UBaseType_t cmd; UBaseType_t nuc; - UBaseType_t navi; UBaseType_t error_detect; } stack_water_mark; /* stack使用 */ @@ -123,8 +112,6 @@ typedef struct { float r12ds; float cmd; float nuc; - float action; - float navi; float error_detect; } freq; /* 任务运行频率 */ @@ -132,12 +119,9 @@ typedef struct { float chassis; float can; float atti_esti; - float ai; float r12ds; float cmd; float nuc; - float navi; - float action; float error_detect; } last_up_time; /* 任务上一次运行的时间 */ #endif @@ -155,8 +139,6 @@ extern const osThreadAttr_t attr_can; extern const osThreadAttr_t attr_cmd; -extern const osThreadAttr_t attr_ops_9pos; - extern const osThreadAttr_t attr_nuc; extern const osThreadAttr_t attr_error_detect; @@ -164,7 +146,6 @@ extern const osThreadAttr_t attr_error_detect; //extern const osThreadAttr_t attr_dr16; extern const osThreadAttr_t attr_r12ds; -extern const osThreadAttr_t attr_navi; /* Exported functions prototypes -------------------------------------------- */ void Task_Init(void *argument); @@ -179,14 +160,10 @@ void Task_cmd(void *argument); void Task_nuc(void *argument); -void Task_action(void *argument); - -void Task_Navi(void *argument); - - void Task_error_detect(void *argument); + void Task_r12ds(void *argument); -//void Task_dr16(void *argument); +void Task_dr16(void *argument); #endif