图像更改
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
#include "jj_param.h"
|
||||
#include "page_ui_widget.h"
|
||||
#include "jj_motion.h"
|
||||
#include "page.h"
|
||||
|
||||
#include "math.h"
|
||||
#define LINE_HEAD 0
|
||||
#define LINE_END DATA_NUM - 2
|
||||
static char Text[] = "RealTime Param";
|
||||
@@ -10,7 +9,9 @@ int event_flag = 0;
|
||||
int32_t index_power = 0;
|
||||
static int8_t Curser = LINE_HEAD; // 定义光标位置
|
||||
static int8_t Curser_Last = LINE_HEAD; // 定义光标位置
|
||||
void jj_param_show();
|
||||
void param_set();
|
||||
void param_printf();
|
||||
void param_change(uint8_t index, int param_event);
|
||||
/***************************************************************************************
|
||||
*
|
||||
* 以下为页面模板函数
|
||||
@@ -24,16 +25,8 @@ void jj_param_show();
|
||||
static void Setup()
|
||||
{
|
||||
ips200_clear();
|
||||
param_set();
|
||||
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||
for (int16 i = 0; i < DATA_NUM - 1; i++) {
|
||||
ips200_show_string(10, i * 18 + 2, Param_Data[i].text);
|
||||
if (Param_Data[i].type == EINT32)
|
||||
ips200_show_int(50, i * 18 + 2, *((int32 *)(Param_Data[i].p_data)), 5);
|
||||
else if (Param_Data[i].type == EFLOAT)
|
||||
ips200_show_float(50, i * 18 + 2, *((float *)(Param_Data[i].p_data)), 4, 5);
|
||||
}
|
||||
ips200_show_int(50, (DATA_NUM-1)* 18 + 2, index_power, 5);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,7 +56,6 @@ static void Event(page_event event)
|
||||
{
|
||||
|
||||
if (0 == event_flag) {
|
||||
|
||||
Curser_Last = Curser;
|
||||
if (page_event_forward == event) {
|
||||
Curser--; // 光标上移
|
||||
@@ -74,8 +66,7 @@ static void Event(page_event event)
|
||||
Print_Curser(Curser, Curser_Last, RGB565_RED);
|
||||
return;
|
||||
} else if (page_event_press_long == event) {
|
||||
jj_param_update();
|
||||
sport_pid_init();
|
||||
jj_param_write();
|
||||
Page_Shift(page_menu);
|
||||
return;
|
||||
}
|
||||
@@ -86,44 +77,10 @@ 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].type == EFLOAT) {
|
||||
*((float *)(Param_Data[Curser].p_data)) += powf(10.0f,(float)index_power);
|
||||
} else if (Param_Data[Curser].type == EINT32) {
|
||||
*((int32 *)(Param_Data[Curser].p_data)) += 1;
|
||||
} else if (Param_Data[Curser].type == EUINT32) {
|
||||
*((uint32 *)(Param_Data[Curser].p_data)) += 1;
|
||||
}
|
||||
} else if (page_event_backward == event) {
|
||||
if (Param_Data[Curser].type == EFLOAT) {
|
||||
*((float *)(Param_Data[Curser].p_data)) -=powf(10.0f,(float)index_power);
|
||||
} else if (Param_Data[Curser].type == EINT32) {
|
||||
*((int32 *)(Param_Data[Curser].p_data)) -= 1;
|
||||
} else if (Param_Data[Curser].type == EUINT32) {
|
||||
*((uint32 *)(Param_Data[Curser].p_data)) -= 1;
|
||||
}
|
||||
} else if (page_event_press_short == event) {
|
||||
index_power++;
|
||||
if (index_power > 2) {
|
||||
index_power = -2;
|
||||
}
|
||||
ips200_show_int(50, (DATA_NUM-1)* 18 + 2, index_power, 5);
|
||||
} else if (page_event_press_long == event) {
|
||||
event_flag = 0;
|
||||
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||
}
|
||||
jj_param_show();
|
||||
param_change(Curser, event);
|
||||
param_printf();
|
||||
}
|
||||
}
|
||||
void jj_param_show()
|
||||
{
|
||||
if (EINT32 == Param_Data[Curser].type)
|
||||
ips200_show_int(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser].p_data)), 5);
|
||||
else if (EUINT32 == Param_Data[Curser].type)
|
||||
ips200_show_uint(50, Curser * 18 + 2, *((int32 *)(Param_Data[Curser].p_data)), 5);
|
||||
else if (EFLOAT == Param_Data[Curser].type)
|
||||
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser].p_data)), 4, 5);
|
||||
}
|
||||
/**
|
||||
* @brief 页面注册函数
|
||||
*
|
||||
@@ -133,3 +90,66 @@ void PageRegister_page_param(unsigned char pageID)
|
||||
{
|
||||
Page_Register(pageID, Text, Setup, Loop, Exit, Event);
|
||||
}
|
||||
/**
|
||||
* @brief 参数显示更新
|
||||
*
|
||||
*/
|
||||
void param_printf()
|
||||
{
|
||||
if (EINT32 == Param_Data[Curser].type)
|
||||
ips200_show_int(50, Curser * 18 + 2, *((int32_t *)(Param_Data[Curser].p_data)), 5);
|
||||
else if (EUINT32 == Param_Data[Curser].type)
|
||||
ips200_show_uint(50, Curser * 18 + 2, *((uint32_t *)(Param_Data[Curser].p_data)), 5);
|
||||
else if (EFLOAT == Param_Data[Curser].type)
|
||||
ips200_show_float(50, Curser * 18 + 2, *((float *)(Param_Data[Curser].p_data)), 4, 5);
|
||||
}
|
||||
/**
|
||||
* @brief 参数初始化显示
|
||||
*
|
||||
*/
|
||||
void param_set()
|
||||
{
|
||||
for (int16_t i = 0; i < DATA_NUM - 1; i++) {
|
||||
ips200_show_string(10, i * 18 + 2, Param_Data[i].text);
|
||||
if (Param_Data[i].type == EINT32)
|
||||
ips200_show_int(50, i * 18 + 2, *((int32_t *)(Param_Data[i].p_data)), 5);
|
||||
else if (Param_Data[i].type == EFLOAT)
|
||||
ips200_show_float(50, i * 18 + 2, *((float *)(Param_Data[i].p_data)), 4, 5);
|
||||
}
|
||||
ips200_show_int(50, (DATA_NUM - 1) * 18 + 2, index_power, 5);
|
||||
}
|
||||
/**
|
||||
* @brief 参数改变
|
||||
*
|
||||
* @param index 当前指针所指参数索引
|
||||
* @param param_event 触发事件
|
||||
*/
|
||||
void param_change(uint8_t index, int param_event)
|
||||
{
|
||||
if (page_event_forward == param_event) {
|
||||
if (Param_Data[Curser].type == EFLOAT) {
|
||||
*((float *)(Param_Data[Curser].p_data)) += powf(10.0f, (float)index_power);
|
||||
} else if (Param_Data[Curser].type == EINT32) {
|
||||
*((int32_t *)(Param_Data[Curser].p_data)) += pow(10, index_power + 2);
|
||||
} else if (Param_Data[Curser].type == EUINT32) {
|
||||
*((uint32_t *)(Param_Data[Curser].p_data)) += pow(10, index_power + 2);
|
||||
}
|
||||
} else if (page_event_backward == param_event) {
|
||||
if (Param_Data[index].type == EFLOAT) {
|
||||
*((float *)(Param_Data[index].p_data)) -= powf(10.0f, (float)index_power);
|
||||
} else if (Param_Data[index].type == EINT32) {
|
||||
*((int32_t *)(Param_Data[index].p_data)) -= pow(10, index_power + 2);
|
||||
} else if (Param_Data[index].type == EUINT32) {
|
||||
*((uint32_t *)(Param_Data[index].p_data)) -= pow(10, index_power + 2);
|
||||
}
|
||||
} else if (page_event_press_short == param_event) {
|
||||
index_power++;
|
||||
if (index_power > 2) {
|
||||
index_power = -2;
|
||||
}
|
||||
ips200_show_int(50, (DATA_NUM - 1) * 18 + 2, index_power, 5);
|
||||
} else if (page_event_press_long == param_event) {
|
||||
event_flag = 0; // 回归选择参数事件
|
||||
Print_Curser(Curser, Curser_Last, RGB565_PURPLE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,6 +167,9 @@ void Show_Marked_Image(void)
|
||||
uint16_t mid_x_r = START_X + (uint16_t)(mid_right[i][1] * horizontal_zoom_rate);
|
||||
uint16_t mix_y_r = START_Y + (uint16_t)(mid_right[i][0] * vertical_zoom_rate);
|
||||
|
||||
uint16_t mid_x = START_X + (uint16_t)(mid_track[i][1] * horizontal_zoom_rate);
|
||||
uint16_t mix_y = START_Y + (uint16_t)(mid_track[i][0] * vertical_zoom_rate);
|
||||
|
||||
//近线数组显示
|
||||
ips200_draw_rect(l_x, l_y, l_x + 2, l_y, RGB565_RED);
|
||||
ips200_draw_rect(r_x - 2, r_y, r_x, r_y, RGB565_BLUE);
|
||||
@@ -175,9 +178,12 @@ void Show_Marked_Image(void)
|
||||
//ips200_draw_rect(far_l_x, far_l_y, far_l_x + 2, far_l_y, RGB565_RED);
|
||||
//ips200_draw_rect(far_r_x - 2, far_r_y, far_r_x, far_r_y, RGB565_BLUE);
|
||||
|
||||
//中线数组显示
|
||||
ips200_draw_rect(mid_x_l, mix_y_l, mid_x_l + 2, mix_y_l, RGB565_BLACK);
|
||||
ips200_draw_rect(mid_x_r, mix_y_r, mid_x_r + 2, mix_y_r, RGB565_BLUE);
|
||||
//左右中线数组显示
|
||||
// ips200_draw_rect(mid_x_l, mix_y_l, mid_x_l + 2, mix_y_l, RGB565_BLACK);
|
||||
// ips200_draw_rect(mid_x_r, mix_y_r, mid_x_r + 2, mix_y_r, RGB565_BLUE);
|
||||
|
||||
//最终中线数字显示
|
||||
ips200_draw_rect(mid_x, mix_y, mid_x + 2, mix_y, RGB565_BLACK);
|
||||
|
||||
// ips200_draw_point(START_X + (uint16_t)((float)pts_right[i][1] * horizontal_zoom_rate), START_Y + (uint16_t)((float)pts_right[i][0] * vertical_zoom_rate), RGB565_GREEN);
|
||||
// ips200_draw_point(START_X + (uint16_t)((float)pts_right[i][1] * horizontal_zoom_rate) - 1, START_Y + (uint16_t)((float)pts_right[i][0] * vertical_zoom_rate), RGB565_GREEN);
|
||||
|
||||
Reference in New Issue
Block a user