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

@@ -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 页面注册函数