parent
1f9278fbcc
commit
fe761e5512
|
@ -31,7 +31,8 @@
|
||||||
"ip5310_i2c.h": "c",
|
"ip5310_i2c.h": "c",
|
||||||
"app_screen_main.h": "c",
|
"app_screen_main.h": "c",
|
||||||
"algorithm": "c",
|
"algorithm": "c",
|
||||||
"app_screen_setting.h": "c"
|
"app_screen_setting.h": "c",
|
||||||
|
"key_functions.h": "c"
|
||||||
},
|
},
|
||||||
"C_Cpp.errorSquiggles": "disabled",
|
"C_Cpp.errorSquiggles": "disabled",
|
||||||
"idf.pythonInstallPath": "F:\\Espressif\\tools\\idf-python\\3.11.2\\python.exe",
|
"idf.pythonInstallPath": "F:\\Espressif\\tools\\idf-python\\3.11.2\\python.exe",
|
||||||
|
|
|
@ -3,16 +3,78 @@
|
||||||
|
|
||||||
#include "apps_gather.h"
|
#include "apps_gather.h"
|
||||||
|
|
||||||
//初始界面
|
typedef struct
|
||||||
//{
|
{
|
||||||
//初始界面编号0,开机动画
|
//general
|
||||||
#define SCREEN_INIT 0
|
SCREENS 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; //初始界面标志,是否播放过开机动画
|
||||||
|
|
||||||
|
//screen_main
|
||||||
|
uint8_t runtime_seconds; //秒
|
||||||
|
uint8_t runtime_minutes; //分钟
|
||||||
|
uint8_t runtime_hours; //小时
|
||||||
|
char runtime_show[16]; //存放运行时间转化得到的字符串
|
||||||
|
uint8_t battery_cnt; //电池计数
|
||||||
|
uint8_t io_cursor; //当前游标位置, [0000,000], 0~6整数表示7个位置
|
||||||
|
uint8_t io_cursor_prv; //前一时刻的游标位置
|
||||||
|
uint8_t i_numbers[7]; //实时显示的字符,输入
|
||||||
|
uint8_t o_numbers[7]; //实时显示的字符,输出
|
||||||
|
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; //当前输出模式的类型
|
||||||
|
#if NIXIE_CUBE_ENABLE
|
||||||
|
uint8_t twk_flag; //闪烁使能标志
|
||||||
|
uint8_t twk_flip; //0-1变量,用于控制显示内容翻转(显示/不显示)
|
||||||
|
uint8_t twk_cnt; //闪烁计数,计数达到上限后闪烁停止
|
||||||
|
#endif
|
||||||
|
uint8_t sign_flag_in; //输入信号符号位标志,0->不显示,1->显示负号
|
||||||
|
uint8_t sign_flag_out; //输出信号符号位标志,0->不显示,1->显示负号
|
||||||
|
|
||||||
|
//screen_setting
|
||||||
|
|
||||||
|
}MENU_DATA;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
//lv_chart_set_range(ui->screen_main_chart_1, LV_CHART_AXIS_PRIMARY_Y, y_pri_low, y_pri_up);
|
||||||
|
uint8_t y_pri_up; //纵轴(主)上限,一般不做修改
|
||||||
|
uint8_t y_pri_low; //纵轴(主)下限,一般不做修改
|
||||||
|
int16_t yreal_pri_up; //实际值y上限
|
||||||
|
int16_t yreal_pri_low; //实际值y下限
|
||||||
|
|
||||||
|
//lv_chart_set_range(ui->screen_main_chart_1, LV_CHART_AXIS_SECONDARY_Y, y_scd_low, y_scd_up);
|
||||||
|
uint8_t y_scd_up; //纵轴(副)上限,一般不做修改
|
||||||
|
uint8_t y_scd_low; //纵轴(副)下限,一般不做修改
|
||||||
|
int16_t yreal_scd_up; //实际值y上限
|
||||||
|
int16_t yreal_scd_low; //实际值y下限
|
||||||
|
|
||||||
|
//lv_chart_set_next_value(ui->screen_main_chart_1, ui->screen_main_chart_1_0, 1);
|
||||||
|
uint8_t pri_wait_tick; //主轴等待滴答数,一段时间没变化后不更新曲线
|
||||||
|
uint8_t y_pri_value; //0号曲线的下一个点,主y轴
|
||||||
|
uint8_t y_pri_value_prv; //前一时刻的点,用于判断是否需要更新内容
|
||||||
|
float32 yreal_pri_value; //0号曲线的下一个实际值
|
||||||
|
|
||||||
|
//lv_chart_set_next_value(ui->screen_main_chart_1, ui->screen_main_chart_1_1, 1);
|
||||||
|
uint8_t scd_wait_tick; //副轴等待滴答数,一段时间没变化后不更新曲线
|
||||||
|
uint8_t y_scd_value; //1号曲线的下一个点,副y轴
|
||||||
|
uint8_t y_scd_value_prv; //前一时刻的点,用于判断是否需要更新内容
|
||||||
|
float32 yreal_scd_value; //1号曲线的下一个实际值
|
||||||
|
float32 yreal_scd_value_prv; //前一时刻的点,用于判断是否需要更新内容
|
||||||
|
|
||||||
|
}PLOT_DATA;
|
||||||
|
|
||||||
|
extern MENU_DATA m5data; //界面参数初始化
|
||||||
|
extern PLOT_DATA pltdata; //chart绘图参数初始化
|
||||||
|
|
||||||
|
|
||||||
//主界面
|
|
||||||
//{
|
|
||||||
//主界面编号1,信号输入输出,示波器显示
|
|
||||||
#define SCREEN_MAIN 1
|
|
||||||
|
|
||||||
//主界面,ON
|
//主界面,ON
|
||||||
#define IO_ON 1
|
#define IO_ON 1
|
||||||
|
|
|
@ -3,159 +3,169 @@
|
||||||
|
|
||||||
#include "apps_gather.h"
|
#include "apps_gather.h"
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ITEM_0 = 0,
|
||||||
|
ITEM_1,
|
||||||
|
ITEM_2,
|
||||||
|
ITEM_3,
|
||||||
|
ITEM_NONE
|
||||||
|
}ITEMS;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
//ITEM_0
|
||||||
|
VOL_UNIT_SET = 0,
|
||||||
|
VOL_UP_SET,
|
||||||
|
VOL_LOW_SET,
|
||||||
|
CURRENT_UP_SET,
|
||||||
|
CURRENT_LOW_SET,
|
||||||
|
RES_UP_SET,
|
||||||
|
RES_LOW_SET,
|
||||||
|
FRE_UP_SET,
|
||||||
|
FRE_LOW_SET,
|
||||||
|
TC_TYPE_SET,
|
||||||
|
TC_UP_SET,
|
||||||
|
TC_LOW_SET,
|
||||||
|
RTD_UP_SET,
|
||||||
|
RTD_LOW_SET,
|
||||||
|
PAGE_PV_ITEM_0,
|
||||||
|
|
||||||
|
//ITEM_1
|
||||||
|
SAMPLE_INTERVAL,
|
||||||
|
PLOT_NUM,
|
||||||
|
INPUT_COLOR,
|
||||||
|
OUTPUT_COLOR,
|
||||||
|
PAGE_PV_ITEM_1,
|
||||||
|
|
||||||
|
//ITEM_2
|
||||||
|
DATA_SAVE,
|
||||||
|
INPUT_LOG,
|
||||||
|
OUTPUT_LOG,
|
||||||
|
DATA_RESET,
|
||||||
|
PAGE_PV_ITEM_2,
|
||||||
|
|
||||||
|
//ITEM_3
|
||||||
|
LIGHT_STATUS,
|
||||||
|
LANGUAGE_SELECT,
|
||||||
|
PAGE_PV_ITEM_3,
|
||||||
|
|
||||||
|
//general
|
||||||
|
CONTENT_EMPTY
|
||||||
|
}ITEM_CONTENTS;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
COLOR_BLUE = 0,
|
||||||
|
COLOR_DARK_BLUE,
|
||||||
|
COLOR_YELLOW,
|
||||||
|
COLOR_GREEN,
|
||||||
|
COLOR_RED,
|
||||||
|
COLOR_PURPLE,
|
||||||
|
COLOR_BLACK
|
||||||
|
}COLORS;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
ITEMS item_cursor; //选项卡游标,后续根据实际需求进行宏定义
|
||||||
|
ITEMS item_cursor_prv; //前一时刻的选项卡游标
|
||||||
|
uint8_t item_page; //当前页
|
||||||
|
uint8_t item_page_prv; //前一页
|
||||||
|
uint8_t content_cursor; //内容右侧一列的游标,范围0~5,6个组件之间跳转
|
||||||
|
uint8_t content_cursor_prv; //前一时刻的内部游标
|
||||||
|
uint8_t content_focus; //内容焦点
|
||||||
|
ITEM_CONTENTS current_content; //当前指向内容
|
||||||
|
|
||||||
|
//ITEMS_0
|
||||||
|
SIG_FUNCTIONS_TYPE item0_page0_vunit;
|
||||||
|
int16_t item0_page0_vup[2];
|
||||||
|
int16_t item0_page0_vlow[2];
|
||||||
|
uint8_t item0_page0_cup;
|
||||||
|
uint8_t item0_page0_clow;
|
||||||
|
int16_t item0_page0_rup;
|
||||||
|
int16_t item0_page1_rlow;
|
||||||
|
uint8_t item0_page1_fup;
|
||||||
|
uint8_t item0_page1_flow;
|
||||||
|
SIG_FUNCTIONS_TYPE item0_page1_TCtype;
|
||||||
|
int16_t item0_page1_TCup[8];
|
||||||
|
int16_t item0_page1_TClow[8];
|
||||||
|
int16_t item0_page2_RTDup;
|
||||||
|
int16_t item0_page2_RTDlow;
|
||||||
|
|
||||||
|
//ITEMS_1
|
||||||
|
uint16_t item1_page0_sample_interval; //采样间隔ms
|
||||||
|
uint8_t item1_page0_plot_num; //曲线上显示的点数
|
||||||
|
COLORS item1_page0_color_input; //输出曲线及其图例的颜色
|
||||||
|
COLORS item1_page0_color_output; //输出曲线及其图例的颜色
|
||||||
|
|
||||||
|
//ITEMS_2
|
||||||
|
uint8_t item2_page0_saveflag; //[0, 1,2 ] -> [未保存,保存中,已保存]
|
||||||
|
char log_time[60][16]; //输入&输出记录,时间戳
|
||||||
|
float32 input_log_value[60]; //输入记录,实际值
|
||||||
|
float32 output_log_value[60]; //输出记录,实际值
|
||||||
|
uint8_t item2_page0_resetflag; //[0, 1,2 ] -> [未复位,复位中,已复位]
|
||||||
|
|
||||||
|
//ITEMS_3
|
||||||
|
uint8_t item3_page0_lightflag; //照明状态标志,0熄灭,1开启
|
||||||
|
LANGUAGES item3_page0_language; //语言类型
|
||||||
|
|
||||||
|
}TABVIEW_DATA;
|
||||||
|
|
||||||
|
extern TABVIEW_DATA tabdata; //设置页面参数初始化
|
||||||
extern int16_t save_cnt;
|
extern int16_t save_cnt;
|
||||||
extern int16_t reset_cnt;
|
extern int16_t reset_cnt;
|
||||||
|
extern int32_t color_table[7];
|
||||||
|
|
||||||
//设置界面
|
//页面数量
|
||||||
#define SCREEN_SETTING 2
|
#define I0_PAGE_MAX 3
|
||||||
//{
|
#define I1_PAGE_MAX 1
|
||||||
//当前页码
|
#define I2_PAGE_MAX 1
|
||||||
#define PAGE_PV 99
|
#define I3_PAGE_MAX 1
|
||||||
|
|
||||||
//页面数量
|
//淡蓝色
|
||||||
#define I0_PAGE_MAX 3
|
#define COLOR_LIGHT_BLUE_VALUE 0x75D4FF
|
||||||
#define I1_PAGE_MAX 1
|
|
||||||
#define I2_PAGE_MAX 1
|
|
||||||
#define I3_PAGE_MAX 1
|
|
||||||
|
|
||||||
//设置界面,选项卡0(从上往下数)
|
//蓝色
|
||||||
#define ITEMS_0 0
|
#define COLOR_BLUE_VALUE 0x00B6FF
|
||||||
//{
|
|
||||||
//选项卡内容编号
|
|
||||||
//电压单位
|
|
||||||
#define VOL_UNIT_SET 0
|
|
||||||
|
|
||||||
//电压上限设置
|
//深蓝色
|
||||||
#define VOL_UP_SET 1
|
#define COLOR_DARK_BLUE_VALUE 0x000FFF
|
||||||
|
|
||||||
//电压下限设置
|
//黄色
|
||||||
#define VOL_LOW_SET 2
|
#define COLOR_YELLOW_VALUE 0xEAE200
|
||||||
|
|
||||||
//电流上限设置
|
//橙色
|
||||||
#define CURRENT_UP_SET 3
|
#define COLOR_ORANGE_VALUE 0xFD8E10
|
||||||
|
|
||||||
//电流下限设置
|
//绿色
|
||||||
#define CURRENT_LOW_SET 4
|
#define COLOR_GREEN_VALUE 0x00FF4E
|
||||||
|
|
||||||
//电阻上限设置
|
//红色
|
||||||
#define RES_UP_SET 5
|
#define COLOR_RED_VALUE 0xFF0027
|
||||||
|
|
||||||
//电阻下限设置
|
//紫色
|
||||||
#define RES_LOW_SET 6
|
#define COLOR_PURPLE_VALUE 0xFF00D4
|
||||||
|
|
||||||
//频率上限设置
|
//黑色
|
||||||
#define FRE_UP_SET 7
|
#define COLOR_BLACK_VALUE 0x000000
|
||||||
|
|
||||||
//频率下限设置
|
//白色
|
||||||
#define FRE_LOW_SET 8
|
#define COLOR_WHITE_VALUE 0xffffff
|
||||||
|
|
||||||
//热电偶TC类型设置
|
//选项卡未选中时的底色
|
||||||
#define TC_TYPE_SET 9
|
#define COLOR_ITEMS_UNCHECKED COLOR_WHITE_VALUE
|
||||||
|
|
||||||
//热电偶TC上限设置
|
//选项卡选中时的底色
|
||||||
#define TC_UP_SET 10
|
#define COLOR_ITEMS_CHECKED COLOR_LIGHT_BLUE_VALUE
|
||||||
|
|
||||||
//热电偶下限设置
|
//内容未选中时的底色
|
||||||
#define TC_LOW_SET 11
|
#define COLOR_CONTENTS_UNCHECKED COLOR_WHITE_VALUE
|
||||||
|
|
||||||
//热电阻上限设置
|
//内容选中时的底色
|
||||||
#define RTD_UP_SET 12
|
#define COLOR_CONTENTS_CHECKED COLOR_LIGHT_BLUE_VALUE
|
||||||
|
|
||||||
//热电阻下限设置
|
//内容焦点后的底色
|
||||||
#define RTD_LOW_SET 13
|
#define COLOR_CONTENTS_FOCUSED COLOR_GREEN_VALUE
|
||||||
//}
|
|
||||||
|
|
||||||
#define ITEMS_1 1
|
|
||||||
//设置界面,选项卡1(从上往下数)
|
|
||||||
//{
|
|
||||||
//采样间隔
|
|
||||||
#define SAMPLE_INTERVAL 0
|
|
||||||
|
|
||||||
//描点个数
|
|
||||||
#define PLOT_NUM 1
|
|
||||||
|
|
||||||
//输入曲线颜色
|
|
||||||
#define INPUT_COLOR 2
|
|
||||||
|
|
||||||
//输出曲线颜色
|
|
||||||
#define OUTPUT_COLOR 3
|
|
||||||
//}
|
|
||||||
|
|
||||||
#define ITEMS_2 2
|
|
||||||
//设置界面,选项卡2(从上往下数)
|
|
||||||
//{
|
|
||||||
//参数保存 -> 保存
|
|
||||||
#define DATA_SAVE 0
|
|
||||||
|
|
||||||
//输入记录
|
|
||||||
#define INPUT_LOG 1
|
|
||||||
|
|
||||||
//输出记录
|
|
||||||
#define OUTPUT_LOG 2
|
|
||||||
|
|
||||||
//参数复位 -> 复位
|
|
||||||
#define DATA_RESET 3
|
|
||||||
//}
|
|
||||||
|
|
||||||
#define ITEMS_3 3
|
|
||||||
//设置界面,选项卡3(从上往下数)
|
|
||||||
//{
|
|
||||||
//照明 -> ON & OFF
|
|
||||||
#define LIGHT_STATUS 0
|
|
||||||
|
|
||||||
//语言
|
|
||||||
#define LANGUAGE_SELECT 1
|
|
||||||
//}
|
|
||||||
|
|
||||||
//选项卡未选中时的底色(白:0xffffff,黑:0x000000)
|
|
||||||
#define COLOR_ITEMS_UNCHECKED 0xffffff
|
|
||||||
|
|
||||||
//选项卡选中时的底色
|
|
||||||
#define COLOR_ITEMS_CHECKED 0xcbefff
|
|
||||||
|
|
||||||
//内容未选中时的底色
|
|
||||||
#define COLOR_CONTENTS_UNCHECKED 0xffffff
|
|
||||||
|
|
||||||
//内容选中时的底色
|
|
||||||
#define COLOR_CONTENTS_CHECKED 0xcbefff
|
|
||||||
|
|
||||||
//内容焦点后的底色
|
|
||||||
#define COLOR_CONTENTS_FOCUSED 0X9dffb0
|
|
||||||
|
|
||||||
//曲线备选颜色
|
|
||||||
//{
|
|
||||||
//淡蓝色
|
|
||||||
#define COLOR_BLUE 0
|
|
||||||
#define COLOR_BLUE_VALUE 0x00B6FF
|
|
||||||
|
|
||||||
//深蓝色
|
|
||||||
#define COLOR_DARK_BLUE 1
|
|
||||||
#define COLOR_DARK_BLUE_VALUE 0x000FFF
|
|
||||||
|
|
||||||
//黄色
|
|
||||||
#define COLOR_YELLOW 2
|
|
||||||
#define COLOR_YELLOW_VALUE 0xEAE200
|
|
||||||
|
|
||||||
//绿色
|
|
||||||
#define COLOR_GREEN 3
|
|
||||||
#define COLOR_GREEN_VALUE 0x00FF4E
|
|
||||||
|
|
||||||
//红色
|
|
||||||
#define COLOR_RED 4
|
|
||||||
#define COLOR_RED_VALUE 0xFF0027
|
|
||||||
|
|
||||||
//紫色
|
|
||||||
#define COLOR_PURPLE 5
|
|
||||||
#define COLOR_PURPLE_VALUE 0xFF00D4
|
|
||||||
|
|
||||||
//黑色
|
|
||||||
#define COLOR_BLACK 7
|
|
||||||
#define COLOR_BLACK_VALUE 0x000000
|
|
||||||
|
|
||||||
extern int32_t color_table[7];
|
|
||||||
//}
|
|
||||||
|
|
||||||
//}
|
|
||||||
|
|
||||||
//设置菜单数据初始化
|
//设置菜单数据初始化
|
||||||
void tab_data_init(void);
|
void tab_data_init(void);
|
||||||
|
@ -167,18 +177,18 @@ void eeprom_item_data_init(void);
|
||||||
void key_functions_setting(void);
|
void key_functions_setting(void);
|
||||||
|
|
||||||
//设置界面选项卡选中:点亮cursor;熄灭cursor_prv
|
//设置界面选项卡选中:点亮cursor;熄灭cursor_prv
|
||||||
void setting_items_check(uint8_t cursor, uint8_t cursor_prv);
|
void setting_items_check(ITEMS cursor, ITEMS cursor_prv);
|
||||||
|
|
||||||
//当前选项卡内容翻页:显示选项卡 ite 的第 page 页,
|
//当前选项卡内容翻页:显示选项卡 ite 的第 page 页,
|
||||||
void setting_items_page(uint8_t ite, uint8_t page);
|
void setting_items_page(ITEMS ite, uint8_t page);
|
||||||
|
|
||||||
//设置界面选项卡内部内容选中:点亮cursor;熄灭cursor_prv;焦点focus
|
//设置界面选项卡内部内容选中:点亮cursor;熄灭cursor_prv;焦点focus
|
||||||
void setting_contents_check(uint8_t cursor, uint8_t cursor_prv);
|
void setting_contents_check(uint8_t cursor, uint8_t cursor_prv);
|
||||||
|
|
||||||
//设置界面选项卡内部内容选中之后,根据键值key_val和步长step修改内容,修改第ite个选项卡的第con个内容
|
//设置界面选项卡内部内容选中之后,根据键值key_val和步长step修改内容,修改第ite个选项卡的第con个内容
|
||||||
void setting_contents_modify(uint8_t ite, uint8_t con, int8_t step);
|
void setting_contents_modify(ITEMS ite, ITEM_CONTENTS con, int8_t step);
|
||||||
|
|
||||||
//设置内容的底色
|
//设置修改项的底色,表示选中和焦点
|
||||||
void set_contents_color(uint8_t cursor, uint32_t color);
|
void set_contents_color(uint8_t cursor, uint32_t color);
|
||||||
|
|
||||||
//恢复设置界面的各项参数显示,用于界面切换(主界面->设置界面)
|
//恢复设置界面的各项参数显示,用于界面切换(主界面->设置界面)
|
||||||
|
@ -189,7 +199,7 @@ void scr_setting_run(void);
|
||||||
|
|
||||||
//设置界面语言切换(主界面的语言切换在set_working_mode内)
|
//设置界面语言切换(主界面的语言切换在set_working_mode内)
|
||||||
//此处用于更改标题和选项卡的语言,内容的语言切换在 set_XXX_text & set_XXX_value内
|
//此处用于更改标题和选项卡的语言,内容的语言切换在 set_XXX_text & set_XXX_value内
|
||||||
void setting_laguage_switch(uint8_t lan);
|
void setting_laguage_switch(LANGUAGES lan);
|
||||||
|
|
||||||
//执行保存功能
|
//执行保存功能
|
||||||
void deal_data_save(void);
|
void deal_data_save(void);
|
||||||
|
@ -197,6 +207,39 @@ void deal_data_save(void);
|
||||||
//执行复位功能
|
//执行复位功能
|
||||||
void deal_data_reset(void);
|
void deal_data_reset(void);
|
||||||
|
|
||||||
|
//修改选项卡0的文本
|
||||||
|
void set_item0_text(ITEM_CONTENTS con);
|
||||||
|
|
||||||
|
//修改选项卡1的文本
|
||||||
|
void set_item1_text(ITEM_CONTENTS con);
|
||||||
|
|
||||||
|
//修改选项卡2的文本
|
||||||
|
void set_item2_text(ITEM_CONTENTS con);
|
||||||
|
|
||||||
|
//修改选项卡3的文本
|
||||||
|
void set_item3_text(ITEM_CONTENTS con);
|
||||||
|
|
||||||
|
//修改对象颜色
|
||||||
|
void set_obj_color(lv_obj_t * obj, uint8_t color);
|
||||||
|
|
||||||
|
//修改选项卡0的值
|
||||||
|
void set_item0_value(ITEM_CONTENTS con, int8_t step);
|
||||||
|
|
||||||
|
//修改选项卡1的值
|
||||||
|
void set_item1_value(ITEM_CONTENTS con, int8_t step);
|
||||||
|
|
||||||
|
//修改选项卡2的值
|
||||||
|
void set_item2_value(ITEM_CONTENTS con, int8_t step);
|
||||||
|
|
||||||
|
//修改选项卡3的值
|
||||||
|
void set_item3_value(ITEM_CONTENTS con, int8_t step);
|
||||||
|
|
||||||
|
//查看输入输出记录,io -> 输入/输出,page -> 指定页码
|
||||||
|
void show_IO_log(uint8_t io, uint8_t page);
|
||||||
|
|
||||||
|
//内容游标 uint8_t -> enum
|
||||||
|
ITEM_CONTENTS content_cur_char2enum(ITEMS ite, uint8_t cur_uint8);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,6 @@
|
||||||
/*
|
|
||||||
* @Author: wujunchao wujunchao@wuxismart.com
|
|
||||||
* @Date: 2024-12-27 11:51:06
|
|
||||||
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
|
||||||
* @LastEditTime: 2025-04-01 11:42:55
|
|
||||||
* @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
|
|
||||||
*/
|
|
||||||
#ifndef __APPS_GATHER_H
|
#ifndef __APPS_GATHER_H
|
||||||
#define __APPS_GATHER_H
|
#define __APPS_GATHER_H
|
||||||
|
/**********************************************Drivers**********************************************/
|
||||||
//provided by ZhangXiaoMing
|
|
||||||
//{
|
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "tm1650.h"
|
#include "tm1650.h"
|
||||||
#include "mux_signal.h"
|
#include "mux_signal.h"
|
||||||
|
@ -24,14 +14,23 @@
|
||||||
#include "SIG24130.h"
|
#include "SIG24130.h"
|
||||||
#include "FreeRTOS.h"
|
#include "FreeRTOS.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
//}
|
#include "timer.h"
|
||||||
|
#include "stdio.h"
|
||||||
//LVGL
|
#include "ip5310_i2c.h"
|
||||||
|
#include "eeprom_spi.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
/**********************************************Drivers**********************************************/
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
/**********************************************LVGL**********************************************/
|
||||||
#include "lvgl.h" // 它为整个LVGL提供了更完整的头文件引用
|
#include "lvgl.h" // 它为整个LVGL提供了更完整的头文件引用
|
||||||
#include "lv_port_disp.h" // LVGL的显示
|
#include "lv_port_disp.h" // LVGL的显示
|
||||||
#include "gui_guider.h" // Gui Guider 生成的界面和控件的声明
|
#include "gui_guider.h" // Gui Guider 生成的界面和控件的声明
|
||||||
#include "events_init.h" // Gui Guider 生成的初始化事件、回调函数
|
#include "events_init.h" // Gui Guider 生成的初始化事件、回调函数
|
||||||
|
//#include "lv_demo_benchmark.h"
|
||||||
|
|
||||||
|
//LVGL相关外部变量
|
||||||
extern lv_ui guider_ui;
|
extern lv_ui guider_ui;
|
||||||
extern const lv_img_dsc_t * screen_main_animimg_battery_imgs[6];
|
extern const lv_img_dsc_t * screen_main_animimg_battery_imgs[6];
|
||||||
extern const lv_img_dsc_t * screen_main_ani_in_0_imgs[11];
|
extern const lv_img_dsc_t * screen_main_ani_in_0_imgs[11];
|
||||||
|
@ -50,16 +49,11 @@ extern const lv_img_dsc_t * screen_main_ani_out_5_imgs[11];
|
||||||
extern const lv_img_dsc_t * screen_main_ani_out_6_imgs[11];
|
extern const lv_img_dsc_t * screen_main_ani_out_6_imgs[11];
|
||||||
extern const lv_img_dsc_t * screen_main_ani_in_sign_imgs[3];
|
extern const lv_img_dsc_t * screen_main_ani_in_sign_imgs[3];
|
||||||
extern const lv_img_dsc_t * screen_main_ani_out_sign_imgs[3];
|
extern const lv_img_dsc_t * screen_main_ani_out_sign_imgs[3];
|
||||||
|
/**********************************************LVGL**********************************************/
|
||||||
|
//
|
||||||
//written bt WuJunChao
|
//
|
||||||
#include "timer.h"
|
//
|
||||||
#include "stdio.h"
|
/**********************************************Functions**********************************************/
|
||||||
#include "ip5310_i2c.h"
|
|
||||||
#include "eeprom_spi.h"
|
|
||||||
#include "stdlib.h"
|
|
||||||
//#include "lv_demo_benchmark.h"
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
SIG_VOLTAGE = 0, //电压
|
SIG_VOLTAGE = 0, //电压
|
||||||
|
@ -88,124 +82,6 @@ typedef enum
|
||||||
RTD_DC //热电阻摄氏度
|
RTD_DC //热电阻摄氏度
|
||||||
}SIG_FUNCTIONS_TYPE;
|
}SIG_FUNCTIONS_TYPE;
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
KEY_OUT = 0,
|
|
||||||
KEY_UP,
|
|
||||||
KEY_MENU,
|
|
||||||
KEY_IN,
|
|
||||||
KEY_LEFT,
|
|
||||||
KEY_OK,
|
|
||||||
KEY_RIGHT,
|
|
||||||
KEY_SWITCH,
|
|
||||||
KEY_SOURCE,
|
|
||||||
KEY_DOWN,
|
|
||||||
KEY_BACK,
|
|
||||||
KEY_NONE,
|
|
||||||
KEY_ALL
|
|
||||||
}KEYS_TAG;
|
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
KEY_OUT_VAL = 76,
|
|
||||||
KEY_UP_VAL = 84,
|
|
||||||
KEY_MENU_VAL = 68,
|
|
||||||
KEY_IN_VAL = 78,
|
|
||||||
KEY_LEFT_VAL = 77,
|
|
||||||
KEY_OK_VAL = 85,
|
|
||||||
KEY_RIGHT_VAL = 94,
|
|
||||||
KEY_SWITCH_VAL = 69,
|
|
||||||
KEY_SOURCE_VAL = 111,
|
|
||||||
KEY_DOWN_VAL = 86,
|
|
||||||
KEY_BACK_VAL = 70,
|
|
||||||
KEY_NONE_VAL = 0,
|
|
||||||
KEY_ALL_VAL = 250
|
|
||||||
}KEYS_VALUE;
|
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
KEY_STATUS_DISABLE = 0,
|
|
||||||
KEY_STATUS_ENABLE
|
|
||||||
}KEYS_STATUS;
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
KEYS_TAG tag;
|
|
||||||
KEYS_VALUE value;
|
|
||||||
KEYS_STATUS status;
|
|
||||||
}KEYS;
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
//general
|
|
||||||
uint8_t scr_now; //当前屏幕,通过按键切换, [0->init, 1->main, 2->setting]
|
|
||||||
int tick_prv; //前一个时刻
|
|
||||||
int tick_cur; //当前时刻
|
|
||||||
uint8_t menu_reset_flag; //复位标志,在keil的debug中手动写入
|
|
||||||
KEYS_STATUS key_sts[11]; //按键状态,是否使能
|
|
||||||
|
|
||||||
//screen_init
|
|
||||||
uint8_t scr_init_flag; //初始界面标志,是否播放过开机动画
|
|
||||||
|
|
||||||
//screen_main
|
|
||||||
uint8_t key_main_enable; //按键功能使能标志
|
|
||||||
uint8_t runtime_seconds;
|
|
||||||
uint8_t runtime_minutes;
|
|
||||||
uint8_t runtime_hours;
|
|
||||||
char runtime_show[16]; //存放运行时间转化得到的字符串
|
|
||||||
uint8_t battery_cnt; //电池计数
|
|
||||||
uint8_t io_cursor; //当前游标位置, [0000,000], 0~6整数表示7个位置
|
|
||||||
uint8_t io_cursor_prv; //前一时刻的游标位置
|
|
||||||
uint8_t i_numbers[7]; //实时显示的字符,输入
|
|
||||||
uint8_t o_numbers[7]; //实时显示的字符,输出
|
|
||||||
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; //当前输出模式的类型
|
|
||||||
#if NIXIE_CUBE_ENABLE
|
|
||||||
uint8_t twk_flag; //闪烁使能标志
|
|
||||||
uint8_t twk_flip; //0-1变量,用于控制显示内容翻转(显示/不显示)
|
|
||||||
uint8_t twk_cnt; //闪烁计数,计数达到上限后闪烁停止
|
|
||||||
#endif
|
|
||||||
uint8_t sign_flag_in; //输入信号符号位标志,0->不显示,1->显示负号
|
|
||||||
uint8_t sign_flag_out; //输出信号符号位标志,0->不显示,1->显示负号
|
|
||||||
|
|
||||||
//screen_setting
|
|
||||||
|
|
||||||
}MENU_DATA;
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
//lv_chart_set_range(ui->screen_main_chart_1, LV_CHART_AXIS_PRIMARY_Y, y_pri_low, y_pri_up);
|
|
||||||
uint8_t y_pri_up; //纵轴(主)上限,一般不做修改
|
|
||||||
uint8_t y_pri_low; //纵轴(主)下限,一般不做修改
|
|
||||||
int16_t yreal_pri_up; //实际值y上限
|
|
||||||
int16_t yreal_pri_low; //实际值y下限
|
|
||||||
|
|
||||||
//lv_chart_set_range(ui->screen_main_chart_1, LV_CHART_AXIS_SECONDARY_Y, y_scd_low, y_scd_up);
|
|
||||||
uint8_t y_scd_up; //纵轴(副)上限,一般不做修改
|
|
||||||
uint8_t y_scd_low; //纵轴(副)下限,一般不做修改
|
|
||||||
int16_t yreal_scd_up; //实际值y上限
|
|
||||||
int16_t yreal_scd_low; //实际值y下限
|
|
||||||
|
|
||||||
//lv_chart_set_next_value(ui->screen_main_chart_1, ui->screen_main_chart_1_0, 1);
|
|
||||||
uint8_t pri_wait_tick; //主轴等待滴答数,一段时间没变化后不更新曲线
|
|
||||||
uint8_t y_pri_value; //0号曲线的下一个点,主y轴
|
|
||||||
uint8_t y_pri_value_prv; //前一时刻的点,用于判断是否需要更新内容
|
|
||||||
float32 yreal_pri_value; //0号曲线的下一个实际值
|
|
||||||
|
|
||||||
//lv_chart_set_next_value(ui->screen_main_chart_1, ui->screen_main_chart_1_1, 1);
|
|
||||||
uint8_t scd_wait_tick; //副轴等待滴答数,一段时间没变化后不更新曲线
|
|
||||||
uint8_t y_scd_value; //1号曲线的下一个点,副y轴
|
|
||||||
uint8_t y_scd_value_prv; //前一时刻的点,用于判断是否需要更新内容
|
|
||||||
float32 yreal_scd_value; //1号曲线的下一个实际值
|
|
||||||
float32 yreal_scd_value_prv; //前一时刻的点,用于判断是否需要更新内容
|
|
||||||
|
|
||||||
}PLOT_DATA;
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
SIG_FUNCTIONS tag; //物理量标签
|
SIG_FUNCTIONS tag; //物理量标签
|
||||||
|
@ -215,71 +91,58 @@ typedef struct
|
||||||
float32 pv; //当前值
|
float32 pv; //当前值
|
||||||
}PHYSICAL_QUANTITY;
|
}PHYSICAL_QUANTITY;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
SCREEN_INIT = 0,
|
||||||
|
SCREEN_MAIN,
|
||||||
|
SCREEN_SETTING
|
||||||
|
}SCREENS;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
MENU_SIMPLYFY_CHINESE = 0,
|
||||||
|
MENU_ENGLISH
|
||||||
|
}LANGUAGES;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
OPENNING_ANIME, //播放开机动画
|
||||||
|
MAIN_FUNCTION, //主要功能:输入&输出、曲线显示等
|
||||||
|
SET_ITEM_CHOOSE, //设置菜单:选项卡选择
|
||||||
|
SET_CONTENT_CHOOSE, //设置菜单:内容选择
|
||||||
|
SET_CONTENT_MODIFY, //设置菜单:内容修改
|
||||||
|
SET_SHOW_LOG //设置菜单:查看记录
|
||||||
|
|
||||||
|
}OPERATIONS;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
uint8_t item_cursor; //选项卡游标,后续根据实际需求进行宏定义
|
uint16_t lvgl_stack_consume; //LVGL栈占用
|
||||||
uint8_t item_cursor_prv; //前一时刻的选项卡游标
|
uint16_t menu_stack_consume; //menu栈占用
|
||||||
uint8_t item_page; //当前页
|
uint8_t cpu_consume; //cpu使用率,0-100
|
||||||
uint8_t item_page_prv; //前一页
|
uint8_t mem_consume; //内存使用率,0-100
|
||||||
uint8_t content_cursor; //选项内部的游标, 最大范围0~35(6行6列,从左至右,从上至下),99代表未选中。
|
uint8_t mem_consume_max; //最大内存占用占用,0-100
|
||||||
uint8_t content_cursor_prv; //前一时刻的内部游标
|
uint8_t eeprom_read_error; //eeprom读是否出现过错误
|
||||||
uint8_t content_focus; //内容焦点
|
uint8_t eeprom_write_error; //eeprom写是否出现过错误
|
||||||
|
uint8_t eeprom_current_status; //eeprom状态
|
||||||
|
|
||||||
//ITEMS_0
|
}SYSTEM_STATUS_WATCH;
|
||||||
SIG_FUNCTIONS_TYPE item0_page0_vunit;
|
|
||||||
int16_t item0_page0_vup[2];
|
|
||||||
int16_t item0_page0_vlow[2];
|
|
||||||
uint8_t item0_page0_cup;
|
|
||||||
uint8_t item0_page0_clow;
|
|
||||||
int16_t item0_page0_rup;
|
|
||||||
int16_t item0_page1_rlow;
|
|
||||||
uint8_t item0_page1_fup;
|
|
||||||
uint8_t item0_page1_flow;
|
|
||||||
SIG_FUNCTIONS_TYPE item0_page1_TCtype;
|
|
||||||
int16_t item0_page1_TCup[8];
|
|
||||||
int16_t item0_page1_TClow[8];
|
|
||||||
int16_t item0_page2_RTDup;
|
|
||||||
int16_t item0_page2_RTDlow;
|
|
||||||
|
|
||||||
//ITEMS_1
|
|
||||||
uint16_t item1_page0_sample_interval; //采样间隔ms
|
|
||||||
uint8_t item1_page0_plot_num; //曲线上显示的点数
|
|
||||||
int8_t item1_page0_color_input; //输出曲线及其图例的颜色
|
|
||||||
int8_t item1_page0_color_output; //输出曲线及其图例的颜色
|
|
||||||
|
|
||||||
//ITEMS_2
|
|
||||||
uint8_t item2_page0_saveflag; //[0, 1,2 ] -> [未保存,保存中,已保存]
|
|
||||||
char log_time[60][16]; //输入&输出记录,时间戳
|
|
||||||
float32 input_log_value[60]; //输入记录,实际值
|
|
||||||
float32 output_log_value[60]; //输出记录,实际值
|
|
||||||
uint8_t item2_page0_resetflag; //[0, 1,2 ] -> [未复位,复位中,已复位]
|
|
||||||
|
|
||||||
//ITEMS_3
|
|
||||||
uint8_t item3_page0_lightflag; //照明状态标志,0熄灭,1开启
|
|
||||||
uint8_t item3_page0_language; //语言类型
|
|
||||||
|
|
||||||
}TABVIEW_DATA;
|
|
||||||
|
|
||||||
//避免无法定位上面自定义的枚举和结构体
|
|
||||||
#include "app_screen_main.h"
|
#include "app_screen_main.h"
|
||||||
#include "app_screen_setting.h"
|
#include "app_screen_setting.h"
|
||||||
#include "scr_setting_item_text.h"
|
#include "scr_setting_item_text.h"
|
||||||
#include "scr_setting_item_value.h"
|
#include "scr_setting_item_value.h"
|
||||||
|
#include "key_functions.h"
|
||||||
|
|
||||||
extern MENU_DATA m5data; //界面参数初始化
|
|
||||||
extern PLOT_DATA pltdata; //chart绘图参数初始化
|
|
||||||
extern TABVIEW_DATA tabdata; //设置页面参数初始化
|
|
||||||
extern PHYSICAL_QUANTITY VOL[2]; //电压,VOL[0]-V, VOL[1]-mV
|
extern PHYSICAL_QUANTITY VOL[2]; //电压,VOL[0]-V, VOL[1]-mV
|
||||||
extern PHYSICAL_QUANTITY CUR; //电流,mA
|
extern PHYSICAL_QUANTITY CUR; //电流,mA
|
||||||
extern PHYSICAL_QUANTITY RES; //电阻,Ω
|
extern PHYSICAL_QUANTITY RES; //电阻,Ω
|
||||||
extern PHYSICAL_QUANTITY FRE; //频率,KHz
|
extern PHYSICAL_QUANTITY FRE; //频率,KHz
|
||||||
extern PHYSICAL_QUANTITY TC[8]; //热电偶,共8种
|
extern PHYSICAL_QUANTITY TC[8]; //热电偶,共8种
|
||||||
extern PHYSICAL_QUANTITY RTD; //热电阻
|
extern PHYSICAL_QUANTITY RTD; //热电阻
|
||||||
extern KEYS key_pv;
|
extern OPERATIONS current_operation; //当前操作
|
||||||
|
extern SYSTEM_STATUS_WATCH system_sts; //系统状态监控
|
||||||
//语言
|
|
||||||
#define MENU_SIMPLYFY_CHINESE 0
|
|
||||||
#define MENU_ENGLISH 1
|
|
||||||
|
|
||||||
//绝对值计算
|
//绝对值计算
|
||||||
#define MY_ABS(pa) ( ( (pa) >= 0 )?( (pa) ):( 0 - (pa) ) )
|
#define MY_ABS(pa) ( ( (pa) >= 0 )?( (pa) ):( 0 - (pa) ) )
|
||||||
|
@ -323,15 +186,12 @@ float32 temp2ohm(float32 temp);
|
||||||
//初始化打包
|
//初始化打包
|
||||||
void my_inits_gather(void);
|
void my_inits_gather(void);
|
||||||
|
|
||||||
//按键数据类型转换
|
|
||||||
void key_char2struct(void);
|
|
||||||
|
|
||||||
//按键状态配置
|
|
||||||
void key_config(KEYS_TAG key_t, KEYS_STATUS sts);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************Functions**********************************************/
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -150,9 +150,6 @@
|
||||||
|
|
||||||
#define DATA_SAVE_ALL 0
|
#define DATA_SAVE_ALL 0
|
||||||
|
|
||||||
extern uint8_t eeprom_wrt_error_flag;
|
|
||||||
extern uint8_t eeprom_rd_error_flag;
|
|
||||||
|
|
||||||
void eeprom_spi_init(void);
|
void eeprom_spi_init(void);
|
||||||
void eeprom_spi_writebyte(uint8_t wrt_data);
|
void eeprom_spi_writebyte(uint8_t wrt_data);
|
||||||
uint8_t SPI_WriteReadByte(uint8_t data);
|
uint8_t SPI_WriteReadByte(uint8_t data);
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
#ifndef _KEY_FUNCTIONS_H
|
||||||
|
#define _KEY_FUNCTIONS_H
|
||||||
|
|
||||||
|
#include "apps_gather.h"
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
KEY_OUT = 0, //输出
|
||||||
|
KEY_UP, //上
|
||||||
|
KEY_MENU, //菜单
|
||||||
|
KEY_IN, //输入
|
||||||
|
KEY_LEFT, //左
|
||||||
|
KEY_OK, //OK,确认
|
||||||
|
KEY_RIGHT, //右
|
||||||
|
KEY_SWITCH, //二级菜单,切换输出&输入类型
|
||||||
|
KEY_SOURCE, //闲置,预留
|
||||||
|
KEY_DOWN, //下
|
||||||
|
KEY_BACK, //返回
|
||||||
|
KEY_NONE, //空闲
|
||||||
|
KEY_ALL //全选
|
||||||
|
}KEYS_TAG;
|
||||||
|
|
||||||
|
//tm1650扫描得到的原始键值
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
KEY_OUT_VAL = 76,
|
||||||
|
KEY_UP_VAL = 84,
|
||||||
|
KEY_MENU_VAL = 68,
|
||||||
|
KEY_IN_VAL = 78,
|
||||||
|
KEY_LEFT_VAL = 77,
|
||||||
|
KEY_OK_VAL = 85,
|
||||||
|
KEY_RIGHT_VAL = 94,
|
||||||
|
KEY_SWITCH_VAL = 69,
|
||||||
|
KEY_SOURCE_VAL = 111,
|
||||||
|
KEY_DOWN_VAL = 86,
|
||||||
|
KEY_BACK_VAL = 70,
|
||||||
|
KEY_NONE_VAL = 0,
|
||||||
|
KEY_ALL_VAL = 250
|
||||||
|
}KEYS_VALUE;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
KEY_STATUS_DISABLE = 0,
|
||||||
|
KEY_STATUS_ENABLE
|
||||||
|
}KEYS_STATUS;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
KEYS_TAG tag;
|
||||||
|
KEYS_VALUE value;
|
||||||
|
KEYS_STATUS status;
|
||||||
|
}KEYS;
|
||||||
|
|
||||||
|
extern KEYS key_pv; //当前按键
|
||||||
|
extern KEYS_STATUS key_sts[11]; //11个按键的状态,排列顺序与枚举顺序一致
|
||||||
|
|
||||||
|
//按键数据类型转换
|
||||||
|
void key_char2struct(void);
|
||||||
|
|
||||||
|
//按键状态配置
|
||||||
|
void key_config(KEYS_TAG key_t, KEYS_STATUS sts);
|
||||||
|
|
||||||
|
//按键配置更新
|
||||||
|
void key_config_update(OPERATIONS ope);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -3,20 +3,7 @@
|
||||||
|
|
||||||
#include "apps_gather.h"
|
#include "apps_gather.h"
|
||||||
|
|
||||||
//修改选项卡0的文本
|
|
||||||
void set_item0_text(uint8_t con);
|
|
||||||
|
|
||||||
//修改选项卡1的文本
|
|
||||||
void set_item1_text(uint8_t con);
|
|
||||||
|
|
||||||
//修改选项卡2的文本
|
|
||||||
void set_item2_text(uint8_t con);
|
|
||||||
|
|
||||||
//修改选项卡3的文本
|
|
||||||
void set_item3_text(uint8_t con);
|
|
||||||
|
|
||||||
//修改对象颜色
|
|
||||||
void set_obj_color(lv_obj_t * obj, uint8_t color);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -7,21 +7,6 @@
|
||||||
|
|
||||||
#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)
|
||||||
|
|
||||||
//修改选项卡0的值
|
|
||||||
void set_item0_value(uint8_t con, int8_t step);
|
|
||||||
|
|
||||||
//修改选项卡1的值
|
|
||||||
void set_item1_value(uint8_t con, int8_t step);
|
|
||||||
|
|
||||||
//修改选项卡2的值
|
|
||||||
void set_item2_value(uint8_t con, int8_t step);
|
|
||||||
|
|
||||||
//修改选项卡3的值
|
|
||||||
void set_item3_value(uint8_t con, int8_t step);
|
|
||||||
|
|
||||||
//查看输入输出记录,io -> 输入/输出,page -> 指定页码
|
|
||||||
void show_IO_log(uint8_t io, uint8_t page);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,10 +11,6 @@ void screen_data_init(void)
|
||||||
m5data.tick_cur = -1; //当前时刻,用于计时
|
m5data.tick_cur = -1; //当前时刻,用于计时
|
||||||
m5data.menu_reset_flag = 0; //复位使能标志,置1后复位,复位完成后变回0
|
m5data.menu_reset_flag = 0; //复位使能标志,置1后复位,复位完成后变回0
|
||||||
physical_quantity_init();
|
physical_quantity_init();
|
||||||
for (uint8_t i = 0; i < 11; i++)
|
|
||||||
{
|
|
||||||
m5data.key_sts[i] = KEY_STATUS_ENABLE;
|
|
||||||
}
|
|
||||||
|
|
||||||
//screen_init
|
//screen_init
|
||||||
m5data.scr_init_flag = 0; //是否进行过初始化(开机动画)
|
m5data.scr_init_flag = 0; //是否进行过初始化(开机动画)
|
||||||
|
@ -132,441 +128,7 @@ void menu_reset(void)
|
||||||
screen_data_init();
|
screen_data_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
//KEY_MAIN
|
|
||||||
void key_functions_main(void)
|
|
||||||
{
|
|
||||||
if( key_pv.status == KEY_STATUS_DISABLE ) return;
|
|
||||||
|
|
||||||
uint8_t cursor_temp = 0; //临时游标,替代枚举变量进行加减运算
|
|
||||||
|
|
||||||
switch (key_pv.tag)
|
|
||||||
{
|
|
||||||
case KEY_OUT:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
//交替按下 in 和 out 时,只改变输入/输出,连续按同一个键的时候才改变类型
|
|
||||||
if(m5data.io_mode == IO_INPUT)
|
|
||||||
{
|
|
||||||
m5data.io_mode = IO_OUTPUT;
|
|
||||||
m5data.output_mode = m5data.input_mode;
|
|
||||||
|
|
||||||
io_on2off_status(); //更新状态指示
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cursor_temp = (uint8_t)m5data.output_mode;
|
|
||||||
cursor_temp = (cursor_temp >= 5)?(0):(cursor_temp + 1);
|
|
||||||
m5data.output_mode = (SIG_FUNCTIONS)cursor_temp;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (m5data.output_mode)
|
|
||||||
{
|
|
||||||
case SIG_VOLTAGE: //电压
|
|
||||||
{
|
|
||||||
m5data.output_mode_type = VOLTAGE_V;
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_CURRENT: //电流
|
|
||||||
{
|
|
||||||
m5data.output_mode_type = CURRENT_MA;
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_RESISTANT: //电阻
|
|
||||||
{
|
|
||||||
m5data.output_mode_type = RESISTANT_OHM;
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_FREQUENCE: //频率
|
|
||||||
{
|
|
||||||
m5data.output_mode_type = FREQUENCE_KHZ;
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_TC: //热电偶
|
|
||||||
{
|
|
||||||
m5data.output_mode_type = TC_K;
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_RTD: //热电阻
|
|
||||||
{
|
|
||||||
m5data.output_mode_type = RTD_DC;
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_UP:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
if(m5data.io_mode == IO_INPUT)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if NIXIE_CUBE_ENABLE
|
|
||||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
|
||||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
|
||||||
#endif
|
|
||||||
keyset_output(1);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_MENU:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
//加载菜单界面
|
|
||||||
lv_scr_load(guider_ui.screen_setting);
|
|
||||||
scr_setting_recover();
|
|
||||||
lv_obj_clear_flag(guider_ui.screen_setting, LV_OBJ_FLAG_HIDDEN);
|
|
||||||
|
|
||||||
//隐藏主界面对象
|
|
||||||
lv_obj_add_flag(guider_ui.screen_main, LV_OBJ_FLAG_HIDDEN);
|
|
||||||
|
|
||||||
m5data.scr_now = SCREEN_SETTING; //当前界面为详细设置菜单
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_IN:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
if(m5data.io_mode == IO_OUTPUT)
|
|
||||||
{
|
|
||||||
m5data.io_mode = IO_INPUT;
|
|
||||||
|
|
||||||
//继承之前的输出类型
|
|
||||||
m5data.input_mode = m5data.output_mode;
|
|
||||||
|
|
||||||
io_on2off_status(); //更新状态指示
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//枚举类型不能直接运算,于是使用临时变量cursor_temp
|
|
||||||
cursor_temp = (uint8_t)m5data.input_mode;
|
|
||||||
cursor_temp = (cursor_temp >= 5)?(0):(cursor_temp + 1);
|
|
||||||
m5data.input_mode = (SIG_FUNCTIONS)cursor_temp;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (m5data.input_mode)
|
|
||||||
{
|
|
||||||
case SIG_VOLTAGE: //电压
|
|
||||||
{
|
|
||||||
m5data.input_mode_type = VOLTAGE_V;
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_CURRENT: //电流
|
|
||||||
{
|
|
||||||
m5data.input_mode_type = CURRENT_MA;
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_RESISTANT: //电阻
|
|
||||||
{
|
|
||||||
m5data.input_mode_type = RESISTANT_OHM;
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_FREQUENCE: //频率
|
|
||||||
{
|
|
||||||
m5data.input_mode_type = FREQUENCE_KHZ;
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_TC: //热电偶
|
|
||||||
{
|
|
||||||
m5data.input_mode_type = TC_K;
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_RTD: //热电阻
|
|
||||||
{
|
|
||||||
m5data.input_mode_type = RTD_DC;
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_LEFT:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
if(m5data.io_mode == IO_INPUT)
|
|
||||||
{
|
|
||||||
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]);
|
|
||||||
|
|
||||||
m5data.io_cursor_prv = m5data.io_cursor;
|
|
||||||
m5data.io_cursor = (m5data.io_cursor <= 0)?(6):(m5data.io_cursor - 1);
|
|
||||||
set_cursor_position();
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_OK:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
//主界面用OK键控制开关ON&OFF
|
|
||||||
if(m5data.io_on2off == IO_ON)
|
|
||||||
{
|
|
||||||
m5data.io_on2off = IO_OFF;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m5data.io_on2off = IO_ON;
|
|
||||||
}
|
|
||||||
|
|
||||||
io_on2off_status(); //更新ON/OFF/IN/OUT状态指示
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_RIGHT:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
if(m5data.io_mode == IO_INPUT)
|
|
||||||
{
|
|
||||||
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]);
|
|
||||||
|
|
||||||
m5data.io_cursor_prv = m5data.io_cursor;
|
|
||||||
m5data.io_cursor = (m5data.io_cursor >= 6)?(0):(m5data.io_cursor + 1);
|
|
||||||
set_cursor_position();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_SWITCH:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
switch (m5data.io_mode) //输入、输出模式切换
|
|
||||||
{
|
|
||||||
case IO_OUTPUT:
|
|
||||||
{
|
|
||||||
switch (m5data.output_mode) //功能切换
|
|
||||||
{
|
|
||||||
case SIG_VOLTAGE:
|
|
||||||
{
|
|
||||||
cursor_temp = (uint8_t)m5data.output_mode_type;
|
|
||||||
cursor_temp = !cursor_temp;
|
|
||||||
m5data.output_mode_type = (SIG_FUNCTIONS_TYPE)cursor_temp;
|
|
||||||
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_CURRENT:
|
|
||||||
{
|
|
||||||
m5data.output_mode_type = CURRENT_MA;
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_RESISTANT: //电阻
|
|
||||||
{
|
|
||||||
m5data.output_mode_type = RESISTANT_OHM;
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_FREQUENCE: //频率
|
|
||||||
{
|
|
||||||
m5data.output_mode_type = FREQUENCE_KHZ;
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_TC: //热电偶
|
|
||||||
{
|
|
||||||
cursor_temp = (uint8_t)m5data.output_mode_type;
|
|
||||||
cursor_temp = (cursor_temp >= 12)?(5):(cursor_temp + 1);
|
|
||||||
m5data.output_mode_type = (SIG_FUNCTIONS_TYPE)cursor_temp;
|
|
||||||
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_RTD: //热电阻
|
|
||||||
{
|
|
||||||
m5data.output_mode_type = RTD_DC;
|
|
||||||
set_working_mode(m5data.output_mode, m5data.output_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case IO_INPUT:
|
|
||||||
{
|
|
||||||
switch (m5data.input_mode)
|
|
||||||
{
|
|
||||||
case SIG_VOLTAGE:
|
|
||||||
{
|
|
||||||
cursor_temp = (uint8_t)m5data.input_mode_type;
|
|
||||||
cursor_temp = !cursor_temp;
|
|
||||||
m5data.input_mode_type = (SIG_FUNCTIONS_TYPE)cursor_temp;
|
|
||||||
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_CURRENT:
|
|
||||||
{
|
|
||||||
m5data.input_mode_type = CURRENT_MA;
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_RESISTANT: //电阻
|
|
||||||
{
|
|
||||||
m5data.input_mode_type = RESISTANT_OHM;
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_FREQUENCE: //频率
|
|
||||||
{
|
|
||||||
m5data.input_mode_type = FREQUENCE_KHZ;
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_TC: //热电偶
|
|
||||||
{
|
|
||||||
cursor_temp = (uint8_t)m5data.input_mode_type;
|
|
||||||
cursor_temp = (cursor_temp >= 12)?(5):(cursor_temp + 1);
|
|
||||||
m5data.input_mode_type = (SIG_FUNCTIONS_TYPE)cursor_temp;
|
|
||||||
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIG_RTD: //热电阻
|
|
||||||
{
|
|
||||||
m5data.input_mode_type = RTD_DC;
|
|
||||||
set_working_mode(m5data.input_mode, m5data.input_mode_type);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_SOURCE:
|
|
||||||
{
|
|
||||||
//电源开关靠硬件电路实现,此处可做预留
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_DOWN:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
if(m5data.io_mode == IO_INPUT)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if NIXIE_CUBE_ENABLE
|
|
||||||
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
|
|
||||||
m5data.twk_cnt = 0; //每次按下后闪烁计数清零
|
|
||||||
#endif
|
|
||||||
|
|
||||||
keyset_output(-1);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_BACK: //闲置,预留
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_ALL: //闲置,预留
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_NONE: //闲置,预留
|
|
||||||
{
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t init_step = 0;
|
uint8_t init_step = 0;
|
||||||
void scr_init_run(void)
|
void scr_init_run(void)
|
||||||
|
@ -575,6 +137,9 @@ void scr_init_run(void)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
|
current_operation = OPENNING_ANIME;
|
||||||
|
key_config_update(current_operation);
|
||||||
|
|
||||||
if( init_set_bar(0, 35, 1200) )
|
if( init_set_bar(0, 35, 1200) )
|
||||||
{
|
{
|
||||||
init_step = 1;
|
init_step = 1;
|
||||||
|
@ -745,7 +310,6 @@ void scr_main_run(void)
|
||||||
|
|
||||||
#if EEPROM_MONITOR_ENABLE
|
#if EEPROM_MONITOR_ENABLE
|
||||||
//eeprom状态监控,置于运行时间显示内部
|
//eeprom状态监控,置于运行时间显示内部
|
||||||
uint8_t ee_status_test = 0;
|
|
||||||
void eep_status_monitor(void)
|
void eep_status_monitor(void)
|
||||||
{
|
{
|
||||||
EEPROM_CS_L;
|
EEPROM_CS_L;
|
||||||
|
@ -757,7 +321,7 @@ void eep_status_monitor(void)
|
||||||
EEPROM_CS_L;
|
EEPROM_CS_L;
|
||||||
delay_cnt(10);
|
delay_cnt(10);
|
||||||
eeprom_spi_writebyte(READ_STATUS);
|
eeprom_spi_writebyte(READ_STATUS);
|
||||||
ee_status_test = eeprom_spi_readbyte();
|
system_sts.eeprom_current_status = eeprom_spi_readbyte();
|
||||||
delay_cnt(10);
|
delay_cnt(10);
|
||||||
EEPROM_CS_H;
|
EEPROM_CS_H;
|
||||||
}
|
}
|
||||||
|
@ -1366,6 +930,10 @@ void io_on2off_status(void)
|
||||||
|
|
||||||
void scr_main_recover(void)
|
void scr_main_recover(void)
|
||||||
{
|
{
|
||||||
|
//当前操作切换至“主要功能”,使能所有按键
|
||||||
|
current_operation = MAIN_FUNCTION;
|
||||||
|
key_config_update(current_operation);
|
||||||
|
|
||||||
// 运行时间 和 电池电量 在主界面的函数中已存在,无需额外恢复
|
// 运行时间 和 电池电量 在主界面的函数中已存在,无需额外恢复
|
||||||
//恢复默认工作模式
|
//恢复默认工作模式
|
||||||
m5data.io_mode = IO_OUTPUT;
|
m5data.io_mode = IO_OUTPUT;
|
||||||
|
@ -1386,22 +954,8 @@ void scr_main_recover(void)
|
||||||
scr_main_color_update();
|
scr_main_color_update();
|
||||||
|
|
||||||
//熄灭设置界面的选项卡缓存(隐藏式切换界面)
|
//熄灭设置界面的选项卡缓存(隐藏式切换界面)
|
||||||
setting_items_check(99, tabdata.item_cursor);
|
setting_items_check(ITEM_NONE, tabdata.item_cursor);
|
||||||
tabdata.item_cursor = 0;
|
|
||||||
tabdata.item_cursor_prv = 99;
|
|
||||||
|
|
||||||
//使能所有按键
|
|
||||||
key_config(KEY_UP, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_DOWN, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_OK, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_BACK, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_LEFT, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_RIGHT, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_IN, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_OUT, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_SOURCE, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_MENU, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_SWITCH, KEY_STATUS_ENABLE);
|
|
||||||
key = 0;
|
key = 0;
|
||||||
key_char2struct();
|
key_char2struct();
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,13 +15,14 @@ int32_t color_table[7] =
|
||||||
//设置菜单数据初始化
|
//设置菜单数据初始化
|
||||||
void tab_data_init(void)
|
void tab_data_init(void)
|
||||||
{
|
{
|
||||||
tabdata.item_cursor = 0; //选项卡的游标(焦点)
|
tabdata.item_cursor = ITEM_0; //选项卡的游标(焦点)
|
||||||
tabdata.item_cursor_prv = 99; //前一刻的选项卡游标
|
tabdata.item_cursor_prv = ITEM_0; //前一刻的选项卡游标
|
||||||
tabdata.item_page = 1; //当前页
|
tabdata.item_page = 1; //当前页
|
||||||
tabdata.item_page_prv = 1; //前一页
|
tabdata.item_page_prv = 1; //前一页
|
||||||
tabdata.content_cursor = 99; //某一选项卡内部的游标
|
tabdata.content_cursor = 0; //某一选项卡内部的游标
|
||||||
tabdata.content_cursor_prv = 99; //前一刻的~
|
tabdata.content_cursor_prv = 99; //前一刻的~
|
||||||
tabdata.content_focus = 0; //默认无焦点
|
tabdata.content_focus = 0; //默认无焦点
|
||||||
|
tabdata.current_content = CONTENT_EMPTY; //当前指向内容,枚举类型
|
||||||
|
|
||||||
//设置界面的初始默认值
|
//设置界面的初始默认值
|
||||||
|
|
||||||
|
@ -66,7 +67,7 @@ void eeprom_item_data_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
//读取过程中出现过错误,或者触发复位
|
//读取过程中出现过错误,或者触发复位
|
||||||
if( (eeprom_rd_error_flag == 1)||(tabdata.item2_page0_resetflag == 1) )
|
if( (system_sts.eeprom_read_error == 1)||(tabdata.item2_page0_resetflag == 1) )
|
||||||
{
|
{
|
||||||
tabdata.item0_page0_vup[0] = VOL[0].up; //电压V上限
|
tabdata.item0_page0_vup[0] = VOL[0].up; //电压V上限
|
||||||
tabdata.item0_page0_vlow[0] = VOL[0].low; //电压V下限
|
tabdata.item0_page0_vlow[0] = VOL[0].low; //电压V下限
|
||||||
|
@ -112,521 +113,44 @@ void eeprom_item_data_init(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//KEY_SETTING
|
|
||||||
void key_functions_setting(void)
|
|
||||||
{
|
|
||||||
if( key_pv.status == KEY_STATUS_DISABLE ) return;
|
|
||||||
|
|
||||||
switch (key_pv.tag)
|
|
||||||
{
|
|
||||||
case KEY_BACK:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
//从设置界面返回主界面
|
void setting_items_check(ITEMS cursor, ITEMS cursor_prv)
|
||||||
if(tabdata.content_cursor == 99)
|
|
||||||
{
|
|
||||||
//加载主界面
|
|
||||||
lv_scr_load(guider_ui.screen_main);
|
|
||||||
scr_main_recover();
|
|
||||||
lv_obj_clear_flag(guider_ui.screen_main, LV_OBJ_FLAG_HIDDEN);
|
|
||||||
|
|
||||||
//隐藏设置界面对象
|
|
||||||
lv_obj_add_flag(guider_ui.screen_setting, LV_OBJ_FLAG_HIDDEN);
|
|
||||||
|
|
||||||
m5data.scr_now = SCREEN_MAIN;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//当不存在焦点时,从内容选择返回选项卡选择
|
|
||||||
if(tabdata.content_focus == 0)
|
|
||||||
{
|
|
||||||
//熄灭当前选中的内容
|
|
||||||
setting_contents_check(99, tabdata.content_cursor);
|
|
||||||
|
|
||||||
//取消内容选中与焦点
|
|
||||||
tabdata.content_cursor = 99;
|
|
||||||
tabdata.content_cursor_prv = 99;
|
|
||||||
tabdata.item_page = 1;
|
|
||||||
tabdata.item_page_prv = 1;
|
|
||||||
tabdata.content_focus = 0;
|
|
||||||
|
|
||||||
//进入选项卡选择状态
|
|
||||||
key_config(KEY_UP, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_DOWN, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_OK, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_BACK, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_LEFT, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_RIGHT, KEY_STATUS_ENABLE);
|
|
||||||
|
|
||||||
key_config(KEY_IN, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_OUT, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_SOURCE, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_MENU, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_SWITCH, KEY_STATUS_DISABLE);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//当存在焦点时,取消焦点,返回内容选择
|
|
||||||
tabdata.content_focus = 0;
|
|
||||||
setting_contents_check(tabdata.content_cursor, 99);
|
|
||||||
|
|
||||||
//更新当前游标所在内容的文本(焦点前后不一致)
|
|
||||||
uint8_t inner_cursor = 0;
|
|
||||||
inner_cursor = tabdata.content_cursor + (tabdata.item_page - 1) * 6;
|
|
||||||
switch (tabdata.item_cursor)
|
|
||||||
{
|
|
||||||
case ITEMS_0:
|
|
||||||
{
|
|
||||||
set_item0_text(inner_cursor);
|
|
||||||
|
|
||||||
if(inner_cursor == VOL_UNIT_SET)
|
|
||||||
{
|
|
||||||
set_item0_text(VOL_UP_SET);
|
|
||||||
set_item0_text(VOL_LOW_SET);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(inner_cursor == TC_TYPE_SET)
|
|
||||||
{
|
|
||||||
set_item0_text(TC_UP_SET);
|
|
||||||
set_item0_text(TC_LOW_SET);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_1:
|
|
||||||
{
|
|
||||||
set_item1_text(inner_cursor);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_2:
|
|
||||||
{
|
|
||||||
if( (inner_cursor == INPUT_LOG)||(inner_cursor == OUTPUT_LOG) )
|
|
||||||
{
|
|
||||||
setting_items_page(ITEMS_2, 1);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
set_item2_text(inner_cursor);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_3:
|
|
||||||
{
|
|
||||||
set_item3_text(inner_cursor);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
//进入内容选择状态
|
|
||||||
key_config(KEY_UP, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_DOWN, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_OK, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_BACK, KEY_STATUS_ENABLE);
|
|
||||||
|
|
||||||
key_config(KEY_LEFT, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_RIGHT, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_IN, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_OUT, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_SOURCE, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_MENU, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_SWITCH, KEY_STATUS_DISABLE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_UP:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
//内部游标为99时,说明未选中任何一个选项卡,此时的up和down用于切换选项卡
|
|
||||||
if(tabdata.content_cursor == 99)
|
|
||||||
{
|
|
||||||
tabdata.item_cursor_prv = tabdata.item_cursor;
|
|
||||||
tabdata.item_cursor = (tabdata.item_cursor <= 0)?(3):(tabdata.item_cursor - 1);
|
|
||||||
|
|
||||||
setting_items_check(tabdata.item_cursor, tabdata.item_cursor_prv);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//某个选项卡被选中后,某个内容被焦点前,在此处选择内容值
|
|
||||||
if(tabdata.content_focus == 0)
|
|
||||||
{
|
|
||||||
switch (tabdata.item_cursor)
|
|
||||||
{
|
|
||||||
case ITEMS_0:
|
|
||||||
{
|
|
||||||
tabdata.content_cursor_prv = tabdata.content_cursor;
|
|
||||||
tabdata.content_cursor = ( (tabdata.content_cursor - 1) < 0)?(5):(tabdata.content_cursor - 1);
|
|
||||||
|
|
||||||
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_1:
|
|
||||||
{
|
|
||||||
tabdata.content_cursor_prv = tabdata.content_cursor;
|
|
||||||
tabdata.content_cursor = ( (tabdata.content_cursor - 1) < 0)?(3):(tabdata.content_cursor - 1);
|
|
||||||
|
|
||||||
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_2:
|
|
||||||
{
|
|
||||||
tabdata.content_cursor_prv = tabdata.content_cursor;
|
|
||||||
tabdata.content_cursor = ( (tabdata.content_cursor - 1) < 0)?(3):(tabdata.content_cursor - 1);
|
|
||||||
|
|
||||||
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_3:
|
|
||||||
{
|
|
||||||
tabdata.content_cursor_prv = tabdata.content_cursor;
|
|
||||||
tabdata.content_cursor = ( (tabdata.content_cursor - 1) < 0)?(1):(tabdata.content_cursor - 1);
|
|
||||||
|
|
||||||
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//某个内容被焦点后,使用 KEY_LEFT 和 KEY_RIGHT 修改内容,禁用 KEY_UP 和 KEY_DOWN
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_DOWN:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
//内部游标为99时,说明未选中任何一个选项卡,此时的up和down用于切换选项卡
|
|
||||||
if(tabdata.content_cursor == 99)
|
|
||||||
{
|
|
||||||
tabdata.item_cursor_prv = tabdata.item_cursor;
|
|
||||||
tabdata.item_cursor = (tabdata.item_cursor >= 3)?(0):(tabdata.item_cursor + 1);
|
|
||||||
|
|
||||||
setting_items_check(tabdata.item_cursor, tabdata.item_cursor_prv);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(tabdata.content_focus == 0)
|
|
||||||
{
|
|
||||||
//某个内容被焦点前,在此处选择内容值
|
|
||||||
switch (tabdata.item_cursor)
|
|
||||||
{
|
|
||||||
case ITEMS_0:
|
|
||||||
{
|
|
||||||
tabdata.content_cursor_prv = tabdata.content_cursor;
|
|
||||||
tabdata.content_cursor = ( (tabdata.content_cursor + 1) > 5)?(0):(tabdata.content_cursor + 1);
|
|
||||||
|
|
||||||
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_1:
|
|
||||||
{
|
|
||||||
tabdata.content_cursor_prv = tabdata.content_cursor;
|
|
||||||
tabdata.content_cursor = ( (tabdata.content_cursor + 1) > 3)?(0):(tabdata.content_cursor + 1);
|
|
||||||
|
|
||||||
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_2:
|
|
||||||
{
|
|
||||||
tabdata.content_cursor_prv = tabdata.content_cursor;
|
|
||||||
tabdata.content_cursor = ( (tabdata.content_cursor + 1) > 3)?(0):(tabdata.content_cursor + 1);
|
|
||||||
|
|
||||||
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_3:
|
|
||||||
{
|
|
||||||
tabdata.content_cursor_prv = tabdata.content_cursor;
|
|
||||||
tabdata.content_cursor = ( (tabdata.content_cursor + 1) > 1)?(0):(tabdata.content_cursor + 1);
|
|
||||||
|
|
||||||
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//某个内容被焦点后,使用 KEY_LEFT 和 KEY_RIGHT 修改内容,禁用 KEY_UP 和 KEY_DOWN
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_OK:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
if(tabdata.content_cursor == 99)
|
|
||||||
{
|
|
||||||
//选中某个选项卡后,点亮该选项卡内的第一个内容
|
|
||||||
tabdata.content_cursor = 0;
|
|
||||||
tabdata.content_cursor_prv = 99;
|
|
||||||
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
|
|
||||||
|
|
||||||
//进入内容选择状态
|
|
||||||
key_config(KEY_UP, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_DOWN, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_OK, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_BACK, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_LEFT, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_RIGHT, KEY_STATUS_ENABLE);
|
|
||||||
|
|
||||||
key_config(KEY_IN, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_OUT, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_SOURCE, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_MENU, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_SWITCH, KEY_STATUS_DISABLE);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//选中选项卡内的某个内容后,焦点当前选中内容
|
|
||||||
tabdata.content_focus = 1;
|
|
||||||
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
|
|
||||||
|
|
||||||
//焦点后更新所选内容的文本
|
|
||||||
uint8_t inner_cursor = 0;
|
|
||||||
inner_cursor = tabdata.content_cursor + (tabdata.item_page - 1) * 6;
|
|
||||||
switch (tabdata.item_cursor)
|
|
||||||
{
|
|
||||||
case ITEMS_0:
|
|
||||||
{
|
|
||||||
set_item0_text(inner_cursor);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_1:
|
|
||||||
{
|
|
||||||
set_item1_text(inner_cursor);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_2:
|
|
||||||
{
|
|
||||||
set_item2_text(inner_cursor);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_3:
|
|
||||||
{
|
|
||||||
set_item3_text(inner_cursor);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
//进入内容修改状态
|
|
||||||
key_config(KEY_LEFT, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_RIGHT, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_BACK, KEY_STATUS_ENABLE);
|
|
||||||
|
|
||||||
key_config(KEY_OK, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_UP, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_DOWN, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_IN, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_OUT, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_SOURCE, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_MENU, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_SWITCH, KEY_STATUS_DISABLE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_LEFT:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
if( tabdata.content_cursor == 99 )
|
|
||||||
{
|
|
||||||
//选项卡未选中时,直接返回
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(tabdata.content_focus == 0)
|
|
||||||
{
|
|
||||||
//不存在焦点时,执行翻页操作
|
|
||||||
switch (tabdata.item_cursor)
|
|
||||||
{
|
|
||||||
case ITEMS_0:
|
|
||||||
{
|
|
||||||
tabdata.item_page_prv = tabdata.item_page;
|
|
||||||
tabdata.item_page = ( (tabdata.item_page - 1) <= 0)?(3):(tabdata.item_page - 1);
|
|
||||||
|
|
||||||
setting_items_page(ITEMS_0, tabdata.item_page);
|
|
||||||
|
|
||||||
//翻页后内容游标变为第一个
|
|
||||||
tabdata.content_cursor_prv = tabdata.content_cursor;
|
|
||||||
tabdata.content_cursor = 0;
|
|
||||||
setting_contents_check(99, tabdata.content_cursor_prv);
|
|
||||||
setting_contents_check(tabdata.content_cursor, 99);
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_1:
|
|
||||||
{}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_2:
|
|
||||||
{}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_3:
|
|
||||||
{}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//存在焦点后,修改内容
|
|
||||||
uint8_t inner_cursor = 0;
|
|
||||||
inner_cursor = tabdata.content_cursor + (tabdata.item_page - 1) * 6;
|
|
||||||
setting_contents_modify(tabdata.item_cursor, inner_cursor, -1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_RIGHT:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
|
|
||||||
if( tabdata.content_cursor == 99 )
|
|
||||||
{
|
|
||||||
//选项卡未选中时,直接返回
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(tabdata.content_focus == 0)
|
|
||||||
{
|
|
||||||
//翻页
|
|
||||||
switch (tabdata.item_cursor)
|
|
||||||
{
|
|
||||||
case ITEMS_0:
|
|
||||||
{
|
|
||||||
tabdata.item_page_prv = tabdata.item_page;
|
|
||||||
tabdata.item_page = ( (tabdata.item_page + 1) >= 4)?(1):(tabdata.item_page + 1);
|
|
||||||
|
|
||||||
setting_items_page(ITEMS_0, tabdata.item_page);
|
|
||||||
|
|
||||||
//翻页后内容游标变为第一个
|
|
||||||
tabdata.content_cursor_prv = tabdata.content_cursor;
|
|
||||||
tabdata.content_cursor = 0;
|
|
||||||
setting_contents_check(99, tabdata.content_cursor_prv);
|
|
||||||
setting_contents_check(tabdata.content_cursor, 99);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_1:
|
|
||||||
{}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_2:
|
|
||||||
{}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ITEMS_3:
|
|
||||||
{}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//修改内容
|
|
||||||
uint8_t inner_cursor = 0;
|
|
||||||
inner_cursor = tabdata.content_cursor + (tabdata.item_page - 1) * 6;
|
|
||||||
setting_contents_modify(tabdata.item_cursor, inner_cursor, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_NONE:
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
|
||||||
{
|
|
||||||
key = 0;
|
|
||||||
key_char2struct();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void setting_items_check(uint8_t cursor, uint8_t cursor_prv)
|
|
||||||
{
|
{
|
||||||
tabdata.item_page = 1;
|
tabdata.item_page = 1;
|
||||||
|
|
||||||
//操作选项卡
|
//操作选项卡
|
||||||
switch (cursor) //点亮选项卡,刷新当前选项卡内容至第1页
|
switch (cursor) //点亮选项卡,刷新当前选项卡内容至第1页
|
||||||
{
|
{
|
||||||
case ITEMS_0:
|
case ITEM_0:
|
||||||
{
|
{
|
||||||
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s0, lv_color_hex(COLOR_ITEMS_CHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s0, lv_color_hex(COLOR_ITEMS_CHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
|
||||||
setting_items_page(ITEMS_0, 1);
|
setting_items_page(ITEM_0, 1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_1:
|
case ITEM_1:
|
||||||
{
|
{
|
||||||
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s1, lv_color_hex(COLOR_ITEMS_CHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s1, lv_color_hex(COLOR_ITEMS_CHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
|
||||||
setting_items_page(ITEMS_1, 1);
|
setting_items_page(ITEM_1, 1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_2:
|
case ITEM_2:
|
||||||
{
|
{
|
||||||
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s2, lv_color_hex(COLOR_ITEMS_CHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s2, lv_color_hex(COLOR_ITEMS_CHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
|
||||||
setting_items_page(ITEMS_2, 1);
|
setting_items_page(ITEM_2, 1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_3:
|
case ITEM_3:
|
||||||
{
|
{
|
||||||
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s3, lv_color_hex(COLOR_ITEMS_CHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s3, lv_color_hex(COLOR_ITEMS_CHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
|
||||||
setting_items_page(ITEMS_3, 1);
|
setting_items_page(ITEM_3, 1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -636,25 +160,25 @@ void setting_items_check(uint8_t cursor, uint8_t cursor_prv)
|
||||||
|
|
||||||
switch (cursor_prv) //熄灭前一时刻选项卡,并隐藏选项卡内容(已在 setting_items_page 中实现)
|
switch (cursor_prv) //熄灭前一时刻选项卡,并隐藏选项卡内容(已在 setting_items_page 中实现)
|
||||||
{
|
{
|
||||||
case ITEMS_0:
|
case ITEM_0:
|
||||||
{
|
{
|
||||||
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s0, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s0, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_1:
|
case ITEM_1:
|
||||||
{
|
{
|
||||||
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s1, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s1, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_2:
|
case ITEM_2:
|
||||||
{
|
{
|
||||||
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s2, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s2, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_3:
|
case ITEM_3:
|
||||||
{
|
{
|
||||||
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s3, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_s3, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
}
|
}
|
||||||
|
@ -667,10 +191,10 @@ void setting_items_check(uint8_t cursor, uint8_t cursor_prv)
|
||||||
}
|
}
|
||||||
|
|
||||||
//当前选项卡内容翻页:隐藏当前页,显示目标页page
|
//当前选项卡内容翻页:隐藏当前页,显示目标页page
|
||||||
void setting_items_page(uint8_t ite, uint8_t page)
|
void setting_items_page(ITEMS ite, uint8_t page)
|
||||||
{
|
{
|
||||||
//特殊处理,避免其他选项卡也被染上颜色
|
//特殊处理,避免其他选项卡也被染上颜色
|
||||||
if(ite != ITEMS_1)
|
if(ite != ITEM_1)
|
||||||
{
|
{
|
||||||
set_obj_color(guider_ui.screen_setting_label_21, 7);
|
set_obj_color(guider_ui.screen_setting_label_21, 7);
|
||||||
set_obj_color(guider_ui.screen_setting_label_31, 7);
|
set_obj_color(guider_ui.screen_setting_label_31, 7);
|
||||||
|
@ -678,7 +202,7 @@ void setting_items_page(uint8_t ite, uint8_t page)
|
||||||
|
|
||||||
switch (ite)
|
switch (ite)
|
||||||
{
|
{
|
||||||
case ITEMS_0:
|
case ITEM_0:
|
||||||
{
|
{
|
||||||
//启用所需组件
|
//启用所需组件
|
||||||
if( lv_obj_has_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN); };
|
if( lv_obj_has_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN); };
|
||||||
|
@ -817,11 +341,11 @@ void setting_items_page(uint8_t ite, uint8_t page)
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新页码
|
//更新页码
|
||||||
set_item0_text(PAGE_PV);
|
set_item0_text(PAGE_PV_ITEM_0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_1:
|
case ITEM_1:
|
||||||
{
|
{
|
||||||
//启用所需组件
|
//启用所需组件
|
||||||
if( lv_obj_has_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN); };
|
if( lv_obj_has_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN); };
|
||||||
|
@ -881,11 +405,11 @@ void setting_items_page(uint8_t ite, uint8_t page)
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新页码
|
//更新页码
|
||||||
set_item1_text(PAGE_PV);
|
set_item1_text(PAGE_PV_ITEM_1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_2:
|
case ITEM_2:
|
||||||
{
|
{
|
||||||
//启用所需组件
|
//启用所需组件
|
||||||
if( lv_obj_has_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN); };
|
if( lv_obj_has_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN); };
|
||||||
|
@ -944,11 +468,11 @@ void setting_items_page(uint8_t ite, uint8_t page)
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新页码
|
//更新页码
|
||||||
set_item2_text(PAGE_PV);
|
set_item2_text(PAGE_PV_ITEM_2);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_3:
|
case ITEM_3:
|
||||||
{
|
{
|
||||||
//启用所需组件
|
//启用所需组件
|
||||||
if( lv_obj_has_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN); };
|
if( lv_obj_has_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN); };
|
||||||
|
@ -1001,7 +525,7 @@ void setting_items_page(uint8_t ite, uint8_t page)
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新页码
|
//更新页码
|
||||||
set_item3_text(PAGE_PV);
|
set_item3_text(PAGE_PV_ITEM_3);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1034,13 +558,12 @@ void setting_contents_check(uint8_t cursor, uint8_t cursor_prv)
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置界面选项卡内部内容选中之后,修改内容,修改第ite个选项卡的第con个内容
|
//设置界面选项卡内部内容选中之后,修改内容,修改第ite个选项卡的第con个内容
|
||||||
uint8_t log_page = 1;
|
void setting_contents_modify(ITEMS ite, ITEM_CONTENTS con, int8_t step)
|
||||||
void setting_contents_modify(uint8_t ite, uint8_t con, int8_t step)
|
|
||||||
{
|
{
|
||||||
//选中某一选项卡后,对选项卡内部的内容进行选择
|
//选中某一选项卡后,对选项卡内部的内容进行选择
|
||||||
switch (ite)
|
switch (ite)
|
||||||
{
|
{
|
||||||
case ITEMS_0:
|
case ITEM_0:
|
||||||
{
|
{
|
||||||
set_item0_value(con, step);
|
set_item0_value(con, step);
|
||||||
set_item0_text(con);
|
set_item0_text(con);
|
||||||
|
@ -1050,7 +573,7 @@ void setting_contents_modify(uint8_t ite, uint8_t con, int8_t step)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_1:
|
case ITEM_1:
|
||||||
{
|
{
|
||||||
set_item1_value(con, step);
|
set_item1_value(con, step);
|
||||||
set_item1_text(con);
|
set_item1_text(con);
|
||||||
|
@ -1060,36 +583,14 @@ void setting_contents_modify(uint8_t ite, uint8_t con, int8_t step)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_2:
|
case ITEM_2:
|
||||||
{
|
{
|
||||||
if( con == INPUT_LOG )
|
|
||||||
{
|
|
||||||
log_page += step;
|
|
||||||
if(log_page > 10) log_page = 1;
|
|
||||||
if(log_page < 1) log_page = 10;
|
|
||||||
|
|
||||||
show_IO_log(IO_INPUT, log_page);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (con == OUTPUT_LOG)
|
|
||||||
{
|
|
||||||
log_page += step;
|
|
||||||
if(log_page > 10) log_page = 1;
|
|
||||||
if(log_page < 1) log_page = 10;
|
|
||||||
|
|
||||||
show_IO_log(IO_OUTPUT, log_page);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
set_item2_value(con, step);
|
set_item2_value(con, step);
|
||||||
set_item2_text(con);
|
set_item2_text(con);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEMS_3:
|
case ITEM_3:
|
||||||
{
|
{
|
||||||
set_item3_value(con, step);
|
set_item3_value(con, step);
|
||||||
set_item3_text(con);
|
set_item3_text(con);
|
||||||
|
@ -1102,7 +603,7 @@ void setting_contents_modify(uint8_t ite, uint8_t con, int8_t step)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置内容的底色
|
//设置修改项的底色,表示选中和焦点
|
||||||
void set_contents_color(uint8_t cursor, uint32_t color)
|
void set_contents_color(uint8_t cursor, uint32_t color)
|
||||||
{
|
{
|
||||||
switch (cursor)
|
switch (cursor)
|
||||||
|
@ -1150,28 +651,20 @@ void set_contents_color(uint8_t cursor, uint32_t color)
|
||||||
|
|
||||||
void scr_setting_recover(void)
|
void scr_setting_recover(void)
|
||||||
{
|
{
|
||||||
|
//当前操作切换至“选项卡选择”,按键配置同步更新
|
||||||
|
current_operation = SET_ITEM_CHOOSE;
|
||||||
|
key_config_update(current_operation);
|
||||||
|
|
||||||
//在这里恢复选项卡0第1页的显示内容
|
//在这里恢复选项卡0第1页的显示内容
|
||||||
tabdata.item_cursor = 0;
|
tabdata.item_cursor = ITEM_0;
|
||||||
tabdata.item_cursor_prv = 99;
|
tabdata.item_cursor_prv = ITEM_NONE;
|
||||||
setting_items_check(tabdata.item_cursor, tabdata.item_cursor_prv);
|
setting_items_check(tabdata.item_cursor, tabdata.item_cursor_prv);
|
||||||
|
|
||||||
setting_laguage_switch(tabdata.item3_page0_language);
|
setting_laguage_switch(tabdata.item3_page0_language);
|
||||||
|
|
||||||
tabdata.item_page = 1;
|
tabdata.item_page = 1;
|
||||||
setting_items_page(ITEMS_0 ,tabdata.item_page);
|
setting_items_page(ITEM_0 ,tabdata.item_page);
|
||||||
|
|
||||||
key_config(KEY_UP, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_DOWN, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_OK, KEY_STATUS_ENABLE);
|
|
||||||
key_config(KEY_BACK, KEY_STATUS_ENABLE);
|
|
||||||
|
|
||||||
key_config(KEY_LEFT, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_RIGHT, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_IN, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_OUT, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_SOURCE, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_MENU, KEY_STATUS_DISABLE);
|
|
||||||
key_config(KEY_SWITCH, KEY_STATUS_DISABLE);
|
|
||||||
key = 0;
|
key = 0;
|
||||||
key_char2struct();
|
key_char2struct();
|
||||||
}
|
}
|
||||||
|
@ -1186,10 +679,9 @@ void scr_setting_run(void) //详细设置界面
|
||||||
}
|
}
|
||||||
|
|
||||||
//执行保存功能
|
//执行保存功能
|
||||||
|
uint8_t save_step = 0;
|
||||||
void deal_data_save(void)
|
void deal_data_save(void)
|
||||||
{
|
{
|
||||||
uint8_t save_step = 0;
|
|
||||||
|
|
||||||
if(tabdata.item2_page0_saveflag == 1)
|
if(tabdata.item2_page0_saveflag == 1)
|
||||||
{
|
{
|
||||||
if(save_step == 0)
|
if(save_step == 0)
|
||||||
|
@ -1210,7 +702,7 @@ void deal_data_save(void)
|
||||||
{
|
{
|
||||||
save_cnt = 0;
|
save_cnt = 0;
|
||||||
|
|
||||||
if(eeprom_wrt_error_flag == 0)
|
if(system_sts.eeprom_write_error == 0)
|
||||||
{
|
{
|
||||||
//未出错
|
//未出错
|
||||||
tabdata.item2_page0_saveflag = 2;
|
tabdata.item2_page0_saveflag = 2;
|
||||||
|
@ -1227,17 +719,18 @@ void deal_data_save(void)
|
||||||
|
|
||||||
//使能所有按键
|
//使能所有按键
|
||||||
key_config(KEY_ALL, KEY_STATUS_ENABLE);
|
key_config(KEY_ALL, KEY_STATUS_ENABLE);
|
||||||
|
|
||||||
|
save_step = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t reset_step = 0;
|
||||||
//执行复位功能
|
//执行复位功能
|
||||||
void deal_data_reset(void)
|
void deal_data_reset(void)
|
||||||
{
|
{
|
||||||
uint8_t reset_step = 0;
|
|
||||||
|
|
||||||
if(tabdata.item2_page0_resetflag == 1)
|
if(tabdata.item2_page0_resetflag == 1)
|
||||||
{
|
{
|
||||||
if(reset_step == 0)
|
if(reset_step == 0)
|
||||||
|
@ -1303,6 +796,8 @@ void deal_data_reset(void)
|
||||||
|
|
||||||
//使能所有按键
|
//使能所有按键
|
||||||
key_config(KEY_ALL, KEY_STATUS_ENABLE);
|
key_config(KEY_ALL, KEY_STATUS_ENABLE);
|
||||||
|
|
||||||
|
reset_step = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1310,7 +805,7 @@ void deal_data_reset(void)
|
||||||
|
|
||||||
//设置界面语言切换(主界面的语言切换在set_working_mode内)
|
//设置界面语言切换(主界面的语言切换在set_working_mode内)
|
||||||
//此处用于更改标题和选项卡的语言,内容的语言切换在 set_XXX_text & set_XXX_value内
|
//此处用于更改标题和选项卡的语言,内容的语言切换在 set_XXX_text & set_XXX_value内
|
||||||
void setting_laguage_switch(uint8_t lan)
|
void setting_laguage_switch(LANGUAGES lan)
|
||||||
{
|
{
|
||||||
switch (lan)
|
switch (lan)
|
||||||
{
|
{
|
||||||
|
@ -1341,4 +836,50 @@ void setting_laguage_switch(uint8_t lan)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//内容游标 uint8_t -> enum
|
||||||
|
ITEM_CONTENTS content_cur_char2enum(ITEMS ite, uint8_t cur_uint8)
|
||||||
|
{
|
||||||
|
ITEM_CONTENTS result = CONTENT_EMPTY;
|
||||||
|
uint8_t cur_temp = 0;
|
||||||
|
|
||||||
|
cur_temp = cur_uint8 + (tabdata.item_page - 1)*6;
|
||||||
|
|
||||||
|
switch (ite)
|
||||||
|
{
|
||||||
|
case ITEM_0:
|
||||||
|
{
|
||||||
|
result = (ITEM_CONTENTS)cur_temp;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ITEM_1:
|
||||||
|
{
|
||||||
|
cur_temp += (uint8_t)SAMPLE_INTERVAL;
|
||||||
|
|
||||||
|
result = (ITEM_CONTENTS)cur_temp;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ITEM_2:
|
||||||
|
{
|
||||||
|
cur_temp += (uint8_t)DATA_SAVE;
|
||||||
|
|
||||||
|
result = (ITEM_CONTENTS)cur_temp;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ITEM_3:
|
||||||
|
{
|
||||||
|
cur_temp += (uint8_t)LIGHT_STATUS;
|
||||||
|
|
||||||
|
result = (ITEM_CONTENTS)cur_temp;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
#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 }
|
||||||
|
|
||||||
KEYS key_pv;
|
OPERATIONS current_operation;
|
||||||
PHYSICAL_QUANTITY VOL[2]; //电压,VOL[0]-V, VOL[1]-mV
|
PHYSICAL_QUANTITY VOL[2]; //电压,VOL[0]-V, VOL[1]-mV
|
||||||
PHYSICAL_QUANTITY CUR; //电流,mA
|
PHYSICAL_QUANTITY CUR; //电流,mA
|
||||||
PHYSICAL_QUANTITY RES; //电阻,Ω
|
PHYSICAL_QUANTITY RES; //电阻,Ω
|
||||||
PHYSICAL_QUANTITY FRE; //频率,KHz
|
PHYSICAL_QUANTITY FRE; //频率,KHz
|
||||||
PHYSICAL_QUANTITY TC[8]; //热电偶,共8种
|
PHYSICAL_QUANTITY TC[8]; //热电偶,共8种
|
||||||
PHYSICAL_QUANTITY RTD; //热电阻
|
PHYSICAL_QUANTITY RTD; //热电阻
|
||||||
|
SYSTEM_STATUS_WATCH system_sts; //系统状态监控
|
||||||
|
|
||||||
// 热电偶真值表,电压mV
|
// 热电偶真值表,电压mV
|
||||||
// 行:[0,7]->[K, S, N, B, E, J, R, T],列:[0,10]->[mV_Tmin,...,mV_Tmax](均分成10个间隔,11个端点)
|
// 行:[0,7]->[K, S, N, B, E, J, R, T],列:[0,10]->[mV_Tmin,...,mV_Tmax](均分成10个间隔,11个端点)
|
||||||
|
@ -842,124 +843,7 @@ void my_inits_gather(void)
|
||||||
events_init(&guider_ui); // 初始化事件
|
events_init(&guider_ui); // 初始化事件
|
||||||
}
|
}
|
||||||
|
|
||||||
//按键数据类型转换
|
|
||||||
void key_char2struct(void)
|
|
||||||
{
|
|
||||||
key_pv.value = (KEYS_VALUE)key;
|
|
||||||
|
|
||||||
switch (key_pv.value)
|
|
||||||
{
|
|
||||||
case KEY_OUT_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_OUT;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_UP_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_UP;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_MENU_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_MENU;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_IN_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_IN;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_LEFT_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_LEFT;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_OK_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_OK;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_RIGHT_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_RIGHT;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_SWITCH_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_SWITCH;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_SOURCE_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_SOURCE;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_DOWN_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_DOWN;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_BACK_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_BACK;
|
|
||||||
key_pv.status = m5data.key_sts[key_pv.tag];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_NONE_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_NONE;
|
|
||||||
key_pv.status = KEY_STATUS_DISABLE;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KEY_ALL_VAL:
|
|
||||||
{
|
|
||||||
key_pv.tag = KEY_ALL;
|
|
||||||
key_pv.status = KEY_STATUS_DISABLE;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//按键状态配置
|
|
||||||
void key_config(KEYS_TAG key_t, KEYS_STATUS sts)
|
|
||||||
{
|
|
||||||
if(key_t != KEY_ALL)
|
|
||||||
{
|
|
||||||
m5data.key_sts[key_t] = sts;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for (uint8_t i = 0; i < 11; i++)
|
|
||||||
{
|
|
||||||
m5data.key_sts[i] = sts;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -120,8 +120,6 @@ uint8_t SPI_WriteReadByte(uint8_t data)
|
||||||
return(data);
|
return(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint8_t eeprom_wrt_error_flag = 0;
|
|
||||||
void eeprom_writedata(int32_t addr_long, uint8_t txd)
|
void eeprom_writedata(int32_t addr_long, uint8_t txd)
|
||||||
{
|
{
|
||||||
uint8_t write_en_flag = 0;
|
uint8_t write_en_flag = 0;
|
||||||
|
@ -152,7 +150,7 @@ void eeprom_writedata(int32_t addr_long, uint8_t txd)
|
||||||
wait_max++;
|
wait_max++;
|
||||||
if(wait_max > 500)
|
if(wait_max > 500)
|
||||||
{
|
{
|
||||||
eeprom_wrt_error_flag = 1;
|
system_sts.eeprom_write_error = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,7 +168,6 @@ void eeprom_writedata(int32_t addr_long, uint8_t txd)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t eeprom_rd_error_flag = 0;
|
|
||||||
uint8_t eeprom_readdata(int32_t addr_long)
|
uint8_t eeprom_readdata(int32_t addr_long)
|
||||||
{
|
{
|
||||||
uint8_t rxd = 0;
|
uint8_t rxd = 0;
|
||||||
|
@ -202,7 +199,7 @@ uint8_t eeprom_readdata(int32_t addr_long)
|
||||||
wait_max++;
|
wait_max++;
|
||||||
if(wait_max > 500)
|
if(wait_max > 500)
|
||||||
{
|
{
|
||||||
eeprom_rd_error_flag = 1;
|
system_sts.eeprom_read_error = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,7 +236,7 @@ void eeprom_datasave(void)
|
||||||
eeprom_writedata(VOL_V_LOW_ADDR + 8, temp_l);
|
eeprom_writedata(VOL_V_LOW_ADDR + 8, temp_l);
|
||||||
|
|
||||||
//出现错误后,提前返回
|
//出现错误后,提前返回
|
||||||
if(eeprom_wrt_error_flag) return;
|
if(system_sts.eeprom_write_error) return;
|
||||||
|
|
||||||
//VOL mV
|
//VOL mV
|
||||||
temp_h = tabdata.item0_page0_vup[1] >> 8;
|
temp_h = tabdata.item0_page0_vup[1] >> 8;
|
||||||
|
@ -752,8 +749,8 @@ void eeprom_datasave_single(uint8_t tag)
|
||||||
case 15:
|
case 15:
|
||||||
{
|
{
|
||||||
//输入曲线颜色
|
//输入曲线颜色
|
||||||
temp_h = tabdata.item1_page0_color_input >> 8;
|
temp_h = ((uint8_t)tabdata.item1_page0_color_input) >> 8;
|
||||||
temp_l = tabdata.item1_page0_color_input & 0xFF;
|
temp_l = ((uint8_t)tabdata.item1_page0_color_input) & 0xFF;
|
||||||
eeprom_writedata(INPUT_COLOR_ADDR, temp_h);
|
eeprom_writedata(INPUT_COLOR_ADDR, temp_h);
|
||||||
eeprom_writedata(INPUT_COLOR_ADDR + 8, temp_l);
|
eeprom_writedata(INPUT_COLOR_ADDR + 8, temp_l);
|
||||||
}
|
}
|
||||||
|
@ -762,8 +759,8 @@ void eeprom_datasave_single(uint8_t tag)
|
||||||
case 16:
|
case 16:
|
||||||
{
|
{
|
||||||
//输出曲线颜色
|
//输出曲线颜色
|
||||||
temp_h = tabdata.item1_page0_color_output >> 8;
|
temp_h = ((uint8_t)tabdata.item1_page0_color_output) >> 8;
|
||||||
temp_l = tabdata.item1_page0_color_output & 0xFF;
|
temp_l = ((uint8_t)tabdata.item1_page0_color_output) & 0xFF;
|
||||||
eeprom_writedata(OUTPUT_COLOR_ADDR, temp_h);
|
eeprom_writedata(OUTPUT_COLOR_ADDR, temp_h);
|
||||||
eeprom_writedata(OUTPUT_COLOR_ADDR + 8, temp_l);
|
eeprom_writedata(OUTPUT_COLOR_ADDR + 8, temp_l);
|
||||||
}
|
}
|
||||||
|
@ -772,8 +769,8 @@ void eeprom_datasave_single(uint8_t tag)
|
||||||
case 17:
|
case 17:
|
||||||
{
|
{
|
||||||
//语言选择
|
//语言选择
|
||||||
temp_h = tabdata.item3_page0_language >> 8;
|
temp_h = ((uint8_t)tabdata.item3_page0_language) >> 8;
|
||||||
temp_l = tabdata.item3_page0_language & 0xFF;
|
temp_l = ((uint8_t)tabdata.item3_page0_language) & 0xFF;
|
||||||
eeprom_writedata(LANGUAGE_SELECT_ADDR, temp_h);
|
eeprom_writedata(LANGUAGE_SELECT_ADDR, temp_h);
|
||||||
eeprom_writedata(LANGUAGE_SELECT_ADDR + 8, temp_l);
|
eeprom_writedata(LANGUAGE_SELECT_ADDR + 8, temp_l);
|
||||||
}
|
}
|
||||||
|
@ -799,7 +796,7 @@ void eeprom_dataread(void)
|
||||||
tabdata.item0_page0_vlow[0] = ( temp_h << 8 ) + temp_l;
|
tabdata.item0_page0_vlow[0] = ( temp_h << 8 ) + temp_l;
|
||||||
|
|
||||||
//出现错误后,提前返回
|
//出现错误后,提前返回
|
||||||
if(eeprom_rd_error_flag) return;
|
if(system_sts.eeprom_read_error) return;
|
||||||
|
|
||||||
//VOL mV
|
//VOL mV
|
||||||
temp_h = eeprom_readdata(VOL_MV_UP_ADDR);
|
temp_h = eeprom_readdata(VOL_MV_UP_ADDR);
|
||||||
|
@ -931,17 +928,17 @@ void eeprom_dataread(void)
|
||||||
//输入曲线颜色
|
//输入曲线颜色
|
||||||
temp_h = eeprom_readdata(INPUT_COLOR_ADDR);
|
temp_h = eeprom_readdata(INPUT_COLOR_ADDR);
|
||||||
temp_l = eeprom_readdata(INPUT_COLOR_ADDR + 8);
|
temp_l = eeprom_readdata(INPUT_COLOR_ADDR + 8);
|
||||||
tabdata.item1_page0_color_input = ( temp_h << 8 ) + temp_l;
|
tabdata.item1_page0_color_input = (COLORS)( ( temp_h << 8 ) + temp_l );
|
||||||
|
|
||||||
//输出曲线颜色
|
//输出曲线颜色
|
||||||
temp_h = eeprom_readdata(OUTPUT_COLOR_ADDR);
|
temp_h = eeprom_readdata(OUTPUT_COLOR_ADDR);
|
||||||
temp_l = eeprom_readdata(OUTPUT_COLOR_ADDR + 8);
|
temp_l = eeprom_readdata(OUTPUT_COLOR_ADDR + 8);
|
||||||
tabdata.item1_page0_color_output = ( temp_h << 8 ) + temp_l;
|
tabdata.item1_page0_color_output = (COLORS)( ( temp_h << 8 ) + temp_l );
|
||||||
|
|
||||||
//语言选择
|
//语言选择
|
||||||
temp_h = eeprom_readdata(LANGUAGE_SELECT_ADDR);
|
temp_h = eeprom_readdata(LANGUAGE_SELECT_ADDR);
|
||||||
temp_l = eeprom_readdata(LANGUAGE_SELECT_ADDR + 8);
|
temp_l = eeprom_readdata(LANGUAGE_SELECT_ADDR + 8);
|
||||||
tabdata.item3_page0_language = ( temp_h << 8 ) + temp_l;
|
tabdata.item3_page0_language = (LANGUAGES)( ( temp_h << 8 ) + temp_l );
|
||||||
}
|
}
|
||||||
|
|
||||||
//判断EEPROM内是否已存在数据
|
//判断EEPROM内是否已存在数据
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
||||||
//该部分代码用于修改选项卡内部,右侧一列的文本
|
//该部分代码用于修改选项卡内部,右侧一列的文本
|
||||||
|
|
||||||
//修改选项卡0的文本
|
//修改选项卡0的文本
|
||||||
void set_item0_text(uint8_t con)
|
void set_item0_text(ITEM_CONTENTS con)
|
||||||
{
|
{
|
||||||
char str_temp[16] = {0};
|
char str_temp[16] = {0};
|
||||||
uint8_t enum_temp = 0;
|
uint8_t enum_temp = 0;
|
||||||
|
@ -363,7 +363,7 @@ void set_item0_text(uint8_t con)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PAGE_PV:
|
case PAGE_PV_ITEM_0:
|
||||||
{
|
{
|
||||||
sprintf(str_temp,"< %d/%d >",tabdata.item_page, I0_PAGE_MAX);
|
sprintf(str_temp,"< %d/%d >",tabdata.item_page, I0_PAGE_MAX);
|
||||||
lv_label_set_text(guider_ui.screen_setting_label_page, str_temp);
|
lv_label_set_text(guider_ui.screen_setting_label_page, str_temp);
|
||||||
|
@ -377,7 +377,7 @@ void set_item0_text(uint8_t con)
|
||||||
|
|
||||||
|
|
||||||
//修改选项卡1的文本
|
//修改选项卡1的文本
|
||||||
void set_item1_text(uint8_t con)
|
void set_item1_text(ITEM_CONTENTS con)
|
||||||
{
|
{
|
||||||
char str_temp[16] = {0};
|
char str_temp[16] = {0};
|
||||||
|
|
||||||
|
@ -444,7 +444,7 @@ void set_item1_text(uint8_t con)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PAGE_PV:
|
case PAGE_PV_ITEM_1:
|
||||||
{
|
{
|
||||||
sprintf(str_temp,"< %d/%d >",tabdata.item_page, I1_PAGE_MAX);
|
sprintf(str_temp,"< %d/%d >",tabdata.item_page, I1_PAGE_MAX);
|
||||||
lv_label_set_text(guider_ui.screen_setting_label_page, str_temp);
|
lv_label_set_text(guider_ui.screen_setting_label_page, str_temp);
|
||||||
|
@ -457,7 +457,7 @@ void set_item1_text(uint8_t con)
|
||||||
}
|
}
|
||||||
|
|
||||||
//修改选项卡2的文本
|
//修改选项卡2的文本
|
||||||
void set_item2_text(uint8_t con)
|
void set_item2_text(ITEM_CONTENTS con)
|
||||||
{
|
{
|
||||||
char str_temp[16] = {0};
|
char str_temp[16] = {0};
|
||||||
|
|
||||||
|
@ -720,28 +720,16 @@ void set_item2_text(uint8_t con)
|
||||||
case INPUT_LOG:
|
case INPUT_LOG:
|
||||||
{
|
{
|
||||||
lv_label_set_text(guider_ui.screen_setting_label_11, ">");
|
lv_label_set_text(guider_ui.screen_setting_label_11, ">");
|
||||||
|
|
||||||
if(tabdata.content_focus == 1)
|
|
||||||
{
|
|
||||||
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_11, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
show_IO_log(IO_INPUT, 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OUTPUT_LOG:
|
case OUTPUT_LOG:
|
||||||
{
|
{
|
||||||
lv_label_set_text(guider_ui.screen_setting_label_21, ">");
|
lv_label_set_text(guider_ui.screen_setting_label_21, ">");
|
||||||
|
|
||||||
if(tabdata.content_focus == 1)
|
|
||||||
{
|
|
||||||
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_21, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
show_IO_log(IO_OUTPUT, 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PAGE_PV:
|
case PAGE_PV_ITEM_2:
|
||||||
{
|
{
|
||||||
sprintf(str_temp,"< %d/%d >",tabdata.item_page, I2_PAGE_MAX);
|
sprintf(str_temp,"< %d/%d >",tabdata.item_page, I2_PAGE_MAX);
|
||||||
lv_label_set_text(guider_ui.screen_setting_label_page, str_temp);
|
lv_label_set_text(guider_ui.screen_setting_label_page, str_temp);
|
||||||
|
@ -754,7 +742,7 @@ void set_item2_text(uint8_t con)
|
||||||
}
|
}
|
||||||
|
|
||||||
//修改选项卡3的文本
|
//修改选项卡3的文本
|
||||||
void set_item3_text(uint8_t con)
|
void set_item3_text(ITEM_CONTENTS con)
|
||||||
{
|
{
|
||||||
char str_temp[16] = {0};
|
char str_temp[16] = {0};
|
||||||
|
|
||||||
|
@ -899,7 +887,7 @@ void set_item3_text(uint8_t con)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PAGE_PV:
|
case PAGE_PV_ITEM_3:
|
||||||
{
|
{
|
||||||
sprintf(str_temp,"< %d/%d >",tabdata.item_page, I3_PAGE_MAX);
|
sprintf(str_temp,"< %d/%d >",tabdata.item_page, I3_PAGE_MAX);
|
||||||
lv_label_set_text(guider_ui.screen_setting_label_page, str_temp);
|
lv_label_set_text(guider_ui.screen_setting_label_page, str_temp);
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
//该部分代码用于修改选项卡内部,右侧一列的值
|
//该部分代码用于修改选项卡内部,右侧一列的值
|
||||||
|
|
||||||
//修改选项卡0的值
|
//修改选项卡0的值
|
||||||
void set_item0_value(uint8_t con, int8_t step)
|
void set_item0_value(ITEM_CONTENTS con, int8_t step)
|
||||||
{
|
{
|
||||||
uint8_t enum_temp = 0;
|
uint8_t enum_temp = 0;
|
||||||
|
|
||||||
|
@ -238,8 +238,12 @@ void set_item0_value(uint8_t con, int8_t step)
|
||||||
//修改选项卡1的值
|
//修改选项卡1的值
|
||||||
int16_t save_cnt = 0;
|
int16_t save_cnt = 0;
|
||||||
int16_t reset_cnt = 0;
|
int16_t reset_cnt = 0;
|
||||||
void set_item1_value(uint8_t con, int8_t step)
|
void set_item1_value(ITEM_CONTENTS con, int8_t step)
|
||||||
{
|
{
|
||||||
|
uint8_t val_temp = 0;
|
||||||
|
uint8_t val_start = 0;
|
||||||
|
uint8_t val_end = 0;
|
||||||
|
|
||||||
switch (con)
|
switch (con)
|
||||||
{
|
{
|
||||||
case SAMPLE_INTERVAL:
|
case SAMPLE_INTERVAL:
|
||||||
|
@ -262,19 +266,29 @@ void set_item1_value(uint8_t con, int8_t step)
|
||||||
|
|
||||||
case INPUT_COLOR:
|
case INPUT_COLOR:
|
||||||
{
|
{
|
||||||
tabdata.item1_page0_color_input += step;
|
val_start = (uint8_t)COLOR_BLUE;
|
||||||
|
val_end = (uint8_t)COLOR_PURPLE;
|
||||||
|
val_temp = (uint8_t)tabdata.item1_page0_color_input;
|
||||||
|
val_temp += step;
|
||||||
|
|
||||||
if( tabdata.item1_page0_color_input > 5 ) tabdata.item1_page0_color_input = 0;
|
if( val_temp > val_end ) val_temp = val_start;
|
||||||
if( tabdata.item1_page0_color_input < 0 ) tabdata.item1_page0_color_input = 5;
|
if( val_temp < val_start ) val_temp = val_end;
|
||||||
|
|
||||||
|
tabdata.item1_page0_color_input = (COLORS)val_temp;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OUTPUT_COLOR:
|
case OUTPUT_COLOR:
|
||||||
{
|
{
|
||||||
tabdata.item1_page0_color_output += step;
|
val_start = (uint8_t)COLOR_BLUE;
|
||||||
|
val_end = (uint8_t)COLOR_PURPLE;
|
||||||
|
val_temp = (uint8_t)tabdata.item1_page0_color_output;
|
||||||
|
val_temp += step;
|
||||||
|
|
||||||
if( tabdata.item1_page0_color_output > 5 ) tabdata.item1_page0_color_output = 0;
|
if( val_temp > val_end ) val_temp = val_start;
|
||||||
if( tabdata.item1_page0_color_output < 0 ) tabdata.item1_page0_color_output = 5;
|
if( val_temp < val_start ) val_temp = val_end;
|
||||||
|
|
||||||
|
tabdata.item1_page0_color_output = (COLORS)val_temp;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -284,7 +298,7 @@ void set_item1_value(uint8_t con, int8_t step)
|
||||||
}
|
}
|
||||||
|
|
||||||
//修改选项卡2的值
|
//修改选项卡2的值
|
||||||
void set_item2_value(uint8_t con, int8_t step)
|
void set_item2_value(ITEM_CONTENTS con, int8_t step)
|
||||||
{
|
{
|
||||||
switch (con)
|
switch (con)
|
||||||
{
|
{
|
||||||
|
@ -313,8 +327,12 @@ void set_item2_value(uint8_t con, int8_t step)
|
||||||
}
|
}
|
||||||
|
|
||||||
//修改选项卡3的值
|
//修改选项卡3的值
|
||||||
void set_item3_value(uint8_t con, int8_t step)
|
void set_item3_value(ITEM_CONTENTS con, int8_t step)
|
||||||
{
|
{
|
||||||
|
uint8_t val_temp = 0;
|
||||||
|
uint8_t val_start = 0;
|
||||||
|
uint8_t val_end = 0;
|
||||||
|
|
||||||
switch (con)
|
switch (con)
|
||||||
{
|
{
|
||||||
case LIGHT_STATUS:
|
case LIGHT_STATUS:
|
||||||
|
@ -334,7 +352,27 @@ void set_item3_value(uint8_t con, int8_t step)
|
||||||
|
|
||||||
case LANGUAGE_SELECT:
|
case LANGUAGE_SELECT:
|
||||||
{
|
{
|
||||||
tabdata.item3_page0_language = (tabdata.item3_page0_language > 0)?(0):(tabdata.item3_page0_language + 1);
|
val_start = (uint8_t)MENU_SIMPLYFY_CHINESE;
|
||||||
|
val_end = (uint8_t)MENU_ENGLISH;
|
||||||
|
val_temp = (uint8_t)tabdata.item3_page0_language;
|
||||||
|
val_temp += step;
|
||||||
|
|
||||||
|
if( val_temp > val_end )
|
||||||
|
{
|
||||||
|
if(val_temp < 200)
|
||||||
|
{
|
||||||
|
val_temp = val_start;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
val_temp = val_end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if( val_temp < val_start ) val_temp = val_end;
|
||||||
|
|
||||||
|
tabdata.item3_page0_language = (LANGUAGES)val_temp;
|
||||||
|
|
||||||
|
|
||||||
if(tabdata.item2_page0_saveflag == 2) tabdata.item2_page0_saveflag = 0;
|
if(tabdata.item2_page0_saveflag == 2) tabdata.item2_page0_saveflag = 0;
|
||||||
if(tabdata.item2_page0_resetflag == 2) tabdata.item2_page0_resetflag = 0;
|
if(tabdata.item2_page0_resetflag == 2) tabdata.item2_page0_resetflag = 0;
|
||||||
|
|
|
@ -177,7 +177,6 @@ void StartDefaultTask(void const * argument)
|
||||||
* @param argument: Not used
|
* @param argument: Not used
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
int16_t lvgl_stack_watch = 0;
|
|
||||||
/* USER CODE END Header_start_task_lcd */
|
/* USER CODE END Header_start_task_lcd */
|
||||||
void start_task_lcd(void const * argument)
|
void start_task_lcd(void const * argument)
|
||||||
{
|
{
|
||||||
|
@ -186,9 +185,10 @@ void start_task_lcd(void const * argument)
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
lv_timer_handler(); //LVGL刷新任务
|
lv_timer_handler(); //LVGL刷新任务
|
||||||
|
|
||||||
osDelay(LVGL_BREATHE_INTERVAL);
|
osDelay(LVGL_BREATHE_INTERVAL);
|
||||||
lvgl_stack_watch = uxTaskGetStackHighWaterMark(NULL);
|
system_sts.lvgl_stack_consume = uxTaskGetStackHighWaterMark(NULL);
|
||||||
lvgl_stack_watch = 768 - lvgl_stack_watch;
|
system_sts.lvgl_stack_consume = 768 - system_sts.lvgl_stack_consume;
|
||||||
}
|
}
|
||||||
/* USER CODE END start_task_lcd */
|
/* USER CODE END start_task_lcd */
|
||||||
}
|
}
|
||||||
|
@ -262,7 +262,6 @@ void start_rs485(void const * argument)
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
uint8_t my_monitor_cnt = 0;
|
uint8_t my_monitor_cnt = 0;
|
||||||
uint32_t cpu_watch = 0, memuse_watch = 0, cpu_max = 0, memuse_max = 0;
|
|
||||||
lv_mem_monitor_t my_mon;
|
lv_mem_monitor_t my_mon;
|
||||||
/* USER CODE END Header_start_mux_analog */
|
/* USER CODE END Header_start_mux_analog */
|
||||||
void start_mux_analog(void const * argument)
|
void start_mux_analog(void const * argument)
|
||||||
|
@ -281,12 +280,11 @@ void start_mux_analog(void const * argument)
|
||||||
{
|
{
|
||||||
my_monitor_cnt = 0;
|
my_monitor_cnt = 0;
|
||||||
|
|
||||||
cpu_watch = 100 - lv_timer_get_idle();
|
system_sts.cpu_consume = 100 - lv_timer_get_idle();
|
||||||
cpu_max = (cpu_max < cpu_watch)?(cpu_watch):(cpu_max);
|
|
||||||
|
|
||||||
lv_mem_monitor(&my_mon);
|
lv_mem_monitor(&my_mon);
|
||||||
memuse_watch = my_mon.used_pct;
|
system_sts.mem_consume = my_mon.used_pct;
|
||||||
memuse_max = (memuse_max < memuse_watch)?(memuse_watch):(memuse_max);
|
system_sts.mem_consume_max = (system_sts.mem_consume_max < system_sts.mem_consume)?(system_sts.mem_consume):(system_sts.mem_consume_max);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -299,7 +297,6 @@ void start_mux_analog(void const * argument)
|
||||||
* @param argument: Not used
|
* @param argument: Not used
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
int16_t menu_stack_watch = 0; // Word
|
|
||||||
/* USER CODE END Header_start_menu */
|
/* USER CODE END Header_start_menu */
|
||||||
void start_menu(void const * argument)
|
void start_menu(void const * argument)
|
||||||
{
|
{
|
||||||
|
@ -309,9 +306,10 @@ void start_menu(void const * argument)
|
||||||
for(;;)
|
for(;;)
|
||||||
{
|
{
|
||||||
screen_run();
|
screen_run();
|
||||||
|
|
||||||
osDelay(500);
|
osDelay(500);
|
||||||
menu_stack_watch = uxTaskGetStackHighWaterMark(NULL);
|
system_sts.menu_stack_consume = uxTaskGetStackHighWaterMark(NULL);
|
||||||
menu_stack_watch = 512 - menu_stack_watch;
|
system_sts.menu_stack_consume = 512 - system_sts.menu_stack_consume;
|
||||||
}
|
}
|
||||||
/* USER CODE END start_menu */
|
/* USER CODE END start_menu */
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,11 +78,11 @@ typedef struct
|
||||||
lv_obj_t *screen_setting_label_50;
|
lv_obj_t *screen_setting_label_50;
|
||||||
lv_obj_t *screen_setting_label_51;
|
lv_obj_t *screen_setting_label_51;
|
||||||
lv_obj_t *screen_setting_label_page;
|
lv_obj_t *screen_setting_label_page;
|
||||||
lv_obj_t *screen_setting_label_title;
|
|
||||||
lv_obj_t *screen_setting_label_s0;
|
lv_obj_t *screen_setting_label_s0;
|
||||||
lv_obj_t *screen_setting_label_s1;
|
lv_obj_t *screen_setting_label_s1;
|
||||||
lv_obj_t *screen_setting_label_s2;
|
lv_obj_t *screen_setting_label_s2;
|
||||||
lv_obj_t *screen_setting_label_s3;
|
lv_obj_t *screen_setting_label_s3;
|
||||||
|
lv_obj_t *screen_setting_label_title;
|
||||||
lv_obj_t *screen_hidden;
|
lv_obj_t *screen_hidden;
|
||||||
bool screen_hidden_del;
|
bool screen_hidden_del;
|
||||||
lv_obj_t *screen_hidden_label_size14;
|
lv_obj_t *screen_hidden_label_size14;
|
||||||
|
|
|
@ -30,7 +30,7 @@ void setup_scr_screen_hidden(lv_ui *ui)
|
||||||
|
|
||||||
//Write codes screen_hidden_label_size14
|
//Write codes screen_hidden_label_size14
|
||||||
ui->screen_hidden_label_size14 = lv_label_create(ui->screen_hidden);
|
ui->screen_hidden_label_size14 = lv_label_create(ui->screen_hidden);
|
||||||
lv_label_set_text(ui->screen_hidden_label_size14, "热 电 偶 阻 ℃ Ω 类 型 频 率\n参 数 复 位 保 存 未 中 已 输 入 出 记 录 \n采 样 间 隔 描 点\n照 明 语 言 简 体 文 开 关");
|
lv_label_set_text(ui->screen_hidden_label_size14, "热 电 偶 阻 ℃ Ω 类 型 频 率\n参 数 复 位 保 存 未 中 已 输 入 出 记 录 \n采 样 间 隔 描 点 颜 色\n照 明 语 言 简 体 文 开 关");
|
||||||
lv_label_set_long_mode(ui->screen_hidden_label_size14, LV_LABEL_LONG_WRAP);
|
lv_label_set_long_mode(ui->screen_hidden_label_size14, LV_LABEL_LONG_WRAP);
|
||||||
lv_obj_set_pos(ui->screen_hidden_label_size14, 0, 0);
|
lv_obj_set_pos(ui->screen_hidden_label_size14, 0, 0);
|
||||||
lv_obj_set_size(ui->screen_hidden_label_size14, 320, 120);
|
lv_obj_set_size(ui->screen_hidden_label_size14, 320, 120);
|
||||||
|
|
|
@ -320,7 +320,7 @@ void setup_scr_screen_setting(lv_ui *ui)
|
||||||
ui->screen_setting_label_page = lv_label_create(ui->screen_setting);
|
ui->screen_setting_label_page = lv_label_create(ui->screen_setting);
|
||||||
lv_label_set_text(ui->screen_setting_label_page, "< 1/3 >");
|
lv_label_set_text(ui->screen_setting_label_page, "< 1/3 >");
|
||||||
lv_label_set_long_mode(ui->screen_setting_label_page, LV_LABEL_LONG_WRAP);
|
lv_label_set_long_mode(ui->screen_setting_label_page, LV_LABEL_LONG_WRAP);
|
||||||
lv_obj_set_pos(ui->screen_setting_label_page, 160, 221);
|
lv_obj_set_pos(ui->screen_setting_label_page, 160, 220);
|
||||||
lv_obj_set_size(ui->screen_setting_label_page, 80, 15);
|
lv_obj_set_size(ui->screen_setting_label_page, 80, 15);
|
||||||
|
|
||||||
//Write style for screen_setting_label_page, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
//Write style for screen_setting_label_page, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
||||||
|
@ -339,39 +339,6 @@ void setup_scr_screen_setting(lv_ui *ui)
|
||||||
lv_obj_set_style_pad_left(ui->screen_setting_label_page, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_left(ui->screen_setting_label_page, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_shadow_width(ui->screen_setting_label_page, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_shadow_width(ui->screen_setting_label_page, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
|
||||||
//Write codes screen_setting_label_title
|
|
||||||
ui->screen_setting_label_title = lv_label_create(ui->screen_setting);
|
|
||||||
lv_label_set_text(ui->screen_setting_label_title, "详细设置");
|
|
||||||
lv_label_set_long_mode(ui->screen_setting_label_title, LV_LABEL_LONG_WRAP);
|
|
||||||
lv_obj_set_pos(ui->screen_setting_label_title, 0, -3);
|
|
||||||
lv_obj_set_size(ui->screen_setting_label_title, 320, 40);
|
|
||||||
|
|
||||||
//Write style for screen_setting_label_title, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
||||||
lv_obj_set_style_border_width(ui->screen_setting_label_title, 1, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_border_opa(ui->screen_setting_label_title, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_border_color(ui->screen_setting_label_title, lv_color_hex(0x2195f6), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_border_side(ui->screen_setting_label_title, LV_BORDER_SIDE_FULL | LV_BORDER_SIDE_BOTTOM, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_radius(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_text_color(ui->screen_setting_label_title, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_text_font(ui->screen_setting_label_title, &lv_font_SourceHanSerifSC_Regular_16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_text_opa(ui->screen_setting_label_title, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_text_letter_space(ui->screen_setting_label_title, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_text_line_space(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_text_align(ui->screen_setting_label_title, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_bg_opa(ui->screen_setting_label_title, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_bg_color(ui->screen_setting_label_title, lv_color_hex(0x75d4ff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_bg_grad_dir(ui->screen_setting_label_title, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_pad_top(ui->screen_setting_label_title, 12, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_pad_right(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_pad_bottom(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_pad_left(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_shadow_width(ui->screen_setting_label_title, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_shadow_color(ui->screen_setting_label_title, lv_color_hex(0x1d83d8), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_shadow_opa(ui->screen_setting_label_title, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_shadow_spread(ui->screen_setting_label_title, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_shadow_ofs_x(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
lv_obj_set_style_shadow_ofs_y(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
||||||
|
|
||||||
//Write codes screen_setting_label_s0
|
//Write codes screen_setting_label_s0
|
||||||
ui->screen_setting_label_s0 = lv_label_create(ui->screen_setting);
|
ui->screen_setting_label_s0 = lv_label_create(ui->screen_setting);
|
||||||
lv_label_set_text(ui->screen_setting_label_s0, "量程设置");
|
lv_label_set_text(ui->screen_setting_label_s0, "量程设置");
|
||||||
|
@ -380,10 +347,10 @@ void setup_scr_screen_setting(lv_ui *ui)
|
||||||
lv_obj_set_size(ui->screen_setting_label_s0, 80, 50);
|
lv_obj_set_size(ui->screen_setting_label_s0, 80, 50);
|
||||||
|
|
||||||
//Write style for screen_setting_label_s0, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
//Write style for screen_setting_label_s0, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
||||||
lv_obj_set_style_border_width(ui->screen_setting_label_s0, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_width(ui->screen_setting_label_s0, 3, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_opa(ui->screen_setting_label_s0, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_opa(ui->screen_setting_label_s0, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_color(ui->screen_setting_label_s0, lv_color_hex(0x00b6ff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_color(ui->screen_setting_label_s0, lv_color_hex(0x00b6ff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_side(ui->screen_setting_label_s0, LV_BORDER_SIDE_RIGHT | LV_BORDER_SIDE_BOTTOM, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_side(ui->screen_setting_label_s0, LV_BORDER_SIDE_BOTTOM | LV_BORDER_SIDE_RIGHT | LV_BORDER_SIDE_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_radius(ui->screen_setting_label_s0, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_radius(ui->screen_setting_label_s0, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_text_color(ui->screen_setting_label_s0, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_text_color(ui->screen_setting_label_s0, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_text_font(ui->screen_setting_label_s0, &lv_font_SourceHanSerifSC_Regular_14, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_text_font(ui->screen_setting_label_s0, &lv_font_SourceHanSerifSC_Regular_14, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
@ -394,7 +361,7 @@ void setup_scr_screen_setting(lv_ui *ui)
|
||||||
lv_obj_set_style_bg_opa(ui->screen_setting_label_s0, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_opa(ui->screen_setting_label_s0, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_bg_color(ui->screen_setting_label_s0, lv_color_hex(0xcbefff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(ui->screen_setting_label_s0, lv_color_hex(0xcbefff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_bg_grad_dir(ui->screen_setting_label_s0, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_grad_dir(ui->screen_setting_label_s0, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_top(ui->screen_setting_label_s0, 17, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_top(ui->screen_setting_label_s0, 16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_right(ui->screen_setting_label_s0, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_right(ui->screen_setting_label_s0, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_bottom(ui->screen_setting_label_s0, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_bottom(ui->screen_setting_label_s0, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_left(ui->screen_setting_label_s0, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_left(ui->screen_setting_label_s0, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
@ -408,10 +375,10 @@ void setup_scr_screen_setting(lv_ui *ui)
|
||||||
lv_obj_set_size(ui->screen_setting_label_s1, 80, 50);
|
lv_obj_set_size(ui->screen_setting_label_s1, 80, 50);
|
||||||
|
|
||||||
//Write style for screen_setting_label_s1, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
//Write style for screen_setting_label_s1, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
||||||
lv_obj_set_style_border_width(ui->screen_setting_label_s1, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_width(ui->screen_setting_label_s1, 3, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_opa(ui->screen_setting_label_s1, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_opa(ui->screen_setting_label_s1, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_color(ui->screen_setting_label_s1, lv_color_hex(0x2195f6), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_color(ui->screen_setting_label_s1, lv_color_hex(0x00B6FF), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_side(ui->screen_setting_label_s1, LV_BORDER_SIDE_RIGHT | LV_BORDER_SIDE_BOTTOM, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_side(ui->screen_setting_label_s1, LV_BORDER_SIDE_RIGHT | LV_BORDER_SIDE_BOTTOM | LV_BORDER_SIDE_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_radius(ui->screen_setting_label_s1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_radius(ui->screen_setting_label_s1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_text_color(ui->screen_setting_label_s1, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_text_color(ui->screen_setting_label_s1, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_text_font(ui->screen_setting_label_s1, &lv_font_SourceHanSerifSC_Regular_14, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_text_font(ui->screen_setting_label_s1, &lv_font_SourceHanSerifSC_Regular_14, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
@ -422,7 +389,7 @@ void setup_scr_screen_setting(lv_ui *ui)
|
||||||
lv_obj_set_style_bg_opa(ui->screen_setting_label_s1, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_opa(ui->screen_setting_label_s1, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_bg_color(ui->screen_setting_label_s1, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(ui->screen_setting_label_s1, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_bg_grad_dir(ui->screen_setting_label_s1, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_grad_dir(ui->screen_setting_label_s1, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_top(ui->screen_setting_label_s1, 17, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_top(ui->screen_setting_label_s1, 16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_right(ui->screen_setting_label_s1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_right(ui->screen_setting_label_s1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_bottom(ui->screen_setting_label_s1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_bottom(ui->screen_setting_label_s1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_left(ui->screen_setting_label_s1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_left(ui->screen_setting_label_s1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
@ -436,10 +403,10 @@ void setup_scr_screen_setting(lv_ui *ui)
|
||||||
lv_obj_set_size(ui->screen_setting_label_s2, 80, 50);
|
lv_obj_set_size(ui->screen_setting_label_s2, 80, 50);
|
||||||
|
|
||||||
//Write style for screen_setting_label_s2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
//Write style for screen_setting_label_s2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
||||||
lv_obj_set_style_border_width(ui->screen_setting_label_s2, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_width(ui->screen_setting_label_s2, 3, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_opa(ui->screen_setting_label_s2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_opa(ui->screen_setting_label_s2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_color(ui->screen_setting_label_s2, lv_color_hex(0x2195f6), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_color(ui->screen_setting_label_s2, lv_color_hex(0x00B6FF), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_side(ui->screen_setting_label_s2, LV_BORDER_SIDE_RIGHT | LV_BORDER_SIDE_BOTTOM, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_side(ui->screen_setting_label_s2, LV_BORDER_SIDE_RIGHT | LV_BORDER_SIDE_BOTTOM | LV_BORDER_SIDE_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_radius(ui->screen_setting_label_s2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_radius(ui->screen_setting_label_s2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_text_color(ui->screen_setting_label_s2, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_text_color(ui->screen_setting_label_s2, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_text_font(ui->screen_setting_label_s2, &lv_font_SourceHanSerifSC_Regular_14, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_text_font(ui->screen_setting_label_s2, &lv_font_SourceHanSerifSC_Regular_14, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
@ -450,7 +417,7 @@ void setup_scr_screen_setting(lv_ui *ui)
|
||||||
lv_obj_set_style_bg_opa(ui->screen_setting_label_s2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_opa(ui->screen_setting_label_s2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_bg_color(ui->screen_setting_label_s2, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(ui->screen_setting_label_s2, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_bg_grad_dir(ui->screen_setting_label_s2, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_grad_dir(ui->screen_setting_label_s2, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_top(ui->screen_setting_label_s2, 17, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_top(ui->screen_setting_label_s2, 16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_right(ui->screen_setting_label_s2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_right(ui->screen_setting_label_s2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_bottom(ui->screen_setting_label_s2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_bottom(ui->screen_setting_label_s2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_left(ui->screen_setting_label_s2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_left(ui->screen_setting_label_s2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
@ -464,10 +431,10 @@ void setup_scr_screen_setting(lv_ui *ui)
|
||||||
lv_obj_set_size(ui->screen_setting_label_s3, 80, 50);
|
lv_obj_set_size(ui->screen_setting_label_s3, 80, 50);
|
||||||
|
|
||||||
//Write style for screen_setting_label_s3, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
//Write style for screen_setting_label_s3, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
||||||
lv_obj_set_style_border_width(ui->screen_setting_label_s3, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_width(ui->screen_setting_label_s3, 3, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_opa(ui->screen_setting_label_s3, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_opa(ui->screen_setting_label_s3, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_color(ui->screen_setting_label_s3, lv_color_hex(0x2195f6), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_color(ui->screen_setting_label_s3, lv_color_hex(0x00B6FF), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_border_side(ui->screen_setting_label_s3, LV_BORDER_SIDE_RIGHT, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_border_side(ui->screen_setting_label_s3, LV_BORDER_SIDE_RIGHT | LV_BORDER_SIDE_LEFT | LV_BORDER_SIDE_BOTTOM, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_radius(ui->screen_setting_label_s3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_radius(ui->screen_setting_label_s3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_text_color(ui->screen_setting_label_s3, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_text_color(ui->screen_setting_label_s3, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_text_font(ui->screen_setting_label_s3, &lv_font_SourceHanSerifSC_Regular_14, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_text_font(ui->screen_setting_label_s3, &lv_font_SourceHanSerifSC_Regular_14, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
@ -478,12 +445,40 @@ void setup_scr_screen_setting(lv_ui *ui)
|
||||||
lv_obj_set_style_bg_opa(ui->screen_setting_label_s3, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_opa(ui->screen_setting_label_s3, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_bg_color(ui->screen_setting_label_s3, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_color(ui->screen_setting_label_s3, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_bg_grad_dir(ui->screen_setting_label_s3, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_bg_grad_dir(ui->screen_setting_label_s3, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_top(ui->screen_setting_label_s3, 17, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_top(ui->screen_setting_label_s3, 16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_right(ui->screen_setting_label_s3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_right(ui->screen_setting_label_s3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_bottom(ui->screen_setting_label_s3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_bottom(ui->screen_setting_label_s3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_pad_left(ui->screen_setting_label_s3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_pad_left(ui->screen_setting_label_s3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
lv_obj_set_style_shadow_width(ui->screen_setting_label_s3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
lv_obj_set_style_shadow_width(ui->screen_setting_label_s3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
|
||||||
|
//Write codes screen_setting_label_title
|
||||||
|
ui->screen_setting_label_title = lv_label_create(ui->screen_setting);
|
||||||
|
lv_label_set_text(ui->screen_setting_label_title, "详细设置");
|
||||||
|
lv_label_set_long_mode(ui->screen_setting_label_title, LV_LABEL_LONG_WRAP);
|
||||||
|
lv_obj_set_pos(ui->screen_setting_label_title, 0, 0);
|
||||||
|
lv_obj_set_size(ui->screen_setting_label_title, 320, 40);
|
||||||
|
|
||||||
|
//Write style for screen_setting_label_title, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
||||||
|
lv_obj_set_style_border_width(ui->screen_setting_label_title, 3, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_border_opa(ui->screen_setting_label_title, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_border_color(ui->screen_setting_label_title, lv_color_hex(0x00B6FF), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_border_side(ui->screen_setting_label_title, LV_BORDER_SIDE_FULL | LV_BORDER_SIDE_BOTTOM, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_radius(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_text_color(ui->screen_setting_label_title, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_text_font(ui->screen_setting_label_title, &lv_font_SourceHanSerifSC_Regular_16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_text_opa(ui->screen_setting_label_title, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_text_letter_space(ui->screen_setting_label_title, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_text_line_space(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_text_align(ui->screen_setting_label_title, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_bg_opa(ui->screen_setting_label_title, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_bg_color(ui->screen_setting_label_title, lv_color_hex(0x75d4ff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_bg_grad_dir(ui->screen_setting_label_title, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_pad_top(ui->screen_setting_label_title, 10, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_pad_right(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_pad_bottom(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_pad_left(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
lv_obj_set_style_shadow_width(ui->screen_setting_label_title, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
||||||
|
|
||||||
//The custom code of screen_setting.
|
//The custom code of screen_setting.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -173,137 +173,52 @@
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>3</count>
|
<count>3</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>key,0x0A</ItemText>
|
<ItemText>freq_signal</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>4</count>
|
<count>4</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>pulse,0x0A</ItemText>
|
<ItemText>mux_signal,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>5</count>
|
<count>5</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>freq_signal</ItemText>
|
<ItemText>fswatch,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>6</count>
|
<count>6</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>mux_signal,0x0A</ItemText>
|
<ItemText>m5data,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>7</count>
|
<count>7</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>x1watch,0x0A</ItemText>
|
<ItemText>pltdata,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>8</count>
|
<count>8</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>y1watch,0x0A</ItemText>
|
<ItemText>tabdata,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>9</count>
|
<count>9</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>x2watch,0x0A</ItemText>
|
<ItemText>key_pv,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>10</count>
|
<count>10</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>y2watch,0x0A</ItemText>
|
<ItemText>current_operation</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>11</count>
|
<count>11</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>fswatch,0x0A</ItemText>
|
<ItemText>key_sts</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>12</count>
|
<count>12</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>m5data,0x0A</ItemText>
|
<ItemText>system_sts,0x0A</ItemText>
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>13</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>pltdata,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>14</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>tabdata,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>15</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>VOL,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>16</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>CUR,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>17</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>RES,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>18</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>FRE,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>19</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>TC,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>20</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>RTD,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>21</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>lvgl_stack_watch,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>22</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>menu_stack_watch,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>23</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>cpu_watch,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>24</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>memuse_watch,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>25</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>memuse_max,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>26</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>eeprom_wrt_error_flag,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>27</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>eeprom_rd_error_flag,0x0A</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>28</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>ee_status_test</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>29</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>key_pv,0x0A</ItemText>
|
|
||||||
</Ww>
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<WatchWindow2>
|
<WatchWindow2>
|
||||||
|
@ -3811,6 +3726,18 @@
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<bShared>0</bShared>
|
<bShared>0</bShared>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>16</GroupNumber>
|
||||||
|
<FileNumber>277</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\App\APP_WU\Src\key_functions.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>key_functions.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
</Group>
|
</Group>
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
|
@ -3821,7 +3748,7 @@
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>277</FileNumber>
|
<FileNumber>278</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3833,7 +3760,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>278</FileNumber>
|
<FileNumber>279</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3845,7 +3772,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>279</FileNumber>
|
<FileNumber>280</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3857,7 +3784,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>280</FileNumber>
|
<FileNumber>281</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3869,7 +3796,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>281</FileNumber>
|
<FileNumber>282</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3881,7 +3808,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>282</FileNumber>
|
<FileNumber>283</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3893,7 +3820,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>283</FileNumber>
|
<FileNumber>284</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3905,7 +3832,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>284</FileNumber>
|
<FileNumber>285</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3917,7 +3844,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>285</FileNumber>
|
<FileNumber>286</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3929,7 +3856,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>286</FileNumber>
|
<FileNumber>287</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3941,7 +3868,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>287</FileNumber>
|
<FileNumber>288</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3953,7 +3880,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>288</FileNumber>
|
<FileNumber>289</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3965,7 +3892,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>289</FileNumber>
|
<FileNumber>290</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3977,7 +3904,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>290</FileNumber>
|
<FileNumber>291</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -3989,7 +3916,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>291</FileNumber>
|
<FileNumber>292</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4001,7 +3928,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>292</FileNumber>
|
<FileNumber>293</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4013,7 +3940,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>293</FileNumber>
|
<FileNumber>294</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4025,7 +3952,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>294</FileNumber>
|
<FileNumber>295</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4037,7 +3964,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>295</FileNumber>
|
<FileNumber>296</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4049,7 +3976,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>296</FileNumber>
|
<FileNumber>297</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4061,7 +3988,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>297</FileNumber>
|
<FileNumber>298</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4073,7 +4000,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>298</FileNumber>
|
<FileNumber>299</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4085,7 +4012,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>299</FileNumber>
|
<FileNumber>300</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4097,7 +4024,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>300</FileNumber>
|
<FileNumber>301</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4109,7 +4036,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>301</FileNumber>
|
<FileNumber>302</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4121,7 +4048,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>302</FileNumber>
|
<FileNumber>303</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4133,7 +4060,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>303</FileNumber>
|
<FileNumber>304</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4145,7 +4072,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>304</FileNumber>
|
<FileNumber>305</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4157,7 +4084,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>305</FileNumber>
|
<FileNumber>306</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4169,7 +4096,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>306</FileNumber>
|
<FileNumber>307</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4181,7 +4108,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>307</FileNumber>
|
<FileNumber>308</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4193,7 +4120,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>308</FileNumber>
|
<FileNumber>309</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4205,7 +4132,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>309</FileNumber>
|
<FileNumber>310</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4217,7 +4144,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>310</FileNumber>
|
<FileNumber>311</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4229,7 +4156,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>311</FileNumber>
|
<FileNumber>312</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4241,7 +4168,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>312</FileNumber>
|
<FileNumber>313</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4253,7 +4180,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>313</FileNumber>
|
<FileNumber>314</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4265,7 +4192,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>314</FileNumber>
|
<FileNumber>315</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -4277,7 +4204,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>17</GroupNumber>
|
<GroupNumber>17</GroupNumber>
|
||||||
<FileNumber>315</FileNumber>
|
<FileNumber>316</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
|
|
@ -2503,6 +2503,11 @@
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>..\App\APP_WU\Src\scr_setting_item_value.c</FilePath>
|
<FilePath>..\App\APP_WU\Src\scr_setting_item_value.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>key_functions.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\App\APP_WU\Src\key_functions.c</FilePath>
|
||||||
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue