pref:弯道速度按曲率分段控制

增加斑马线积分按键更改距离
优化按键调参加减方向
This commit is contained in:
2024-08-14 14:30:32 +08:00
parent 06004e9e0b
commit c825014599
10 changed files with 140 additions and 120 deletions

View File

@@ -37,8 +37,11 @@ static void Setup()
ips200_show_int(80, 180, bt_run_flag, 1);
ips200_show_string(10, 160, "fl_flag:");
ips200_show_int(80, 160, bt_fly_flag, 1);
ips200_show_string(10, 18, "fan_test");
ips200_show_string(10, 2 * 18, "run");
ips200_show_string(10, 3 * 18, "fly_close");
ips200_show_string(10, 4 * 18, "run_close");
}
/**
@@ -95,6 +98,13 @@ static void Event(page_event event)
if (go_cnt == 1 && Curser == 2) {
go_cnt = 2;
}
if (Curser == 3 && bt_fly_flag != 0) {
bt_fly_flag = 0;
}
if (Curser == 4 && bt_run_flag != 0) {
bt_run_flag = 0;
go_cnt=0;
}
} else if (page_event_press_long == event) {
Page_Shift(page_menu);

View File

@@ -25,7 +25,7 @@ static void jj_param_show();
static void Setup()
{
ips200_clear();
ips200_show_string(0, 2,"turn");
ips200_show_string(0, 2, "turn");
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
for (int16 i = 0; i < LINE_END; i++) {
ips200_show_string(0, i * 18 + 20, Param_Data[i].text);
@@ -88,25 +88,25 @@ static void Event(page_event event)
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
} else if (1 == event_flag) {
if (page_event_forward == event) {
if (Param_Data[Curser-1].type == EFLOAT) {
*((float *)(Param_Data[Curser-1].p_data)) += powf(10.0f, (float)index_power);
} else if (Param_Data[Curser-1].type == EINT32) {
*((int32 *)(Param_Data[Curser-1].p_data)) += 1;
} else if (Param_Data[Curser-1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser-1].p_data)) += 1;
if (Param_Data[Curser - 1].type == EFLOAT) {
*((float *)(Param_Data[Curser - 1].p_data)) += powf(10.0f, (float)index_power);
} else if (Param_Data[Curser - 1].type == EINT32) {
*((int32 *)(Param_Data[Curser - 1].p_data)) += 1;
} else if (Param_Data[Curser - 1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser - 1].p_data)) += 1;
}
} else if (page_event_backward == event) {
if (Param_Data[Curser-1].type == EFLOAT) {
*((float *)(Param_Data[Curser-1].p_data)) -= powf(10.0f, (float)index_power);
} else if (Param_Data[Curser-1].type == EINT32) {
*((int32 *)(Param_Data[Curser-1].p_data)) -= 1;
} else if (Param_Data[Curser-1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser-1].p_data)) -= 1;
if (Param_Data[Curser - 1].type == EFLOAT) {
*((float *)(Param_Data[Curser - 1].p_data)) -= powf(10.0f, (float)index_power);
} else if (Param_Data[Curser - 1].type == EINT32) {
*((int32 *)(Param_Data[Curser - 1].p_data)) -= 1;
} else if (Param_Data[Curser - 1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser - 1].p_data)) -= 1;
}
} else if (page_event_press_short == event) {
index_power++;
if (index_power > 2) {
index_power = -2;
index_power--;
if (index_power < -2) {
index_power = 2;
}
ips200_show_int(100, 2, index_power, 5);
} else if (page_event_press_long == event) {
@@ -118,12 +118,12 @@ static void Event(page_event event)
}
static void jj_param_show()
{
if (EINT32 == Param_Data[Curser-1].type)
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser-1].p_data)), 5);
else if (EUINT32 == Param_Data[Curser-1].type)
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser-1].p_data)), 5);
else if (EFLOAT == Param_Data[Curser-1].type)
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser-1].p_data)), 4, 5);
if (EINT32 == Param_Data[Curser - 1].type)
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser - 1].p_data)), 5);
else if (EUINT32 == Param_Data[Curser - 1].type)
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser - 1].p_data)), 5);
else if (EFLOAT == Param_Data[Curser - 1].type)
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser - 1].p_data)), 4, 5);
}
/**
* @brief 页面注册函数

View File

@@ -4,8 +4,8 @@
#include "page.h"
#include <math.h>
#define LINE_HEAD 1
#define LINE_END Page3_head - Page2_head
#define LINE_HEAD 1
#define LINE_END Page3_head - Page2_head
#define Strat_param Page2_head
static char Text[] = "stra_pid";
static int event_flag = 0;
@@ -26,10 +26,10 @@ static void jj_param_show();
static void Setup()
{
ips200_clear();
ips200_show_string(0, 2,"straight");
ips200_show_string(0, 2, "straight");
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
for (int16 i = 0; i < LINE_END; i++) {
ips200_show_string(0, i * 18 + 20, Param_Data[i +Strat_param ].text);
ips200_show_string(0, i * 18 + 20, Param_Data[i + Strat_param].text);
if (Param_Data[i + Strat_param].type == EINT32)
ips200_show_int(50, i * 18 + 20, *((int32 *)(Param_Data[i + Strat_param].p_data)), 5);
else if (Param_Data[i + Strat_param].type == EFLOAT)
@@ -89,25 +89,25 @@ static void Event(page_event event)
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
} else if (1 == event_flag) {
if (page_event_forward == event) {
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) += powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param-1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param - 1].p_data)) += powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
}
} else if (page_event_backward == event) {
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) -= powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param-1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param - 1].p_data)) -= powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
}
} else if (page_event_press_short == event) {
index_power++;
if (index_power > 2) {
index_power = -2;
index_power--;
if (index_power < -2) {
index_power = 2;
}
ips200_show_int(100, 2, index_power, 5);
} else if (page_event_press_long == event) {
@@ -119,12 +119,12 @@ static void Event(page_event event)
}
static void jj_param_show()
{
if (EINT32 == Param_Data[Curser + Strat_param-1].type)
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param-1].p_data)), 5);
else if (EUINT32 == Param_Data[Curser + Strat_param-1].type)
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param-1].p_data)), 5);
else if (EFLOAT == Param_Data[Curser + Strat_param-1].type)
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser + Strat_param-1].p_data)), 4, 5);
if (EINT32 == Param_Data[Curser + Strat_param - 1].type)
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)), 5);
else if (EUINT32 == Param_Data[Curser + Strat_param - 1].type)
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)), 5);
else if (EFLOAT == Param_Data[Curser + Strat_param - 1].type)
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser + Strat_param - 1].p_data)), 4, 5);
}
/**
* @brief 页面注册函数

View File

@@ -4,8 +4,8 @@
#include "page.h"
#include <math.h>
#define LINE_HEAD 1
#define LINE_END Page4_head - Page3_head
#define LINE_HEAD 1
#define LINE_END Page4_head - Page3_head
#define Strat_param Page3_head
static char Text[] = "cir_pid";
static int event_flag = 0;
@@ -26,10 +26,10 @@ static void jj_param_show();
static void Setup()
{
ips200_clear();
ips200_show_string(0, 2,"circle");
ips200_show_string(0, 2, "circle");
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
for (int16 i = 0; i < LINE_END; i++) {
ips200_show_string(0, i * 18 + 20, Param_Data[i +Strat_param ].text);
ips200_show_string(0, i * 18 + 20, Param_Data[i + Strat_param].text);
if (Param_Data[i + Strat_param].type == EINT32)
ips200_show_int(50, i * 18 + 20, *((int32 *)(Param_Data[i + Strat_param].p_data)), 5);
else if (Param_Data[i + Strat_param].type == EFLOAT)
@@ -89,25 +89,25 @@ static void Event(page_event event)
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
} else if (1 == event_flag) {
if (page_event_forward == event) {
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) += powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param-1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param - 1].p_data)) += powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
}
} else if (page_event_backward == event) {
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) -= powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param-1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param - 1].p_data)) -= powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
}
} else if (page_event_press_short == event) {
index_power++;
if (index_power > 2) {
index_power = -2;
index_power--;
if (index_power < -2) {
index_power = 2;
}
ips200_show_int(100, 2, index_power, 5);
} else if (page_event_press_long == event) {
@@ -119,12 +119,12 @@ static void Event(page_event event)
}
static void jj_param_show()
{
if (EINT32 == Param_Data[Curser + Strat_param-1].type)
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param-1].p_data)), 5);
else if (EUINT32 == Param_Data[Curser + Strat_param-1].type)
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param-1].p_data)), 5);
else if (EFLOAT == Param_Data[Curser + Strat_param-1].type)
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser + Strat_param-1].p_data)), 4, 5);
if (EINT32 == Param_Data[Curser + Strat_param - 1].type)
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)), 5);
else if (EUINT32 == Param_Data[Curser + Strat_param - 1].type)
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)), 5);
else if (EFLOAT == Param_Data[Curser + Strat_param - 1].type)
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser + Strat_param - 1].p_data)), 4, 5);
}
/**
* @brief 页面注册函数

View File

@@ -4,8 +4,8 @@
#include "page.h"
#include <math.h>
#define LINE_HEAD 1
#define LINE_END Page5_head - Page4_head
#define LINE_HEAD 1
#define LINE_END Page5_head - Page4_head
#define Strat_param Page4_head
static char Text[] = "barr_pid";
static int event_flag = 0;
@@ -26,10 +26,10 @@ static void jj_param_show();
static void Setup()
{
ips200_clear();
ips200_show_string(0, 2,"barrir");
ips200_show_string(0, 2, "barrir");
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
for (int16 i = 0; i < LINE_END; i++) {
ips200_show_string(0, i * 18 + 20, Param_Data[i +Strat_param ].text);
ips200_show_string(0, i * 18 + 20, Param_Data[i + Strat_param].text);
if (Param_Data[i + Strat_param].type == EINT32)
ips200_show_int(50, i * 18 + 20, *((int32 *)(Param_Data[i + Strat_param].p_data)), 5);
else if (Param_Data[i + Strat_param].type == EFLOAT)
@@ -89,25 +89,25 @@ static void Event(page_event event)
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
} else if (1 == event_flag) {
if (page_event_forward == event) {
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) += powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param-1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param - 1].p_data)) += powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
}
} else if (page_event_backward == event) {
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) -= powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param-1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
*((float *)(Param_Data[Curser + Strat_param - 1].p_data)) -= powf(10.0f, (float)index_power);
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
}
} else if (page_event_press_short == event) {
index_power++;
if (index_power > 2) {
index_power = -2;
index_power--;
if (index_power < -2) {
index_power = 2;
}
ips200_show_int(100, 2, index_power, 5);
} else if (page_event_press_long == event) {
@@ -119,12 +119,12 @@ static void Event(page_event event)
}
static void jj_param_show()
{
if (EINT32 == Param_Data[Curser + Strat_param-1].type)
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param-1].p_data)), 5);
else if (EUINT32 == Param_Data[Curser + Strat_param-1].type)
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param-1].p_data)), 5);
else if (EFLOAT == Param_Data[Curser + Strat_param-1].type)
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser + Strat_param-1].p_data)), 4, 5);
if (EINT32 == Param_Data[Curser + Strat_param - 1].type)
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)), 5);
else if (EUINT32 == Param_Data[Curser + Strat_param - 1].type)
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)), 5);
else if (EFLOAT == Param_Data[Curser + Strat_param - 1].type)
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser + Strat_param - 1].p_data)), 4, 5);
}
/**
* @brief 页面注册函数

View File

@@ -105,9 +105,9 @@ static void Event(page_event event)
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
}
} else if (page_event_press_short == event) {
index_power++;
if (index_power > 2) {
index_power = -2;
index_power--;
if (index_power <-2) {
index_power = 2;
}
ips200_show_int(100, 2, index_power, 5);
} else if (page_event_press_long == event) {