注释补充
This commit is contained in:
parent
baf9ef537c
commit
13369ef45b
|
@ -2,22 +2,22 @@
|
||||||
* @Author: wujunchao wujunchao@wuxismart.com
|
* @Author: wujunchao wujunchao@wuxismart.com
|
||||||
* @Date: 2024-12-27 11:50:56
|
* @Date: 2024-12-27 11:50:56
|
||||||
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
||||||
* @LastEditTime: 2025-03-06 18:48:20
|
* @LastEditTime: 2025-03-07 15:27:25
|
||||||
* @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c
|
* @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
#include "apps_gather.h" //用于头文件打包汇总,函数和变量注释
|
#include "apps_gather.h" //用于头文件打包汇总,函数声明和变量定义
|
||||||
// lv_conf.h { line:282->CPU&FPS; line:289->MEM used }
|
// lv_conf.h { line:282->CPU&FPS; line:289->MEM used }
|
||||||
|
|
||||||
/**********test5**********/
|
/**********test5**********/
|
||||||
MENU_DATA m5data;
|
MENU_DATA m5data; //界面参数初始化
|
||||||
PLOT_DATA pltdata;
|
PLOT_DATA pltdata; //chart绘图参数初始化
|
||||||
TABVIEW_DATA tabdata;
|
TABVIEW_DATA tabdata; //设置页面参数初始化
|
||||||
|
|
||||||
void menu_data_init(void)
|
void menu_data_init(void)
|
||||||
{
|
{
|
||||||
//general
|
//general
|
||||||
m5data.scr_now = SCREEN_INIT;
|
m5data.scr_now = SCREEN_INIT; //初始界面为开机动画
|
||||||
m5data.tick_prv = -1; //前一时刻,用于计时
|
m5data.tick_prv = -1; //前一时刻,用于计时
|
||||||
m5data.tick_cur = -1; //当前时刻,用于计时
|
m5data.tick_cur = -1; //当前时刻,用于计时
|
||||||
m5data.menu_reset_flag = 0; //复位使能标志,置1后复位,复位完成后变回0
|
m5data.menu_reset_flag = 0; //复位使能标志,置1后复位,复位完成后变回0
|
||||||
|
@ -89,6 +89,12 @@ void menu_data_init(void)
|
||||||
void menu_reset(void)
|
void menu_reset(void)
|
||||||
{
|
{
|
||||||
//界面复位
|
//界面复位
|
||||||
|
if(m5data.scr_now == SCREEN_INIT)
|
||||||
|
{
|
||||||
|
//如果正处于开机动画中,立即返回。
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//加载初始界面
|
//加载初始界面
|
||||||
setup_scr_screen_init(&guider_ui);
|
setup_scr_screen_init(&guider_ui);
|
||||||
lv_scr_load(guider_ui.screen_init);
|
lv_scr_load(guider_ui.screen_init);
|
||||||
|
@ -112,7 +118,7 @@ void menu_reset(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//参数复位
|
//参数复位,内部会对m5data.scr_now进行更改,因此放置于最后。
|
||||||
menu_data_init();
|
menu_data_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -231,8 +237,10 @@ void key_functions_main(void)
|
||||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||||
|
|
||||||
|
//该部分需要作溢出判断:第0个数字达到9之后不作循环处理,第1~5个数字达到9后循环计数并向前进1(直至第0个为9)
|
||||||
switch (m5data.io_cursor)
|
switch (m5data.io_cursor)
|
||||||
{
|
{
|
||||||
|
//达到9之后保持不变,不作循环处理
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
m5data.o_numbers[0] = (m5data.o_numbers[0] >= 9)?(9):(m5data.o_numbers[0] + 1);
|
m5data.o_numbers[0] = (m5data.o_numbers[0] >= 9)?(9):(m5data.o_numbers[0] + 1);
|
||||||
|
@ -241,6 +249,7 @@ void key_functions_main(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//当前面(第0个)数字不全为9时,循环计数,溢出标志置1,否则保持9不变。
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
if(m5data.o_numbers[1] >= 9)
|
if(m5data.o_numbers[1] >= 9)
|
||||||
|
@ -263,6 +272,7 @@ void key_functions_main(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//当前面(第0~1个)数字不全为9时,循环计数,溢出标志置1,否则保持9不变。
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
if(m5data.o_numbers[2] >= 9)
|
if(m5data.o_numbers[2] >= 9)
|
||||||
|
@ -285,6 +295,7 @@ void key_functions_main(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//当前面(第0~2个)数字不全为9时,循环计数,溢出标志置1,否则保持9不变。
|
||||||
case 3:
|
case 3:
|
||||||
{
|
{
|
||||||
if(m5data.o_numbers[3] >= 9)
|
if(m5data.o_numbers[3] >= 9)
|
||||||
|
@ -307,6 +318,7 @@ void key_functions_main(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//当前面(第0~3个)数字不全为9时,循环计数,溢出标志置1,否则保持9不变。
|
||||||
case 4:
|
case 4:
|
||||||
{
|
{
|
||||||
if(m5data.o_numbers[4] >= 9)
|
if(m5data.o_numbers[4] >= 9)
|
||||||
|
@ -329,6 +341,7 @@ void key_functions_main(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//当前面(第0~4个)数字不全为9时,循环计数,溢出标志置1,否则保持9不变。
|
||||||
case 5:
|
case 5:
|
||||||
{
|
{
|
||||||
if(m5data.o_numbers[5] >= 9)
|
if(m5data.o_numbers[5] >= 9)
|
||||||
|
@ -355,12 +368,15 @@ void key_functions_main(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(m5data.overflow_flag_up) //发生向上溢出
|
//发生向上溢出时,根据溢出的位置对实际数值进行处理
|
||||||
|
if(m5data.overflow_flag_up)
|
||||||
{
|
{
|
||||||
int oftemp = 0;
|
int oftemp = 0;
|
||||||
|
//还原成实际数值
|
||||||
oftemp = 100000*m5data.o_numbers[0] + 10000*m5data.o_numbers[1] + 1000*m5data.o_numbers[2] + \
|
oftemp = 100000*m5data.o_numbers[0] + 10000*m5data.o_numbers[1] + 1000*m5data.o_numbers[2] + \
|
||||||
100*m5data.o_numbers[3] + 10*m5data.o_numbers[4] + m5data.o_numbers[5];
|
100*m5data.o_numbers[3] + 10*m5data.o_numbers[4] + m5data.o_numbers[5];
|
||||||
|
|
||||||
|
//根据溢出的位置对实际值进行计算
|
||||||
switch (m5data.overflow_flag_up)
|
switch (m5data.overflow_flag_up)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -397,6 +413,7 @@ void key_functions_main(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//将实际值转换成6个独立数字
|
||||||
m5data.o_numbers[0] = (oftemp/100000 > 9)?(9):(oftemp/100000);
|
m5data.o_numbers[0] = (oftemp/100000 > 9)?(9):(oftemp/100000);
|
||||||
lv_img_set_src(guider_ui.screen_main_animimg_2, screen_main_animimg_2_imgs[ m5data.o_numbers[0] ]);
|
lv_img_set_src(guider_ui.screen_main_animimg_2, screen_main_animimg_2_imgs[ m5data.o_numbers[0] ]);
|
||||||
m5data.o_numbers[1] = (oftemp/10000) % 10;
|
m5data.o_numbers[1] = (oftemp/10000) % 10;
|
||||||
|
@ -410,6 +427,7 @@ void key_functions_main(void)
|
||||||
m5data.o_numbers[5] = oftemp % 10;
|
m5data.o_numbers[5] = oftemp % 10;
|
||||||
lv_img_set_src(guider_ui.screen_main_animimg_7, screen_main_animimg_7_imgs[ m5data.o_numbers[5] ]);
|
lv_img_set_src(guider_ui.screen_main_animimg_7, screen_main_animimg_7_imgs[ m5data.o_numbers[5] ]);
|
||||||
|
|
||||||
|
//溢出处理完成,标志清零
|
||||||
m5data.overflow_flag_up = 0;
|
m5data.overflow_flag_up = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -426,9 +444,9 @@ void key_functions_main(void)
|
||||||
m5data.i_numbers[i] = 0; //输入值/测量值
|
m5data.i_numbers[i] = 0; //输入值/测量值
|
||||||
m5data.o_numbers[i] = 0; //输出值/设定值
|
m5data.o_numbers[i] = 0; //输出值/设定值
|
||||||
}
|
}
|
||||||
m5data.twk_flag = 0; //闪烁中止
|
m5data.twk_flag = 0; //闪烁中止
|
||||||
m5data.twk_cnt = 0; //闪烁计数清零
|
m5data.twk_cnt = 0; //闪烁计数清零
|
||||||
m5data.twk_flip = 0; //0显示,1不显示
|
m5data.twk_flip = 0; //0显示,1不显示
|
||||||
|
|
||||||
//加载菜单界面
|
//加载菜单界面
|
||||||
setup_scr_screen_setting(&guider_ui);
|
setup_scr_screen_setting(&guider_ui);
|
||||||
|
@ -450,12 +468,15 @@ void key_functions_main(void)
|
||||||
if(m5data.io_mode == IO_OUTPUT)
|
if(m5data.io_mode == IO_OUTPUT)
|
||||||
{
|
{
|
||||||
m5data.io_mode = IO_INPUT;
|
m5data.io_mode = IO_INPUT;
|
||||||
|
|
||||||
|
//继承之前的输出类型
|
||||||
m5data.input_mode = m5data.output_mode;
|
m5data.input_mode = m5data.output_mode;
|
||||||
|
|
||||||
io_on2off_status(); //更新状态指示
|
io_on2off_status(); //更新状态指示
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
//枚举类型不能直接运算,于是使用临时变量cursor_temp
|
||||||
cursor_temp = (uint8_t)m5data.input_mode;
|
cursor_temp = (uint8_t)m5data.input_mode;
|
||||||
cursor_temp = (cursor_temp >= 5)?(0):(cursor_temp + 1);
|
cursor_temp = (cursor_temp >= 5)?(0):(cursor_temp + 1);
|
||||||
m5data.input_mode = (SIG_FUNCTIONS)cursor_temp;
|
m5data.input_mode = (SIG_FUNCTIONS)cursor_temp;
|
||||||
|
@ -510,9 +531,9 @@ void key_functions_main(void)
|
||||||
key = 0;
|
key = 0;
|
||||||
|
|
||||||
m5data.twk_flag = 1; //上、下、左、右 任意一个键按下后,闪烁开始
|
m5data.twk_flag = 1; //上、下、左、右 任意一个键按下后,闪烁开始
|
||||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||||
|
|
||||||
switch (m5data.io_cursor) //避免游标移动的瞬间数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
switch (m5data.io_cursor) //避免游标移动的瞬间,前一刻的数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
|
@ -557,7 +578,9 @@ void key_functions_main(void)
|
||||||
m5data.io_cursor_prv = m5data.io_cursor;
|
m5data.io_cursor_prv = m5data.io_cursor;
|
||||||
m5data.io_cursor = (m5data.io_cursor <= 0)?(5):(m5data.io_cursor - 1);
|
m5data.io_cursor = (m5data.io_cursor <= 0)?(5):(m5data.io_cursor - 1);
|
||||||
|
|
||||||
|
//中间有个小数点,小数点的显示宽度与数字不同,间隔与两个起点在头文件中设置
|
||||||
|
// 【】IO_CURSOR_INTERVAL【】IO_CURSOR_INTERVAL【】.【】IO_CURSOR_INTERVAL【】IO_CURSOR_INTERVAL【】
|
||||||
|
// ↑ IO_CURSOR_START1 ↑ IO_CURSOR_START2
|
||||||
if(m5data.io_cursor <= 2)
|
if(m5data.io_cursor <= 2)
|
||||||
{
|
{
|
||||||
lv_obj_set_pos(guider_ui.screen_main_img_3, IO_CURSOR_START1 + IO_CURSOR_INTERVAL * m5data.io_cursor, IO_CURSOR_Y);
|
lv_obj_set_pos(guider_ui.screen_main_img_3, IO_CURSOR_START1 + IO_CURSOR_INTERVAL * m5data.io_cursor, IO_CURSOR_Y);
|
||||||
|
@ -574,6 +597,7 @@ void key_functions_main(void)
|
||||||
{
|
{
|
||||||
key = 0;
|
key = 0;
|
||||||
|
|
||||||
|
//主界面用OK键控制开关ON&OFF
|
||||||
if(m5data.io_on2off == IO_ON)
|
if(m5data.io_on2off == IO_ON)
|
||||||
{
|
{
|
||||||
m5data.io_on2off = IO_OFF;
|
m5data.io_on2off = IO_OFF;
|
||||||
|
@ -594,7 +618,7 @@ void key_functions_main(void)
|
||||||
key = 0;
|
key = 0;
|
||||||
|
|
||||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||||
|
|
||||||
switch (m5data.io_cursor) //避免游标移动的瞬间数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
switch (m5data.io_cursor) //避免游标移动的瞬间数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
||||||
{
|
{
|
||||||
|
@ -656,7 +680,7 @@ void key_functions_main(void)
|
||||||
{
|
{
|
||||||
key = 0;
|
key = 0;
|
||||||
|
|
||||||
switch (m5data.io_mode) //输入、输出模式切换
|
switch (m5data.io_mode) //输入、输出模式切换
|
||||||
{
|
{
|
||||||
case IO_OUTPUT:
|
case IO_OUTPUT:
|
||||||
{
|
{
|
||||||
|
@ -788,6 +812,7 @@ void key_functions_main(void)
|
||||||
|
|
||||||
case KEY_SOURCE:
|
case KEY_SOURCE:
|
||||||
{
|
{
|
||||||
|
//电源开关靠硬件电路实现,此处可做预留
|
||||||
key = 0;
|
key = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -799,6 +824,7 @@ void key_functions_main(void)
|
||||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||||
|
|
||||||
|
//溢出处理方式同KEY_UP,Line:233
|
||||||
switch (m5data.io_cursor)
|
switch (m5data.io_cursor)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -1011,7 +1037,7 @@ void key_functions_main(void)
|
||||||
|
|
||||||
void scr_init_run(void)
|
void scr_init_run(void)
|
||||||
{
|
{
|
||||||
if( m5data.scr_init_cnt <= SCREEN_INIT_CNT_MAX )
|
if( m5data.scr_init_cnt <= SCREEN_INIT_CNT_MAX ) //进度条变化次数,在头文件中设置
|
||||||
{
|
{
|
||||||
if( m5data.tick_prv == -1 )
|
if( m5data.tick_prv == -1 )
|
||||||
{
|
{
|
||||||
|
@ -1100,7 +1126,7 @@ void runtime_show(void)
|
||||||
m5data.runtime_hours = 0;
|
m5data.runtime_hours = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 00:00:00
|
// 00:00:00,该字符串的长度大于8,因此runtime_show应该分配大于8的内存
|
||||||
sprintf(m5data.runtime_show, "%02d:%02d:%02d",m5data.runtime_hours, m5data.runtime_minutes, m5data.runtime_seconds);
|
sprintf(m5data.runtime_show, "%02d:%02d:%02d",m5data.runtime_hours, m5data.runtime_minutes, m5data.runtime_seconds);
|
||||||
lv_span_set_text(guider_ui.screen_main_spangroup_1_span, m5data.runtime_show);
|
lv_span_set_text(guider_ui.screen_main_spangroup_1_span, m5data.runtime_show);
|
||||||
|
|
||||||
|
@ -1124,17 +1150,22 @@ void input_value_show(void)
|
||||||
{
|
{
|
||||||
int32_t pvi = 0;
|
int32_t pvi = 0;
|
||||||
pvi = (int32_t)(pltdata.yreal_scd_value * 1000); //副轴用于绘制实时输入测量值
|
pvi = (int32_t)(pltdata.yreal_scd_value * 1000); //副轴用于绘制实时输入测量值
|
||||||
//显示当前测量值
|
//显示当前测量值,从左往右 0->5
|
||||||
m5data.i_numbers[0] = (pvi/100000 > 9)?(0):(pvi/100000);
|
m5data.i_numbers[0] = (pvi/100000 > 9)?(0):(pvi/100000);
|
||||||
lv_img_set_src(guider_ui.screen_main_animimg_9, screen_main_animimg_9_imgs[ m5data.i_numbers[0] ]);
|
lv_img_set_src(guider_ui.screen_main_animimg_9, screen_main_animimg_9_imgs[ m5data.i_numbers[0] ]);
|
||||||
|
|
||||||
m5data.i_numbers[1] = (pvi/10000) % 10;
|
m5data.i_numbers[1] = (pvi/10000) % 10;
|
||||||
lv_img_set_src(guider_ui.screen_main_animimg_10, screen_main_animimg_10_imgs[ m5data.i_numbers[1] ]);
|
lv_img_set_src(guider_ui.screen_main_animimg_10, screen_main_animimg_10_imgs[ m5data.i_numbers[1] ]);
|
||||||
|
|
||||||
m5data.i_numbers[2] = (pvi/1000) % 10;
|
m5data.i_numbers[2] = (pvi/1000) % 10;
|
||||||
lv_img_set_src(guider_ui.screen_main_animimg_11, screen_main_animimg_11_imgs[ m5data.i_numbers[2] ]);
|
lv_img_set_src(guider_ui.screen_main_animimg_11, screen_main_animimg_11_imgs[ m5data.i_numbers[2] ]);
|
||||||
|
|
||||||
m5data.i_numbers[3] = (pvi/100) % 10;
|
m5data.i_numbers[3] = (pvi/100) % 10;
|
||||||
lv_img_set_src(guider_ui.screen_main_animimg_12, screen_main_animimg_12_imgs[ m5data.i_numbers[3] ]);
|
lv_img_set_src(guider_ui.screen_main_animimg_12, screen_main_animimg_12_imgs[ m5data.i_numbers[3] ]);
|
||||||
|
|
||||||
m5data.i_numbers[4] = (pvi/10) % 10;
|
m5data.i_numbers[4] = (pvi/10) % 10;
|
||||||
lv_img_set_src(guider_ui.screen_main_animimg_13, screen_main_animimg_13_imgs[ m5data.i_numbers[4] ]);
|
lv_img_set_src(guider_ui.screen_main_animimg_13, screen_main_animimg_13_imgs[ m5data.i_numbers[4] ]);
|
||||||
|
|
||||||
m5data.i_numbers[5] = pvi % 10;
|
m5data.i_numbers[5] = pvi % 10;
|
||||||
lv_img_set_src(guider_ui.screen_main_animimg_14, screen_main_animimg_14_imgs[ m5data.i_numbers[5] ]);
|
lv_img_set_src(guider_ui.screen_main_animimg_14, screen_main_animimg_14_imgs[ m5data.i_numbers[5] ]);
|
||||||
}
|
}
|
||||||
|
@ -1208,9 +1239,10 @@ void key_functions_setting(void)
|
||||||
{
|
{
|
||||||
key = 0;
|
key = 0;
|
||||||
|
|
||||||
//所有选项卡均未选中时,返回主界面,否则熄灭当前选中
|
//所有选项卡均未选中时,返回主界面,否则熄灭当前选中
|
||||||
if(tabdata.tab_cursor_inner == 99)
|
if(tabdata.tab_cursor_inner == 99)
|
||||||
{
|
{
|
||||||
|
//下次进入设置页面时,从选项卡0开始
|
||||||
tabdata.tab_cursor = 0;
|
tabdata.tab_cursor = 0;
|
||||||
|
|
||||||
//加载主界面
|
//加载主界面
|
||||||
|
@ -1220,9 +1252,11 @@ void key_functions_setting(void)
|
||||||
//切换至菜单后,清除主界面对象,释放内存
|
//切换至菜单后,清除主界面对象,释放内存
|
||||||
lv_obj_del(guider_ui.screen_setting);
|
lv_obj_del(guider_ui.screen_setting);
|
||||||
|
|
||||||
m5data.scr_now = SCREEN_MAIN; //当前界面为主界面
|
//当前界面为主界面
|
||||||
|
m5data.scr_now = SCREEN_MAIN;
|
||||||
|
|
||||||
scr_main_recover(); //恢复之前显示的数据
|
//恢复之前显示的数据
|
||||||
|
scr_main_recover();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1231,7 +1265,8 @@ void key_functions_setting(void)
|
||||||
{
|
{
|
||||||
case ITEMS_0:
|
case ITEMS_0:
|
||||||
{
|
{
|
||||||
setting_items_check(99, tabdata.tab_cursor_inner, 1); //熄灭当前内容
|
//熄灭当前内容
|
||||||
|
setting_items_check(99, tabdata.tab_cursor_inner, 1);
|
||||||
|
|
||||||
tabdata.tab_cursor_inner = 99;
|
tabdata.tab_cursor_inner = 99;
|
||||||
tabdata.tab_cursor_inner_prv = 99;
|
tabdata.tab_cursor_inner_prv = 99;
|
||||||
|
@ -1271,7 +1306,8 @@ void key_functions_setting(void)
|
||||||
{
|
{
|
||||||
key = 0;
|
key = 0;
|
||||||
|
|
||||||
if(tabdata.tab_cursor_inner == 99) //内部游标为99时,说明未选中任何一个选项卡,此时的up和down用于切换选项卡
|
//内部游标为99时,说明未选中任何一个选项卡,此时的up和down用于切换选项卡
|
||||||
|
if(tabdata.tab_cursor_inner == 99)
|
||||||
{
|
{
|
||||||
tabdata.tab_cursor_prv = tabdata.tab_cursor;
|
tabdata.tab_cursor_prv = tabdata.tab_cursor;
|
||||||
tabdata.tab_cursor = (tabdata.tab_cursor <= 0)?(3):(tabdata.tab_cursor - 1);
|
tabdata.tab_cursor = (tabdata.tab_cursor <= 0)?(3):(tabdata.tab_cursor - 1);
|
||||||
|
@ -1522,8 +1558,10 @@ void key_functions_setting(void)
|
||||||
|
|
||||||
void setting_items_check(uint8_t cursor, uint8_t cursor_prv, uint8_t tab_cont)
|
void setting_items_check(uint8_t cursor, uint8_t cursor_prv, uint8_t tab_cont)
|
||||||
{
|
{
|
||||||
if(tab_cont) //内容点亮和熄灭
|
//需要操作的是内容还是选项卡
|
||||||
{
|
if(tab_cont)
|
||||||
|
{
|
||||||
|
//操作内容
|
||||||
switch (tabdata.tab_cursor)
|
switch (tabdata.tab_cursor)
|
||||||
{
|
{
|
||||||
case ITEMS_0:
|
case ITEMS_0:
|
||||||
|
@ -1600,8 +1638,9 @@ void setting_items_check(uint8_t cursor, uint8_t cursor_prv, uint8_t tab_cont)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else //标签点亮和熄灭
|
else
|
||||||
{
|
{
|
||||||
|
//操作选项卡
|
||||||
switch (cursor) //点亮当前选中目标
|
switch (cursor) //点亮当前选中目标
|
||||||
{
|
{
|
||||||
case ITEMS_0:
|
case ITEMS_0:
|
||||||
|
@ -1778,6 +1817,7 @@ void scr_main_recover(void)
|
||||||
lv_label_set_text(guider_ui.screen_main_label_Mode, "Volt");
|
lv_label_set_text(guider_ui.screen_main_label_Mode, "Volt");
|
||||||
switch (m5data.output_mode_type) //功能类型切换,电压V/mV
|
switch (m5data.output_mode_type) //功能类型切换,电压V/mV
|
||||||
{
|
{
|
||||||
|
//切换单位后,坐标轴随之切换
|
||||||
case VOLTAGE_MV:
|
case VOLTAGE_MV:
|
||||||
{
|
{
|
||||||
lv_label_set_text(guider_ui.screen_main_label_unit, "mV");
|
lv_label_set_text(guider_ui.screen_main_label_unit, "mV");
|
||||||
|
@ -1932,6 +1972,7 @@ void num_twinkle(void) //数值闪烁
|
||||||
{
|
{
|
||||||
if(m5data.twk_flag == 0)
|
if(m5data.twk_flag == 0)
|
||||||
{
|
{
|
||||||
|
//不需要闪烁的情况下直接返回
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2063,14 +2104,14 @@ void num_twinkle(void) //数值闪烁
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(m5data.twk_cnt > TWINKLE_CNT_MAX) // 10秒无动作(上、下、左、右无按下)后停止闪烁
|
if(m5data.twk_cnt > TWINKLE_CNT_MAX) // (TWINKLE_CNT_MAX)秒无动作(上、下、左、右无按下)后停止闪烁
|
||||||
{
|
{
|
||||||
m5data.twk_cnt = 0;
|
m5data.twk_cnt = 0;
|
||||||
m5data.twk_flip = 0;
|
m5data.twk_flip = 0;
|
||||||
m5data.twk_flag = 0;
|
m5data.twk_flag = 0;
|
||||||
m5data.io_cursor_prv = m5data.io_cursor;
|
m5data.io_cursor_prv = m5data.io_cursor;
|
||||||
|
|
||||||
switch (m5data.io_cursor) //防止空白残留
|
switch (m5data.io_cursor) //防止空白残留
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
|
@ -2124,23 +2165,32 @@ void plot_drawing(void)
|
||||||
plot_1500ms_flag = 0;
|
plot_1500ms_flag = 0;
|
||||||
|
|
||||||
//输出曲线
|
//输出曲线
|
||||||
pltdata.yreal_pri_value = m5data.o_numbers[0]*100 + m5data.o_numbers[1]*10 + m5data.o_numbers[2] + \
|
//{
|
||||||
m5data.o_numbers[3]*(float32)0.1 + m5data.o_numbers[4]*(float32)0.01 + m5data.o_numbers[5]*(float32)0.001;
|
//将独立数字转换成实际值
|
||||||
|
pltdata.yreal_pri_value = m5data.o_numbers[0]*100 + m5data.o_numbers[1]*10 + m5data.o_numbers[2] + \
|
||||||
|
m5data.o_numbers[3]*(float32)0.1 + m5data.o_numbers[4]*(float32)0.01 + m5data.o_numbers[5]*(float32)0.001;
|
||||||
|
|
||||||
pltdata.y_pri_value = ( pltdata.y_pri_up - pltdata.y_pri_low ) * \
|
//将实际值线性转换成chart组件上的绘图值(pltdata.y_pri_low~up,一般0~100)
|
||||||
( pltdata.yreal_pri_value - pltdata.yreal_pri_low ) / ( pltdata.yreal_pri_up - pltdata.yreal_pri_low );
|
pltdata.y_pri_value = ( pltdata.y_pri_up - pltdata.y_pri_low ) * \
|
||||||
|
( pltdata.yreal_pri_value - pltdata.yreal_pri_low ) / ( pltdata.yreal_pri_up - pltdata.yreal_pri_low );
|
||||||
|
|
||||||
if(pltdata.y_pri_value >= pltdata.y_pri_up) pltdata.y_pri_value = pltdata.y_pri_up;
|
//数值限幅
|
||||||
if(pltdata.y_pri_value <= pltdata.y_pri_low) pltdata.y_pri_value = pltdata.y_pri_low;
|
if(pltdata.y_pri_value >= pltdata.y_pri_up) pltdata.y_pri_value = pltdata.y_pri_up;
|
||||||
lv_chart_set_next_value(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, pltdata.y_pri_value);
|
if(pltdata.y_pri_value <= pltdata.y_pri_low) pltdata.y_pri_value = pltdata.y_pri_low;
|
||||||
|
lv_chart_set_next_value(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, pltdata.y_pri_value);
|
||||||
|
//}
|
||||||
|
|
||||||
//输入曲线
|
//输入曲线
|
||||||
pltdata.y_scd_value = ( pltdata.y_scd_up - pltdata.y_scd_low ) * \
|
//{
|
||||||
( pltdata.yreal_scd_value - pltdata.yreal_scd_low ) / ( pltdata.yreal_scd_up - pltdata.yreal_scd_low );
|
//将实际值线性转换成chart组件上的绘图值(pltdata.y_pri_low~up,一般0~100)
|
||||||
|
pltdata.y_scd_value = ( pltdata.y_scd_up - pltdata.y_scd_low ) * \
|
||||||
if(pltdata.y_scd_value >= pltdata.y_scd_up) pltdata.y_scd_value = pltdata.y_scd_up;
|
( pltdata.yreal_scd_value - pltdata.yreal_scd_low ) / ( pltdata.yreal_scd_up - pltdata.yreal_scd_low );
|
||||||
if(pltdata.y_scd_value <= pltdata.y_scd_low) pltdata.y_scd_value = pltdata.y_scd_low;
|
|
||||||
lv_chart_set_next_value(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, pltdata.y_scd_value);
|
//数值限幅
|
||||||
|
if(pltdata.y_scd_value >= pltdata.y_scd_up) pltdata.y_scd_value = pltdata.y_scd_up;
|
||||||
|
if(pltdata.y_scd_value <= pltdata.y_scd_low) pltdata.y_scd_value = pltdata.y_scd_low;
|
||||||
|
lv_chart_set_next_value(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, pltdata.y_scd_value);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue