From afdb0edbc32e3ff8bead9ca6dbf9ecf9378b15c2 Mon Sep 17 00:00:00 2001 From: ZHAISHUI04 <3150778793@qq.com> Date: Fri, 13 Jun 2025 16:24:49 +0800 Subject: [PATCH] =?UTF-8?q?sick=E8=BD=AC=E6=8E=A5=EF=BC=8C=E6=97=A0?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDK-ARM/.vscode/c_cpp_properties.json | 108 +++++++++++++ MDK-ARM/.vscode/keil-assistant.log | 8 + MDK-ARM/.vscode/settings.json | 3 +- MDK-ARM/R2.uvoptx | 135 +++------------- MDK-ARM/R2/R2.axf | Bin 2850972 -> 2850004 bytes User/Module/Chassis.c | 64 ++++---- User/Module/config.c | 30 ++-- User/Module/up.c | 212 +++++++++++++------------- User/Module/up.h | 165 ++++++++++---------- User/device/can_use.c | 48 ++---- User/device/can_use.h | 8 +- User/device/nuc.c | 8 +- User/task/can_task.c | 1 - User/task/chassis_task.c | 2 + User/task/cmd_task.c | 5 +- User/task/nuc_task.c | 14 +- 16 files changed, 407 insertions(+), 404 deletions(-) diff --git a/MDK-ARM/.vscode/c_cpp_properties.json b/MDK-ARM/.vscode/c_cpp_properties.json index fb4b89f..1efa7c0 100644 --- a/MDK-ARM/.vscode/c_cpp_properties.json +++ b/MDK-ARM/.vscode/c_cpp_properties.json @@ -415,6 +415,114 @@ "__vfp_status(x,y)=0" ], "intelliSenseMode": "${default}" + }, + { + "name": "R2", + "includePath": [ + "d:\\Desktop\\r2\\R2_NEW\\R2\\Core\\Inc", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Drivers\\STM32F4xx_HAL_Driver\\Inc", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Drivers\\STM32F4xx_HAL_Driver\\Inc\\Legacy", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Middlewares\\Third_Party\\FreeRTOS\\Source\\include", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Middlewares\\Third_Party\\FreeRTOS\\Source\\CMSIS_RTOS_V2", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Middlewares\\Third_Party\\FreeRTOS\\Source\\portable\\RVDS\\ARM_CM4F", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Drivers\\CMSIS\\Device\\ST\\STM32F4xx\\Include", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Drivers\\CMSIS\\Include", + "d:\\Desktop\\r2\\R2_NEW\\R2\\User", + "d:\\Desktop\\r2\\R2_NEW\\R2\\User\\bsp", + "d:\\Desktop\\r2\\R2_NEW\\R2\\User\\device", + "d:\\Desktop\\r2\\R2_NEW\\R2\\User\\task", + "d:\\Desktop\\r2\\R2_NEW\\R2\\User\\Algorithm", + "d:\\Desktop\\r2\\R2_NEW\\R2\\User\\Module", + "d:\\Desktop\\r2\\R2_NEW\\R2\\MDK-ARM", + "d:\\Desktop\\r2\\R2_NEW\\R2\\USB_DEVICE\\App", + "d:\\Desktop\\r2\\R2_NEW\\R2\\USB_DEVICE\\Target", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Middlewares\\ST\\STM32_USB_Device_Library\\Core\\Inc", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Middlewares\\ST\\STM32_USB_Device_Library\\Class\\CDC\\Inc", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Drivers\\CMSIS\\Lib\\ARM", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Core\\Src", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Drivers\\STM32F4xx_HAL_Driver\\Src", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Middlewares\\Third_Party\\FreeRTOS\\Source", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Middlewares\\Third_Party\\FreeRTOS\\Source\\portable\\MemMang", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Middlewares\\ST\\STM32_USB_Device_Library\\Core\\Src", + "d:\\Desktop\\r2\\R2_NEW\\R2\\Middlewares\\ST\\STM32_USB_Device_Library\\Class\\CDC\\Src" + ], + "defines": [ + "USE_HAL_DRIVER", + "STM32F407xx", + "__CC_ARM", + "__arm__", + "__align(x)=", + "__ALIGNOF__(x)=", + "__alignof__(x)=", + "__asm(x)=", + "__forceinline=", + "__restrict=", + "__global_reg(n)=", + "__inline=", + "__int64=long long", + "__INTADDR__(expr)=0", + "__irq=", + "__packed=", + "__pure=", + "__smc(n)=", + "__svc(n)=", + "__svc_indirect(n)=", + "__svc_indirect_r7(n)=", + "__value_in_regs=", + "__weak=", + "__writeonly=", + "__declspec(x)=", + "__attribute__(x)=", + "__nonnull__(x)=", + "__register=", + "__breakpoint(x)=", + "__cdp(x,y,z)=", + "__clrex()=", + "__clz(x)=0U", + "__current_pc()=0U", + "__current_sp()=0U", + "__disable_fiq()=", + "__disable_irq()=", + "__dmb(x)=", + "__dsb(x)=", + "__enable_fiq()=", + "__enable_irq()=", + "__fabs(x)=0.0", + "__fabsf(x)=0.0f", + "__force_loads()=", + "__force_stores()=", + "__isb(x)=", + "__ldrex(x)=0U", + "__ldrexd(x)=0U", + "__ldrt(x)=0U", + "__memory_changed()=", + "__nop()=", + "__pld(...)=", + "__pli(...)=", + "__qadd(x,y)=0", + "__qdbl(x)=0", + "__qsub(x,y)=0", + "__rbit(x)=0U", + "__rev(x)=0U", + "__return_address()=0U", + "__ror(x,y)=0U", + "__schedule_barrier()=", + "__semihost(x,y)=0", + "__sev()=", + "__sqrt(x)=0.0", + "__sqrtf(x)=0.0f", + "__ssat(x,y)=0", + "__strex(x,y)=0U", + "__strexd(x,y)=0", + "__strt(x,y)=", + "__swp(x,y)=0U", + "__usat(x,y)=0U", + "__wfe()=", + "__wfi()=", + "__yield()=", + "__vfp_status(x,y)=0" + ], + "intelliSenseMode": "${default}" } ], "version": 4 diff --git a/MDK-ARM/.vscode/keil-assistant.log b/MDK-ARM/.vscode/keil-assistant.log index fa42cdc..2caa556 100644 --- a/MDK-ARM/.vscode/keil-assistant.log +++ b/MDK-ARM/.vscode/keil-assistant.log @@ -451,3 +451,11 @@ [info] Log at : 2025/3/28|21:46:16|GMT+0800 +[info] Log at : 2025/6/6|21:51:18|GMT+0800 + +[info] Log at : 2025/6/7|17:45:08|GMT+0800 + +[info] Log at : 2025/6/7|21:03:23|GMT+0800 + +[info] Log at : 2025/6/12|16:54:50|GMT+0800 + diff --git a/MDK-ARM/.vscode/settings.json b/MDK-ARM/.vscode/settings.json index e9743cc..681d6c0 100644 --- a/MDK-ARM/.vscode/settings.json +++ b/MDK-ARM/.vscode/settings.json @@ -96,6 +96,7 @@ "limits": "c", "gimbal_task.h": "c", "gimgal.h": "c", - "navi.h": "c" + "navi.h": "c", + "up.h": "c" } } \ No newline at end of file diff --git a/MDK-ARM/R2.uvoptx b/MDK-ARM/R2.uvoptx index 440962d..403d151 100644 --- a/MDK-ARM/R2.uvoptx +++ b/MDK-ARM/R2.uvoptx @@ -158,197 +158,102 @@ 0 1 - rc_ctrl,0x0A + Nor_Vx 1 1 - LD_raw,0x0A + Nor_Vy 2 1 - can,0x0A + count,0x0A 3 1 - UP,0x0A + count 4 1 - cmd_rc,0x0A + pid 5 1 - chassis + BMI088_t 6 1 - nuc_raw,0x0A + up,0x0A 7 1 - nucbuf + low,0x0A 8 1 - cmd_fromnuc + UP,0x0A 9 1 - up_cmd,0x0A + send,0x0A 10 1 - can_out + cmd,0x0A 11 1 - Nor_Vx + rc_ctrl,0x0A 12 1 - Nor_Vy + a,0x0A 13 1 - b + delay_aa,0x0A 14 1 - count,0x0A + aaaaaaaaaaa,0x0A 15 1 - count + task_runtime,0x0A 16 1 - raw_rx1,0x0A + last_tick,0x0A 17 1 - gyro_kp,0x0A + chassis,0x0A 18 1 - nucbuf,0x0A + can,0x0A 19 1 - vofa_send,0x0A - - - 20 - 1 - SendBuffer,0x10 - - - 21 - 1 - NUC_StartSending,0x0A - - - 22 - 1 - PIAN - - - 23 - 1 - pid - - - 24 - 1 - bmi088 - - - 25 - 1 - ist8310 - - - 26 - 1 - imu_eulr,0x0A - - - 27 - 1 - imu_temp,0x0A - - - 28 - 1 - htim10,0x0A - - - 29 - 1 - pulse - - - 30 - 1 - imu_temp - - - 31 - 1 - cmd - - - 32 - 1 - NUC_send - - - 33 - 1 - BMI088_t - - - 34 - 1 - bmi088 - - - 35 - 1 - up,0x0A - - - 36 - 1 - low,0x0A - - - 37 - 1 - NUC_send - - - 38 - 1 - cmd_fromnuc + can_rx,0x0A diff --git a/MDK-ARM/R2/R2.axf b/MDK-ARM/R2/R2.axf index f383ca8eb50999eccc60d654c34b274a26aec3ae..07eaeff6fc82836b1ea67147fd684976fd2003a3 100644 GIT binary patch delta 130056 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 ZfH`!0xPdomfH_b6+oRarG(LRme*sNUC_send .send [1]=1; /* -sick0,左1 +sick0,下 sick1,左2 -sick2,下1 +sick2,左1 */ -//int8_t sick_calibration(Chassis_t *c, CMD_t *ctrl, CAN_Output_t *out) -//{ -//// int32_t x_set; -//// int32_t y_set; -// if (c == NULL) return CHASSIS_ERR_NULL; -// if (ctrl == NULL) return CHASSIS_ERR_NULL; -// -// //yaw修正 -// if(fabs((fp32)c->sick_cali .sick_dis [0]-c->sick_cali .sick_dis [1])>(fp32)c->sick_cali .sickparam.w_error){ -// c->move_vec .Vw = PID_calc(&(c->pid .chassis_SickVxPID ),c->sick_cali .sick_dis [0],c->sick_cali .sick_dis [1]); -// } +int8_t sick_calibration(Chassis_t *c, CMD_t *ctrl, CAN_Output_t *out) +{ + if (c == NULL) return CHASSIS_ERR_NULL; + if (ctrl == NULL) return CHASSIS_ERR_NULL; -// else { //大于误差 -// if(fabs((fp32)c->sick_cali .sick_dis[0]-c->sick_cali .sick_dis[1])>c->sick_cali .sickparam .xy_error) -// {//xy修正 -// c->move_vec .Vx =PID_calc (&(c->pid .chassis_SickVxPID ),c->sick_cali .sick_dis [0], c->sick_cali .sickparam.x_set); -// c->move_vec .Vy =PID_calc (&(c->pid .chassis_SickVyPID),c->sick_cali .sick_dis [2], c->sick_cali .sickparam.y_set); -// } -// else {//修正OK后,给nuc返回值 -// -// -// } -// -// -// } -// -//} + + fp32 sick0 = c->sick_cali.sick_dis[0]; + fp32 sick1 = c->sick_cali.sick_dis[1]; + fp32 sick2 = c->sick_cali.sick_dis[2]; + const sickparam_t *param = &c->sick_cali.sickparam; + + fp32 diff = fabsf(sick0 - sick1); + + // 1. yaw修正 + if (diff > param->w_error) { + c->move_vec.Vw = PID_calc(&(c->pid.chassis_SickVxPID), diff, 0); + c->move_vec.Vx = 0; + c->move_vec.Vy = 0; + } + // 2. xy修正 + else if (diff > param->xy_error) { + c->move_vec.Vw = 0; + c->move_vec.Vx = PID_calc(&(c->pid.chassis_SickVxPID), sick0, param->x_set); + c->move_vec.Vy = PID_calc(&(c->pid.chassis_SickVyPID), sick2, param->y_set); + } + // 3. 修正完成 + else { + c->move_vec.Vw = 0; + c->move_vec.Vx = 0; + c->move_vec.Vy = 0; + + } + + return CHASSIS_OK; +} diff --git a/User/Module/config.c b/User/Module/config.c index 9753e55..0de4e36 100644 --- a/User/Module/config.c +++ b/User/Module/config.c @@ -95,13 +95,13 @@ static const ConfigParam_t param ={ /*上层其他参数*/ /*运球*/ - .DribbleConfig_Config = { + .DribbleCfg = { .dribble_flag=0, - .m3508_init_angle = -5, + .m3508_init_ang = -5, .m3508_translate_angle = 1000, - .m3508_dribble_Reverse_speed=-3500, - .m3508_dribble_speed= 4000, // 转动速度 - .m3508_dribble_init_speed=0, + .rev_spd=-1500, + .spd= 4000, // 转动速度 + .init_spd=0, .light_3508_flag=0,//3508平移处的光电,0初始,1到位置 .light_ball_flag=0,//检测球的flag @@ -109,21 +109,17 @@ static const ConfigParam_t param ={ }, /*投球*/ - .PitchConfig_Config = { - .m2006_init_angle =-100, - .m2006_trigger_angle =0, - .go1_init_position = -50, - .go1_Receive_ball = -5, //偏下 - .go1_release_threshold =-210, - .m2006_Screw_init=0, + .PitchCfg = { + .m2006_init =-100, //释放的角度 + .m2006_trig =0, //可以拉住发射的角度 + .go_init = -50, //仅用在go上电,初始位置 + .go_pull_pos =-210, .Pitch_angle =58, .pull_speed =5, - }, - - + }, .chassis = {/**/ @@ -172,8 +168,8 @@ static const ConfigParam_t param ={ .out_limit =0.0f, }, .sickparam={ - .w_error=1000, - .xy_error=1000, + .w_error=5000, + .xy_error=5000, .x_set=1000, .y_set=1000, diff --git a/User/Module/up.c b/User/Module/up.c index 27c43cc..54d8964 100644 --- a/User/Module/up.c +++ b/User/Module/up.c @@ -53,17 +53,17 @@ int8_t up_init(UP_t *u,const UP_Param_t *param,float target_freq) // 初始化上层状态机 - if (!u->DribbleContext .is_initialized) { //检查是否为第一次运行状态机,运球 - u->DribbleContext .DribbleConfig = u->param ->DribbleConfig_Config ;//赋值 - u->DribbleContext .DribbleState = DRIBBLE_PREPARE; - u->DribbleContext .is_initialized = 1; + if (!u->DribbleCont .is_init) { //检查是否为第一次运行状态机,运球 + u->DribbleCont .DribbleConfig = u->param ->DribbleCfg ;//赋值 + u->DribbleCont .DribbleState = DRIBBLE_PREPARE; + u->DribbleCont .is_init = 1; } - if (!u->PitchContext .is_initialized) { - u->PitchContext .PitchConfig = u->param ->PitchConfig_Config ;//赋值 - u->PitchContext .PitchState = PITCH_PREPARE; //状态更新,开始夹球 - u->PitchContext .is_initialized = 1; + if (!u->Pitch_Cfg .is_init) { + u->Pitch_Cfg .PitchConfig = u->param ->PitchCfg ;//赋值 + u->Pitch_Cfg .PitchState = PITCH_PREPARE; //状态更新,开始夹球 + u->Pitch_Cfg .is_init = 1; } BSP_UART_RegisterCallback(BSP_UART_RS485, BSP_UART_RX_CPLT_CB, USART6_RxCompleteCallback);//注册串口回调函数,bsp层 @@ -96,8 +96,8 @@ int8_t UP_UpdateFeedback(UP_t *u, const CAN_t *can, CMD_t *c) { u->cmd =c; /*光电状态更新*/ - u->DribbleContext .DribbleConfig .light_ball_flag =HAL_GPIO_ReadPin(LIGHT_C_GPIO_Port ,LIGHT_C_Pin); - u->DribbleContext .DribbleConfig .light_3508_flag =HAL_GPIO_ReadPin(LIGHT_B_GPIO_Port ,LIGHT_B_Pin); + u->DribbleCont .DribbleConfig .light_ball_flag =HAL_GPIO_ReadPin(LIGHT_C_GPIO_Port ,LIGHT_C_Pin); + u->DribbleCont .DribbleConfig .light_3508_flag =HAL_GPIO_ReadPin(LIGHT_B_GPIO_Port ,LIGHT_B_Pin); return 0; @@ -168,17 +168,8 @@ int8_t GO_SendData(UP_t *u, float pos, float limit) static int is_calibration=0; static fp32 error=0; //误差量 -// GO_MotorData_t *GO_calibration;//校准前,原始数据 u->motorfeedback .go_data = get_GO_measure_point() ; -// if(is_calibration==0) -// { -// is_calibration=HAL_GPIO_ReadPin (GPIOE ,GPIO_PIN_9 ); -// u->go_cmd.Pos = -50; //上电之后跑 -// error= GO_calibration->Pos ; -// } -// u->motorfeedback .go_data = GO_calibration; -// u->motorfeedback .go_data ->Pos= error ; -// u->go_cmd.Pos = pos; + // 读取参数 float tff = u->go_cmd.T; // 前馈力矩 @@ -214,7 +205,7 @@ int8_t ALL_Motor_Control(UP_t *u,CAN_Output_t *out) DJ_Speed_Control(u,0x201,&u->motorfeedback .DJmotor_feedback[0] ,&u->pid .Dribble_M3508_speed[0],u->motor_target .Dribble_M3508_speed[0]); DJ_Speed_Control(u,0x202,&u->motorfeedback .DJmotor_feedback[1] ,&u->pid .Dribble_M3508_speed[1],u->motor_target .Dribble_M3508_speed[1]); DJ_Speed_Control(u,0x203,&u->motorfeedback .DJmotor_feedback[2] ,&u->pid .Dribble_M3508_speed[2],u->motor_target .Dribble_M3508_speed[2]); - DJ_Angle_Control(u,0x204,&u->motorfeedback .DJmotor_feedback[3] , + DJ_Angle_Control(u,0x204,&u->motorfeedback .DJmotor_feedback[3] , &u->pid .Dribble_translate_M3508_angle , &u->pid .Dribble_translate_M3508_speed , u->motor_target .Dribble_translate_M3508_angle ); @@ -233,7 +224,7 @@ int8_t ALL_Motor_Control(UP_t *u,CAN_Output_t *out) GO_SendData(u, u->motor_target .go_shoot, - u->PitchContext .PitchConfig .pull_speed );//对应的拉动速度 + u->Pitch_Cfg .PitchConfig .pull_speed );//对应的拉动速度 for(int i=0;i<4;i++){ @@ -251,18 +242,23 @@ int8_t ALL_Motor_Control(UP_t *u,CAN_Output_t *out) } -int a=0; -int b=0; - int8_t UP_control(UP_t *u,CAN_Output_t *out,CMD_t *c) { if(u ==NULL) return 0; + if(out ==NULL) return 0; + if(c ==NULL) return 0; + + /*指针简化*/ + PitchCfg_t *pitch_cfg = &u->Pitch_Cfg.PitchConfig; + DribbleCfg_t *DribbleCont = &u->DribbleCont.DribbleConfig; + + up_motor_target_t *target=&u->motor_target ; static int is_pitch=1; /*config值限位*/ - abs_limit_min_max_fp(&u->PitchContext.PitchConfig.go1_Receive_ball ,-208.0f,2.0f); + abs_limit_min_max_fp(&u->Pitch_Cfg.PitchConfig.go_release_pos ,-208.0f,2.0f); switch (c->CMD_CtrlType ) @@ -275,53 +271,49 @@ int8_t UP_control(UP_t *u,CAN_Output_t *out,CMD_t *c) case Normal : /*投篮*/ if(is_pitch){ - u->motor_target .go_shoot =u->PitchContext .PitchConfig .go1_init_position ; - u->motor_target .Shoot_Pitch_angle=u->PitchContext.PitchConfig.Pitch_angle; + target->go_shoot =pitch_cfg->go_init ; + target->Shoot_Pitch_angle=pitch_cfg->Pitch_angle; is_pitch=0; } //让初始go位置只读一次,后面按调整模式更改的来,后面稳定了之后,可以跟随调整模式下一块删 - u->motor_target .Shoot_M2006_angle =u->PitchContext .PitchConfig .m2006_init_angle ; - u->PitchContext .PitchState = PITCH_PREPARE; //状态更新,开始夹球 + target->Shoot_M2006_angle =u->Pitch_Cfg .PitchConfig .m2006_init ; + u->Pitch_Cfg .PitchState = PITCH_PREPARE; //状态更新,开始夹球 /*运球*/ RELAY1_TOGGLE(0);//关闭气缸 for(int i=0;i<3;i++){ - u->motor_target.Dribble_M3508_speed[i]=0; + target->Dribble_M3508_speed[i]=0; } - u->motor_target .Dribble_translate_M3508_angle =u->DribbleContext .DribbleConfig .m3508_translate_angle; - u->DribbleContext .DribbleState = DRIBBLE_PREPARE; //重置最初状态 + target->Dribble_translate_M3508_angle =u->DribbleCont .DribbleConfig .m3508_translate_angle; + u->DribbleCont .DribbleState = DRIBBLE_PREPARE; //重置最初状态 break; case Pitch : -// if (u->PitchContext .PitchState ==PITCH_PREPARE) -// { -// u->PitchContext .PitchState=PITCH_START;//置标志位用于启动投篮 -// } - -// Pitch_Process(u,out); - if (u->PitchContext .PitchState ==PITCH_PREPARE) + if (u->Pitch_Cfg .PitchState ==PITCH_PREPARE) { - u->CoContext .CoState =CoTRANSLATE_OUT; - } - Co_Process(u,out); + u->Pitch_Cfg .PitchState=PITCH_START;//置标志位用于启动投篮 + } + + Pitch_Process(u,out); + break ; case UP_Adjust: //测试用 - u->PitchContext .PitchConfig .pull_speed=5; - u->PitchContext.PitchConfig.go1_Receive_ball += c->Vx ; - u->PitchContext.PitchConfig.Pitch_angle += c->Vy/100; + pitch_cfg ->pull_speed=5; + pitch_cfg ->go_release_pos += c->Vx ; + pitch_cfg->Pitch_angle += c->Vy/100; - u->motor_target .go_shoot=u->PitchContext.PitchConfig.go1_Receive_ball; - u->motor_target .Shoot_Pitch_angle=u->PitchContext.PitchConfig.Pitch_angle; + target->go_shoot=u->Pitch_Cfg.PitchConfig.go_release_pos; + target->Shoot_Pitch_angle=u->Pitch_Cfg.PitchConfig.Pitch_angle; break ; case Dribble: { - if(u->DribbleContext.DribbleState== DRIBBLE_PREPARE){ - u->DribbleContext .DribbleState=DRIBBLE_PROCESS_DOWN; + if(u->DribbleCont.DribbleState== DRIBBLE_PREPARE){ + u->DribbleCont .DribbleState=DRIBBLE_PROCESS_DOWN; } //光电状态更新 Dribble_Process(u,out); @@ -336,28 +328,28 @@ int8_t UP_control(UP_t *u,CAN_Output_t *out,CMD_t *c) switch(c-> CMD_mode) { case AUTO_MID360_Pitch: - u->PitchContext .PitchConfig .go1_Receive_ball=LowPassFilter2p_Apply(&u->filled[0],c->pos); + pitch_cfg ->go_init=LowPassFilter2p_Apply(&u->filled[0],c->pos); - if (u->PitchContext .PitchState ==PITCH_PREPARE) + if (u->Pitch_Cfg .PitchState ==PITCH_PREPARE) { - u->PitchContext .PitchState=PITCH_START;//置标志位用于启动投篮 + u->Pitch_Cfg .PitchState=PITCH_START;//置标志位用于启动投篮 } /*根据距离实时计算所需pos*/ - u->PitchContext .PitchConfig .go1_init_position=c->pos; - if(u->CoContext .CoState == CoPITCH){ - u->CoContext.CoState=CoPITCH_MID360; - } - Co_Process(u,out); + pitch_cfg ->go_release_pos=c->pos; +// if(u->CoContext .CoState == CoPITCH){ +// u->CoContext.CoState=CoPITCH_MID360; +// } +// Co_Process(u,out); -// Pitch_Process(u,out); + Pitch_Process(u,out); break ; case AUTO_MID360: - u->motor_target .Shoot_M2006_angle =u->PitchContext .PitchConfig .m2006_init_angle ; + target->Shoot_M2006_angle =pitch_cfg ->m2006_init ; - u->PitchContext .PitchState = PITCH_PREPARE; - u->DribbleContext .DribbleState = DRIBBLE_PREPARE; + u->Pitch_Cfg .PitchState = PITCH_PREPARE; + u->DribbleCont .DribbleState = DRIBBLE_PREPARE; break ; @@ -383,18 +375,22 @@ return 0; int8_t Pitch_Process(UP_t *u, CAN_Output_t *out) { - - switch(u->PitchContext .PitchState){ + + PitchCfg_t *cfg = &u->Pitch_Cfg.PitchConfig; + PitchState_t *state =&u->Pitch_Cfg .PitchState; + up_motor_target_t *target=&u->motor_target ; + + switch(*state){ case PITCH_START: - u->motor_target .Dribble_translate_M3508_angle =u->DribbleContext .DribbleConfig.m3508_translate_angle;//平行移动 - u->PitchContext .PitchConfig .pull_speed=10; - u->motor_target .go_shoot = u->PitchContext .PitchConfig .go1_release_threshold; +// u->motor_target .Dribble_translate_M3508_angle =u->DribbleCont .DribbleConfig.m3508_translate_angle;//平行移动 + cfg->pull_speed=10; + target->go_shoot = cfg->go_pull_pos; if(u->motorfeedback .go_data ->Pos < -209){ //检测go位置到达最上面,这里的检测条件可以更改 - u->motor_target .Shoot_M2006_angle = u->PitchContext .PitchConfig .m2006_trigger_angle ;//设置2006角度,0 - u->PitchContext .PitchConfig .pull_speed=6; - u->PitchContext .PitchState=PITCH_PULL_TRIGGER; + target->Shoot_M2006_angle = cfg->m2006_trig ;//设置2006角度,0 + u->Pitch_Cfg .PitchConfig .pull_speed=6; + *state=PITCH_PULL_TRIGGER; }//更改标志位 break ; @@ -403,16 +399,16 @@ int8_t Pitch_Process(UP_t *u, CAN_Output_t *out) if( u->motorfeedback .DJmotor_feedback [4].total_angle>-1) //当2006的总角度小于1,可以认为已经勾上,误差为1 { - u->motor_target .go_shoot=u->PitchContext.PitchConfig.go1_Receive_ball; - if(is_reached (u->motorfeedback .go_data ->Pos ,u->motor_target .go_shoot ,1.0f)) + target->go_shoot=cfg->go_release_pos; + if(is_reached (u->motorfeedback .go_data ->Pos ,target->go_shoot ,1.0f)) { - u->PitchContext .PitchState=PITCH_LAUNCHING; + *state=PITCH_LAUNCHING; } } break ; case PITCH_LAUNCHING: //等待发射 -// u->PitchContext .PitchState=PITCH_COMPLETE; +// *state=PITCH_COMPLETE; break ; case PITCH_COMPLETE: //发射完成 @@ -439,41 +435,43 @@ int8_t Dribble_Process(UP_t *u, CAN_Output_t *out) static int common_speed_flag=0;//是否共速 static int common_speed_reverse_flag=0;//是否共速 + DribbleCfg_t *DribbleCfg = &u->DribbleCont.DribbleConfig; + up_motor_target_t *target=&u->motor_target ; + DribbleState_t *DribbleState=&u->DribbleCont.DribbleState; - switch (u->DribbleContext.DribbleState) { + switch (u->DribbleCont.DribbleState) { case DRIBBLE_TRANSLATE: - u->motor_target .Dribble_translate_M3508_angle =u->DribbleContext .DribbleConfig.m3508_translate_angle;//平行移动 + target->Dribble_translate_M3508_angle =DribbleCfg->m3508_translate_angle;//平行移动 if(u->motorfeedback.DJmotor_feedback[3].rpm==0 && u->motorfeedback.DJmotor_feedback[3].total_angle < -500)//速度为0认为卡主 { - u->DribbleContext .DribbleState=DRIBBLE_PROCESS_DOWN;//到达位置后,转移状态 + u->DribbleCont .DribbleState=DRIBBLE_PROCESS_DOWN;//到达位置后,转移状态 } break; case DRIBBLE_PROCESS_DOWN: - u->motor_target.Dribble_M3508_speed[0]=u->DribbleContext .DribbleConfig.m3508_dribble_speed; - u->motor_target.Dribble_M3508_speed[1]=u->DribbleContext .DribbleConfig.m3508_dribble_speed; - u->motor_target.Dribble_M3508_speed[2]=u->DribbleContext .DribbleConfig.m3508_dribble_speed; + target->Dribble_M3508_speed[0]=DribbleCfg->spd; + target->Dribble_M3508_speed[1]=DribbleCfg->spd; + target->Dribble_M3508_speed[2]=DribbleCfg->spd; if(is_reached_multiple(u->motorfeedback .DJmotor_feedback [0].rpm, - u->motorfeedback .DJmotor_feedback [1].rpm, - u->motorfeedback .DJmotor_feedback [2].rpm, - u->motor_target.Dribble_M3508_speed [0], - u->motor_target.Dribble_M3508_speed [1], - u->motor_target.Dribble_M3508_speed[2], - 50.0f,50) + u->motorfeedback .DJmotor_feedback [1].rpm, + u->motorfeedback .DJmotor_feedback [2].rpm, + DribbleCfg->spd, + DribbleCfg->spd, + DribbleCfg->spd, 50.0f,50) ) { RELAY1_TOGGLE(1); //速度达到后打开气缸 common_speed_flag =1; } if(common_speed_flag){ - if(u->DribbleContext .DribbleConfig .light_ball_flag == 0){//球下落检测,反转 - u->motor_target.Dribble_M3508_speed[0]=u->DribbleContext .DribbleConfig.m3508_dribble_Reverse_speed; - u->motor_target.Dribble_M3508_speed[1]=u->DribbleContext .DribbleConfig.m3508_dribble_Reverse_speed; - u->motor_target.Dribble_M3508_speed[2]=u->DribbleContext .DribbleConfig.m3508_dribble_Reverse_speed; + if(u->DribbleCont .DribbleConfig .light_ball_flag == 0){//球下落检测,反转 + target->Dribble_M3508_speed[0]=DribbleCfg->rev_spd; + target->Dribble_M3508_speed[1]=DribbleCfg->rev_spd; + target->Dribble_M3508_speed[2]=DribbleCfg->rev_spd; - u->DribbleContext .DribbleState=DRIBBLE_PROCESS_UP; + *DribbleState=DRIBBLE_PROCESS_UP; } @@ -492,21 +490,21 @@ int8_t Dribble_Process(UP_t *u, CAN_Output_t *out) } if(common_speed_reverse_flag){ - if(u->DribbleContext .DribbleConfig .light_ball_flag == 1){ - u->DribbleContext .DribbleState=DRIBBLE_DONE; - RELAY1_TOGGLE(0); //关闭气缸 + if(DribbleCfg->light_ball_flag == 1){ + *DribbleState=DRIBBLE_DONE; + RELAY1_TOGGLE(0); //关闭气缸 } } break ; case DRIBBLE_DONE: common_speed_reverse_flag=0; for(int i=0;i<3;i++){ - u->motor_target.Dribble_M3508_speed[i]=u->DribbleContext .DribbleConfig.m3508_dribble_init_speed ;//三摩擦速度归0 + target->Dribble_M3508_speed[i]=DribbleCfg->init_spd ;//三摩擦速度归0 } /*标志位清零*/ - u->DribbleContext.DribbleConfig.light_ball_flag=0; - u->DribbleContext.DribbleConfig.light_3508_flag=0; + DribbleCfg->light_ball_flag=0; + DribbleCfg->light_3508_flag=0; break; @@ -531,12 +529,12 @@ int8_t Co_Process(UP_t *u, CAN_Output_t *out) break ; case CoTRANSLATE_OUT: - u->motor_target .Dribble_translate_M3508_angle =u->DribbleContext .DribbleConfig.m3508_translate_angle;//平行移动 + u->motor_target .Dribble_translate_M3508_angle =u->DribbleCont .DribbleConfig.m3508_translate_angle;//平行移动 - if(u->motorfeedback.DJmotor_feedback[3].rpm==0 && u->motorfeedback.DJmotor_feedback[3].total_angle > 900)//速度为0认为卡主 + if(u->motorfeedback.DJmotor_feedback[3].rpm==0 && u->motorfeedback.DJmotor_feedback[3].total_angle > 500)//速度为0认为卡主 { - u->DribbleContext .DribbleState=DRIBBLE_PROCESS_DOWN;//到达位置后,运球转移状态 - u->PitchContext .PitchState = PITCH_START; + u->DribbleCont .DribbleState=DRIBBLE_PROCESS_DOWN;//到达位置后,运球转移状态 + u->Pitch_Cfg .PitchState = PITCH_START; u->CoContext .CoState =CoDRIBBLE; } @@ -546,11 +544,11 @@ int8_t Co_Process(UP_t *u, CAN_Output_t *out) Dribble_Process(u,out); //状态停在DRIBBLE_DONE Pitch_Process(u,out); //状态停在PITCH_LAUNCHING //状态停在对应位置时,平移去给发射送球 - if(u->DribbleContext .DribbleState ==DRIBBLE_DONE && u->PitchContext.PitchState ==PITCH_LAUNCHING) + if(u->DribbleCont .DribbleState ==DRIBBLE_DONE && u->Pitch_Cfg.PitchState ==PITCH_LAUNCHING) { - u->motor_target .Dribble_translate_M3508_angle =u->DribbleContext .DribbleConfig .m3508_init_angle; + u->motor_target .Dribble_translate_M3508_angle =u->DribbleCont .DribbleConfig .m3508_init_ang; } - if(is_reached(u->motorfeedback.DJmotor_feedback[3].total_angle ,u->DribbleContext .DribbleConfig.m3508_init_angle,1.0f)) + if(is_reached(u->motorfeedback.DJmotor_feedback[3].total_angle ,u->DribbleCont .DribbleConfig.m3508_init_ang,1.0f)) { u->motor_target.Dribble_M3508_speed[0]=1000; u->motor_target.Dribble_M3508_speed[1]=1000; @@ -572,12 +570,12 @@ int8_t Co_Process(UP_t *u, CAN_Output_t *out) ) { RELAY1_TOGGLE(1); //速度达到后打开气缸,送给发射 } - if(u->DribbleContext .DribbleConfig.light_ball_flag == 0) + if(u->DribbleCont .DribbleConfig.light_ball_flag == 0) { u->motor_target.Dribble_M3508_speed[0]=0; u->motor_target.Dribble_M3508_speed[1]=0; u->motor_target.Dribble_M3508_speed[2]=0; - u->motor_target .Dribble_translate_M3508_angle =u->DribbleContext .DribbleConfig.m3508_translate_angle;//平行移动 + u->motor_target .Dribble_translate_M3508_angle =u->DribbleCont .DribbleConfig.m3508_translate_angle;//平行移动 } @@ -595,7 +593,7 @@ int8_t Co_Process(UP_t *u, CAN_Output_t *out) case CoPITCH_MID360: - u->motor_target .go_shoot=u->PitchContext.PitchConfig.go1_init_position; + u->motor_target .go_shoot=u->Pitch_Cfg.PitchConfig.go_init; break ; break ; diff --git a/User/Module/up.h b/User/Module/up.h index 76859d7..b3265cc 100644 --- a/User/Module/up.h +++ b/User/Module/up.h @@ -27,7 +27,7 @@ */ -/*配合过程状态,co是合作的意思*/ +/*配合过程状态*/ typedef enum { CoPREPARE, // 准备阶段 CoTRANSLATE_OUT,//上方平移,去运球 @@ -43,8 +43,8 @@ typedef enum { typedef struct { CoState_t CoState; - uint8_t is_initialized ; -} CoContext_t; + uint8_t is_init ; +} CoCon_t; @@ -62,32 +62,32 @@ typedef enum { /* 投球参数配置 */ typedef struct { - fp32 m2006_init_angle; // M2006初始角度-140 - fp32 m2006_trigger_angle; // M2006触发角度0,用来合并扳机 - fp32 go1_init_position; // GO电机触发位置,初始位置,后续更改用于发射的位置 - fp32 go1_release_threshold; // go上升去合并扳机,扳机位置 - fp32 go1_Receive_ball; //用在配合过程,用来接平移后的球 - fp32 m2006_Screw_init; + fp32 m2006_init; // M2006初始角度 + fp32 m2006_trig; // M2006触发角度0,用来合并扳机 + fp32 go_init; // GO电机触发位置,初始位置,后续更改用于发射的位置 + fp32 go_pull_pos; // go上升去合并扳机,扳机位置 fp32 Pitch_angle; - fp32 pull_speed; + fp32 pull_speed;//go速度 + fp32 go_release_pos;//go松开,发射位置 -} PitchConfig_t; - +} PitchCfg_t; +//fp32 go_pull_pos; +// fp32 m2006_init; // M2006初始角度 +// fp32 m2006_trig; // M2006触发角度 +// fp32 go_init; // GO初始位置 +// fp32 go_release; // GO释放阈值 +// fp32 go_recv; // GO接球位置 +// fp32 screw_init; // 螺杆初始值 +// fp32 pitch_ang; // 投球角度 +// fp32 pull_spd; // 拉动速度 /* 投球控制上下文 */ typedef struct { PitchState_t PitchState; - PitchConfig_t PitchConfig; - - uint8_t is_initialized ; -} PitchContext_t; - - - - - - + PitchCfg_t PitchConfig; + uint8_t is_init ; +} Pitch_Cfg_t; /*运球*/ typedef enum { @@ -103,27 +103,27 @@ typedef enum { typedef struct { int8_t dribble_flag;//当移动三摩擦后为1,否则为0,防止发射撞到 - fp32 m3508_init_angle; // 平移前位置 + fp32 m3508_init_ang; // 3508平移前位置 fp32 m3508_translate_angle; // 平移后位置 - fp32 m3508_dribble_init_speed; - fp32 m3508_dribble_speed; // 转动速度 - fp32 m3508_dribble_Reverse_speed; + fp32 init_spd; + fp32 spd; // 转动速度 + fp32 rev_spd; /*光电标志位,初始值均为0,触发为1*/ int light_3508_flag;//3508平移处的光电,0初始,1到位置 int light_ball_flag;//检测球的flag -} DribbleConfig_t; +} DribbleCfg_t; /* 状态机上下文 */ typedef struct { DribbleState_t DribbleState; - DribbleConfig_t DribbleConfig; + DribbleCfg_t DribbleConfig; - uint8_t is_initialized; + uint8_t is_init; -} DribbleContext_t; +} DribbleCont_t; typedef struct { @@ -154,57 +154,12 @@ typedef struct pid_param_t Dribble_translate_M3508_angle_param;//平移用的角度环 - DribbleConfig_t DribbleConfig_Config; - PitchConfig_t PitchConfig_Config; + DribbleCfg_t DribbleCfg; + PitchCfg_t PitchCfg; GO_MotorCmd_t go_cmd; }UP_Param_t; - -typedef struct -{ - fp32 ecd; - fp32 rpm; - uint8_t id; - fp32 orig_angle; - fp32 last_angle; - int32_t round_cnt; - int init_cnt; - fp32 total_angle; -}DJmotor_feedback_t; - - typedef struct{ - - uint8_t up_task_run; - const UP_Param_t *param; - CoContext_t CoContext; - /*运球过程*/ - DribbleContext_t DribbleContext; - /*投篮过程*/ - PitchContext_t PitchContext; - - CMD_t *cmd; - - struct{ - - struct{ - fp32 VESC_5065_M1_rpm; - fp32 VESC_5065_M2_rpm; - }VESC; - - GO_MotorData_t *go_data;//存放go电机数据 - - DJmotor_feedback_t DJmotor_feedback[6]; - - struct { - uint32_t ecd; - float angle; - }Encoder; - }motorfeedback; - - - - struct{ fp32 VESC_5065_M1_rpm; fp32 VESC_5065_M2_rpm; @@ -218,9 +173,9 @@ typedef struct{ fp32 Shoot_Pitch_angle; - }motor_target; - - struct{ + }up_motor_target_t; + +typedef struct{ pid_type_def VESC_5065_M1; @@ -240,11 +195,55 @@ typedef struct{ pid_type_def Dribble_translate_M3508_angle;//平移用的角度环 - }pid; - GO_MotorCmd_t go_cmd; + }up_pid_t; +typedef struct +{ + fp32 ecd; + fp32 rpm; + uint8_t id; + fp32 orig_angle; + fp32 last_angle; + int32_t round_cnt; + int init_cnt; + fp32 total_angle; +}DJmotor_feedback_t; + +typedef struct{ + + uint8_t up_task_run; + const UP_Param_t *param; + CoCon_t CoContext; + /*运球过程*/ + DribbleCont_t DribbleCont; + /*投篮过程*/ + Pitch_Cfg_t Pitch_Cfg; + + CMD_t *cmd; + + struct{ + struct{ + fp32 VESC_5065_M1_rpm; + fp32 VESC_5065_M2_rpm; + }VESC; + GO_MotorData_t *go_data;//存放go电机数据 + DJmotor_feedback_t DJmotor_feedback[6]; + + struct { + uint32_t ecd; + float angle; + }Encoder; + }motorfeedback; + + + + + up_pid_t pid; + up_motor_target_t motor_target; + + GO_MotorCmd_t go_cmd; /*经PID计算后的实际发送给电机的实时输出值*/ struct @@ -260,8 +259,6 @@ typedef struct{ fp32 vofa_send[8]; - - } UP_t; diff --git a/User/device/can_use.c b/User/device/can_use.c index 90e9dd2..bb02319 100644 --- a/User/device/can_use.c +++ b/User/device/can_use.c @@ -56,31 +56,20 @@ static void CAN_DJIMotor_Decode(CAN_MotorFeedback_t *feedback, feedback->torque_current = raw_current * CAN_GM6020_MAX_ABS_CUR / (float)CAN_MOTOR_CUR_RES; } -static void CAN_Sick_Receive(CAN_SickFeedback_t *feedback,uint16_t id, +static void CAN_Sick_Receive(CAN_SickFeedback_t *feedback, const uint8_t *raw) { if (feedback == NULL || raw == NULL) return; - switch (id) - { - case CAN_SICK_ID_1: - feedback->raw_dis[0] = (uint16_t)(raw[0] << 8| raw[1]); + static uint16_t sick_rec[4]; - break ; - - case CAN_SICK_ID_2: - feedback->raw_dis[1] = (uint16_t)(raw[0] << 8| raw[1]); - - break ; - - case CAN_SICK_ID_3: - feedback->raw_dis[2] = (uint16_t)(raw[0] << 8| raw[1]); - - break ; - - case CAN_SICK_ID_4: - feedback->raw_dis[3] = (uint16_t)(raw[0] << 8| raw[1]); - - break ; - } + sick_rec[0] = (uint16_t)(raw[0] << 8 | raw[1]); + sick_rec[1] = (uint16_t)(raw[2] << 8 | raw[3]); + sick_rec[2] = (uint16_t)(raw[4] << 8 | raw[5]); + sick_rec[3] = (uint16_t)(raw[6] << 8 | raw[7]); + + feedback ->raw_dis [0]= sick_rec[0]; + feedback ->raw_dis [1]= sick_rec[1]; + feedback ->raw_dis [2]= sick_rec[2]; + feedback ->raw_dis [3]= sick_rec[3]; } void CAN_Encoder_Decode(CAN_EncoderFeedback_t *feedback, const uint8_t *raw) { @@ -384,19 +373,10 @@ int8_t CAN_StoreMsg(CAN_t *can, CAN_RawRx_t *can_rx) { CAN_DJIMotor_Decode(&(can->motor.chassis_motor3508.as_array[index]), can_rx->rx_data); detect_hook(CHASSIS3508M1_TOE + index); break; - case CAN_SICK_ID_1: - CAN_Sick_Receive(&(can->sickfed),CAN_SICK_ID_1, can_rx->rx_data); - break; - case CAN_SICK_ID_2: - CAN_Sick_Receive(&(can->sickfed),CAN_SICK_ID_2, can_rx->rx_data); - break; - case CAN_SICK_ID_3: - CAN_Sick_Receive(&(can->sickfed),CAN_SICK_ID_3, can_rx->rx_data); - break; - case CAN_SICK_ID_4: - CAN_Sick_Receive(&(can->sickfed),CAN_SICK_ID_4, can_rx->rx_data); - + case CAN_SICK_ID: + CAN_Sick_Receive(&(can->sickfed), can_rx->rx_data); break; + default: break; } diff --git a/User/device/can_use.h b/User/device/can_use.h index 066ded2..9339e47 100644 --- a/User/device/can_use.h +++ b/User/device/can_use.h @@ -18,10 +18,8 @@ typedef enum { CAN_UP_M3508_M5_ID = 0x205, /* 1 */ CAN_UP_M3508_M6_ID = 0x206, /* 2 */ - CAN_SICK_ID_1=0x301, - CAN_SICK_ID_2=0x302, - CAN_SICK_ID_3=0x303, - CAN_SICK_ID_4=0x304, + CAN_SICK_ID=0x305, + CAN_Encoder_ID=0x01, @@ -200,6 +198,6 @@ void CAN_Encoder_Control(CAN_t *can); void CAN_Encoder_Decode(CAN_EncoderFeedback_t *feedback, const uint8_t *raw) ; -static void CAN_Sick_Receive(CAN_SickFeedback_t *feedback,uint16_t id, +static void CAN_Sick_Receive(CAN_SickFeedback_t *feedback, const uint8_t *raw) ; #endif diff --git a/User/device/nuc.c b/User/device/nuc.c index 49435ba..e309f3f 100644 --- a/User/device/nuc.c +++ b/User/device/nuc.c @@ -6,7 +6,8 @@ static volatile uint32_t drop_message = 0; static osThreadId_t thread_alert; -uint8_t nucbuf[31]; +static uint8_t nucbuf[31]; +static char SendBuffer[19]; static void NUC_IdleCallback(void) { @@ -28,11 +29,8 @@ int8_t NUC_StartReceiving() { return DEVICE_OK; return DEVICE_ERR; } - char SendBuffer[19]; - int8_t NUC_StartSending(fp32 *data) { - union { float x[4]; @@ -64,7 +62,7 @@ int8_t NUC_Restart(void) { return DEVICE_OK; } bool_t NUC_WaitDmaCplt(void) { - return (osThreadFlagsWait(SIGNAL_NUC_RAW_REDY, osFlagsWaitAll,500) == + return (osThreadFlagsWait(SIGNAL_NUC_RAW_REDY, osFlagsWaitAll,100) == SIGNAL_NUC_RAW_REDY); } diff --git a/User/task/can_task.c b/User/task/can_task.c index fcfc4ca..dabf5a4 100644 --- a/User/task/can_task.c +++ b/User/task/can_task.c @@ -47,7 +47,6 @@ const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_CAN; //一问一答sick数据指令 -// CAN_Sick_Control(&can); CAN_Encoder_Control(&can); /*can设备数据存入队列*/ diff --git a/User/task/chassis_task.c b/User/task/chassis_task.c index c5bdfe5..58d3938 100644 --- a/User/task/chassis_task.c +++ b/User/task/chassis_task.c @@ -56,6 +56,8 @@ void Task_Chassis(void *argument) { #ifdef DEBUG task_runtime.stack_water_mark.chassis = osThreadGetStackSpace(osThreadGetId()); + task_runtime.freq.chassis=TASK_FREQ_CHASSIS; + task_runtime.last_up_time.chassis=tick; #endif /*imu数据获取*/ diff --git a/User/task/cmd_task.c b/User/task/cmd_task.c index a1f64de..8bf0203 100644 --- a/User/task/cmd_task.c +++ b/User/task/cmd_task.c @@ -30,8 +30,9 @@ void Task_cmd(void *argument){ while(1){ #ifdef DEBUG /*记录任务所需要的栈空间*/ - task_runtime.stack_water_mark.cmd = - osThreadGetStackSpace(osThreadGetId()); + task_runtime.stack_water_mark.cmd =osThreadGetStackSpace(osThreadGetId()); + task_runtime.last_up_time.cmd=tick; + task_runtime.freq.cmd=TASK_FREQ_CTRL_CMD; #endif osKernelLock(); /*锁住RTOS内核调度*/ diff --git a/User/task/nuc_task.c b/User/task/nuc_task.c index d9b83f7..94de5f9 100644 --- a/User/task/nuc_task.c +++ b/User/task/nuc_task.c @@ -13,26 +13,30 @@ static CMD_NUC_t cmd_fromnuc; NUC_send_t NUC_send; #endif -//fp32 send[4]={11.0f,45.0,1.f,4.0f}; +fp32 send[4]={11.0f,45.0,1.f,4.0f}; + void Task_nuc(void *argument){ (void)argument; /**/ // osDelay(TASK_INIT_DELAY_NUC); - const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_NUC; NUC_Init(&nuc_raw); uint32_t tick = osKernelGetTickCount(); - + while (1) { #ifdef DEBUG task_runtime.stack_water_mark.nuc= osThreadGetStackSpace(osThreadGetId()); + task_runtime .freq.nuc = TASK_FREQ_NUC; + task_runtime.last_up_time.nuc= tick; + #endif NUC_StartReceiving(); -// NUC_StartSending(NUC_send.send); - if (NUC_WaitDmaCplt()){ + NUC_StartSending(NUC_send.send); +// NUC_StartSending (send); + if (NUC_WaitDmaCplt()){ NUC_RawParse(&cmd_fromnuc); } else{