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;