更新:
1、曲线颜色自定义部分代码精简; 2、采样间隔、描点数量、输出&输入曲线颜色、语言选择加入EEPROM存储; 3、界面切换逻辑调整,降低了卡死的概率;
This commit is contained in:
parent
956ca7baaa
commit
9b7de39574
|
@ -16,7 +16,6 @@
|
|||
|
||||
//主界面
|
||||
//{
|
||||
|
||||
//主界面编号1,信号输入输出,示波器显示
|
||||
#define SCREEN_MAIN 1
|
||||
|
||||
|
@ -53,6 +52,11 @@
|
|||
//数码管数值增加(正负情况交替时,up和down两个键起到的作用会对调,因此专门定义参数用于区分数值的增减)
|
||||
#define NIXIE_DECREASE 0
|
||||
|
||||
//数码管闪烁功能使能
|
||||
#define NIXIE_CUBE_ENABLE 0
|
||||
|
||||
//EEPROM状态监控
|
||||
#define EEPROM_MONITOR_ENABLE 1
|
||||
//}
|
||||
|
||||
//菜单数据初始化
|
||||
|
|
|
@ -125,7 +125,7 @@ extern int16_t reset_cnt;
|
|||
//内容焦点后的底色
|
||||
#define COLOR_CONTENTS_FOCUSED 0X9dffb0
|
||||
|
||||
//曲线颜色
|
||||
//曲线备选颜色
|
||||
//{
|
||||
//淡蓝色
|
||||
#define COLOR_BLUE 0
|
||||
|
@ -151,11 +151,11 @@ extern int16_t reset_cnt;
|
|||
#define COLOR_PURPLE 5
|
||||
#define COLOR_PURPLE_VALUE 0xFF00D4
|
||||
|
||||
//输入图例颜色值
|
||||
#define COLOR_LEGEND_INPUT COLOR_YELLOW_VALUE
|
||||
//黑色
|
||||
#define COLOR_BLACK 7
|
||||
#define COLOR_BLACK_VALUE 0x000000
|
||||
|
||||
//输出图例颜色值
|
||||
#define COLOR_LEGEND_OUTPUT COLOR_BLUE_VALUE
|
||||
extern int32_t color_table[7];
|
||||
//}
|
||||
|
||||
//}
|
||||
|
@ -163,8 +163,8 @@ extern int16_t reset_cnt;
|
|||
//设置菜单数据初始化
|
||||
void tab_data_init(void);
|
||||
|
||||
//选项卡 0 数据初始化
|
||||
void item0_data_init(void);
|
||||
//选项卡EEPROM部分数据初始化
|
||||
void eeprom_item_data_init(void);
|
||||
|
||||
//按键功能,详细设置菜单界面
|
||||
void key_functions_setting(void);
|
||||
|
|
|
@ -97,10 +97,9 @@ typedef struct
|
|||
|
||||
//screen_init
|
||||
uint8_t scr_init_flag; //初始界面标志,是否播放过开机动画
|
||||
uint8_t bar_anime_step; //进度条动画步骤
|
||||
uint8_t bar_anime_end_flag; //进度条动画结束标志
|
||||
|
||||
//screen_main
|
||||
uint8_t key_main_enable; //按键功能使能标志
|
||||
uint8_t runtime_seconds;
|
||||
uint8_t runtime_minutes;
|
||||
uint8_t runtime_hours;
|
||||
|
@ -116,15 +115,18 @@ typedef struct
|
|||
SIG_FUNCTIONS_TYPE input_mode_type; //当前输入模式的类型
|
||||
SIG_FUNCTIONS output_mode; //当前的输出模式
|
||||
SIG_FUNCTIONS_TYPE output_mode_type; //当前输出模式的类型
|
||||
#if NIXIE_CUBE_ENABLE
|
||||
uint8_t twk_flag; //闪烁使能标志
|
||||
uint8_t twk_flip; //0-1变量,用于控制显示内容翻转(显示/不显示)
|
||||
uint8_t twk_cnt; //闪烁计数,计数达到上限后闪烁停止
|
||||
#endif
|
||||
uint8_t overflow_flag_up; //向上溢出标志
|
||||
uint8_t overflow_flag_low; //向下溢出标志
|
||||
uint8_t sign_flag_in; //输入信号符号位标志,0->不显示,1->显示负号
|
||||
uint8_t sign_flag_out; //输出信号符号位标志,0->不显示,1->显示负号
|
||||
|
||||
//screen_setting
|
||||
uint8_t key_setting_enable; //按键功能使能标志
|
||||
|
||||
}MENU_DATA;
|
||||
|
||||
|
@ -225,6 +227,7 @@ extern PHYSICAL_QUANTITY RES; //电阻,Ω
|
|||
extern PHYSICAL_QUANTITY FRE; //频率,KHz
|
||||
extern PHYSICAL_QUANTITY TC[8]; //热电偶,共8种
|
||||
extern PHYSICAL_QUANTITY RTD; //热电阻
|
||||
extern uint16_t screen_switch_wait; //屏幕切换的等待时间
|
||||
|
||||
//按键值
|
||||
#define KEY_OUT 76
|
||||
|
|
|
@ -41,95 +41,110 @@
|
|||
|
||||
//my address
|
||||
//{
|
||||
//0x7D0 - 0x7E0,标记后写入0xAAAA(连续16位“1”“0”交替)
|
||||
//0x7D0 - 0x7E0(2000 - 2016),标记后写入0xAAAA(连续16位“1”“0”交替)
|
||||
#define DEVICE_CHECK 0x0007D0
|
||||
#define EE_START_ADDR 0x000000
|
||||
#define EE_INTERVAL 16
|
||||
|
||||
//电压V上限,tag:0
|
||||
//电压V上限,tag:0,EE_START_ADDR + 0*EE_INTERVAL
|
||||
#define VOL_V_UP_ADDR EE_START_ADDR
|
||||
|
||||
//电压V下限,tag:0
|
||||
//电压V下限,tag:0,EE_START_ADDR + 1*EE_INTERVAL
|
||||
#define VOL_V_LOW_ADDR (VOL_V_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//电压mV上限,tag:0
|
||||
//电压mV上限,tag:0,EE_START_ADDR + 2*EE_INTERVAL
|
||||
#define VOL_MV_UP_ADDR (VOL_V_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//电压mV下限,tag:0
|
||||
//电压mV下限,tag:0,EE_START_ADDR + 3*EE_INTERVAL
|
||||
#define VOL_MV_LOW_ADDR (VOL_MV_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//电流上限,tag:1
|
||||
//电流上限,tag:1,EE_START_ADDR + 4*EE_INTERVAL
|
||||
#define CUR_UP_ADDR (VOL_MV_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//电流下限,tag:1
|
||||
//电流下限,tag:1,EE_START_ADDR + 5*EE_INTERVAL
|
||||
#define CUR_LOW_ADDR (CUR_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//电阻上限,tag:2
|
||||
//电阻上限,tag:2,EE_START_ADDR + 6*EE_INTERVAL
|
||||
#define RES_UP_ADDR (CUR_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//电阻下限,tag:2
|
||||
//电阻下限,tag:2,EE_START_ADDR + 7*EE_INTERVAL
|
||||
#define RES_LOW_ADDR (RES_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//频率上限,tag:3
|
||||
//频率上限,tag:3,EE_START_ADDR + 8*EE_INTERVAL
|
||||
#define FRE_UP_ADDR (RES_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//频率下限,tag:3
|
||||
//频率下限,tag:3,EE_START_ADDR + 9*EE_INTERVAL
|
||||
#define FRE_LOW_ADDR (FRE_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_K上限,tag:4
|
||||
//TC_K上限,tag:4,EE_START_ADDR + 10*EE_INTERVAL
|
||||
#define TC_K_UP_ADDR (FRE_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_K下限,tag:4
|
||||
//TC_K下限,tag:4,EE_START_ADDR + 11*EE_INTERVAL
|
||||
#define TC_K_LOW_ADDR (TC_K_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_S上限,tag:5
|
||||
//TC_S上限,tag:5,EE_START_ADDR + 12*EE_INTERVAL
|
||||
#define TC_S_UP_ADDR (TC_K_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_S下限,tag:5
|
||||
//TC_S下限,tag:5,EE_START_ADDR + 13*EE_INTERVAL
|
||||
#define TC_S_LOW_ADDR (TC_S_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_N上限,tag:6
|
||||
//TC_N上限,tag:6,EE_START_ADDR + 14*EE_INTERVAL
|
||||
#define TC_N_UP_ADDR (TC_S_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_N下限,tag:6
|
||||
//TC_N下限,tag:6,EE_START_ADDR + 15*EE_INTERVAL
|
||||
#define TC_N_LOW_ADDR (TC_N_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_B上限,tag:7
|
||||
//TC_B上限,tag:7,EE_START_ADDR + 16*EE_INTERVAL
|
||||
#define TC_B_UP_ADDR (TC_N_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_B下限,tag:7
|
||||
//TC_B下限,tag:7,EE_START_ADDR + 17*EE_INTERVAL
|
||||
#define TC_B_LOW_ADDR (TC_B_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_E上限,tag:8
|
||||
//TC_E上限,tag:8,EE_START_ADDR + 18*EE_INTERVAL
|
||||
#define TC_E_UP_ADDR (TC_B_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_E下限,tag:8
|
||||
//TC_E下限,tag:8,EE_START_ADDR + 19*EE_INTERVAL
|
||||
#define TC_E_LOW_ADDR (TC_E_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_J上限,tag:9
|
||||
//TC_J上限,tag:9,EE_START_ADDR + 20*EE_INTERVAL
|
||||
#define TC_J_UP_ADDR (TC_E_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_J下限,tag:9
|
||||
//TC_J下限,tag:9,EE_START_ADDR + 21*EE_INTERVAL
|
||||
#define TC_J_LOW_ADDR (TC_J_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_R上限,tag:10
|
||||
//TC_R上限,tag:10,EE_START_ADDR + 22*EE_INTERVAL
|
||||
#define TC_R_UP_ADDR (TC_J_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_R下限,tag:10
|
||||
//TC_R下限,tag:10,EE_START_ADDR + 23*EE_INTERVAL
|
||||
#define TC_R_LOW_ADDR (TC_R_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_T上限,tag:11
|
||||
//TC_T上限,tag:11,EE_START_ADDR + 24*EE_INTERVAL
|
||||
#define TC_T_UP_ADDR (TC_R_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//TC_T下限,tag:11
|
||||
//TC_T下限,tag:11,EE_START_ADDR + 25*EE_INTERVAL
|
||||
#define TC_T_LOW_ADDR (TC_T_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//RTD上限,tag:12
|
||||
//RTD上限,tag:12,EE_START_ADDR + 26*EE_INTERVAL
|
||||
#define RTD_UP_ADDR (TC_T_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//RTD下限,tag:12
|
||||
//RTD下限,tag:12,EE_START_ADDR + 27*EE_INTERVAL
|
||||
#define RTD_LOW_ADDR (RTD_UP_ADDR + EE_INTERVAL)
|
||||
|
||||
//采样间隔(画点时间间隔),tag:13,EE_START_ADDR + 28*EE_INTERVAL
|
||||
#define SAMPLE_INTERVAL_ADDR (RTD_LOW_ADDR + EE_INTERVAL)
|
||||
|
||||
//描点数量,tag:14,EE_START_ADDR + 29*EE_INTERVAL
|
||||
#define PLOT_COUNT_ADDR (SAMPLE_INTERVAL_ADDR + EE_INTERVAL)
|
||||
|
||||
//输入曲线颜色,tag:15,EE_START_ADDR + 30*EE_INTERVAL
|
||||
#define INPUT_COLOR_ADDR (PLOT_COUNT_ADDR + EE_INTERVAL)
|
||||
|
||||
//输出曲线颜色,tag:16,EE_START_ADDR + 31*EE_INTERVAL
|
||||
#define OUTPUT_COLOR_ADDR (INPUT_COLOR_ADDR + EE_INTERVAL)
|
||||
|
||||
//语言选择,tag:17,EE_START_ADDR + 32*EE_INTERVAL
|
||||
#define LANGUAGE_SELECT_ADDR (OUTPUT_COLOR_ADDR + EE_INTERVAL)
|
||||
|
||||
//根据需求后续在此处向后添加
|
||||
//}
|
||||
|
||||
|
|
|
@ -3,6 +3,10 @@
|
|||
|
||||
#include "apps_gather.h"
|
||||
|
||||
#define LIGHT_ON HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, GPIO_PIN_SET)
|
||||
|
||||
#define LIGHT_OFF HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, GPIO_PIN_RESET)
|
||||
|
||||
//修改选项卡0的值
|
||||
void set_item0_value(uint8_t con, int8_t step);
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
|
||||
extern int heart_1000ms_flag;
|
||||
extern int heart_1000ms_cnt;
|
||||
extern int battery_3000ms_flag;
|
||||
extern int battery_3000ms_cnt;
|
||||
extern int battery_2000ms_flag;
|
||||
extern int battery_2000ms_cnt;
|
||||
extern int plot_ms_flag;
|
||||
extern int plot_ms_cnt;
|
||||
extern int twk_1000ms_flag;
|
||||
|
|
|
@ -14,21 +14,19 @@ void screen_data_init(void)
|
|||
|
||||
//screen_init
|
||||
m5data.scr_init_flag = 0; //是否进行过初始化(开机动画)
|
||||
m5data.bar_anime_step = 0; //进度条动画步骤
|
||||
m5data.bar_anime_end_flag = 0; //进度条动画结束标志
|
||||
|
||||
//screen_main
|
||||
main_data_init();
|
||||
|
||||
//screen_setting
|
||||
tab_data_init();
|
||||
LIGHT_OFF;
|
||||
|
||||
m5data.key_setting_enable = 0; //按键默认不使能
|
||||
}
|
||||
|
||||
//主界面参数初始化
|
||||
void main_data_init(void)
|
||||
{
|
||||
m5data.key_main_enable = 0; //按键默认不使能
|
||||
m5data.runtime_seconds = 0; //秒
|
||||
m5data.runtime_minutes = 0; //分钟
|
||||
m5data.runtime_hours = 0; //小时
|
||||
|
@ -38,9 +36,11 @@ void main_data_init(void)
|
|||
|
||||
m5data.io_cursor = 3; //当前游标位置,[0000,000]:0~6
|
||||
m5data.io_cursor_prv = 3; //前一时刻游标位置
|
||||
#if NIXIE_CUBE_ENABLE
|
||||
m5data.twk_flag = 0; //0停止闪烁,1开始闪烁
|
||||
m5data.twk_flip = 0; //0显示,1不显示
|
||||
m5data.twk_cnt = 0; //闪烁计数
|
||||
#endif
|
||||
m5data.overflow_flag_low = 0; //向上溢出
|
||||
m5data.overflow_flag_up = 0; //向下溢出
|
||||
m5data.sign_flag_in = 0; //默认不显示符号
|
||||
|
@ -54,10 +54,10 @@ void main_data_init(void)
|
|||
m5data.o_numbers[i] = 0; //输出值/设定值
|
||||
}
|
||||
|
||||
m5data.input_mode = VOL[0].tag; //输入功能初始为电压模式
|
||||
m5data.input_mode_type = VOL[0].typ; //电压单位初始为V
|
||||
m5data.output_mode = VOL[0].tag; //输出功能初始为电压模式
|
||||
m5data.output_mode_type = VOL[0].typ; //电压单位初始为V
|
||||
m5data.input_mode = CUR.tag; //输入功能初始为电流模式
|
||||
m5data.input_mode_type = CUR.typ; //电流单位为mA
|
||||
m5data.output_mode = CUR.tag; //输出功能初始为电流模式
|
||||
m5data.output_mode_type = CUR.typ; //电压单位初始为mA
|
||||
sig_channel_select(m5data.io_mode, m5data.output_mode_type); //默认通道
|
||||
|
||||
//绘图数据初始化
|
||||
|
@ -81,13 +81,13 @@ void plot_data_init(void)
|
|||
pltdata.scd_wait_tick = 0; //副轴等待滴答数
|
||||
|
||||
//chart组件显示(int),实际值
|
||||
pltdata.yreal_pri_low = VOL[0].low; //实际值的显示下限,主轴
|
||||
pltdata.yreal_pri_up = VOL[0].up; //实际值的显示上限,主轴
|
||||
pltdata.yreal_scd_low = VOL[0].low; //实际值的显示下限,副轴
|
||||
pltdata.yreal_scd_up = VOL[0].up; //实际值的显示上限,副轴
|
||||
pltdata.yreal_pri_value = VOL[0].pv; //主轴的实时值,即输出/设定值
|
||||
pltdata.yreal_scd_value = VOL[0].pv; //副轴的实时值,即输入/测量值
|
||||
pltdata.yreal_scd_value_prv = VOL[0].pv; //前一时刻的输入测量值
|
||||
pltdata.yreal_pri_low = 0; //实际值的显示下限,主轴
|
||||
pltdata.yreal_pri_up = 0; //实际值的显示上限,主轴
|
||||
pltdata.yreal_scd_low = 0; //实际值的显示下限,副轴
|
||||
pltdata.yreal_scd_up = 0; //实际值的显示上限,副轴
|
||||
pltdata.yreal_pri_value = 0; //主轴的实时值,即输出/设定值
|
||||
pltdata.yreal_scd_value = 0; //副轴的实时值,即输入/测量值
|
||||
pltdata.yreal_scd_value_prv = 0; //前一时刻的输入测量值
|
||||
}
|
||||
|
||||
void menu_reset(void)
|
||||
|
@ -210,32 +210,60 @@ void key_functions_main(void)
|
|||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
// m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
|
||||
|
||||
#if NIXIE_CUBE_ENABLE
|
||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
#endif
|
||||
keyset_output(1);
|
||||
}
|
||||
break;
|
||||
|
||||
case KEY_MENU:
|
||||
{
|
||||
key = 0;
|
||||
if( m5data.tick_prv == -1 )
|
||||
{
|
||||
//恢复默认工作模式:关闭、电压V输出
|
||||
set_working_mode(SIG_CURRENT, CURRENT_MA);
|
||||
|
||||
//加载菜单界面
|
||||
setup_scr_screen_setting(&guider_ui);
|
||||
scr_setting_recover();
|
||||
|
||||
//恢复默认工作模式:关闭、电压V输出
|
||||
set_working_mode(SIG_VOLTAGE, VOLTAGE_V);
|
||||
delay_cnt(100);
|
||||
|
||||
//加载菜单界面
|
||||
setup_scr_screen_setting(&guider_ui);
|
||||
delay_cnt(500);
|
||||
lv_scr_load(guider_ui.screen_setting);
|
||||
lv_scr_load(guider_ui.screen_setting);
|
||||
|
||||
//切换至菜单后,清除主界面对象,释放内存
|
||||
lv_obj_del(guider_ui.screen_main);
|
||||
//按键标志置0,等待一段时间后再切换至设置菜单的按键功能
|
||||
m5data.key_main_enable = 0;
|
||||
|
||||
m5data.tick_prv = xTaskGetTickCount(); //记录起始时刻
|
||||
}else
|
||||
{
|
||||
m5data.tick_cur = xTaskGetTickCount(); //记录当前时刻
|
||||
|
||||
m5data.scr_now = SCREEN_SETTING; //当前界面为详细设置菜单
|
||||
if(m5data.tick_cur < m5data.tick_prv) //防止溢出(当前tick小于前一刻的tick)
|
||||
{
|
||||
m5data.tick_prv = -1; //溢出后复位并返回
|
||||
m5data.tick_cur = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
scr_setting_recover();
|
||||
if( (m5data.tick_cur - m5data.tick_prv) >= screen_switch_wait) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
//清除主界面对象,释放内存
|
||||
lv_obj_del(guider_ui.screen_main);
|
||||
|
||||
//等待结束,切换成设置菜单的按键功能
|
||||
m5data.scr_now = SCREEN_SETTING; //当前界面为详细设置菜单
|
||||
m5data.key_setting_enable = 1;
|
||||
|
||||
key = 0;
|
||||
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_cur = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -319,8 +347,10 @@ void key_functions_main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
#if NIXIE_CUBE_ENABLE
|
||||
// m5data.twk_flag = 1; //上、下、左、右 任意一个键按下后,闪烁开始
|
||||
// m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
#endif
|
||||
|
||||
//避免游标移动的瞬间,前一刻的数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
||||
set_nixie_cube(IO_OUTPUT, m5data.io_cursor, m5data.o_numbers[m5data.io_cursor]);
|
||||
|
@ -359,8 +389,10 @@ void key_functions_main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
// m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
// m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
#if NIXIE_CUBE_ENABLE
|
||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
#endif
|
||||
|
||||
//避免游标移动的瞬间,前一刻的数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
|
||||
set_nixie_cube(IO_OUTPUT, m5data.io_cursor, m5data.o_numbers[m5data.io_cursor]);
|
||||
|
@ -515,8 +547,10 @@ void key_functions_main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
// m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
// m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
#if NIXIE_CUBE_ENABLE
|
||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
||||
#endif
|
||||
|
||||
keyset_output(-1);
|
||||
}
|
||||
|
@ -536,56 +570,97 @@ void key_functions_main(void)
|
|||
}
|
||||
}
|
||||
|
||||
uint8_t init_step = 0;
|
||||
void scr_init_run(void)
|
||||
{
|
||||
//进度条动画结束后,界面切换至主界面
|
||||
if( m5data.bar_anime_end_flag != 2 )
|
||||
switch (init_step)
|
||||
{
|
||||
if(m5data.bar_anime_end_flag == 0)
|
||||
case 0:
|
||||
{
|
||||
if( init_set_bar(0, 30, 1500) )
|
||||
{
|
||||
m5data.bar_anime_end_flag = 1;
|
||||
init_step = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(m5data.bar_anime_end_flag == 1)
|
||||
break;
|
||||
|
||||
case 1:
|
||||
{
|
||||
if( init_set_bar(60, 100, 1500) )
|
||||
{
|
||||
m5data.bar_anime_end_flag = 2;
|
||||
init_step = 2;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// //开机动画结束后,清除初始界面内部组件,保留对象,释放内存
|
||||
// lv_obj_clean(guider_ui.screen_init);
|
||||
break;
|
||||
|
||||
//加载主界面
|
||||
setup_scr_screen_main(&guider_ui);
|
||||
delay_cnt(500);
|
||||
case 2:
|
||||
{
|
||||
// //开机动画结束后,清除初始界面内部组件,保留对象,释放内存
|
||||
// lv_obj_clean(guider_ui.screen_init);
|
||||
|
||||
lv_scr_load(guider_ui.screen_main);
|
||||
//加载主界面
|
||||
setup_scr_screen_main(&guider_ui);
|
||||
scr_main_recover();
|
||||
|
||||
//删除初始界面对象,释放剩余内存
|
||||
lv_obj_del(guider_ui.screen_init);
|
||||
delay_cnt(500);
|
||||
|
||||
m5data.scr_init_flag = 1; //开机动画结束,只执行一次
|
||||
m5data.scr_now = SCREEN_MAIN; //开机动画结束后,默认进入主界面
|
||||
init_step = 3;
|
||||
}
|
||||
break;
|
||||
|
||||
set_working_mode(SIG_VOLTAGE, VOLTAGE_V);
|
||||
case 3:
|
||||
{
|
||||
if( m5data.tick_prv == -1 )
|
||||
{
|
||||
lv_scr_load(guider_ui.screen_main);
|
||||
|
||||
delay_cnt(5000);
|
||||
//删除初始界面对象,释放剩余内存
|
||||
lv_obj_del(guider_ui.screen_init);
|
||||
|
||||
m5data.tick_prv = xTaskGetTickCount(); //记录起始时刻
|
||||
}else
|
||||
{
|
||||
m5data.tick_cur = xTaskGetTickCount(); //记录当前时刻
|
||||
|
||||
if(m5data.tick_cur < m5data.tick_prv) //防止溢出(当前tick小于前一刻的tick)
|
||||
{
|
||||
m5data.tick_prv = -1; //溢出后复位并返回
|
||||
m5data.tick_cur = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
if(m5data.tick_cur - m5data.tick_prv >= screen_switch_wait) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
init_step = 4;
|
||||
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_cur = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
{
|
||||
m5data.scr_init_flag = 1; //开机动画结束,只执行一次
|
||||
m5data.scr_now = SCREEN_MAIN; //开机动画结束后,默认进入主界面
|
||||
m5data.key_main_enable = 1;
|
||||
|
||||
init_step = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//进度条设置, start[0, end], end[start,100], interval[ms],结束后返回1
|
||||
//时间轴:开始 -> 设置起点 -> 等待interval[ms] -> 设置终点 -> 等待interval[ms] -> 结束
|
||||
uint8_t bar_anime_step = 0;
|
||||
uint8_t init_set_bar(uint8_t start, uint8_t end, uint16_t interval)
|
||||
{
|
||||
switch (m5data.bar_anime_step)
|
||||
switch (bar_anime_step)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
|
@ -596,7 +671,7 @@ uint8_t init_set_bar(uint8_t start, uint8_t end, uint16_t interval)
|
|||
{
|
||||
lv_bar_set_value(guider_ui.screen_init_bar_1, end, LV_ANIM_ON);
|
||||
|
||||
m5data.bar_anime_step = 1;
|
||||
bar_anime_step = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -605,7 +680,8 @@ uint8_t init_set_bar(uint8_t start, uint8_t end, uint16_t interval)
|
|||
m5data.tick_prv = xTaskGetTickCount(); //记录起始时刻
|
||||
}
|
||||
|
||||
}else
|
||||
}
|
||||
else
|
||||
{
|
||||
m5data.tick_cur = xTaskGetTickCount(); //记录当前时刻
|
||||
|
||||
|
@ -616,14 +692,14 @@ uint8_t init_set_bar(uint8_t start, uint8_t end, uint16_t interval)
|
|||
return 0;
|
||||
}
|
||||
|
||||
if(m5data.tick_cur - m5data.tick_prv >= interval) //tick间隔达到目标后,执行功能
|
||||
if( (m5data.tick_cur - m5data.tick_prv) >= interval) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_cur = -1;
|
||||
|
||||
lv_bar_set_value(guider_ui.screen_init_bar_1, end, LV_ANIM_ON);
|
||||
|
||||
m5data.bar_anime_step = 1;
|
||||
bar_anime_step = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -645,12 +721,12 @@ uint8_t init_set_bar(uint8_t start, uint8_t end, uint16_t interval)
|
|||
return 0;
|
||||
}
|
||||
|
||||
if(m5data.tick_cur - m5data.tick_prv >= interval) //tick间隔达到目标后,执行功能
|
||||
if( (m5data.tick_cur - m5data.tick_prv) >= interval) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_cur = -1;
|
||||
|
||||
m5data.bar_anime_step = 0;
|
||||
bar_anime_step = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -683,10 +759,14 @@ void scr_main_run(void)
|
|||
//当前输入值/测量值显示
|
||||
input_value_show(); //500ms
|
||||
|
||||
#if NIXIE_CUBE_ENABLE
|
||||
//数值闪烁
|
||||
//num_twinkle(); //1000ms
|
||||
num_twinkle(); //1000ms
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
#if EEPROM_MONITOR_ENABLE
|
||||
//eeprom状态监控,置于运行时间显示内部
|
||||
uint8_t ee_status_test = 0;
|
||||
void eep_status_monitor(void)
|
||||
|
@ -704,6 +784,7 @@ void eep_status_monitor(void)
|
|||
delay_cnt(10);
|
||||
EEPROM_CS_H;
|
||||
}
|
||||
#endif
|
||||
|
||||
void runtime_show(void)
|
||||
{
|
||||
|
@ -733,16 +814,19 @@ void runtime_show(void)
|
|||
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_time_span, m5data.runtime_show);
|
||||
|
||||
#if EEPROM_MONITOR_ENABLE
|
||||
eep_status_monitor();
|
||||
#endif
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void battery_show(void)
|
||||
{
|
||||
//每隔3秒读取一次当前电量
|
||||
if(battery_3000ms_flag)
|
||||
if(battery_2000ms_flag)
|
||||
{
|
||||
battery_3000ms_flag = 0;
|
||||
battery_2000ms_flag = 0;
|
||||
|
||||
read_battery();
|
||||
|
||||
|
@ -1322,7 +1406,7 @@ void scr_main_recover(void)
|
|||
break;
|
||||
}
|
||||
|
||||
//设置项同步
|
||||
//曲线设置项同步
|
||||
lv_chart_set_point_count(guider_ui.screen_main_chart_1, tabdata.item1_page0_plot_num);
|
||||
for(uint8_t i = 0; i < tabdata.item1_page0_plot_num; i++)
|
||||
{
|
||||
|
@ -1337,116 +1421,20 @@ void scr_main_recover(void)
|
|||
//颜色更新
|
||||
void scr_main_color_update(void)
|
||||
{
|
||||
switch (tabdata.item1_page0_color_input)
|
||||
{
|
||||
case COLOR_BLUE:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, lv_color_hex(COLOR_BLUE_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_IN, lv_color_hex(COLOR_BLUE_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_IN, COLOR_BLUE);
|
||||
}
|
||||
break;
|
||||
//输入
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, lv_color_hex( color_table[tabdata.item1_page0_color_input] ));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_IN, lv_color_hex( color_table[tabdata.item1_page0_color_input] ), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_IN, tabdata.item1_page0_color_input);
|
||||
|
||||
case COLOR_DARK_BLUE:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, lv_color_hex(COLOR_DARK_BLUE_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_IN, lv_color_hex(COLOR_DARK_BLUE_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_IN, COLOR_DARK_BLUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_YELLOW:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, lv_color_hex(COLOR_YELLOW_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_IN, lv_color_hex(COLOR_YELLOW_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_IN, COLOR_YELLOW);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_GREEN:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, lv_color_hex(COLOR_GREEN_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_IN, lv_color_hex(COLOR_GREEN_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_IN, COLOR_GREEN);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_RED:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, lv_color_hex(COLOR_RED_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_IN, lv_color_hex(COLOR_RED_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_IN, COLOR_RED);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_PURPLE:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, lv_color_hex(COLOR_PURPLE_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_IN, lv_color_hex(COLOR_PURPLE_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_IN, COLOR_PURPLE);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
switch (tabdata.item1_page0_color_output)
|
||||
{
|
||||
case COLOR_BLUE:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, lv_color_hex(COLOR_BLUE_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_OUT, lv_color_hex(COLOR_BLUE_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_OUT, COLOR_BLUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_DARK_BLUE:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, lv_color_hex(COLOR_DARK_BLUE_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_OUT, lv_color_hex(COLOR_DARK_BLUE_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_OUT, COLOR_DARK_BLUE);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_YELLOW:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, lv_color_hex(COLOR_YELLOW_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_OUT, lv_color_hex(COLOR_YELLOW_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_OUT, COLOR_YELLOW);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_GREEN:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, lv_color_hex(COLOR_GREEN_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_OUT, lv_color_hex(COLOR_GREEN_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_OUT, COLOR_GREEN);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_RED:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, lv_color_hex(COLOR_RED_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_OUT, lv_color_hex(COLOR_RED_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_OUT, COLOR_RED);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_PURPLE:
|
||||
{
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, lv_color_hex(COLOR_PURPLE_VALUE));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_OUT, lv_color_hex(COLOR_PURPLE_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_OUT, COLOR_PURPLE);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
//输出
|
||||
lv_chart_set_series_color(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, lv_color_hex( color_table[tabdata.item1_page0_color_output] ));
|
||||
lv_obj_set_style_line_color(guider_ui.screen_main_line_legend_OUT, lv_color_hex( color_table[tabdata.item1_page0_color_output] ), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
set_obj_color(guider_ui.screen_main_label_area_OUT, tabdata.item1_page0_color_output);
|
||||
}
|
||||
|
||||
void num_twinkle(void) //数值闪烁
|
||||
#if NIXIE_CUBE_ENABLE
|
||||
//数值闪烁
|
||||
void num_twinkle(void)
|
||||
{
|
||||
if(m5data.twk_flag == 0)
|
||||
{
|
||||
|
@ -1487,6 +1475,7 @@ void num_twinkle(void) //数值闪烁
|
|||
set_nixie_cube(IO_OUTPUT, m5data.io_cursor, m5data.o_numbers[ m5data.io_cursor ]);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//实时曲线绘制
|
||||
//将实际值线性转换成绘图值
|
||||
|
@ -1610,10 +1599,12 @@ void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
|||
m5data.io_cursor_prv = 3;
|
||||
set_cursor_position();
|
||||
|
||||
#if NIXIE_CUBE_ENABLE
|
||||
//闪烁参数清零
|
||||
// m5data.twk_flag = 0; //闪烁中止
|
||||
// m5data.twk_cnt = 0; //闪烁计数清零
|
||||
// m5data.twk_flip = 0; //0显示,1不显示
|
||||
m5data.twk_flag = 0; //闪烁中止
|
||||
m5data.twk_cnt = 0; //闪烁计数清零
|
||||
m5data.twk_flip = 0; //0显示,1不显示
|
||||
#endif
|
||||
//}
|
||||
|
||||
switch (mode)
|
||||
|
|
|
@ -1,6 +1,16 @@
|
|||
#include "app_screen_setting.h"
|
||||
|
||||
TABVIEW_DATA tabdata; //设置页面参数初始化
|
||||
int32_t color_table[7] =
|
||||
{
|
||||
COLOR_BLUE_VALUE,
|
||||
COLOR_DARK_BLUE_VALUE,
|
||||
COLOR_YELLOW_VALUE,
|
||||
COLOR_GREEN_VALUE,
|
||||
COLOR_RED_VALUE,
|
||||
COLOR_PURPLE_VALUE,
|
||||
COLOR_BLACK_VALUE
|
||||
};
|
||||
|
||||
//设置菜单数据初始化
|
||||
void tab_data_init(void)
|
||||
|
@ -13,34 +23,36 @@ void tab_data_init(void)
|
|||
tabdata.content_cursor_prv = 99; //前一刻的~
|
||||
tabdata.content_focus = 0; //默认无焦点
|
||||
|
||||
//设置界面的初始默认值
|
||||
//ITEMS_0 选项卡0
|
||||
item0_data_init();
|
||||
//设置界面的初始默认值
|
||||
//EEPROM部分
|
||||
eeprom_item_data_init();
|
||||
|
||||
//ITEMS_1
|
||||
tabdata.item1_page0_sample_interval = 1500; //ms
|
||||
tabdata.item1_page0_plot_num = 5; //曲线上同时显示的点数
|
||||
tabdata.item1_page0_color_input = COLOR_YELLOW; //输入曲线颜色
|
||||
tabdata.item1_page0_color_output = COLOR_BLUE; //输出曲线颜色
|
||||
|
||||
//ITEMS_2
|
||||
tabdata.item2_page0_saveflag = 0; //[0, 1, 2 ] -> [未保存,保存中,已保存]
|
||||
tabdata.input_log_temp = 0; //无纸化记录,中转,存入eeprom
|
||||
tabdata.output_log_temp = 0; //无纸化记录,中转,存入eeprom
|
||||
tabdata.item2_page0_resetflag = 0; //[0, 1, 2 ] -> [未复位,复位中,已复位]
|
||||
|
||||
//ITEMS_3
|
||||
tabdata.item3_page0_lightflag = 0; //照明状态标志,0熄灭,1开启
|
||||
tabdata.item3_page0_language = MENU_SIMPLYFY_CHINESE; //语言类型
|
||||
}
|
||||
|
||||
//选项卡 0 数据初始化
|
||||
void item0_data_init(void)
|
||||
{
|
||||
//ITEMS_0 选项卡0(注释项位于EERPOM读取)
|
||||
tabdata.item0_page0_vunit = VOLTAGE_V; //电压单位
|
||||
tabdata.item0_page1_TCtype = TC_K; //默认为K类型的热电偶
|
||||
|
||||
|
||||
//ITEMS_1(注释项位于EERPOM读取)
|
||||
// tabdata.item1_page0_sample_interval = 1500; //ms
|
||||
// tabdata.item1_page0_plot_num = 5; //曲线上同时显示的点数
|
||||
// tabdata.item1_page0_color_input = COLOR_YELLOW; //输入曲线颜色
|
||||
// tabdata.item1_page0_color_output = COLOR_BLUE; //输出曲线颜色
|
||||
|
||||
//ITEMS_2(注释项位于EERPOM读取)
|
||||
tabdata.item2_page0_saveflag = 0; //[0, 1, 2 ] -> [未保存,保存中,已保存]
|
||||
tabdata.input_log_temp = 0; //无纸化记录,中转,存入eeprom
|
||||
tabdata.output_log_temp = 0; //无纸化记录,中转,存入eeprom
|
||||
tabdata.item2_page0_resetflag = 0; //[0, 1, 2 ] -> [未复位,复位中,已复位]
|
||||
|
||||
//ITEMS_3(注释项位于EERPOM读取)
|
||||
tabdata.item3_page0_lightflag = 0; //照明状态标志,0熄灭,1开启
|
||||
LIGHT_OFF;
|
||||
// tabdata.item3_page0_language = MENU_SIMPLYFY_CHINESE; //语言类型
|
||||
|
||||
}
|
||||
|
||||
//选项卡EEPROM部分数据初始化
|
||||
void eeprom_item_data_init(void)
|
||||
{
|
||||
if(tabdata.item2_page0_resetflag != 1)
|
||||
{
|
||||
//判断eeprom内是否存在数据
|
||||
|
@ -54,39 +66,43 @@ void item0_data_init(void)
|
|||
return;
|
||||
}
|
||||
}
|
||||
//eeprom_rd_error_flag = 1;
|
||||
|
||||
//读取过程中出现过错误,或者触发复位
|
||||
if( (eeprom_rd_error_flag == 1)||(tabdata.item2_page0_resetflag == 1) )
|
||||
{
|
||||
tabdata.item0_page0_vup[0] = VOL[0].up; //电压V上限
|
||||
tabdata.item0_page0_vlow[0] = VOL[0].low; //电压V下限
|
||||
tabdata.item0_page0_vup[1] = VOL[1].up; //电压mV上限
|
||||
tabdata.item0_page0_vlow[1] = VOL[1].low; //电压mV下限
|
||||
tabdata.item0_page0_cup = CUR.up; //电流上限
|
||||
tabdata.item0_page0_clow = CUR.low; //电流下限
|
||||
tabdata.item0_page0_rup = RES.up; //电阻上限
|
||||
tabdata.item0_page1_rlow = RES.low; //电阻下限
|
||||
tabdata.item0_page1_fup = FRE.up; //频率上限
|
||||
tabdata.item0_page1_flow = FRE.low; //频率下限
|
||||
tabdata.item0_page1_TCup[0] = TC[0].up; //TCK上限
|
||||
tabdata.item0_page1_TClow[0] = TC[0].low; //TCK下限
|
||||
tabdata.item0_page1_TCup[1] = TC[1].up; //TCS上限
|
||||
tabdata.item0_page1_TClow[1] = TC[1].low; //TCS下限
|
||||
tabdata.item0_page1_TCup[2] = TC[2].up; //TCN上限
|
||||
tabdata.item0_page1_TClow[2] = TC[2].low; //TCN下限
|
||||
tabdata.item0_page1_TCup[3] = TC[3].up; //TCB上限
|
||||
tabdata.item0_page1_TClow[3] = TC[3].low; //TCB下限
|
||||
tabdata.item0_page1_TCup[4] = TC[4].up; //TCE上限
|
||||
tabdata.item0_page1_TClow[4] = TC[4].low; //TCE下限
|
||||
tabdata.item0_page1_TCup[5] = TC[5].up; //TCJ上限
|
||||
tabdata.item0_page1_TClow[5] = TC[5].low; //TCJ下限
|
||||
tabdata.item0_page1_TCup[6] = TC[6].up; //TCR上限
|
||||
tabdata.item0_page1_TClow[6] = TC[6].low; //TCR下限
|
||||
tabdata.item0_page1_TCup[7] = TC[7].up; //TCT上限
|
||||
tabdata.item0_page1_TClow[7] = TC[7].low; //TCT下限
|
||||
tabdata.item0_page2_RTDup = RTD.up; //RTD上限
|
||||
tabdata.item0_page2_RTDlow = RTD.low; //RTD下限
|
||||
tabdata.item0_page0_vup[0] = VOL[0].up; //电压V上限
|
||||
tabdata.item0_page0_vlow[0] = VOL[0].low; //电压V下限
|
||||
tabdata.item0_page0_vup[1] = VOL[1].up; //电压mV上限
|
||||
tabdata.item0_page0_vlow[1] = VOL[1].low; //电压mV下限
|
||||
tabdata.item0_page0_cup = CUR.up; //电流上限
|
||||
tabdata.item0_page0_clow = CUR.low; //电流下限
|
||||
tabdata.item0_page0_rup = RES.up; //电阻上限
|
||||
tabdata.item0_page1_rlow = RES.low; //电阻下限
|
||||
tabdata.item0_page1_fup = FRE.up; //频率上限
|
||||
tabdata.item0_page1_flow = FRE.low; //频率下限
|
||||
tabdata.item0_page1_TCup[0] = TC[0].up; //TCK上限
|
||||
tabdata.item0_page1_TClow[0] = TC[0].low; //TCK下限
|
||||
tabdata.item0_page1_TCup[1] = TC[1].up; //TCS上限
|
||||
tabdata.item0_page1_TClow[1] = TC[1].low; //TCS下限
|
||||
tabdata.item0_page1_TCup[2] = TC[2].up; //TCN上限
|
||||
tabdata.item0_page1_TClow[2] = TC[2].low; //TCN下限
|
||||
tabdata.item0_page1_TCup[3] = TC[3].up; //TCB上限
|
||||
tabdata.item0_page1_TClow[3] = TC[3].low; //TCB下限
|
||||
tabdata.item0_page1_TCup[4] = TC[4].up; //TCE上限
|
||||
tabdata.item0_page1_TClow[4] = TC[4].low; //TCE下限
|
||||
tabdata.item0_page1_TCup[5] = TC[5].up; //TCJ上限
|
||||
tabdata.item0_page1_TClow[5] = TC[5].low; //TCJ下限
|
||||
tabdata.item0_page1_TCup[6] = TC[6].up; //TCR上限
|
||||
tabdata.item0_page1_TClow[6] = TC[6].low; //TCR下限
|
||||
tabdata.item0_page1_TCup[7] = TC[7].up; //TCT上限
|
||||
tabdata.item0_page1_TClow[7] = TC[7].low; //TCT下限
|
||||
tabdata.item0_page2_RTDup = RTD.up; //RTD上限
|
||||
tabdata.item0_page2_RTDlow = RTD.low; //RTD下限
|
||||
tabdata.item1_page0_sample_interval = 1500; //采样间隔
|
||||
tabdata.item1_page0_plot_num = 5; //描点数量
|
||||
tabdata.item1_page0_color_input = COLOR_YELLOW; //输入曲线颜色
|
||||
tabdata.item1_page0_color_output = COLOR_BLUE; //输出曲线颜色
|
||||
tabdata.item3_page0_language = MENU_SIMPLYFY_CHINESE; //语言选择
|
||||
|
||||
//针对复位的情况追加进行保存
|
||||
if(tabdata.item2_page0_resetflag == 1)
|
||||
|
@ -94,9 +110,6 @@ void item0_data_init(void)
|
|||
//eeprom_datasave();
|
||||
eeprom_datasave_changed();
|
||||
|
||||
//保存状态更改为“已保存”
|
||||
tabdata.item2_page0_saveflag = 0;
|
||||
set_item1_text(DATA_SAVE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -114,33 +127,60 @@ void key_functions_setting(void)
|
|||
{
|
||||
case KEY_BACK:
|
||||
{
|
||||
key = 0;
|
||||
|
||||
//从设置界面返回主界面
|
||||
if(tabdata.content_cursor == 99)
|
||||
{
|
||||
//下次进入设置页面时,从选项卡0开始
|
||||
tabdata.item_cursor = 0;
|
||||
if( m5data.tick_prv == -1 )
|
||||
{
|
||||
//下次进入设置页面时,从选项卡0开始
|
||||
tabdata.item_cursor = 0;
|
||||
|
||||
//加载主界面
|
||||
setup_scr_screen_main(&guider_ui);
|
||||
delay_cnt(500);
|
||||
//加载主界面
|
||||
setup_scr_screen_main(&guider_ui);
|
||||
|
||||
//恢复之前显示的数据
|
||||
scr_main_recover();
|
||||
//恢复之前显示的数据
|
||||
scr_main_recover();
|
||||
|
||||
lv_scr_load(guider_ui.screen_main);
|
||||
delay_cnt(100);
|
||||
|
||||
//切换至菜单后,清除主界面对象,释放内存
|
||||
lv_obj_del(guider_ui.screen_setting);
|
||||
lv_scr_load(guider_ui.screen_main);
|
||||
|
||||
//设置菜单按键使能置零,等待一段时间后切换至主界面的按键功能
|
||||
m5data.key_setting_enable = 0;
|
||||
|
||||
//当前界面为主界面
|
||||
m5data.scr_now = SCREEN_MAIN;
|
||||
|
||||
m5data.tick_prv = xTaskGetTickCount(); //记录起始时刻
|
||||
}else
|
||||
{
|
||||
m5data.tick_cur = xTaskGetTickCount(); //记录当前时刻
|
||||
|
||||
if(m5data.tick_cur < m5data.tick_prv) //防止溢出(当前tick小于前一刻的tick)
|
||||
{
|
||||
m5data.tick_prv = -1; //溢出后复位并返回
|
||||
m5data.tick_cur = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
if( (m5data.tick_cur - m5data.tick_prv) >= screen_switch_wait) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
//清除设置界面对象,释放内存
|
||||
lv_obj_del(guider_ui.screen_setting);
|
||||
|
||||
//等待结束,切换至主界面的按键功能
|
||||
m5data.scr_now = SCREEN_MAIN;
|
||||
m5data.key_main_enable = 1;
|
||||
|
||||
key = 0;
|
||||
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_cur = -1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
key = 0;
|
||||
|
||||
//当不存在焦点时,从内容选择返回选项卡选择
|
||||
if(tabdata.content_focus == 0)
|
||||
{
|
||||
|
@ -616,8 +656,8 @@ void setting_items_page(uint8_t ite, uint8_t page)
|
|||
//特殊处理,避免其他选项卡也被染上颜色
|
||||
if(ite != ITEMS_1)
|
||||
{
|
||||
set_obj_color(guider_ui.screen_setting_label_21, 99);
|
||||
set_obj_color(guider_ui.screen_setting_label_31, 99);
|
||||
set_obj_color(guider_ui.screen_setting_label_21, 7);
|
||||
set_obj_color(guider_ui.screen_setting_label_31, 7);
|
||||
}
|
||||
|
||||
switch (ite)
|
||||
|
@ -951,6 +991,9 @@ void setting_contents_modify(uint8_t ite, uint8_t con, int8_t step)
|
|||
{
|
||||
set_item1_value(con, step);
|
||||
set_item1_text(con);
|
||||
|
||||
if(tabdata.item2_page0_saveflag == 2) tabdata.item2_page0_saveflag = 0;
|
||||
if(tabdata.item2_page0_resetflag == 2) tabdata.item2_page0_resetflag = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1033,41 +1076,110 @@ void scr_setting_recover(void)
|
|||
// uint8_t eep_test_flag = 0;
|
||||
// uint8_t tx = 0, rx = 0;
|
||||
// uint8_t addr_test[3] = {0};
|
||||
uint8_t reset_step = 0, save_step = 0;
|
||||
void scr_setting_run(void) //详细设置界面
|
||||
{
|
||||
if(tabdata.item2_page0_saveflag == 1)
|
||||
{
|
||||
save_cnt++;
|
||||
if(save_cnt > 5)
|
||||
{
|
||||
if(save_step == 0)
|
||||
{
|
||||
save_cnt = 0;
|
||||
save_step = 1;
|
||||
|
||||
if(eeprom_wrt_error_flag == 0)
|
||||
//执行保存
|
||||
//eeprom_datasave();
|
||||
eeprom_datasave_changed();
|
||||
}
|
||||
else
|
||||
{
|
||||
save_cnt++;
|
||||
if(save_cnt > 5)
|
||||
{
|
||||
//未出错
|
||||
tabdata.item2_page0_saveflag = 2;
|
||||
save_cnt = 0;
|
||||
|
||||
if(eeprom_wrt_error_flag == 0)
|
||||
{
|
||||
//未出错
|
||||
tabdata.item2_page0_saveflag = 2;
|
||||
|
||||
set_item2_text(DATA_SAVE);
|
||||
}
|
||||
else
|
||||
{
|
||||
//出现过错误
|
||||
tabdata.item2_page0_saveflag = 0;
|
||||
|
||||
set_item2_text(DATA_SAVE);
|
||||
}
|
||||
|
||||
set_item2_text(DATA_SAVE);
|
||||
}
|
||||
else
|
||||
{
|
||||
//出现过错误
|
||||
tabdata.item2_page0_saveflag = 0;
|
||||
|
||||
set_item2_text(DATA_SAVE);
|
||||
save_step = 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(tabdata.item2_page0_resetflag == 1)
|
||||
{
|
||||
reset_cnt++;
|
||||
if(reset_cnt > 5)
|
||||
if(reset_step == 0)
|
||||
{
|
||||
reset_cnt = 0;
|
||||
tabdata.item2_page0_resetflag = 2;
|
||||
reset_step = 1;
|
||||
|
||||
set_item2_text(DATA_RESET);
|
||||
//执行复位
|
||||
eeprom_item_data_init();
|
||||
tabdata.item3_page0_lightflag = 0; //照明状态标志,0熄灭,1开启
|
||||
LIGHT_OFF;
|
||||
tabdata.item0_page0_vunit = VOLTAGE_V; //电压单位
|
||||
tabdata.item0_page1_TCtype = TC_K; //默认为K类型的热电偶
|
||||
}
|
||||
else
|
||||
{
|
||||
reset_cnt++;
|
||||
if(reset_cnt > 5)
|
||||
{
|
||||
reset_cnt = 0;
|
||||
tabdata.item2_page0_resetflag = 2;
|
||||
|
||||
//更新本页文本
|
||||
|
||||
//保存状态更改为“已保存”
|
||||
tabdata.item2_page0_saveflag = 0;
|
||||
set_item2_text(DATA_SAVE);
|
||||
|
||||
//选项卡与标题
|
||||
setting_laguage_switch(tabdata.item3_page0_language);
|
||||
|
||||
//内容左列
|
||||
switch (tabdata.item3_page0_language)
|
||||
{
|
||||
case MENU_SIMPLYFY_CHINESE:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_setting_label_00, "参数保存");
|
||||
lv_label_set_text(guider_ui.screen_setting_label_10, "输入记录");
|
||||
lv_label_set_text(guider_ui.screen_setting_label_20, "输出记录");
|
||||
lv_label_set_text(guider_ui.screen_setting_label_30, "参数复位");
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ENGLISH:
|
||||
{
|
||||
lv_label_set_text(guider_ui.screen_setting_label_00, "Para save");
|
||||
lv_label_set_text(guider_ui.screen_setting_label_10, "Input log");
|
||||
lv_label_set_text(guider_ui.screen_setting_label_20, "Output log");
|
||||
lv_label_set_text(guider_ui.screen_setting_label_30, "Para reset");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//内容右列
|
||||
set_item2_text(DATA_RESET);
|
||||
set_item2_text(DATA_SAVE);
|
||||
set_item2_text(INPUT_LOG);
|
||||
set_item2_text(OUTPUT_LOG);
|
||||
|
||||
reset_step = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -146,6 +146,8 @@ void physical_quantity_init(void)
|
|||
RTD.pv = 0;
|
||||
}
|
||||
|
||||
//切换屏幕的等待时间(ms)
|
||||
uint16_t screen_switch_wait = 300;
|
||||
void screen_run(void)
|
||||
{
|
||||
if(m5data.menu_reset_flag)
|
||||
|
@ -167,15 +169,34 @@ void screen_run(void)
|
|||
{
|
||||
case SCREEN_MAIN:
|
||||
{
|
||||
scr_main_run(); //主界面显示
|
||||
key_functions_main(); //主界面的按键功能
|
||||
if(m5data.key_main_enable)
|
||||
{
|
||||
scr_main_run(); //主界面显示
|
||||
key_functions_main(); //主界面的按键功能
|
||||
}
|
||||
else
|
||||
{
|
||||
//KEY_MENU按下后进入此处,等待(screen_switch_wait)(ms),直接切换存在卡死风险
|
||||
key = KEY_MENU;
|
||||
key_functions_main(); //主界面的按键功能
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case SCREEN_SETTING:
|
||||
{
|
||||
scr_setting_run(); //设置界面
|
||||
key_functions_setting(); //设置界面的按键功能
|
||||
if (m5data.key_setting_enable)
|
||||
{
|
||||
scr_setting_run(); //设置界面
|
||||
key_functions_setting(); //设置界面的按键功能
|
||||
}
|
||||
else
|
||||
{
|
||||
//KEY_BACK按下后进入此处,等待(screen_switch_wait)(ms),直接切换存在卡死风险
|
||||
key = KEY_BACK;
|
||||
key_functions_setting(); //主界面的按键功能
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -384,6 +384,36 @@ void eeprom_datasave(void)
|
|||
eeprom_writedata(RTD_LOW_ADDR, temp_h);
|
||||
eeprom_writedata(RTD_LOW_ADDR + 8, temp_l);
|
||||
|
||||
//采样间隔
|
||||
temp_h = tabdata.item1_page0_sample_interval >> 8;
|
||||
temp_l = tabdata.item1_page0_sample_interval & 0xFF;
|
||||
eeprom_writedata(SAMPLE_INTERVAL_ADDR, temp_h);
|
||||
eeprom_writedata(SAMPLE_INTERVAL_ADDR + 8, temp_l);
|
||||
|
||||
//描点数量
|
||||
temp_h = tabdata.item1_page0_plot_num >> 8;
|
||||
temp_l = tabdata.item1_page0_plot_num & 0xFF;
|
||||
eeprom_writedata(PLOT_COUNT_ADDR, temp_h);
|
||||
eeprom_writedata(PLOT_COUNT_ADDR + 8, temp_l);
|
||||
|
||||
//输入曲线颜色
|
||||
temp_h = tabdata.item1_page0_color_input >> 8;
|
||||
temp_l = tabdata.item1_page0_color_input & 0xFF;
|
||||
eeprom_writedata(INPUT_COLOR_ADDR, temp_h);
|
||||
eeprom_writedata(INPUT_COLOR_ADDR + 8, temp_l);
|
||||
|
||||
//输出曲线颜色
|
||||
temp_h = tabdata.item1_page0_color_output >> 8;
|
||||
temp_l = tabdata.item1_page0_color_output & 0xFF;
|
||||
eeprom_writedata(OUTPUT_COLOR_ADDR, temp_h);
|
||||
eeprom_writedata(OUTPUT_COLOR_ADDR + 8, temp_l);
|
||||
|
||||
//语言选择
|
||||
temp_h = tabdata.item3_page0_language >> 8;
|
||||
temp_l = tabdata.item3_page0_language & 0xFF;
|
||||
eeprom_writedata(LANGUAGE_SELECT_ADDR, temp_h);
|
||||
eeprom_writedata(LANGUAGE_SELECT_ADDR + 8, temp_l);
|
||||
|
||||
}
|
||||
#else
|
||||
|
||||
|
@ -448,6 +478,41 @@ void eeprom_datasave_changed(void)
|
|||
|
||||
eeprom_datasave_single(12);
|
||||
}
|
||||
|
||||
if(tab_temp.item1_page0_sample_interval != tabdata.item1_page0_sample_interval)
|
||||
{
|
||||
tabdata.item1_page0_sample_interval = tab_temp.item1_page0_sample_interval;
|
||||
|
||||
eeprom_datasave_single(13);
|
||||
}
|
||||
|
||||
if(tab_temp.item1_page0_plot_num != tabdata.item1_page0_plot_num)
|
||||
{
|
||||
tabdata.item1_page0_plot_num = tab_temp.item1_page0_plot_num;
|
||||
|
||||
eeprom_datasave_single(14);
|
||||
}
|
||||
|
||||
if(tab_temp.item1_page0_color_input != tabdata.item1_page0_color_input)
|
||||
{
|
||||
tabdata.item1_page0_color_input = tab_temp.item1_page0_color_input;
|
||||
|
||||
eeprom_datasave_single(15);
|
||||
}
|
||||
|
||||
if(tab_temp.item1_page0_color_output != tabdata.item1_page0_color_output)
|
||||
{
|
||||
tabdata.item1_page0_color_output = tab_temp.item1_page0_color_output;
|
||||
|
||||
eeprom_datasave_single(16);
|
||||
}
|
||||
|
||||
if(tab_temp.item3_page0_language != tabdata.item3_page0_language)
|
||||
{
|
||||
tabdata.item3_page0_language = tab_temp.item3_page0_language;
|
||||
|
||||
eeprom_datasave_single(17);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -663,7 +728,57 @@ void eeprom_datasave_single(uint8_t tag)
|
|||
eeprom_writedata(RTD_LOW_ADDR + 8, temp_l);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 13:
|
||||
{
|
||||
//采样间隔
|
||||
temp_h = tabdata.item1_page0_sample_interval >> 8;
|
||||
temp_l = tabdata.item1_page0_sample_interval & 0xFF;
|
||||
eeprom_writedata(SAMPLE_INTERVAL_ADDR, temp_h);
|
||||
eeprom_writedata(SAMPLE_INTERVAL_ADDR + 8, temp_l);
|
||||
}
|
||||
break;
|
||||
|
||||
case 14:
|
||||
{
|
||||
//描点数量
|
||||
temp_h = tabdata.item1_page0_plot_num >> 8;
|
||||
temp_l = tabdata.item1_page0_plot_num & 0xFF;
|
||||
eeprom_writedata(PLOT_COUNT_ADDR, temp_h);
|
||||
eeprom_writedata(PLOT_COUNT_ADDR + 8, temp_l);
|
||||
}
|
||||
break;
|
||||
|
||||
case 15:
|
||||
{
|
||||
//输入曲线颜色
|
||||
temp_h = tabdata.item1_page0_color_input >> 8;
|
||||
temp_l = tabdata.item1_page0_color_input & 0xFF;
|
||||
eeprom_writedata(INPUT_COLOR_ADDR, temp_h);
|
||||
eeprom_writedata(INPUT_COLOR_ADDR + 8, temp_l);
|
||||
}
|
||||
break;
|
||||
|
||||
case 16:
|
||||
{
|
||||
//输出曲线颜色
|
||||
temp_h = tabdata.item1_page0_color_output >> 8;
|
||||
temp_l = tabdata.item1_page0_color_output & 0xFF;
|
||||
eeprom_writedata(OUTPUT_COLOR_ADDR, temp_h);
|
||||
eeprom_writedata(OUTPUT_COLOR_ADDR + 8, temp_l);
|
||||
}
|
||||
break;
|
||||
|
||||
case 17:
|
||||
{
|
||||
//语言选择
|
||||
temp_h = tabdata.item3_page0_language >> 8;
|
||||
temp_l = tabdata.item3_page0_language & 0xFF;
|
||||
eeprom_writedata(LANGUAGE_SELECT_ADDR, temp_h);
|
||||
eeprom_writedata(LANGUAGE_SELECT_ADDR + 8, temp_l);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -802,6 +917,31 @@ void eeprom_dataread(void)
|
|||
temp_h = eeprom_readdata(RTD_LOW_ADDR);
|
||||
temp_l = eeprom_readdata(RTD_LOW_ADDR + 8);
|
||||
tabdata.item0_page2_RTDlow = ( temp_h << 8 ) + temp_l;
|
||||
|
||||
//采样间隔
|
||||
temp_h = eeprom_readdata(SAMPLE_INTERVAL_ADDR);
|
||||
temp_l = eeprom_readdata(SAMPLE_INTERVAL_ADDR + 8);
|
||||
tabdata.item1_page0_sample_interval = ( temp_h << 8 ) + temp_l;
|
||||
|
||||
//描点数量
|
||||
temp_h = eeprom_readdata(PLOT_COUNT_ADDR);
|
||||
temp_l = eeprom_readdata(PLOT_COUNT_ADDR + 8);
|
||||
tabdata.item1_page0_plot_num = ( temp_h << 8 ) + temp_l;
|
||||
|
||||
//输入曲线颜色
|
||||
temp_h = eeprom_readdata(INPUT_COLOR_ADDR);
|
||||
temp_l = eeprom_readdata(INPUT_COLOR_ADDR + 8);
|
||||
tabdata.item1_page0_color_input = ( temp_h << 8 ) + temp_l;
|
||||
|
||||
//输出曲线颜色
|
||||
temp_h = eeprom_readdata(OUTPUT_COLOR_ADDR);
|
||||
temp_l = eeprom_readdata(OUTPUT_COLOR_ADDR + 8);
|
||||
tabdata.item1_page0_color_output = ( temp_h << 8 ) + temp_l;
|
||||
|
||||
//语言选择
|
||||
temp_h = eeprom_readdata(LANGUAGE_SELECT_ADDR);
|
||||
temp_l = eeprom_readdata(LANGUAGE_SELECT_ADDR + 8);
|
||||
tabdata.item3_page0_language = ( temp_h << 8 ) + temp_l;
|
||||
}
|
||||
|
||||
//判断EEPROM内是否已存在数据
|
||||
|
|
|
@ -902,50 +902,7 @@ void set_item3_text(uint8_t con)
|
|||
//修改对象颜色
|
||||
void set_obj_color(lv_obj_t * obj, uint8_t color)
|
||||
{
|
||||
switch (color)
|
||||
{
|
||||
case COLOR_BLUE:
|
||||
{
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(COLOR_BLUE_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_DARK_BLUE:
|
||||
{
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(COLOR_DARK_BLUE_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_YELLOW:
|
||||
{
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(COLOR_YELLOW_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_GREEN:
|
||||
{
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(COLOR_GREEN_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_RED:
|
||||
{
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(COLOR_RED_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
}
|
||||
break;
|
||||
|
||||
case COLOR_PURPLE:
|
||||
{
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(COLOR_PURPLE_VALUE), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
{
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
}
|
||||
break;
|
||||
}
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(color_table[color]), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -294,12 +294,6 @@ void set_item2_value(uint8_t con, int8_t step)
|
|||
{
|
||||
tabdata.item2_page0_saveflag = 1;
|
||||
|
||||
set_item2_text(DATA_SAVE);
|
||||
|
||||
//执行保存
|
||||
//eeprom_datasave();
|
||||
eeprom_datasave_changed();
|
||||
|
||||
save_cnt = 0;
|
||||
}
|
||||
}
|
||||
|
@ -310,12 +304,7 @@ void set_item2_value(uint8_t con, int8_t step)
|
|||
if(tabdata.item2_page0_resetflag == 0)
|
||||
{
|
||||
tabdata.item2_page0_resetflag = 1;
|
||||
|
||||
set_item2_text(DATA_RESET);
|
||||
|
||||
//执行复位
|
||||
item0_data_init();
|
||||
|
||||
|
||||
reset_cnt = 0;
|
||||
}
|
||||
}
|
||||
|
@ -347,6 +336,9 @@ void set_item3_value(uint8_t con, int8_t step)
|
|||
{
|
||||
tabdata.item3_page0_language = (tabdata.item3_page0_language > 0)?(0):(tabdata.item3_page0_language + 1);
|
||||
|
||||
if(tabdata.item2_page0_saveflag == 2) tabdata.item2_page0_saveflag = 0;
|
||||
if(tabdata.item2_page0_resetflag == 2) tabdata.item2_page0_resetflag = 0;
|
||||
|
||||
//修改语言选项后,随即更改标题、选项卡、当前页面的语言
|
||||
setting_laguage_switch(tabdata.item3_page0_language);
|
||||
}
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
|
||||
int heart_1000ms_flag = 0;
|
||||
int heart_1000ms_cnt = 0;
|
||||
int battery_3000ms_flag = 0;
|
||||
int battery_3000ms_cnt = 0;
|
||||
int battery_2000ms_flag = 0;
|
||||
int battery_2000ms_cnt = 0;
|
||||
int plot_ms_flag = 0;
|
||||
int plot_ms_cnt = 0;
|
||||
int twk_1000ms_flag = 0;
|
||||
|
@ -35,11 +35,11 @@ void duty_tim6(void)
|
|||
heart_1000ms_flag = 1;
|
||||
}
|
||||
|
||||
battery_3000ms_cnt++;
|
||||
if( battery_3000ms_cnt >= 3000)
|
||||
battery_2000ms_cnt++;
|
||||
if( battery_2000ms_cnt >= 2000)
|
||||
{
|
||||
battery_3000ms_cnt = 0;
|
||||
battery_3000ms_flag = 1;
|
||||
battery_2000ms_cnt = 0;
|
||||
battery_2000ms_flag = 1;
|
||||
}
|
||||
|
||||
plot_ms_cnt++;
|
||||
|
|
|
@ -47,9 +47,9 @@ extern "C" {
|
|||
|
||||
#define LED_TOG HAL_GPIO_TogglePin(light_GPIO_Port, light_Pin)
|
||||
|
||||
#define LIGHT_ON HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, GPIO_PIN_SET)
|
||||
// #define LIGHT_ON HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, GPIO_PIN_SET)
|
||||
|
||||
#define LIGHT_OFF HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, GPIO_PIN_RESET)
|
||||
// #define LIGHT_OFF HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, GPIO_PIN_RESET)
|
||||
|
||||
//#define RS485_RW(RW) HAL_GPIO_WritePin(RS485_RW_GPIO_Port, RS485_RW_Pin, RW)
|
||||
|
||||
|
|
|
@ -310,7 +310,7 @@ void start_menu(void const * argument)
|
|||
for(;;)
|
||||
{
|
||||
screen_run();
|
||||
osDelay(200);
|
||||
osDelay(500);
|
||||
menu_stack_watch = uxTaskGetStackHighWaterMark(NULL);
|
||||
menu_stack_watch = 512 - menu_stack_watch;
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue