diff --git a/MDK-ARM/AUTO_CHASSIS.uvoptx b/MDK-ARM/R2_CHASSIS.uvoptx similarity index 95% rename from MDK-ARM/AUTO_CHASSIS.uvoptx rename to MDK-ARM/R2_CHASSIS.uvoptx index 9f552dc..85f7e9d 100644 --- a/MDK-ARM/AUTO_CHASSIS.uvoptx +++ b/MDK-ARM/R2_CHASSIS.uvoptx @@ -12,7 +12,7 @@ *.lib *.txt; *.h; *.inc; *.md *.plm - *.cpp + *.cpp; *.cc; *.cxx 0 @@ -22,7 +22,7 @@ - AUTO_CHASSIS + R2_CHASSIS 0x4 ARM-ADS @@ -103,7 +103,7 @@ 1 0 0 - 3 + 6 @@ -114,14 +114,9 @@ - BIN\CMSIS_AGDI.dll + STLink\ST-LINKIII-KEIL_SWO.dll - - 0 - ST-LINKIII-KEIL_SWO - -U00160029510000164E574E32 -O206 -SF5000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO131091 -TC12000000 -TT12000000 -TP21 -TDS8005 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407IGHx$CMSIS\Flash\STM32F4xx_1024.FLM) - 0 ARMRTXEVENTFLAGS @@ -139,13 +134,13 @@ 0 - CMSIS_AGDI - -X"Horco CMSIS-DAP" -U8626380832 -O206 -S0 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO65554 -TC168000000 -TT168000000 -TP20 -TDS8010 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407IGHx$CMSIS\Flash\STM32F4xx_1024.FLM) + ST-LINKIII-KEIL_SWO + -U00260035480000034E575152 -O206 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407IGHx$CMSIS\Flash\STM32F4xx_1024.FLM) 0 DLGUARM - + (105=-1,-1,-1,-1,0) 0 @@ -158,41 +153,9 @@ 0 1 - CAN_data,0x0A - - - 1 - 1 - aaaaaaa,0x0A - - - 2 - 1 - cmd_rc,0x0A - - - 3 - 1 - cmd,0x0A - - - 4 - 1 - rc_ctrl,0x0A - - - 5 - 1 - buf0ready,0x0A + dr16,0x0A - - - 0 - 2 - a - - 0 @@ -236,18 +199,18 @@ - 0 + 1 0 0 2 - 5000000 + 10000000 Application/MDK-ARM - 1 + 0 0 0 0 @@ -279,7 +242,7 @@ Application/User/Core - 1 + 0 0 0 0 @@ -711,7 +674,7 @@ Middlewares/FreeRTOS - 1 + 0 0 0 0 @@ -839,7 +802,7 @@ User/Module - 1 + 0 0 0 0 @@ -1163,7 +1126,7 @@ User/Algorithm - 1 + 0 0 0 0 @@ -1243,7 +1206,7 @@ User/Device - 1 + 0 0 0 0 @@ -1335,7 +1298,7 @@ Application/User/USB_DEVICE/App - 1 + 0 0 0 0 @@ -1379,7 +1342,7 @@ Application/User/USB_DEVICE/Target - 1 + 0 0 0 0 @@ -1399,7 +1362,7 @@ Middlewares/USB_Device_Library - 1 + 0 0 0 0 diff --git a/MDK-ARM/AUTO_CHASSIS.uvprojx b/MDK-ARM/R2_CHASSIS.uvprojx similarity index 99% rename from MDK-ARM/AUTO_CHASSIS.uvprojx rename to MDK-ARM/R2_CHASSIS.uvprojx index 77e8f73..d639b59 100644 --- a/MDK-ARM/AUTO_CHASSIS.uvprojx +++ b/MDK-ARM/R2_CHASSIS.uvprojx @@ -7,7 +7,7 @@ - AUTO_CHASSIS + R2_CHASSIS 0x4 ARM-ADS 5060960::V5.06 update 7 (build 960)::.\ARMCC @@ -49,8 +49,8 @@ 0 1 - ELE_CHASSIS\ - AUTO_CHASSIS + .\R2_CHASSIS\ + R2_CHASSIS 1 0 0 @@ -82,7 +82,7 @@ 0 - 1 + 0 0 @@ -1993,7 +1993,7 @@ - + diff --git a/MDK-ARM/ELE_CHASSIS/AUTO_CHASSIS.hex b/MDK-ARM/R2_CHASSIS/AUTO_CHASSIS.hex similarity index 100% rename from MDK-ARM/ELE_CHASSIS/AUTO_CHASSIS.hex rename to MDK-ARM/R2_CHASSIS/AUTO_CHASSIS.hex diff --git a/MDK-ARM/ELE_CHASSIS/ELE_CHASSIS.hex b/MDK-ARM/R2_CHASSIS/ELE_CHASSIS.hex similarity index 100% rename from MDK-ARM/ELE_CHASSIS/ELE_CHASSIS.hex rename to MDK-ARM/R2_CHASSIS/ELE_CHASSIS.hex diff --git a/MDK-ARM/ELE_CHASSIS/AUTO_CHASSIS.axf b/MDK-ARM/R2_CHASSIS/R2_CHASSIS.axf similarity index 84% rename from MDK-ARM/ELE_CHASSIS/AUTO_CHASSIS.axf rename to MDK-ARM/R2_CHASSIS/R2_CHASSIS.axf index 516a8b7..29b6b65 100644 Binary files a/MDK-ARM/ELE_CHASSIS/AUTO_CHASSIS.axf and b/MDK-ARM/R2_CHASSIS/R2_CHASSIS.axf differ diff --git a/AUTO_CHASSIS.ioc b/R2_CHASSIS.ioc similarity index 100% rename from AUTO_CHASSIS.ioc rename to R2_CHASSIS.ioc diff --git a/User/device/cmd.c b/User/device/cmd.c index 973711c..03359cf 100644 --- a/User/device/cmd.c +++ b/User/device/cmd.c @@ -95,15 +95,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 +#ifdef dr16_t /*c当rc丢控时,恢复机器人至默认状态 */ -// if ((rc->ch_w == CMD_SW_ERR) || (rc->ch_y == CMD_SW_ERR)) { -// CMD_RcLostLogic(cmd); -// } else { + if ((rc->sw_l == CMD_SW_ERR) || (rc->sw_r == CMD_SW_ERR)) { + CMD_RcLostLogic(cmd); + } else { CMD_RcLogic(rc, cmd); -// } + } -//#endif +#endif return 0; } diff --git a/User/device/cmd.h b/User/device/cmd.h index dd0a713..2ec07f9 100644 --- a/User/device/cmd.h +++ b/User/device/cmd.h @@ -26,8 +26,8 @@ /*选择遥控器,else为r12ds*/ -//#define dr16_t -#define r12ds_t +#define dr16_t +//#define r12ds_t diff --git a/User/device/dr16.c b/User/device/dr16.c index a632fc3..0d53d36 100644 --- a/User/device/dr16.c +++ b/User/device/dr16.c @@ -106,7 +106,6 @@ int8_t DR16_ParseRC(const DR16_t *dr16, CMD_RC_t *rc) { } else { memset(rc, 0, sizeof(*rc)); } - rc->RC_type = RC_dr16; 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; diff --git a/User/task/dr16_task.c b/User/task/dr16_task.c index 6e4e59a..ebfc503 100644 --- a/User/task/dr16_task.c +++ b/User/task/dr16_task.c @@ -13,7 +13,7 @@ /* Private macro ------------------------------------------------------------ */ /* Private variables -------------------------------------------------------- */ -#ifdef dr16 +#ifdef dr16_t #ifdef DEBUG DR16_t dr16; @@ -35,7 +35,7 @@ static CMD_RC_t cmd_rc; */ void Task_dr16(void *argument) { (void)argument; /* 未使用,消除警告 */ -#ifdef dr16 +#ifdef dr16_t DR16_Init(&dr16); /* 初始化dr16 */ diff --git a/User/task/init.c b/User/task/init.c index c540de2..eb152bf 100644 --- a/User/task/init.c +++ b/User/task/init.c @@ -37,6 +37,8 @@ void Task_Init(void *argument) { osThreadNew(Task_Chassis, NULL, &attr_chassis); task_runtime.thread.r12ds = osThreadNew(Task_r12ds,NULL,&attr_r12ds); + task_runtime.thread.dr16 = + osThreadNew(Task_dr16,NULL,&attr_dr16); task_runtime.thread.can = osThreadNew(Task_can,NULL,&attr_can); diff --git a/User/task/r12ds_task.c b/User/task/r12ds_task.c index 5dd5771..e89cffd 100644 --- a/User/task/r12ds_task.c +++ b/User/task/r12ds_task.c @@ -37,14 +37,20 @@ 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); uint32_t tick = osKernelGetTickCount(); +#ifdef r12ds_t + + R12ds_DMA_Init(sbus_rx_buf[0],sbus_rx_buf[1],50); + +#endif + while (1) { +#ifdef r12ds_t + #ifdef DEBUG task_runtime.stack_water_mark.r12ds = @@ -61,13 +67,14 @@ void Task_r12ds(void *argument) osMessageQueueReset(task_runtime.msgq.cmd.raw.rc); osMessageQueuePut(task_runtime.msgq.cmd.raw.rc,(&cmd_rc),0,0); +#endif tick += delay_tick; /* 计算下一个唤醒时*/ osDelay(10); + } -#endif } diff --git a/User/task/user_task.c b/User/task/user_task.c index f6c9ae8..a4ce932 100644 --- a/User/task/user_task.c +++ b/User/task/user_task.c @@ -35,6 +35,12 @@ const osThreadAttr_t attr_r12ds = { .priority = osPriorityRealtime, .stack_size = 128 * 4, }; +const osThreadAttr_t attr_dr16 = { + .name = "dr16", + .priority = osPriorityRealtime, + .stack_size = 128 *4, +}; + const osThreadAttr_t attr_can = { .name = "can", @@ -60,10 +66,4 @@ const osThreadAttr_t attr_error_detect = { .stack_size = 128 *4, }; -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 9317486..91e0714 100644 --- a/User/task/user_task.h +++ b/User/task/user_task.h @@ -110,6 +110,8 @@ typedef struct { float can; float atti_esti; float r12ds; + float dr16; + float cmd; float nuc; float error_detect; @@ -120,6 +122,8 @@ typedef struct { float can; float atti_esti; float r12ds; + float dr16; + float cmd; float nuc; float error_detect; @@ -143,7 +147,7 @@ extern const osThreadAttr_t attr_nuc; extern const osThreadAttr_t attr_error_detect; -//extern const osThreadAttr_t attr_dr16; +extern const osThreadAttr_t attr_dr16; extern const osThreadAttr_t attr_r12ds;