更新:
1、注释补充,冗余代码清理; 2、设置内容与主界面显示同步; 3、优化了界面切换过程中的内存释放逻辑,进一步加大了LVGL任务堆大小:直接删除对象,不必动删除标志;
This commit is contained in:
parent
fd3de8a6de
commit
baf9ef537c
|
@ -2,7 +2,7 @@
|
|||
* @Author: wujunchao wujunchao@wuxismart.com
|
||||
* @Date: 2024-12-27 11:51:06
|
||||
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
||||
* @LastEditTime: 2025-02-19 11:20:22
|
||||
* @LastEditTime: 2025-03-06 17:26:04
|
||||
* @FilePath: \signal_generator\App\APP_WU\Inc\apps_gather.h
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
*/
|
||||
|
@ -94,6 +94,9 @@ extern const lv_img_dsc_t * screen_main_animimg_14_imgs[11];
|
|||
//y轴坐标值
|
||||
#define IO_CURSOR_Y 229
|
||||
|
||||
//闪烁次数上限
|
||||
#define TWINKLE_CNT_MAX 10
|
||||
|
||||
//}
|
||||
|
||||
//设置界面
|
||||
|
@ -220,6 +223,7 @@ typedef struct
|
|||
uint8_t scr_now; //当前屏幕,通过按键切换, [0->init, 1->main, 2->setting]
|
||||
int tick_prv; //前一个时刻
|
||||
int tick_cur; //当前时刻
|
||||
uint8_t menu_reset_flag; //复位标志,在keil的debug中手动写入
|
||||
|
||||
//screen_init
|
||||
uint8_t scr_init_flag; //初始界面标志,是否播放过开机动画
|
||||
|
@ -234,15 +238,19 @@ typedef struct
|
|||
uint8_t battery_cnt; //电池计数
|
||||
uint8_t io_cursor; //当前游标位置, [000,000], 0~5整数表示6个位置
|
||||
uint8_t io_cursor_prv; //前一时刻的游标位置
|
||||
char i_numbers[6]; //实时显示的字符,输入
|
||||
char o_numbers[6]; //实时显示的字符,输出
|
||||
uint8_t i_numbers[6]; //实时显示的字符,输入
|
||||
uint8_t o_numbers[6]; //实时显示的字符,输出
|
||||
uint8_t io_on2off; //ON & OFF
|
||||
uint8_t io_mode; //当前工作模式,0输入,1输出
|
||||
SIG_FUNCTIONS input_mode; //当前的输入模式
|
||||
SIG_FUNCTIONS_TYPE input_mode_type; //当前输入模式的类型
|
||||
SIG_FUNCTIONS output_mode; //当前的输出模式
|
||||
SIG_FUNCTIONS_TYPE output_mode_type; //当前输出模式的类型
|
||||
uint8_t twk_flag; //闪烁标志
|
||||
uint8_t twk_flag; //闪烁使能标志
|
||||
uint8_t twk_flip; //0-1变量,用于控制显示内容翻转(显示/不显示)
|
||||
uint8_t twk_cnt; //闪烁计数,计数达到上限后闪烁停止
|
||||
uint8_t overflow_flag_up; //向上溢出标志
|
||||
uint8_t overflow_flag_low; //向下溢出标志
|
||||
|
||||
//screen_setting
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: wujunchao wujunchao@wuxismart.com
|
||||
* @Date: 2024-12-27 11:50:56
|
||||
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
||||
* @LastEditTime: 2025-03-06 15:06:42
|
||||
* @LastEditTime: 2025-03-06 18:48:20
|
||||
* @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
|
||||
*/
|
||||
|
@ -18,99 +18,112 @@ void menu_data_init(void)
|
|||
{
|
||||
//general
|
||||
m5data.scr_now = SCREEN_INIT;
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_cur = -1;
|
||||
m5data.tick_prv = -1; //前一时刻,用于计时
|
||||
m5data.tick_cur = -1; //当前时刻,用于计时
|
||||
m5data.menu_reset_flag = 0; //复位使能标志,置1后复位,复位完成后变回0
|
||||
|
||||
//screen_init
|
||||
m5data.scr_init_flag = 0;
|
||||
m5data.scr_init_bar = 0;
|
||||
m5data.scr_init_cnt = 0;
|
||||
m5data.scr_init_flag = 0; //是否进行过初始化(开机动画)
|
||||
m5data.scr_init_bar = 0; //进度条值,0~100
|
||||
m5data.scr_init_cnt = 0; //进度条计数(控制进度条动画)
|
||||
|
||||
//screen_main
|
||||
// {
|
||||
m5data.runtime_seconds = 0; //秒
|
||||
m5data.runtime_minutes = 0; //分钟
|
||||
m5data.runtime_hours = 0; //小时
|
||||
memset(m5data.runtime_show, 0, 16);
|
||||
memset(m5data.runtime_show, 0, 16); //存放显示时间的字符串
|
||||
|
||||
m5data.battery_cnt = 0; //电池计数
|
||||
|
||||
m5data.io_cursor = 2; //当前游标位置,[000,000]:0~5
|
||||
m5data.io_cursor_prv = 2; //前一时刻游标位置
|
||||
m5data.twk_flag = 0; //0停止闪烁,1开始闪烁
|
||||
m5data.twk_flip = 0; //0显示,1不显示
|
||||
m5data.twk_cnt = 0; //闪烁计数
|
||||
m5data.overflow_flag_low = 0; //向上溢出
|
||||
m5data.overflow_flag_up = 0; //向下溢出
|
||||
|
||||
m5data.io_on2off = IO_OFF; //初始为关闭状态
|
||||
m5data.io_mode = IO_OUTPUT; //默认工作模式,0:输入IN,1:输出OUT
|
||||
for(uint8_t i = 0; i < 6; i++) //用于数值显示的数组,初值为0
|
||||
{
|
||||
m5data.i_numbers[i] = 0;
|
||||
m5data.o_numbers[i] = 0;
|
||||
m5data.i_numbers[i] = 0; //输入值/测量值
|
||||
m5data.o_numbers[i] = 0; //输出值/设定值
|
||||
}
|
||||
m5data.input_mode = SIG_VOLTAGE; //输入功能初始为电压模式
|
||||
m5data.input_mode_type = VOLTAGE_V; //电压单位初始为V
|
||||
m5data.output_mode = SIG_VOLTAGE; //输出功能初始为电压模式
|
||||
m5data.output_mode_type = VOLTAGE_V;//电压单位初始为V
|
||||
|
||||
//图标显示值(int,0~100整数)
|
||||
pltdata.y_pri_low = 0; //主轴的显示范围,0~100,通常不做修改
|
||||
pltdata.y_pri_up = 100;
|
||||
pltdata.y_scd_low = 0; //副轴的显示范围,0~100,通常不做修改
|
||||
pltdata.y_scd_up = 100;
|
||||
//chart组件显示(int)
|
||||
pltdata.y_pri_low = 0; //主轴的显示下限,0,通常不做修改
|
||||
pltdata.y_pri_up = 100; //主轴的显示上限,100,通常不做修改
|
||||
pltdata.y_scd_low = 0; //副轴的显示下限,0,通常不做修改
|
||||
pltdata.y_scd_up = 100; //副轴的显示上限,100,通常不做修改
|
||||
pltdata.y_pri_value = 0; //主轴的实时显示值,0~100
|
||||
pltdata.y_scd_value = 0; //副轴的实时显示值,0~100
|
||||
|
||||
//实际物理量(float32)
|
||||
pltdata.yreal_pri_low = 0;
|
||||
pltdata.yreal_pri_up = 30;
|
||||
pltdata.yreal_scd_low = 0;
|
||||
pltdata.yreal_scd_up = 30;
|
||||
pltdata.yreal_pri_value = 0;
|
||||
pltdata.yreal_scd_value = 0;
|
||||
pltdata.yreal_pri_low = 0; //实际值的显示下限,主轴
|
||||
pltdata.yreal_pri_up = 30; //实际值的显示上限,主轴
|
||||
pltdata.yreal_scd_low = 0; //实际值的显示下限,副轴
|
||||
pltdata.yreal_scd_up = 30; //实际值的显示上限,副轴
|
||||
pltdata.yreal_pri_value = 0; //主轴的实时值,即输出/设定值
|
||||
pltdata.yreal_scd_value = 0; //副轴的实时值,即输入/测量值
|
||||
// }
|
||||
|
||||
//screen_setting
|
||||
tabdata.tab_cursor = 0;
|
||||
tabdata.tab_cursor_prv = 0;
|
||||
tabdata.tab_cursor_inner = 99;
|
||||
tabdata.tab_cursor_inner_prv = 99;
|
||||
tabdata.tab_cursor = 0; //选项卡的游标(焦点)
|
||||
tabdata.tab_cursor_prv = 0; //前一刻的选项卡游标
|
||||
tabdata.tab_cursor_inner = 99; //某一选项卡内部的游标
|
||||
tabdata.tab_cursor_inner_prv = 99; //前一刻的~
|
||||
|
||||
tabdata.content00 = 0;
|
||||
tabdata.content01_mV = 500;
|
||||
tabdata.content01_V = 30;
|
||||
tabdata.content02_mV = 0;
|
||||
tabdata.content02_V = 0;
|
||||
tabdata.content00 = 0; //第0个选项卡的第0个内容
|
||||
tabdata.content01_mV = 500; //第0个选项卡的第1个内容
|
||||
tabdata.content01_V = 30; //第0个选项卡的第1个内容
|
||||
tabdata.content02_mV = 0; //第0个选项卡的第2个内容
|
||||
tabdata.content02_V = 0; //第0个选项卡的第2个内容
|
||||
}
|
||||
|
||||
uint8_t menu_reset_flag = 0;
|
||||
void menu_reset(void)
|
||||
{
|
||||
//参数复位
|
||||
menu_data_init();
|
||||
|
||||
//界面复位
|
||||
//加载初始界面
|
||||
setup_scr_screen_init(&guider_ui);
|
||||
lv_scr_load(guider_ui.screen_init);
|
||||
|
||||
//释放内存
|
||||
if(m5data.scr_now == SCREEN_SETTING)
|
||||
switch (m5data.scr_now)
|
||||
{
|
||||
guider_ui.screen_setting_del = true;
|
||||
lv_obj_del(guider_ui.screen_setting);
|
||||
}
|
||||
|
||||
if(m5data.scr_now == SCREEN_MAIN)
|
||||
case SCREEN_MAIN:
|
||||
{
|
||||
guider_ui.screen_main_del = true;
|
||||
lv_obj_del(guider_ui.screen_main);
|
||||
}
|
||||
break;
|
||||
|
||||
case SCREEN_SETTING:
|
||||
{
|
||||
lv_obj_del(guider_ui.screen_setting);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//参数复位
|
||||
menu_data_init();
|
||||
}
|
||||
|
||||
|
||||
void menu_test5(void)
|
||||
{
|
||||
if(menu_reset_flag)
|
||||
if(m5data.menu_reset_flag)
|
||||
{
|
||||
menu_reset_flag = 0;
|
||||
menu_reset(); //触发显示内容复位
|
||||
|
||||
menu_reset();
|
||||
m5data.menu_reset_flag = 0;
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -125,15 +138,15 @@ void menu_test5(void)
|
|||
{
|
||||
case SCREEN_MAIN:
|
||||
{
|
||||
scr_main_run();
|
||||
key_functions_main();
|
||||
scr_main_run(); //主界面显示
|
||||
key_functions_main(); //主界面的按键功能
|
||||
}
|
||||
break;
|
||||
|
||||
case SCREEN_SETTING:
|
||||
{
|
||||
scr_setting_run();
|
||||
key_functions_setting();
|
||||
scr_setting_run(); //设置界面
|
||||
key_functions_setting(); //设置界面的按键功能
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -143,9 +156,6 @@ void menu_test5(void)
|
|||
}
|
||||
}
|
||||
|
||||
uint8_t twk_cnt = 0; //闪烁计数
|
||||
uint8_t overflow_flag = 0; //向上溢出标志
|
||||
uint8_t overflow_flag_low = 0; //向下溢出标志
|
||||
void key_functions_main(void)
|
||||
{
|
||||
uint8_t cursor_temp = 0; //临时游标,替代枚举变量进行加减运算
|
||||
|
@ -219,7 +229,7 @@ void key_functions_main(void)
|
|||
key = 0;
|
||||
|
||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
|
||||
switch (m5data.io_cursor)
|
||||
{
|
||||
|
@ -227,9 +237,6 @@ void key_functions_main(void)
|
|||
{
|
||||
m5data.o_numbers[0] = (m5data.o_numbers[0] >= 9)?(9):(m5data.o_numbers[0] + 1);
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[0]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_7_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_2, screen_main_animimg_2_imgs[ m5data.o_numbers[0] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -241,7 +248,7 @@ void key_functions_main(void)
|
|||
if( m5data.o_numbers[0]!=9 )
|
||||
{
|
||||
m5data.o_numbers[1] = 0;
|
||||
overflow_flag = 1;
|
||||
m5data.overflow_flag_up = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -252,9 +259,6 @@ void key_functions_main(void)
|
|||
m5data.o_numbers[1]++;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[1]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_8_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_3, screen_main_animimg_3_imgs[ m5data.o_numbers[1] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -266,7 +270,7 @@ void key_functions_main(void)
|
|||
if( (m5data.o_numbers[0]!=9)||(m5data.o_numbers[1]!=9))
|
||||
{
|
||||
m5data.o_numbers[2] = 0;
|
||||
overflow_flag = 2;
|
||||
m5data.overflow_flag_up = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -277,9 +281,6 @@ void key_functions_main(void)
|
|||
m5data.o_numbers[2]++;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[2]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_9_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_4, screen_main_animimg_4_imgs[ m5data.o_numbers[2] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -291,7 +292,7 @@ void key_functions_main(void)
|
|||
if( (m5data.o_numbers[0]!=9)||(m5data.o_numbers[1]!=9)||(m5data.o_numbers[2]!=9))
|
||||
{
|
||||
m5data.o_numbers[3] = 0;
|
||||
overflow_flag = 3;
|
||||
m5data.overflow_flag_up = 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -302,9 +303,6 @@ void key_functions_main(void)
|
|||
m5data.o_numbers[3]++;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[3]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_10_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_5, screen_main_animimg_5_imgs[ m5data.o_numbers[3] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -316,7 +314,7 @@ void key_functions_main(void)
|
|||
if( (m5data.o_numbers[0]!=9)||(m5data.o_numbers[1]!=9)||(m5data.o_numbers[2]!=9)||(m5data.o_numbers[3]!=9))
|
||||
{
|
||||
m5data.o_numbers[4] = 0;
|
||||
overflow_flag = 4;
|
||||
m5data.overflow_flag_up = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -327,9 +325,6 @@ void key_functions_main(void)
|
|||
m5data.o_numbers[4]++;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[4]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_11_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_6, screen_main_animimg_6_imgs[ m5data.o_numbers[4] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -341,7 +336,7 @@ void key_functions_main(void)
|
|||
if( (m5data.o_numbers[0]!=9)||(m5data.o_numbers[1]!=9)||(m5data.o_numbers[2]!=9)||(m5data.o_numbers[3]!=9)||(m5data.o_numbers[4]!=9))
|
||||
{
|
||||
m5data.o_numbers[5] = 0;
|
||||
overflow_flag = 5;
|
||||
m5data.overflow_flag_up = 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -352,9 +347,6 @@ void key_functions_main(void)
|
|||
m5data.o_numbers[5]++;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[5]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_12_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_7, screen_main_animimg_7_imgs[ m5data.o_numbers[5] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -363,13 +355,13 @@ void key_functions_main(void)
|
|||
break;
|
||||
}
|
||||
|
||||
if(overflow_flag) //发生向上溢出
|
||||
if(m5data.overflow_flag_up) //发生向上溢出
|
||||
{
|
||||
int oftemp = 0;
|
||||
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];
|
||||
|
||||
switch (overflow_flag)
|
||||
switch (m5data.overflow_flag_up)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
|
@ -418,7 +410,7 @@ void key_functions_main(void)
|
|||
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] ]);
|
||||
|
||||
overflow_flag = 0;
|
||||
m5data.overflow_flag_up = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -427,12 +419,22 @@ void key_functions_main(void)
|
|||
{
|
||||
key = 0;
|
||||
|
||||
//为保障安全,进入菜单页面后功能关闭,输入输出值清零
|
||||
m5data.io_on2off = IO_OFF;
|
||||
for(uint8_t i = 0; i < 6; i++) //用于数值显示的数组,初值为0
|
||||
{
|
||||
m5data.i_numbers[i] = 0; //输入值/测量值
|
||||
m5data.o_numbers[i] = 0; //输出值/设定值
|
||||
}
|
||||
m5data.twk_flag = 0; //闪烁中止
|
||||
m5data.twk_cnt = 0; //闪烁计数清零
|
||||
m5data.twk_flip = 0; //0显示,1不显示
|
||||
|
||||
//加载菜单界面
|
||||
setup_scr_screen_setting(&guider_ui);
|
||||
lv_scr_load(guider_ui.screen_setting);
|
||||
|
||||
//切换至菜单后,清除主界面对象,释放内存
|
||||
guider_ui.screen_main_del = true;
|
||||
lv_obj_del(guider_ui.screen_main);
|
||||
|
||||
m5data.scr_now = SCREEN_SETTING; //当前界面为详细设置菜单
|
||||
|
@ -508,7 +510,7 @@ void key_functions_main(void)
|
|||
key = 0;
|
||||
|
||||
m5data.twk_flag = 1; //上、下、左、右 任意一个键按下后,闪烁开始
|
||||
twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
|
||||
switch (m5data.io_cursor) //避免游标移动的瞬间数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
||||
{
|
||||
|
@ -592,7 +594,7 @@ void key_functions_main(void)
|
|||
key = 0;
|
||||
|
||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
|
||||
switch (m5data.io_cursor) //避免游标移动的瞬间数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
||||
{
|
||||
|
@ -671,12 +673,22 @@ void key_functions_main(void)
|
|||
case VOLTAGE_MV:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_unit, "mV");
|
||||
|
||||
pltdata.yreal_pri_up = tabdata.content01_mV;
|
||||
pltdata.yreal_scd_up = tabdata.content01_mV;
|
||||
pltdata.yreal_pri_low = tabdata.content02_mV;
|
||||
pltdata.yreal_scd_low = tabdata.content02_mV;
|
||||
}
|
||||
break;
|
||||
|
||||
case VOLTAGE_V:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_unit, "V");
|
||||
|
||||
pltdata.yreal_pri_up = tabdata.content01_V;
|
||||
pltdata.yreal_scd_up = tabdata.content01_V;
|
||||
pltdata.yreal_pri_low = tabdata.content02_V;
|
||||
pltdata.yreal_scd_low = tabdata.content02_V;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -785,7 +797,7 @@ void key_functions_main(void)
|
|||
key = 0;
|
||||
|
||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
|
||||
switch (m5data.io_cursor)
|
||||
{
|
||||
|
@ -794,16 +806,12 @@ void key_functions_main(void)
|
|||
if(m5data.o_numbers[0] <= 0)
|
||||
{
|
||||
m5data.o_numbers[0] = 0;
|
||||
overflow_flag_low = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
m5data.o_numbers[0] = m5data.o_numbers[0] - 1;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[0]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_7_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_2, screen_main_animimg_2_imgs[ m5data.o_numbers[0] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -815,7 +823,7 @@ void key_functions_main(void)
|
|||
if(m5data.o_numbers[0])
|
||||
{
|
||||
m5data.o_numbers[1] = 9;
|
||||
overflow_flag_low = 1;
|
||||
m5data.overflow_flag_low = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -827,9 +835,6 @@ void key_functions_main(void)
|
|||
m5data.o_numbers[1] = m5data.o_numbers[1] - 1;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[1]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_8_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_3, screen_main_animimg_3_imgs[ m5data.o_numbers[1] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -841,7 +846,7 @@ void key_functions_main(void)
|
|||
if(m5data.o_numbers[0]||m5data.o_numbers[1])
|
||||
{
|
||||
m5data.o_numbers[2] = 9;
|
||||
overflow_flag_low = 2;
|
||||
m5data.overflow_flag_low = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -853,9 +858,6 @@ void key_functions_main(void)
|
|||
m5data.o_numbers[2] = m5data.o_numbers[2] - 1;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[2]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_9_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_4, screen_main_animimg_4_imgs[ m5data.o_numbers[2] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -867,7 +869,7 @@ void key_functions_main(void)
|
|||
if(m5data.o_numbers[0]||m5data.o_numbers[1]||m5data.o_numbers[2])
|
||||
{
|
||||
m5data.o_numbers[3] = 9;
|
||||
overflow_flag_low = 3;
|
||||
m5data.overflow_flag_low = 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -879,9 +881,6 @@ void key_functions_main(void)
|
|||
m5data.o_numbers[3] = m5data.o_numbers[3] - 1;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[3]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_10_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_5, screen_main_animimg_5_imgs[ m5data.o_numbers[3] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -893,7 +892,7 @@ void key_functions_main(void)
|
|||
if(m5data.o_numbers[0]||m5data.o_numbers[1]||m5data.o_numbers[2]||m5data.o_numbers[3])
|
||||
{
|
||||
m5data.o_numbers[4] = 9;
|
||||
overflow_flag_low = 4;
|
||||
m5data.overflow_flag_low = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -905,9 +904,6 @@ void key_functions_main(void)
|
|||
m5data.o_numbers[4] = m5data.o_numbers[4] - 1;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[4]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_11_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_6, screen_main_animimg_6_imgs[ m5data.o_numbers[4] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -919,7 +915,7 @@ void key_functions_main(void)
|
|||
if(m5data.o_numbers[0]||m5data.o_numbers[1]||m5data.o_numbers[2]||m5data.o_numbers[3]||m5data.o_numbers[4])
|
||||
{
|
||||
m5data.o_numbers[5] = 9;
|
||||
overflow_flag_low = 5;
|
||||
m5data.overflow_flag_low = 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -931,9 +927,6 @@ void key_functions_main(void)
|
|||
m5data.o_numbers[5] = m5data.o_numbers[5] - 1;
|
||||
}
|
||||
|
||||
// sprintf(buff_io,"%d",m5data.io_numbers[5]);
|
||||
// lv_span_set_text(guider_ui.screen_main_spangroup_12_span, buff_io);
|
||||
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_7, screen_main_animimg_7_imgs[ m5data.o_numbers[5] ]);
|
||||
}
|
||||
break;
|
||||
|
@ -942,13 +935,13 @@ void key_functions_main(void)
|
|||
break;
|
||||
}
|
||||
|
||||
if(overflow_flag_low) //发生向下溢出
|
||||
if(m5data.overflow_flag_low) //发生向下溢出
|
||||
{
|
||||
int oftemp = 0;
|
||||
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];
|
||||
|
||||
switch (overflow_flag_low)
|
||||
switch (m5data.overflow_flag_low)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
|
@ -997,26 +990,16 @@ void key_functions_main(void)
|
|||
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] ]);
|
||||
|
||||
overflow_flag_low = 0;
|
||||
m5data.overflow_flag_low = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// case KEY_BACK: //迁移至函数 key_functions_setting
|
||||
// {
|
||||
// key = 0;
|
||||
|
||||
// //加载主界面
|
||||
// setup_scr_screen_main(&guider_ui);
|
||||
// lv_scr_load(guider_ui.screen_main);
|
||||
|
||||
// //切换至菜单后,清除主界面对象,释放内存
|
||||
// guider_ui.screen_setting_del = true;
|
||||
// lv_obj_del(guider_ui.screen_setting);
|
||||
|
||||
// m5data.scr_now = SCREEN_MAIN; //当前界面为主界面
|
||||
// }
|
||||
// break;
|
||||
case KEY_BACK: //闲置,预留
|
||||
{
|
||||
key = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
{
|
||||
|
@ -1032,18 +1015,19 @@ void scr_init_run(void)
|
|||
{
|
||||
if( m5data.tick_prv == -1 )
|
||||
{
|
||||
m5data.tick_prv = xTaskGetTickCount();
|
||||
m5data.tick_prv = xTaskGetTickCount(); //记录起始时刻
|
||||
}else
|
||||
{
|
||||
m5data.tick_cur = xTaskGetTickCount();
|
||||
if(m5data.tick_cur < m5data.tick_prv) //防止溢出
|
||||
m5data.tick_cur = xTaskGetTickCount(); //记录当前时刻
|
||||
|
||||
if(m5data.tick_cur < m5data.tick_prv) //防止溢出(当前tick小于前一刻的tick)
|
||||
{
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_prv = -1; //溢出后复位并返回
|
||||
m5data.tick_cur = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
if(m5data.tick_cur - m5data.tick_prv >= 1000)
|
||||
if(m5data.tick_cur - m5data.tick_prv >= 1000) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_cur = -1;
|
||||
|
@ -1057,12 +1041,15 @@ void scr_init_run(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
|
||||
// //开机动画结束后,清除初始界面内部组件,保留对象,释放内存
|
||||
// lv_obj_clean(guider_ui.screen_init);
|
||||
|
||||
//加载主界面
|
||||
setup_scr_screen_main(&guider_ui);
|
||||
lv_scr_load(guider_ui.screen_main);
|
||||
|
||||
//开机动画结束后,清除该对象,释放内存
|
||||
guider_ui.screen_init_del = true;
|
||||
//删除初始界面对象,释放剩余内存
|
||||
lv_obj_del(guider_ui.screen_init);
|
||||
|
||||
m5data.scr_init_flag = 1; //开机动画结束,只执行一次
|
||||
|
@ -1073,19 +1060,19 @@ void scr_init_run(void)
|
|||
void scr_main_run(void)
|
||||
{
|
||||
//运行时间显示
|
||||
runtime_show();
|
||||
runtime_show(); //1000ms
|
||||
|
||||
//电池电量显示
|
||||
battery_show();
|
||||
battery_show(); //3000ms
|
||||
|
||||
//动态曲线绘制
|
||||
plot_drawing();
|
||||
plot_drawing(); //1500ms
|
||||
|
||||
//当前输入值显示、IN&OUT状态指示
|
||||
//input_value_show(); //已迁移至运行时间显示runtime_show()
|
||||
//当前输入值/测量值显示,已迁移至runtime_show(),两者共用 heart_1000ms_flag
|
||||
//input_value_show(); //1000ms
|
||||
|
||||
//数值闪烁
|
||||
num_twinkle();
|
||||
num_twinkle(); //1000ms
|
||||
|
||||
}
|
||||
|
||||
|
@ -1096,23 +1083,24 @@ void runtime_show(void)
|
|||
heart_1000ms_flag = 0;
|
||||
|
||||
m5data.runtime_seconds ++;
|
||||
if( m5data.runtime_seconds > 59)
|
||||
if( m5data.runtime_seconds > 59) //秒溢出
|
||||
{
|
||||
m5data.runtime_minutes ++;
|
||||
m5data.runtime_minutes ++; //溢出后分钟进一
|
||||
m5data.runtime_seconds = 0;
|
||||
}
|
||||
if(m5data.runtime_minutes > 59)
|
||||
if(m5data.runtime_minutes > 59) //分钟溢出
|
||||
{
|
||||
m5data.runtime_hours ++;
|
||||
m5data.runtime_hours ++; //溢出后小时进一
|
||||
m5data.runtime_minutes = 0;
|
||||
}
|
||||
if(m5data.runtime_hours > 99)
|
||||
if(m5data.runtime_hours > 99) //小时溢出
|
||||
{
|
||||
m5data.runtime_seconds = 0;
|
||||
m5data.runtime_seconds = 0; //溢出后全部归零
|
||||
m5data.runtime_minutes = 0;
|
||||
m5data.runtime_hours = 0;
|
||||
}
|
||||
|
||||
// 00:00:00
|
||||
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);
|
||||
|
||||
|
@ -1135,7 +1123,7 @@ void battery_show(void)
|
|||
void input_value_show(void)
|
||||
{
|
||||
int32_t pvi = 0;
|
||||
pvi = (int32_t)pltdata.yreal_scd_value; //副轴用于绘制实时输入测量值
|
||||
pvi = (int32_t)(pltdata.yreal_scd_value * 1000); //副轴用于绘制实时输入测量值
|
||||
//显示当前测量值
|
||||
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] ]);
|
||||
|
@ -1230,7 +1218,6 @@ void key_functions_setting(void)
|
|||
lv_scr_load(guider_ui.screen_main);
|
||||
|
||||
//切换至菜单后,清除主界面对象,释放内存
|
||||
guider_ui.screen_setting_del = true;
|
||||
lv_obj_del(guider_ui.screen_setting);
|
||||
|
||||
m5data.scr_now = SCREEN_MAIN; //当前界面为主界面
|
||||
|
@ -1239,6 +1226,7 @@ void key_functions_setting(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
//某个选项卡被选中时,熄灭内部选中的内容
|
||||
switch (tabdata.tab_cursor)
|
||||
{
|
||||
case ITEMS_0:
|
||||
|
@ -1283,7 +1271,6 @@ void key_functions_setting(void)
|
|||
{
|
||||
key = 0;
|
||||
|
||||
|
||||
if(tabdata.tab_cursor_inner == 99) //内部游标为99时,说明未选中任何一个选项卡,此时的up和down用于切换选项卡
|
||||
{
|
||||
tabdata.tab_cursor_prv = tabdata.tab_cursor;
|
||||
|
@ -1303,6 +1290,7 @@ void key_functions_setting(void)
|
|||
{
|
||||
tabdata.content00 = !tabdata.content00;
|
||||
|
||||
//单位改变时,相关数值也要跟随
|
||||
setting_update(ITEMS_0, CONTENT_0_0);
|
||||
setting_update(ITEMS_0, CONTENT_0_1);
|
||||
setting_update(ITEMS_0, CONTENT_0_2);
|
||||
|
@ -1313,11 +1301,11 @@ void key_functions_setting(void)
|
|||
{
|
||||
if(tabdata.content00)
|
||||
{
|
||||
tabdata.content01_mV = (tabdata.content01_mV >= 500)?(0):(tabdata.content01_mV + 1);
|
||||
tabdata.content01_mV = (tabdata.content01_mV >= 500)?(tabdata.content02_mV):(tabdata.content01_mV + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
tabdata.content01_V = (tabdata.content01_V >= 30)?(0):(tabdata.content01_V + 1);
|
||||
tabdata.content01_V = (tabdata.content01_V >= 30)?(tabdata.content02_V):(tabdata.content01_V + 1);
|
||||
}
|
||||
|
||||
setting_update(ITEMS_0, CONTENT_0_1);
|
||||
|
@ -1328,11 +1316,11 @@ void key_functions_setting(void)
|
|||
{
|
||||
if(tabdata.content00)
|
||||
{
|
||||
tabdata.content02_mV = (tabdata.content02_mV >= 500)?(0):(tabdata.content02_mV + 1);
|
||||
tabdata.content02_mV = (tabdata.content02_mV >= tabdata.content01_mV)?(0):(tabdata.content02_mV + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
tabdata.content02_V = (tabdata.content02_V >= 30)?(0):(tabdata.content02_V + 1);
|
||||
tabdata.content02_V = (tabdata.content02_V >= tabdata.content01_V)?(0):(tabdata.content02_V + 1);
|
||||
}
|
||||
|
||||
setting_update(ITEMS_0, CONTENT_0_2);
|
||||
|
@ -1540,7 +1528,7 @@ void setting_items_check(uint8_t cursor, uint8_t cursor_prv, uint8_t tab_cont)
|
|||
{
|
||||
case ITEMS_0:
|
||||
{
|
||||
switch (cursor) //点亮当前选中目标
|
||||
switch (cursor) //点亮cursor
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
|
@ -1564,7 +1552,7 @@ void setting_items_check(uint8_t cursor, uint8_t cursor_prv, uint8_t tab_cont)
|
|||
break;
|
||||
}
|
||||
|
||||
switch (cursor_prv) //熄灭前一时刻的目标
|
||||
switch (cursor_prv) //熄灭cursor_prv
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
|
@ -1793,12 +1781,22 @@ void scr_main_recover(void)
|
|||
case VOLTAGE_MV:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_unit, "mV");
|
||||
|
||||
pltdata.yreal_pri_up = tabdata.content01_mV;
|
||||
pltdata.yreal_scd_up = tabdata.content01_mV;
|
||||
pltdata.yreal_pri_low = tabdata.content02_mV;
|
||||
pltdata.yreal_scd_low = tabdata.content02_mV;
|
||||
}
|
||||
break;
|
||||
|
||||
case VOLTAGE_V:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_unit, "V");
|
||||
|
||||
pltdata.yreal_pri_up = tabdata.content01_V;
|
||||
pltdata.yreal_scd_up = tabdata.content01_V;
|
||||
pltdata.yreal_pri_low = tabdata.content02_V;
|
||||
pltdata.yreal_scd_low = tabdata.content02_V;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1856,12 +1854,22 @@ void scr_main_recover(void)
|
|||
case VOLTAGE_MV:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_unit, "mV");
|
||||
|
||||
pltdata.yreal_pri_up = tabdata.content01_mV;
|
||||
pltdata.yreal_scd_up = tabdata.content01_mV;
|
||||
pltdata.yreal_pri_low = tabdata.content02_mV;
|
||||
pltdata.yreal_scd_low = tabdata.content02_mV;
|
||||
}
|
||||
break;
|
||||
|
||||
case VOLTAGE_V:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_main_label_unit, "V");
|
||||
|
||||
pltdata.yreal_pri_up = tabdata.content01_V;
|
||||
pltdata.yreal_scd_up = tabdata.content01_V;
|
||||
pltdata.yreal_pri_low = tabdata.content02_V;
|
||||
pltdata.yreal_scd_low = tabdata.content02_V;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1920,7 +1928,6 @@ void scr_main_recover(void)
|
|||
lv_img_set_src(guider_ui.screen_main_animimg_7, screen_main_animimg_7_imgs[ m5data.o_numbers[5] ]);
|
||||
}
|
||||
|
||||
uint8_t twk_p = 0; //用于控制闪烁翻转
|
||||
void num_twinkle(void) //数值闪烁
|
||||
{
|
||||
if(m5data.twk_flag == 0)
|
||||
|
@ -1936,16 +1943,16 @@ void num_twinkle(void) //数值闪烁
|
|||
if(twk_1000ms_flag)
|
||||
{
|
||||
twk_1000ms_flag = 0;
|
||||
twk_cnt++;
|
||||
m5data.twk_cnt++;
|
||||
|
||||
if(twk_p)
|
||||
if(m5data.twk_flip)
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_2, screen_main_animimg_2_imgs[ m5data.o_numbers[0] ]);
|
||||
twk_p = 0;
|
||||
m5data.twk_flip = 0;
|
||||
}else
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_2, screen_main_animimg_2_imgs[ 10 ]);
|
||||
twk_p = 1;
|
||||
m5data.twk_flip = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1956,16 +1963,16 @@ void num_twinkle(void) //数值闪烁
|
|||
if(twk_1000ms_flag)
|
||||
{
|
||||
twk_1000ms_flag = 0;
|
||||
twk_cnt++;
|
||||
m5data.twk_cnt++;
|
||||
|
||||
if(twk_p)
|
||||
if(m5data.twk_flip)
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_3, screen_main_animimg_3_imgs[ m5data.o_numbers[1] ]);
|
||||
twk_p = 0;
|
||||
m5data.twk_flip = 0;
|
||||
}else
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_3, screen_main_animimg_3_imgs[ 10 ]);
|
||||
twk_p = 1;
|
||||
m5data.twk_flip = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1976,16 +1983,16 @@ void num_twinkle(void) //数值闪烁
|
|||
if(twk_1000ms_flag)
|
||||
{
|
||||
twk_1000ms_flag = 0;
|
||||
twk_cnt++;
|
||||
m5data.twk_cnt++;
|
||||
|
||||
if(twk_p)
|
||||
if(m5data.twk_flip)
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_4, screen_main_animimg_4_imgs[ m5data.o_numbers[2] ]);
|
||||
twk_p = 0;
|
||||
m5data.twk_flip = 0;
|
||||
}else
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_4, screen_main_animimg_4_imgs[ 10 ]);
|
||||
twk_p = 1;
|
||||
m5data.twk_flip = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1996,16 +2003,16 @@ void num_twinkle(void) //数值闪烁
|
|||
if(twk_1000ms_flag)
|
||||
{
|
||||
twk_1000ms_flag = 0;
|
||||
twk_cnt++;
|
||||
m5data.twk_cnt++;
|
||||
|
||||
if(twk_p)
|
||||
if(m5data.twk_flip)
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_5, screen_main_animimg_5_imgs[ m5data.o_numbers[3] ]);
|
||||
twk_p = 0;
|
||||
m5data.twk_flip = 0;
|
||||
}else
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_5, screen_main_animimg_5_imgs[ 10 ]);
|
||||
twk_p = 1;
|
||||
m5data.twk_flip = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2016,16 +2023,16 @@ void num_twinkle(void) //数值闪烁
|
|||
if(twk_1000ms_flag)
|
||||
{
|
||||
twk_1000ms_flag = 0;
|
||||
twk_cnt++;
|
||||
m5data.twk_cnt++;
|
||||
|
||||
if(twk_p)
|
||||
if(m5data.twk_flip)
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_6, screen_main_animimg_6_imgs[ m5data.o_numbers[4] ]);
|
||||
twk_p = 0;
|
||||
m5data.twk_flip = 0;
|
||||
}else
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_6, screen_main_animimg_6_imgs[ 10 ]);
|
||||
twk_p = 1;
|
||||
m5data.twk_flip = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2036,16 +2043,16 @@ void num_twinkle(void) //数值闪烁
|
|||
if(twk_1000ms_flag)
|
||||
{
|
||||
twk_1000ms_flag = 0;
|
||||
twk_cnt++;
|
||||
m5data.twk_cnt++;
|
||||
|
||||
if(twk_p)
|
||||
if(m5data.twk_flip)
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_7, screen_main_animimg_7_imgs[ m5data.o_numbers[5] ]);
|
||||
twk_p = 0;
|
||||
m5data.twk_flip = 0;
|
||||
}else
|
||||
{
|
||||
lv_img_set_src(guider_ui.screen_main_animimg_7, screen_main_animimg_7_imgs[ 10 ]);
|
||||
twk_p = 1;
|
||||
m5data.twk_flip = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2056,10 +2063,10 @@ void num_twinkle(void) //数值闪烁
|
|||
}
|
||||
}
|
||||
|
||||
if(twk_cnt > 10) // 10秒无动作(上、下、左、右无按下)后停止闪烁
|
||||
if(m5data.twk_cnt > TWINKLE_CNT_MAX) // 10秒无动作(上、下、左、右无按下)后停止闪烁
|
||||
{
|
||||
twk_cnt = 0;
|
||||
twk_p = 0;
|
||||
m5data.twk_cnt = 0;
|
||||
m5data.twk_flip = 0;
|
||||
m5data.twk_flag = 0;
|
||||
m5data.io_cursor_prv = m5data.io_cursor;
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ void MX_FREERTOS_Init(void) {
|
|||
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
|
||||
|
||||
/* definition and creation of task_lcd */
|
||||
osThreadDef(task_lcd, start_task_lcd, osPriorityBelowNormal, 0, 1024);
|
||||
osThreadDef(task_lcd, start_task_lcd, osPriorityBelowNormal, 0, 1500);
|
||||
task_lcdHandle = osThreadCreate(osThread(task_lcd), NULL);
|
||||
|
||||
/* definition and creation of task_hart */
|
||||
|
|
|
@ -238,7 +238,7 @@
|
|||
<Ww>
|
||||
<count>16</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>menu_reset_flag,0x0A</ItemText>
|
||||
<ItemText>guider_ui</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -29,7 +29,7 @@ FREERTOS.FootprintOK=true
|
|||
FREERTOS.IPParameters=Tasks01,FootprintOK,configUSE_TICKLESS_IDLE,configGENERATE_RUN_TIME_STATS,Queues01,configTOTAL_HEAP_SIZE,Mutexes01
|
||||
FREERTOS.Mutexes01=mutex_lvgl,Dynamic,NULL,Available
|
||||
FREERTOS.Queues01=myQueue01,16,uint16_t,0,Dynamic,NULL,NULL
|
||||
FREERTOS.Tasks01=defaultTask,0,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;task_lcd,-1,1024,start_task_lcd,Default,NULL,Dynamic,NULL,NULL;task_hart,0,128,start_task_hart,Default,NULL,Dynamic,NULL,NULL;task_ble,-1,128,start_task_ble,Default,NULL,Dynamic,NULL,NULL;task_rs485,0,128,start_rs485,Default,NULL,Dynamic,NULL,NULL;task_mux_analog,1,128,start_mux_analog,Default,NULL,Dynamic,NULL,NULL;task_menu,-3,256,start_menu,Default,NULL,Dynamic,NULL,NULL
|
||||
FREERTOS.Tasks01=defaultTask,0,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;task_lcd,-1,1500,start_task_lcd,Default,NULL,Dynamic,NULL,NULL;task_hart,0,128,start_task_hart,Default,NULL,Dynamic,NULL,NULL;task_ble,-1,128,start_task_ble,Default,NULL,Dynamic,NULL,NULL;task_rs485,0,128,start_rs485,Default,NULL,Dynamic,NULL,NULL;task_mux_analog,1,128,start_mux_analog,Default,NULL,Dynamic,NULL,NULL;task_menu,-3,256,start_menu,Default,NULL,Dynamic,NULL,NULL
|
||||
FREERTOS.configGENERATE_RUN_TIME_STATS=0
|
||||
FREERTOS.configTOTAL_HEAP_SIZE=17360
|
||||
FREERTOS.configUSE_TICKLESS_IDLE=0
|
||||
|
|
Loading…
Reference in New Issue