diff --git a/.eide/eide.json b/.eide/eide.json
index 7b61839..c60506b 100644
--- a/.eide/eide.json
+++ b/.eide/eide.json
@@ -3,7 +3,6 @@
"type": "ARM",
"dependenceList": [],
"srcDirs": [
- ".eide/deps",
"3rd-part",
"app"
],
@@ -132,14 +131,12 @@
"project/inc",
".cmsis/include",
"project/MDK_V5/RTE/_BC2D",
- ".eide/deps",
"3rd-part/dwt_delay",
"3rd-part/PID-Library",
"app",
"3rd-part/lwprintf"
],
"libList": [],
- "sourceDirList": [],
"defineList": [
"AT32F413CBT7",
"USE_STDPERIPH_DRIVER"
@@ -147,5 +144,5 @@
}
}
},
- "version": "3.3"
+ "version": "3.4"
}
\ No newline at end of file
diff --git a/BC2D.ATWP b/BC2D.ATWP
index f17d0ca..b66c05d 100644
--- a/BC2D.ATWP
+++ b/BC2D.ATWP
@@ -54,12 +54,18 @@
+
+
+
+
+
+
@@ -135,7 +141,7 @@
BC2D
- C:/Users/ForgotDoge/Desktop/BC2024/firmware
+ /home/evan/Desktop/Workplace
MDK_V5
true
0x200
diff --git a/app/by_motion.c b/app/by_motion.c
index 49613cc..cb626c8 100644
--- a/app/by_motion.c
+++ b/app/by_motion.c
@@ -37,7 +37,7 @@ int16_t by_motion_get_speed_m1(void)
#define alpha (0.1f)
static float last_speed = 0.0f;
param_m1.real_speed = alpha * last_speed + (1.0f - alpha) * (float)(-1 * (int16_t)tmr_counter_value_get(TMR2));
- last_speed = param_m1.real_speed;
+ last_speed = param_m1.real_speed;
tmr_counter_value_set(TMR2, 0);
return (int16_t)param_m1.real_speed;
#undef alpha
@@ -48,7 +48,7 @@ int16_t by_motion_get_speed_m2(void)
#define alpha (0.1f)
static float last_speed = 0.0f;
param_m2.real_speed = alpha * last_speed + (1.0f - alpha) * (float)(-1 * (int16_t)tmr_counter_value_get(TMR3));
- last_speed = param_m2.real_speed;
+ last_speed = param_m2.real_speed;
tmr_counter_value_set(TMR3, 0);
return (int16_t)param_m2.real_speed;
#undef alpha
@@ -118,13 +118,13 @@ void by_motion_can_handle(uint16_t stdd_id, const uint8_t *data, uint8_t len)
#if defined(BC2D_MODEL1)
int16_t speed_m1_temp = (int16_t)(data[0] | (data[1] << 8));
int16_t speed_m2_temp = (int16_t)(data[2] | (data[3] << 8));
- by_motion_set_speed_m1(speed_m1_temp);
- by_motion_set_speed_m2(speed_m2_temp);
+ by_motion_set_speed_m1(speed_m1_temp * 2);
+ by_motion_set_speed_m2(speed_m2_temp * 2);
#elif defined(BC2D_MODEL2)
int16_t speed_m1_temp = (int16_t)(data[4] | (data[5] << 8));
int16_t speed_m2_temp = (int16_t)(data[6] | (data[7] << 8));
- by_motion_set_speed_m1(speed_m1_temp);
- by_motion_set_speed_m2(speed_m2_temp);
+ by_motion_set_speed_m1(speed_m1_temp * 2);
+ by_motion_set_speed_m2(speed_m2_temp * 2);
#endif
}
diff --git a/project/inc/at32f413_wk_config.h b/project/inc/at32f413_wk_config.h
index 4c017e2..f490149 100644
--- a/project/inc/at32f413_wk_config.h
+++ b/project/inc/at32f413_wk_config.h
@@ -55,6 +55,65 @@ extern "C" {
/* add user code end exported macro */
+/* add user code begin dma define */
+/* user can only modify the dma define value */
+//#define DMA1_CHANNEL1_BUFFER_SIZE 0
+//#define DMA1_CHANNEL1_MEMORY_BASE_ADDR 0
+//#define DMA1_CHANNEL1_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA1_CHANNEL2_BUFFER_SIZE 0
+//#define DMA1_CHANNEL2_MEMORY_BASE_ADDR 0
+//#define DMA1_CHANNEL2_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA1_CHANNEL3_BUFFER_SIZE 0
+//#define DMA1_CHANNEL3_MEMORY_BASE_ADDR 0
+//#define DMA1_CHANNEL3_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA1_CHANNEL4_BUFFER_SIZE 0
+//#define DMA1_CHANNEL4_MEMORY_BASE_ADDR 0
+//#define DMA1_CHANNEL4_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA1_CHANNEL5_BUFFER_SIZE 0
+//#define DMA1_CHANNEL5_MEMORY_BASE_ADDR 0
+//#define DMA1_CHANNEL5_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA1_CHANNEL6_BUFFER_SIZE 0
+//#define DMA1_CHANNEL6_MEMORY_BASE_ADDR 0
+//#define DMA1_CHANNEL6_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA1_CHANNEL7_BUFFER_SIZE 0
+//#define DMA1_CHANNEL7_MEMORY_BASE_ADDR 0
+//#define DMA1_CHANNEL7_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA2_CHANNEL1_BUFFER_SIZE 0
+//#define DMA2_CHANNEL1_MEMORY_BASE_ADDR 0
+//#define DMA2_CHANNEL1_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA2_CHANNEL2_BUFFER_SIZE 0
+//#define DMA2_CHANNEL2_MEMORY_BASE_ADDR 0
+//#define DMA2_CHANNEL2_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA2_CHANNEL3_BUFFER_SIZE 0
+//#define DMA2_CHANNEL3_MEMORY_BASE_ADDR 0
+//#define DMA2_CHANNEL3_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA2_CHANNEL4_BUFFER_SIZE 0
+//#define DMA2_CHANNEL4_MEMORY_BASE_ADDR 0
+//#define DMA2_CHANNEL4_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA2_CHANNEL5_BUFFER_SIZE 0
+//#define DMA2_CHANNEL5_MEMORY_BASE_ADDR 0
+//#define DMA2_CHANNEL5_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA2_CHANNEL6_BUFFER_SIZE 0
+//#define DMA2_CHANNEL6_MEMORY_BASE_ADDR 0
+//#define DMA2_CHANNEL6_PERIPHERAL_BASE_ADDR 0
+
+//#define DMA2_CHANNEL7_BUFFER_SIZE 0
+//#define DMA2_CHANNEL7_MEMORY_BASE_ADDR 0
+//#define DMA2_CHANNEL7_PERIPHERAL_BASE_ADDR 0
+/* add user code end dma define */
+
/* exported functions ------------------------------------------------------- */
/* system clock config. */
void wk_system_clock_config(void);
diff --git a/project/src/at32f413_wk_config.c b/project/src/at32f413_wk_config.c
index 5f0a3c0..0c32106 100644
--- a/project/src/at32f413_wk_config.c
+++ b/project/src/at32f413_wk_config.c
@@ -470,7 +470,7 @@ void wk_tmr2_init(void)
tmr_input_struct.input_filter_value = 0;
tmr_input_channel_init(TMR2, &tmr_input_struct, TMR_CHANNEL_INPUT_DIV_1);
- tmr_encoder_mode_config(TMR2, TMR_ENCODER_MODE_A, TMR_INPUT_RISING_EDGE, TMR_INPUT_RISING_EDGE);
+ tmr_encoder_mode_config(TMR2, TMR_ENCODER_MODE_C, TMR_INPUT_RISING_EDGE, TMR_INPUT_RISING_EDGE);
tmr_counter_enable(TMR2, TRUE);
@@ -538,7 +538,7 @@ void wk_tmr3_init(void)
tmr_input_struct.input_filter_value = 0;
tmr_input_channel_init(TMR3, &tmr_input_struct, TMR_CHANNEL_INPUT_DIV_1);
- tmr_encoder_mode_config(TMR3, TMR_ENCODER_MODE_A, TMR_INPUT_RISING_EDGE, TMR_INPUT_RISING_EDGE);
+ tmr_encoder_mode_config(TMR3, TMR_ENCODER_MODE_C, TMR_INPUT_RISING_EDGE, TMR_INPUT_RISING_EDGE);
tmr_counter_enable(TMR3, TRUE);
diff --git a/project/src/main.c b/project/src/main.c
index bc72ac5..afc0bca 100644
--- a/project/src/main.c
+++ b/project/src/main.c
@@ -68,10 +68,10 @@
/* add user code end 0 */
/**
- * @brief main function.
- * @param none
- * @retval none
- */
+ * @brief main function.
+ * @param none
+ * @retval none
+ */
int main(void)
{
/* add user code begin 1 */
@@ -124,8 +124,11 @@ int main(void)
LOGI("init done");
/* add user code end 2 */
- while (1) {
+ while(1)
+ {
/* add user code begin 3 */
+ // lwprintf("%f,%f,%f\r\n", param_m1.target_speed, param_m1.real_speed, param_m1.out_pwm / 10);
+ // DWT_Delay(20000);
/* add user code end 3 */
}
}