pref:弯道速度按曲率分段控制
增加斑马线积分按键更改距离 优化按键调参加减方向
This commit is contained in:
@@ -115,7 +115,8 @@ int32_t stop_cnt = 0;
|
|||||||
int32_t last_lb = 0;
|
int32_t last_lb = 0;
|
||||||
int32_t last_rb = 0;
|
int32_t last_rb = 0;
|
||||||
float start_dis = 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 bug_sw = 0;
|
||||||
float out_sw = 0;
|
float out_sw = 0;
|
||||||
float sho_sw = 0;
|
float sho_sw = 0;
|
||||||
@@ -157,12 +158,12 @@ void sport_motion()
|
|||||||
|
|
||||||
////////////////////////////////////////停车任务///////////////////////////////////////////////
|
////////////////////////////////////////停车任务///////////////////////////////////////////////
|
||||||
// 抖动停车,计次50
|
// 抖动停车,计次50
|
||||||
if (imu660ra_acc_z <= 900) {
|
if (imu660ra_acc_z <= 800) {
|
||||||
cnt7++;
|
cnt7++;
|
||||||
} else {
|
} else {
|
||||||
cnt7 = 0;
|
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_fly_flag = bt_run_flag = 0;
|
||||||
bt_printf("up");
|
bt_printf("up");
|
||||||
go_cnt = 0;
|
go_cnt = 0;
|
||||||
@@ -183,7 +184,7 @@ void sport_motion()
|
|||||||
go_cnt = 0;
|
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");
|
bt_printf("out");
|
||||||
go_cnt = 0;
|
go_cnt = 0;
|
||||||
bt_fly_flag = bt_run_flag = 0;
|
bt_fly_flag = bt_run_flag = 0;
|
||||||
@@ -195,7 +196,7 @@ void sport_motion()
|
|||||||
cnt2++;
|
cnt2++;
|
||||||
cnt5++;
|
cnt5++;
|
||||||
// 斑马线积分,系数随便给的
|
// 斑马线积分,系数随便给的
|
||||||
start_dis += in_speed * 0.000001;
|
start_dis += in_speed * 0.0000018f;
|
||||||
if (if_start == 0) {
|
if (if_start == 0) {
|
||||||
cnt8++;
|
cnt8++;
|
||||||
|
|
||||||
@@ -239,7 +240,11 @@ void sport_motion()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (in_state == 1) {
|
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;
|
last_state = in_state;
|
||||||
@@ -260,8 +265,9 @@ void sport_motion()
|
|||||||
cnt5 = 0;
|
cnt5 = 0;
|
||||||
}
|
}
|
||||||
// 并级pid,限幅
|
// 并级pid,限幅
|
||||||
pwm_duty_ls = (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(180 + 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) {
|
if (out_speed >= 1000) {
|
||||||
pwm_duty_lb = (int32_t)myclip_f(out_speed + out_gyro, 1000.0f, 3000.f);
|
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);
|
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);
|
by_pwm_update_duty(bt_fly + 500, bt_fly + 500);
|
||||||
if (bt_run_flag == 0) {
|
if (bt_run_flag == 0) {
|
||||||
// 测试状态
|
// 测试状态
|
||||||
if (go_cnt == 1) {
|
if (1 == go_cnt) {
|
||||||
by_pwm_power_duty(550, 550, 3000, 3000);
|
by_pwm_power_duty(600, 600, 3000, 3000);
|
||||||
}
|
} else if (2 == go_cnt) {
|
||||||
else if (2 == go_cnt) {
|
|
||||||
by_pwm_power_duty(550, 550, 4000, 4000);
|
|
||||||
cnt3++;
|
cnt3++;
|
||||||
if(cnt3>=2000)
|
if (cnt3 < 2000) {
|
||||||
{
|
by_pwm_power_duty(600, 600, 3000, 3000);
|
||||||
bt_run_flag=1;
|
} else if (cnt3 >= 2000 && cnt3 < 3000) {
|
||||||
go_cnt=3;
|
by_pwm_power_duty(600, 600, 4000, 4000);
|
||||||
cnt3=0;
|
} 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(&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_SetMode(&pos_pid, _PID_MODE_AUTOMATIC);
|
||||||
PID_SetSampleTime(&pos_pid, 20);
|
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是增量
|
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 yuc_Kp;
|
||||||
extern float rate_K;
|
extern float rate_K;
|
||||||
extern float start_dis;
|
extern float start_dis;
|
||||||
|
extern float set_dis;
|
||||||
extern int32_t pwm_duty_ls;
|
extern int32_t pwm_duty_ls;
|
||||||
extern int32_t pwm_duty_rs;
|
extern int32_t pwm_duty_rs;
|
||||||
extern int32_t pwm_duty_lb;
|
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(bug_stop, &bug_sw, EFLOAT, 1, "bug:"); // 注冊
|
||||||
PARAM_REG(out_stop, &out_sw, EFLOAT, 1, "out:"); // 注冊
|
PARAM_REG(out_stop, &out_sw, EFLOAT, 1, "out:"); // 注冊
|
||||||
PARAM_REG(shock_stop, &sho_sw, EFLOAT, 1, "shock:");
|
PARAM_REG(shock_stop, &sho_sw, EFLOAT, 1, "shock:");
|
||||||
|
PARAM_REG(dis, &set_dis, EFLOAT, 1, "dis:");
|
||||||
jj_param_read(); // 注冊
|
jj_param_read(); // 注冊
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ typedef enum {
|
|||||||
bug_stop = Page5_head,
|
bug_stop = Page5_head,
|
||||||
shock_stop,
|
shock_stop,
|
||||||
out_stop,
|
out_stop,
|
||||||
|
dis,
|
||||||
|
|
||||||
DATA_IN_FLASH_NUM,
|
DATA_IN_FLASH_NUM,
|
||||||
|
|
||||||
|
|||||||
@@ -37,8 +37,11 @@ static void Setup()
|
|||||||
ips200_show_int(80, 180, bt_run_flag, 1);
|
ips200_show_int(80, 180, bt_run_flag, 1);
|
||||||
ips200_show_string(10, 160, "fl_flag:");
|
ips200_show_string(10, 160, "fl_flag:");
|
||||||
ips200_show_int(80, 160, bt_fly_flag, 1);
|
ips200_show_int(80, 160, bt_fly_flag, 1);
|
||||||
|
|
||||||
ips200_show_string(10, 18, "fan_test");
|
ips200_show_string(10, 18, "fan_test");
|
||||||
ips200_show_string(10, 2 * 18, "run");
|
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) {
|
if (go_cnt == 1 && Curser == 2) {
|
||||||
go_cnt = 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) {
|
} else if (page_event_press_long == event) {
|
||||||
Page_Shift(page_menu);
|
Page_Shift(page_menu);
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ static void jj_param_show();
|
|||||||
static void Setup()
|
static void Setup()
|
||||||
{
|
{
|
||||||
ips200_clear();
|
ips200_clear();
|
||||||
ips200_show_string(0, 2,"turn");
|
ips200_show_string(0, 2, "turn");
|
||||||
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||||
for (int16 i = 0; i < LINE_END; i++) {
|
for (int16 i = 0; i < LINE_END; i++) {
|
||||||
ips200_show_string(0, i * 18 + 20, Param_Data[i].text);
|
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);
|
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||||
} else if (1 == event_flag) {
|
} else if (1 == event_flag) {
|
||||||
if (page_event_forward == event) {
|
if (page_event_forward == event) {
|
||||||
if (Param_Data[Curser-1].type == EFLOAT) {
|
if (Param_Data[Curser - 1].type == EFLOAT) {
|
||||||
*((float *)(Param_Data[Curser-1].p_data)) += powf(10.0f, (float)index_power);
|
*((float *)(Param_Data[Curser - 1].p_data)) += powf(10.0f, (float)index_power);
|
||||||
} else if (Param_Data[Curser-1].type == EINT32) {
|
} else if (Param_Data[Curser - 1].type == EINT32) {
|
||||||
*((int32 *)(Param_Data[Curser-1].p_data)) += 1;
|
*((int32 *)(Param_Data[Curser - 1].p_data)) += 1;
|
||||||
} else if (Param_Data[Curser-1].type == EUINT32) {
|
} else if (Param_Data[Curser - 1].type == EUINT32) {
|
||||||
*((uint32 *)(Param_Data[Curser-1].p_data)) += 1;
|
*((uint32 *)(Param_Data[Curser - 1].p_data)) += 1;
|
||||||
}
|
}
|
||||||
} else if (page_event_backward == event) {
|
} else if (page_event_backward == event) {
|
||||||
if (Param_Data[Curser-1].type == EFLOAT) {
|
if (Param_Data[Curser - 1].type == EFLOAT) {
|
||||||
*((float *)(Param_Data[Curser-1].p_data)) -= powf(10.0f, (float)index_power);
|
*((float *)(Param_Data[Curser - 1].p_data)) -= powf(10.0f, (float)index_power);
|
||||||
} else if (Param_Data[Curser-1].type == EINT32) {
|
} else if (Param_Data[Curser - 1].type == EINT32) {
|
||||||
*((int32 *)(Param_Data[Curser-1].p_data)) -= 1;
|
*((int32 *)(Param_Data[Curser - 1].p_data)) -= 1;
|
||||||
} else if (Param_Data[Curser-1].type == EUINT32) {
|
} else if (Param_Data[Curser - 1].type == EUINT32) {
|
||||||
*((uint32 *)(Param_Data[Curser-1].p_data)) -= 1;
|
*((uint32 *)(Param_Data[Curser - 1].p_data)) -= 1;
|
||||||
}
|
}
|
||||||
} else if (page_event_press_short == event) {
|
} else if (page_event_press_short == event) {
|
||||||
index_power++;
|
index_power--;
|
||||||
if (index_power > 2) {
|
if (index_power < -2) {
|
||||||
index_power = -2;
|
index_power = 2;
|
||||||
}
|
}
|
||||||
ips200_show_int(100, 2, index_power, 5);
|
ips200_show_int(100, 2, index_power, 5);
|
||||||
} else if (page_event_press_long == event) {
|
} else if (page_event_press_long == event) {
|
||||||
@@ -118,12 +118,12 @@ static void Event(page_event event)
|
|||||||
}
|
}
|
||||||
static void jj_param_show()
|
static void jj_param_show()
|
||||||
{
|
{
|
||||||
if (EINT32 == Param_Data[Curser-1].type)
|
if (EINT32 == Param_Data[Curser - 1].type)
|
||||||
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser-1].p_data)), 5);
|
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser - 1].p_data)), 5);
|
||||||
else if (EUINT32 == Param_Data[Curser-1].type)
|
else if (EUINT32 == Param_Data[Curser - 1].type)
|
||||||
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser-1].p_data)), 5);
|
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser - 1].p_data)), 5);
|
||||||
else if (EFLOAT == Param_Data[Curser-1].type)
|
else if (EFLOAT == Param_Data[Curser - 1].type)
|
||||||
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser-1].p_data)), 4, 5);
|
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser - 1].p_data)), 4, 5);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @brief 页面注册函数
|
* @brief 页面注册函数
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ static void jj_param_show();
|
|||||||
static void Setup()
|
static void Setup()
|
||||||
{
|
{
|
||||||
ips200_clear();
|
ips200_clear();
|
||||||
ips200_show_string(0, 2,"straight");
|
ips200_show_string(0, 2, "straight");
|
||||||
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||||
for (int16 i = 0; i < LINE_END; i++) {
|
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)
|
if (Param_Data[i + Strat_param].type == EINT32)
|
||||||
ips200_show_int(50, i * 18 + 20, *((int32 *)(Param_Data[i + Strat_param].p_data)), 5);
|
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)
|
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);
|
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||||
} else if (1 == event_flag) {
|
} else if (1 == event_flag) {
|
||||||
if (page_event_forward == event) {
|
if (page_event_forward == event) {
|
||||||
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
|
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
|
||||||
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) += powf(10.0f, (float)index_power);
|
*((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) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
|
||||||
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
|
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
|
||||||
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
|
||||||
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
|
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
|
||||||
}
|
}
|
||||||
} else if (page_event_backward == event) {
|
} else if (page_event_backward == event) {
|
||||||
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
|
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
|
||||||
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) -= powf(10.0f, (float)index_power);
|
*((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) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
|
||||||
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
|
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
|
||||||
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
|
||||||
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
|
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
|
||||||
}
|
}
|
||||||
} else if (page_event_press_short == event) {
|
} else if (page_event_press_short == event) {
|
||||||
index_power++;
|
index_power--;
|
||||||
if (index_power > 2) {
|
if (index_power < -2) {
|
||||||
index_power = -2;
|
index_power = 2;
|
||||||
}
|
}
|
||||||
ips200_show_int(100, 2, index_power, 5);
|
ips200_show_int(100, 2, index_power, 5);
|
||||||
} else if (page_event_press_long == event) {
|
} else if (page_event_press_long == event) {
|
||||||
@@ -119,12 +119,12 @@ static void Event(page_event event)
|
|||||||
}
|
}
|
||||||
static void jj_param_show()
|
static void jj_param_show()
|
||||||
{
|
{
|
||||||
if (EINT32 == Param_Data[Curser + Strat_param-1].type)
|
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);
|
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)
|
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);
|
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)
|
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);
|
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser + Strat_param - 1].p_data)), 4, 5);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @brief 页面注册函数
|
* @brief 页面注册函数
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ static void jj_param_show();
|
|||||||
static void Setup()
|
static void Setup()
|
||||||
{
|
{
|
||||||
ips200_clear();
|
ips200_clear();
|
||||||
ips200_show_string(0, 2,"circle");
|
ips200_show_string(0, 2, "circle");
|
||||||
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||||
for (int16 i = 0; i < LINE_END; i++) {
|
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)
|
if (Param_Data[i + Strat_param].type == EINT32)
|
||||||
ips200_show_int(50, i * 18 + 20, *((int32 *)(Param_Data[i + Strat_param].p_data)), 5);
|
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)
|
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);
|
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||||
} else if (1 == event_flag) {
|
} else if (1 == event_flag) {
|
||||||
if (page_event_forward == event) {
|
if (page_event_forward == event) {
|
||||||
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
|
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
|
||||||
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) += powf(10.0f, (float)index_power);
|
*((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) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
|
||||||
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
|
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
|
||||||
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
|
||||||
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
|
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
|
||||||
}
|
}
|
||||||
} else if (page_event_backward == event) {
|
} else if (page_event_backward == event) {
|
||||||
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
|
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
|
||||||
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) -= powf(10.0f, (float)index_power);
|
*((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) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
|
||||||
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
|
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
|
||||||
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
|
||||||
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
|
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
|
||||||
}
|
}
|
||||||
} else if (page_event_press_short == event) {
|
} else if (page_event_press_short == event) {
|
||||||
index_power++;
|
index_power--;
|
||||||
if (index_power > 2) {
|
if (index_power < -2) {
|
||||||
index_power = -2;
|
index_power = 2;
|
||||||
}
|
}
|
||||||
ips200_show_int(100, 2, index_power, 5);
|
ips200_show_int(100, 2, index_power, 5);
|
||||||
} else if (page_event_press_long == event) {
|
} else if (page_event_press_long == event) {
|
||||||
@@ -119,12 +119,12 @@ static void Event(page_event event)
|
|||||||
}
|
}
|
||||||
static void jj_param_show()
|
static void jj_param_show()
|
||||||
{
|
{
|
||||||
if (EINT32 == Param_Data[Curser + Strat_param-1].type)
|
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);
|
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)
|
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);
|
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)
|
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);
|
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser + Strat_param - 1].p_data)), 4, 5);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @brief 页面注册函数
|
* @brief 页面注册函数
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ static void jj_param_show();
|
|||||||
static void Setup()
|
static void Setup()
|
||||||
{
|
{
|
||||||
ips200_clear();
|
ips200_clear();
|
||||||
ips200_show_string(0, 2,"barrir");
|
ips200_show_string(0, 2, "barrir");
|
||||||
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||||
for (int16 i = 0; i < LINE_END; i++) {
|
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)
|
if (Param_Data[i + Strat_param].type == EINT32)
|
||||||
ips200_show_int(50, i * 18 + 20, *((int32 *)(Param_Data[i + Strat_param].p_data)), 5);
|
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)
|
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);
|
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||||
} else if (1 == event_flag) {
|
} else if (1 == event_flag) {
|
||||||
if (page_event_forward == event) {
|
if (page_event_forward == event) {
|
||||||
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
|
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
|
||||||
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) += powf(10.0f, (float)index_power);
|
*((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) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
|
||||||
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
|
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
|
||||||
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
|
||||||
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) += 1;
|
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) += 1;
|
||||||
}
|
}
|
||||||
} else if (page_event_backward == event) {
|
} else if (page_event_backward == event) {
|
||||||
if (Param_Data[Curser + Strat_param-1].type == EFLOAT) {
|
if (Param_Data[Curser + Strat_param - 1].type == EFLOAT) {
|
||||||
*((float *)(Param_Data[Curser + Strat_param-1].p_data)) -= powf(10.0f, (float)index_power);
|
*((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) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EINT32) {
|
||||||
*((int32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
|
*((int32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
|
||||||
} else if (Param_Data[Curser + Strat_param-1].type == EUINT32) {
|
} else if (Param_Data[Curser + Strat_param - 1].type == EUINT32) {
|
||||||
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
|
*((uint32 *)(Param_Data[Curser + Strat_param - 1].p_data)) -= 1;
|
||||||
}
|
}
|
||||||
} else if (page_event_press_short == event) {
|
} else if (page_event_press_short == event) {
|
||||||
index_power++;
|
index_power--;
|
||||||
if (index_power > 2) {
|
if (index_power < -2) {
|
||||||
index_power = -2;
|
index_power = 2;
|
||||||
}
|
}
|
||||||
ips200_show_int(100, 2, index_power, 5);
|
ips200_show_int(100, 2, index_power, 5);
|
||||||
} else if (page_event_press_long == event) {
|
} else if (page_event_press_long == event) {
|
||||||
@@ -119,12 +119,12 @@ static void Event(page_event event)
|
|||||||
}
|
}
|
||||||
static void jj_param_show()
|
static void jj_param_show()
|
||||||
{
|
{
|
||||||
if (EINT32 == Param_Data[Curser + Strat_param-1].type)
|
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);
|
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)
|
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);
|
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)
|
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);
|
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser + Strat_param - 1].p_data)), 4, 5);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @brief 页面注册函数
|
* @brief 页面注册函数
|
||||||
|
|||||||
@@ -105,9 +105,9 @@ static void Event(page_event event)
|
|||||||
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
|
*((uint32 *)(Param_Data[Curser + Strat_param-1].p_data)) -= 1;
|
||||||
}
|
}
|
||||||
} else if (page_event_press_short == event) {
|
} else if (page_event_press_short == event) {
|
||||||
index_power++;
|
index_power--;
|
||||||
if (index_power > 2) {
|
if (index_power <-2) {
|
||||||
index_power = -2;
|
index_power = 2;
|
||||||
}
|
}
|
||||||
ips200_show_int(100, 2, index_power, 5);
|
ips200_show_int(100, 2, index_power, 5);
|
||||||
} else if (page_event_press_long == event) {
|
} else if (page_event_press_long == event) {
|
||||||
|
|||||||
Reference in New Issue
Block a user