pref:弯道速度按曲率分段控制
增加斑马线积分按键更改距离 优化按键调参加减方向
This commit is contained in:
@@ -93,7 +93,7 @@ float set_speed3 = 666.f;
|
||||
float set_speed4 = 720.f;
|
||||
int cnt1 = 0;
|
||||
int cnt2 = 0;
|
||||
int cnt3 = 0;
|
||||
int cnt3 = 0;
|
||||
int cnt4 = 0; //
|
||||
int cnt5 = 0;
|
||||
int cnt6 = 0; //
|
||||
@@ -115,7 +115,8 @@ int32_t stop_cnt = 0;
|
||||
int32_t last_lb = 0;
|
||||
int32_t last_rb = 0;
|
||||
float start_dis = 0;
|
||||
uint8_t go_cnt = 0;//0 停车 1 测试侧向风扇 2 启动 3成功运行
|
||||
float set_dis=1.f;
|
||||
uint8_t go_cnt = 0; // 0 停车 1 测试侧向风扇 2 启动 3成功运行
|
||||
float bug_sw = 0;
|
||||
float out_sw = 0;
|
||||
float sho_sw = 0;
|
||||
@@ -157,12 +158,12 @@ void sport_motion()
|
||||
|
||||
////////////////////////////////////////停车任务///////////////////////////////////////////////
|
||||
// 抖动停车,计次50
|
||||
if (imu660ra_acc_z <= 900) {
|
||||
if (imu660ra_acc_z <= 800) {
|
||||
cnt7++;
|
||||
} else {
|
||||
cnt7 = 0;
|
||||
}
|
||||
if (cnt7 >= 10 && (uint8_t)sho_sw == 1) {
|
||||
if (cnt7 >= 50 && (uint8_t)sho_sw == 1) {
|
||||
bt_fly_flag = bt_run_flag = 0;
|
||||
bt_printf("up");
|
||||
go_cnt = 0;
|
||||
@@ -183,7 +184,7 @@ void sport_motion()
|
||||
go_cnt = 0;
|
||||
}
|
||||
// 出界停车,已经积分路过斑马线,保证斑马线不会触发
|
||||
if (2 == in_stop && (start_dis >= 1 || bt_run_flag == 0) && (uint8_t)out_sw == 1) {
|
||||
if (2 == in_stop && (start_dis >= set_dis|| bt_run_flag == 0) && (uint8_t)out_sw == 1) {
|
||||
bt_printf("out");
|
||||
go_cnt = 0;
|
||||
bt_fly_flag = bt_run_flag = 0;
|
||||
@@ -195,7 +196,7 @@ void sport_motion()
|
||||
cnt2++;
|
||||
cnt5++;
|
||||
// 斑马线积分,系数随便给的
|
||||
start_dis += in_speed * 0.000001;
|
||||
start_dis += in_speed * 0.0000018f;
|
||||
if (if_start == 0) {
|
||||
cnt8++;
|
||||
|
||||
@@ -239,7 +240,11 @@ void sport_motion()
|
||||
}
|
||||
|
||||
if (in_state == 1) {
|
||||
set_speed = set_speed0 - fabs(rate_K * powf(myclip_f(in_pos, -50.f, 50.f), 2));
|
||||
if (fabs(in_pos) <= 12.0f) {
|
||||
set_speed = set_speed0 - fabs(rate_K / 3 * myclip_f(in_pos, -50.f, 50.f));
|
||||
} else {
|
||||
set_speed = set_speed0 - fabs(rate_K * myclip_f(in_pos, -50.f, 50.f));
|
||||
}
|
||||
}
|
||||
// 记录上一次状态
|
||||
last_state = in_state;
|
||||
@@ -260,8 +265,9 @@ void sport_motion()
|
||||
cnt5 = 0;
|
||||
}
|
||||
// 并级pid,限幅
|
||||
pwm_duty_ls = (int32_t)myclip_f(180 - out_pos, 100.0f, 500.f);
|
||||
pwm_duty_rs = (int32_t)myclip_f(180 + out_pos, 100.0f, 500.f);
|
||||
pwm_duty_ls = (int32_t)myclip_f(240 - out_pos, 100.0f, 500.f);
|
||||
pwm_duty_rs = (int32_t)myclip_f(240 + out_pos, 100.0f, 500.f);
|
||||
// 并级pid的缺点补偿
|
||||
if (out_speed >= 1000) {
|
||||
pwm_duty_lb = (int32_t)myclip_f(out_speed + out_gyro, 1000.0f, 3000.f);
|
||||
pwm_duty_rb = (int32_t)myclip_f(out_speed - out_gyro, 1000.0f, 3000.f);
|
||||
@@ -289,17 +295,18 @@ void sport_motion()
|
||||
by_pwm_update_duty(bt_fly + 500, bt_fly + 500);
|
||||
if (bt_run_flag == 0) {
|
||||
// 测试状态
|
||||
if (go_cnt == 1) {
|
||||
by_pwm_power_duty(550, 550, 3000, 3000);
|
||||
}
|
||||
else if (2 == go_cnt) {
|
||||
by_pwm_power_duty(550, 550, 4000, 4000);
|
||||
if (1 == go_cnt) {
|
||||
by_pwm_power_duty(600, 600, 3000, 3000);
|
||||
} else if (2 == go_cnt) {
|
||||
cnt3++;
|
||||
if(cnt3>=2000)
|
||||
{
|
||||
bt_run_flag=1;
|
||||
go_cnt=3;
|
||||
cnt3=0;
|
||||
if (cnt3 < 2000) {
|
||||
by_pwm_power_duty(600, 600, 3000, 3000);
|
||||
} else if (cnt3 >= 2000 && cnt3 < 3000) {
|
||||
by_pwm_power_duty(600, 600, 4000, 4000);
|
||||
} else if (cnt3 >= 3000) {
|
||||
bt_run_flag = 1;
|
||||
go_cnt = 3;
|
||||
cnt3 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -323,7 +330,7 @@ void sport_pid_init()
|
||||
PID(&pos_pid, &in_angle, &out_pos, &set_pos, po_Kp1, po_Ki1, po_Kd1, _PID_P_ON_E, _PID_CD_REVERSE);
|
||||
PID_SetMode(&pos_pid, _PID_MODE_AUTOMATIC);
|
||||
PID_SetSampleTime(&pos_pid, 20);
|
||||
PID_SetOutputLimits(&pos_pid, -320.0f, 320.0f);
|
||||
PID_SetOutputLimits(&pos_pid, -260.0f, 260.0f);
|
||||
|
||||
/* 角速度控制 */
|
||||
PID(&far_gyro_pid, &in_gyro, &out_gyro, &out_angle, gy_Kp1, gy_Ki1, gy_Kd1, _PID_P_ON_E, _PID_CD_REVERSE); // m是增量
|
||||
|
||||
@@ -61,6 +61,7 @@ extern float last_angle;
|
||||
extern float yuc_Kp;
|
||||
extern float rate_K;
|
||||
extern float start_dis;
|
||||
extern float set_dis;
|
||||
extern int32_t pwm_duty_ls;
|
||||
extern int32_t pwm_duty_rs;
|
||||
extern int32_t pwm_duty_lb;
|
||||
|
||||
@@ -80,6 +80,7 @@ void jj_param_eeprom_init(void)
|
||||
PARAM_REG(bug_stop, &bug_sw, EFLOAT, 1, "bug:"); // 注冊
|
||||
PARAM_REG(out_stop, &out_sw, EFLOAT, 1, "out:"); // 注冊
|
||||
PARAM_REG(shock_stop, &sho_sw, EFLOAT, 1, "shock:");
|
||||
PARAM_REG(dis, &set_dis, EFLOAT, 1, "dis:");
|
||||
jj_param_read(); // 注冊
|
||||
}
|
||||
/**
|
||||
|
||||
@@ -82,6 +82,7 @@ typedef enum {
|
||||
bug_stop = Page5_head,
|
||||
shock_stop,
|
||||
out_stop,
|
||||
dis,
|
||||
|
||||
DATA_IN_FLASH_NUM,
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 页面注册函数
|
||||
|
||||
@@ -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 页面注册函数
|
||||
|
||||
@@ -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 页面注册函数
|
||||
|
||||
@@ -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 页面注册函数
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user