246 lines
6.3 KiB
C
246 lines
6.3 KiB
C
#ifndef _APP_SCREEN_SETTING_H
|
||
#define _APP_SCREEN_SETTING_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]; //输入记录,实际值
|
||
SIG_FUNCTIONS_TYPE input_log_unit[60]; //输入记录,单位
|
||
float32 output_log_value[60]; //输出记录,实际值
|
||
SIG_FUNCTIONS_TYPE output_log_unit[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 reset_cnt;
|
||
extern int32_t color_table[7];
|
||
|
||
//页面数量
|
||
#define I0_PAGE_MAX 3
|
||
#define I1_PAGE_MAX 1
|
||
#define I2_PAGE_MAX 1
|
||
#define I3_PAGE_MAX 1
|
||
|
||
//淡蓝色
|
||
#define COLOR_LIGHT_BLUE_VALUE 0x75D4FF
|
||
|
||
//蓝色
|
||
#define COLOR_BLUE_VALUE 0x00B6FF
|
||
|
||
//深蓝色
|
||
#define COLOR_DARK_BLUE_VALUE 0x000FFF
|
||
|
||
//黄色
|
||
#define COLOR_YELLOW_VALUE 0xEAE200
|
||
|
||
//橙色
|
||
#define COLOR_ORANGE_VALUE 0xFD8E10
|
||
|
||
//绿色
|
||
#define COLOR_GREEN_VALUE 0x00FF4E
|
||
|
||
//红色
|
||
#define COLOR_RED_VALUE 0xFF0027
|
||
|
||
//紫色
|
||
#define COLOR_PURPLE_VALUE 0xFF00D4
|
||
|
||
//黑色
|
||
#define COLOR_BLACK_VALUE 0x000000
|
||
|
||
//白色
|
||
#define COLOR_WHITE_VALUE 0xffffff
|
||
|
||
//选项卡未选中时的底色
|
||
#define COLOR_ITEMS_UNCHECKED COLOR_WHITE_VALUE
|
||
|
||
//选项卡选中时的底色
|
||
#define COLOR_ITEMS_CHECKED COLOR_LIGHT_BLUE_VALUE
|
||
|
||
//内容未选中时的底色
|
||
#define COLOR_CONTENTS_UNCHECKED COLOR_WHITE_VALUE
|
||
|
||
//内容选中时的底色
|
||
#define COLOR_CONTENTS_CHECKED COLOR_LIGHT_BLUE_VALUE
|
||
|
||
//内容焦点后的底色
|
||
#define COLOR_CONTENTS_FOCUSED COLOR_GREEN_VALUE
|
||
|
||
//设置菜单数据初始化
|
||
void tab_data_init(void);
|
||
|
||
//选项卡EEPROM部分数据初始化
|
||
void eeprom_item_data_init(void);
|
||
|
||
//按键功能,详细设置菜单界面
|
||
void key_functions_setting(void);
|
||
|
||
//设置界面选项卡选中:点亮cursor;熄灭cursor_prv
|
||
void setting_items_check(ITEMS cursor, ITEMS cursor_prv);
|
||
|
||
//当前选项卡内容翻页:显示选项卡 ite 的第 page 页,
|
||
void setting_items_page(ITEMS ite, uint8_t page);
|
||
|
||
//设置界面选项卡内部内容选中:点亮cursor;熄灭cursor_prv;焦点focus
|
||
void setting_contents_check(uint8_t cursor, uint8_t cursor_prv);
|
||
|
||
//设置界面选项卡内部内容选中之后,根据键值key_val和步长step修改内容,修改第ite个选项卡的第con个内容
|
||
void setting_contents_modify(ITEMS ite, ITEM_CONTENTS con, int8_t step);
|
||
|
||
//设置修改项的底色,表示选中和焦点
|
||
void set_contents_color(uint8_t cursor, uint32_t color);
|
||
|
||
//恢复设置界面的各项参数显示,用于界面切换(主界面->设置界面)
|
||
void scr_setting_recover(void);
|
||
|
||
//详细设置界面
|
||
void scr_setting_run(void);
|
||
|
||
//设置界面语言切换(主界面的语言切换在set_working_mode内)
|
||
//此处用于更改标题和选项卡的语言,内容的语言切换在 set_XXX_text & set_XXX_value内
|
||
void setting_laguage_switch(LANGUAGES lan);
|
||
|
||
//执行保存功能
|
||
void deal_data_save(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);
|
||
|
||
//内容游标 uint8_t -> enum
|
||
ITEM_CONTENTS content_cur_char2enum(ITEMS ite, uint8_t cur_uint8);
|
||
|
||
|
||
#endif
|
||
|
||
|