工程文件结构调整

This commit is contained in:
吴俊潮 2025-05-22 16:22:58 +08:00
parent 4fc90961e3
commit c5f62d3d6a
37 changed files with 20123 additions and 19894 deletions

View File

@ -38,7 +38,8 @@
"hart.h": "c", "hart.h": "c",
"string_view": "c", "string_view": "c",
"app_screen_setting_trans.h": "c", "app_screen_setting_trans.h": "c",
"key_functions_main.h": "c" "key_functions_main.h": "c",
"eeprom_spi.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",

View File

@ -1,76 +1,8 @@
#ifndef _APP_SCREEN_MAIN_H #ifndef _APP_SCREEN_MAIN_H_
#define _APP_SCREEN_MAIN_H #define _APP_SCREEN_MAIN_H_
#include "apps_gather.h" #include "apps_gather.h"
typedef struct
{
//general
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 menu_data; //界面参数初始化 extern MENU_DATA menu_data; //界面参数初始化
extern PLOT_DATA pltdata; //chart绘图参数初始化 extern PLOT_DATA pltdata; //chart绘图参数初始化
extern uint8_t scr_main_set_flag; extern uint8_t scr_main_set_flag;

View File

@ -1,13 +1,8 @@
#ifndef __APP_SCREEN_SETTING_TRANS_H #ifndef _APP_SCREEN_MODBUS_H_
#define __APP_SCREEN_SETTING_TRANS_H #define _APP_SCREEN_MODBUS_H_
#include "apps_gather.h" #include "apps_gather.h"
#define TEXT_HART 0
#define TEXT_BLE 1
#define TEXT_MODBUS 2
#define TEXT_MODBUS_CONFIG 3
typedef enum typedef enum
{ {
MOD_CONF_SLAVE_ID = 0, MOD_CONF_SLAVE_ID = 0,
@ -30,10 +25,6 @@ typedef enum
MOD_TRX_NONE MOD_TRX_NONE
}MOD_TRX_ITEMS; }MOD_TRX_ITEMS;
void communication_switch(void);
void set_communication_text(uint8_t con);
void config_items_set_color(MOD_CONF_ITEMS cur, uint32_t color); void config_items_set_color(MOD_CONF_ITEMS cur, uint32_t color);
@ -43,8 +34,6 @@ void trx_items_set_color(MOD_TRX_ITEMS cur, uint32_t color);
void trx_items_check(MOD_TRX_ITEMS cur, MOD_TRX_ITEMS cur_prv); void trx_items_check(MOD_TRX_ITEMS cur, MOD_TRX_ITEMS cur_prv);
void set_communication_modify(uint8_t con, int8_t step);
void key_functions_modbus(void); void key_functions_modbus(void);
//切换至modbus配置界面后对显示内容进行调整语言、默认值 //切换至modbus配置界面后对显示内容进行调整语言、默认值
@ -58,6 +47,12 @@ void screen_modbus_trx_run(void);
extern uint8_t com_switch_cursor; extern uint8_t com_switch_cursor;
extern uint8_t com_switch_cursor_prv; extern uint8_t com_switch_cursor_prv;
extern uint8_t trx_focus; extern uint8_t trx_focus;
extern MOD_CONF_ITEMS mod_mas_conf_cursor;
extern MOD_CONF_ITEMS mod_mas_conf_cursor_prv;
extern uint8_t config_focus;
extern MOD_TRX_ITEMS mod_mas_trx_cursor;
extern MOD_TRX_ITEMS mod_mas_trx_cursor_prv;
extern uint8_t trx_focus;

View File

@ -1,132 +1,9 @@
#ifndef _APP_SCREEN_SETTING_H #ifndef _APP_SCREEN_SETTING_H_
#define _APP_SCREEN_SETTING_H #define _APP_SCREEN_SETTING_H_
#include "apps_gather.h" #include "apps_gather.h"
typedef enum extern TABVIEW_DATA tabdata;
{
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
INPUT_LOG,
OUTPUT_LOG,
COMMUNICATION,
PROGRAM_OUTPUT,
PAGE_PV_ITEM_2,
//ITEM_3
LIGHT_STATUS,
LANGUAGE_SELECT,
DATA_SAVE,
DATA_RESET,
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 enum
{
SIG_SLAVE = 0,
SIG_MASTER
}SIG_MODBUS_TYPE;
typedef struct
{
ITEMS item_cursor; //选项卡游标,后续根据实际需求进行宏定义
ITEMS item_cursor_prv; //前一时刻的选项卡游标
uint8_t item_page; //当前页
uint8_t item_page_prv; //前一页
uint8_t content_cursor; //内容右侧一列的游标范围0~56个组件之间跳转
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
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 hart_enable; //HART透传使能
uint8_t bluetooth_enable; //蓝牙透传使能
uint8_t modbus_enable; //MODBUS使能
SIG_MODBUS_TYPE modbus_type; //SIG在modbus中作为主或从
uint8_t modbus_master_send_flag; //发送标志
//ITEMS_3
uint8_t item3_page0_lightflag; //照明状态标志0熄灭1开启
LANGUAGES item3_page0_language; //语言类型
uint8_t item3_page0_saveflag; //[0, 1,2 ] -> [未保存,保存中,已保存]
uint8_t item3_page0_resetflag; //[0, 1,2 ] -> [未复位,复位中,已复位]
}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]; extern int32_t color_table[7];
@ -182,6 +59,12 @@ extern int32_t color_table[7];
//内容焦点后的底色 //内容焦点后的底色
#define COLOR_CONTENTS_FOCUSED COLOR_GREEN_VALUE #define COLOR_CONTENTS_FOCUSED COLOR_GREEN_VALUE
//通讯子菜单的选项卡
#define TEXT_HART 0
#define TEXT_BLE 1
#define TEXT_MODBUS 2
#define TEXT_MODBUS_CONFIG 3
//设置菜单数据初始化 //设置菜单数据初始化
void tab_data_init(void); void tab_data_init(void);
@ -248,6 +131,15 @@ ITEM_CONTENTS content_cur_char2enum(ITEMS ite, uint8_t cur_uint8);
//刷新标题和选项卡文本 //刷新标题和选项卡文本
void title_item_refresh(void); void title_item_refresh(void);
//设置通讯子菜单右列值的文本
void set_communication_text(uint8_t con);
//切换至通讯子菜单
void communication_switch(void);
//修改通讯子菜单的值
void set_communication_modify(uint8_t con, int8_t step);
#endif #endif

View File

@ -1,5 +1,6 @@
#ifndef __APPS_GATHER_H #ifndef _APPS_GATHER_H_
#define __APPS_GATHER_H #define _APPS_GATHER_H_
/**********************************************Drivers**********************************************/ /**********************************************Drivers**********************************************/
#include "main.h" #include "main.h"
#include <string.h> #include <string.h>
@ -22,9 +23,6 @@
#include "hart.h" #include "hart.h"
#include "rn7302.h" #include "rn7302.h"
#include "SIG24130.h" #include "SIG24130.h"
#include "modbus_485.h"
#include "modbus_rtu.h"
#include "modbus_rtu_master.h"
extern osThreadId task_lcdHandle; extern osThreadId task_lcdHandle;
extern osThreadId task_menuHandle; extern osThreadId task_menuHandle;
@ -59,113 +57,26 @@ 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**********************************************/ /**********************************************LVGL**********************************************/
// //
// //
// //
/**********************************************Functions**********************************************/ /**********************************************Functions**********************************************/
typedef enum #include "apps_var_def.h"
{
SIG_CURRENT = 0, //电流
SIG_VOLTAGE, //电压
SIG_RESISTANT, //电阻
SIG_FREQUENCE, //频率
SIG_TC, //热电偶
SIG_RTD //热电阻
}SIG_FUNCTIONS;
typedef enum
{
CURRENT_MA = 0, //电流mA
VOLTAGE_MV, //电压mV
VOLTAGE_V, //电压V
RESISTANT_OHM, //电阻Ω
FREQUENCE_KHZ, //频率KHz
TC_K, //热电偶K
TC_S, //热电偶S
TC_N, //热电偶N
TC_B, //热电偶B
TC_E, //热电偶E
TC_J, //热电偶J
TC_R, //热电偶R
TC_T, //热电偶T
RTD_DC //热电阻摄氏度
}SIG_FUNCTIONS_TYPE;
typedef struct
{
SIG_FUNCTIONS tag; //物理量标签
SIG_FUNCTIONS_TYPE typ; //类型
int16_t up; //上限
int16_t low; //下限
float32 pv; //当前值
}PHYSICAL_QUANTITY;
typedef enum
{
SCREEN_INIT = 0,
SCREEN_MAIN,
SCREEN_SETTING,
SCREEN_MODBUS_MASTER_CONFIG,
SCREEN_MODBUS_MASTER_TRX
}SCREENS;
typedef enum
{
MENU_SIMPLYFY_CHINESE = 0,
MENU_ENGLISH
}LANGUAGES;
typedef enum
{
OPENNING_ANIME = 0, //播放开机动画
MAIN_FUNCTION, //主要功能:输入&输出、曲线显示等
SET_ITEM_CHOOSE, //设置菜单:选项卡选择
SET_CONTENT_CHOOSE, //设置菜单:内容选择
SET_CONTENT_MODIFY, //设置菜单:内容修改
SET_SHOW_LOG, //设置菜单:查看记录
SET_COMMUNICATION_SWITCH, //通信模式切换
SET_COMMUNICATION_MODIFY, //通信模式修改
MODBUS_MASTER_CONFIG, //modbus主站配置项选择
MODBUS_MASTER_CONFIG_MODIFY, //modbus主站配置项修改
MODBUS_MASTER_TRX, //modbus主站收发选项选择
MODBUS_MASTER_TRX_MODIFY //modbus主站收发选项修改
}OPERATIONS;
typedef enum
{
TRANS_NONE = 0, //无通讯
TRANS_HART_TO_PC, //HART设备->上位机
TRANS_PC_TO_HART, //上位机->HART设备
TRANS_BLE_TO_PC, //蓝牙设备->上位机
TRANS_PC_TO_BLE, //上位机->蓝牙设备
TRANS_MODBUS_PC_TO_SIG, //MODBUSSIG作为从设备上位机->SIG
TRANS_MODBUS_SIG_TO_SLAVE //MODBUSSIG作为主设备SIG->从设备
}SIG_TRANSMISSION;
typedef struct
{
uint16_t lvgl_stack_consume; //LVGL栈占用
uint16_t menu_stack_consume; //menu栈占用
uint8_t cpu_consume; //cpu使用率0-100
uint8_t mem_consume; //内存使用率0-100
uint8_t mem_frag; //内存碎片占比0-100
uint8_t mem_consume_max; //最大内存占用占用0-100
uint8_t eeprom_read_error; //eeprom读是否出现过错误
uint8_t eeprom_write_error; //eeprom写是否出现过错误
uint8_t eeprom_current_status; //eeprom状态
}SYSTEM_STATUS_WATCH;
#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" #include "key_functions.h"
#include "scr_setting_text.h" #include "scr_setting_text.h"
#include "app_screen_setting_trans.h" #include "app_screen_modbus.h"
#include "key_functions_main.h" #include "key_functions_main.h"
#include "key_functions_setting.h" #include "key_functions_setting.h"
#include "key_functions_modbus.h"
#include "modbus_485.h"
#include "modbus_rtu.h"
#include "modbus_rtu_master.h"
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

View File

@ -0,0 +1,296 @@
#ifndef _APPS_VAR_DEF_H_
#define _APPS_VAR_DEF_H_
//此文件用于汇总变量类型
#include "stdint.h"
#include "data_type_def.h"
typedef enum
{
SIG_CURRENT = 0, //电流
SIG_VOLTAGE, //电压
SIG_RESISTANT, //电阻
SIG_FREQUENCE, //频率
SIG_TC, //热电偶
SIG_RTD //热电阻
}SIG_FUNCTIONS;
typedef enum
{
CURRENT_MA = 0, //电流mA
VOLTAGE_MV, //电压mV
VOLTAGE_V, //电压V
RESISTANT_OHM, //电阻Ω
FREQUENCE_KHZ, //频率KHz
TC_K, //热电偶K
TC_S, //热电偶S
TC_N, //热电偶N
TC_B, //热电偶B
TC_E, //热电偶E
TC_J, //热电偶J
TC_R, //热电偶R
TC_T, //热电偶T
RTD_DC //热电阻摄氏度
}SIG_FUNCTIONS_TYPE;
typedef struct
{
SIG_FUNCTIONS tag; //物理量标签
SIG_FUNCTIONS_TYPE typ; //类型
int16_t up; //上限
int16_t low; //下限
float32 pv; //当前值
}PHYSICAL_QUANTITY;
typedef enum
{
SCREEN_INIT = 0, //起始界面,开机动画
SCREEN_MAIN, //主界面,主要功能
SCREEN_SETTING, //设置菜单
SCREEN_MODBUS_MASTER_CONFIG, //modbus主模式参数配置
SCREEN_MODBUS_MASTER_TRX //modbus主模式数据收发
}SCREENS;
typedef enum
{
MENU_SIMPLYFY_CHINESE = 0, //简体中文
MENU_ENGLISH //英文
}LANGUAGES;
typedef enum
{
OPENNING_ANIME = 0, //播放开机动画
MAIN_FUNCTION, //主要功能:输入&输出、曲线显示等
SET_ITEM_CHOOSE, //设置菜单:选项卡选择
SET_CONTENT_CHOOSE, //设置菜单:内容选择
SET_CONTENT_MODIFY, //设置菜单:内容修改
SET_SHOW_LOG, //设置菜单:查看记录
SET_COMMUNICATION_SWITCH, //通信模式切换
SET_COMMUNICATION_MODIFY, //通信模式修改
MODBUS_MASTER_CONFIG, //modbus主站配置项选择
MODBUS_MASTER_CONFIG_MODIFY, //modbus主站配置项修改
MODBUS_MASTER_TRX, //modbus主站收发选项选择
MODBUS_MASTER_TRX_MODIFY //modbus主站收发选项修改
}OPERATIONS;
typedef enum
{
TRANS_NONE = 0, //无通讯
TRANS_HART_TO_PC, //HART设备->上位机
TRANS_PC_TO_HART, //上位机->HART设备
TRANS_BLE_TO_PC, //蓝牙设备->上位机
TRANS_PC_TO_BLE, //上位机->蓝牙设备
TRANS_MODBUS_PC_TO_SIG, //MODBUSSIG作为从设备上位机->SIG
TRANS_MODBUS_SIG_TO_SLAVE //MODBUSSIG作为主设备SIG->从设备
}SIG_TRANSMISSION;
typedef struct
{
uint16_t lvgl_stack_consume; //LVGL栈占用
uint16_t menu_stack_consume; //menu栈占用
uint8_t cpu_consume; //cpu使用率0-100
uint8_t mem_consume; //内存使用率0-100
uint8_t mem_frag; //内存碎片占比0-100
uint8_t mem_consume_max; //最大内存占用占用0-100
uint8_t eeprom_read_error; //eeprom读是否出现过错误
uint8_t eeprom_write_error; //eeprom写是否出现过错误
uint8_t eeprom_current_status; //eeprom状态
}SYSTEM_STATUS_WATCH;
typedef struct
{
//general
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;
//设置菜单界面的左列选项卡,从上至下
typedef enum
{
ITEM_0 = 0,
ITEM_1,
ITEM_2,
ITEM_3,
ITEM_NONE
}ITEMS;
//设置菜单各个选项卡item的内容
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
INPUT_LOG,
OUTPUT_LOG,
COMMUNICATION,
PROGRAM_OUTPUT,
PAGE_PV_ITEM_2,
//ITEM_3
LIGHT_STATUS,
LANGUAGE_SELECT,
DATA_SAVE,
DATA_RESET,
PAGE_PV_ITEM_3,
//general
CONTENT_EMPTY
}ITEM_CONTENTS;
//主界面chart的曲线备选颜色
typedef enum
{
COLOR_BLUE = 0,
COLOR_DARK_BLUE,
COLOR_YELLOW,
COLOR_GREEN,
COLOR_RED,
COLOR_PURPLE,
COLOR_BLACK
}COLORS;
//SIG在modbus功能中的模式主或从
typedef enum
{
SIG_SLAVE = 0,
SIG_MASTER
}SIG_MODBUS_TYPE;
typedef struct
{
ITEMS item_cursor; //选项卡游标,后续根据实际需求进行宏定义
ITEMS item_cursor_prv; //前一时刻的选项卡游标
uint8_t item_page; //当前页
uint8_t item_page_prv; //前一页
uint8_t content_cursor; //内容右侧一列的游标范围0~56个组件之间跳转
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
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 hart_enable; //HART透传使能
uint8_t bluetooth_enable; //蓝牙透传使能
uint8_t modbus_enable; //MODBUS使能
SIG_MODBUS_TYPE modbus_type; //SIG在modbus中作为主或从
uint8_t modbus_master_send_flag; //发送标志
//ITEMS_3
uint8_t item3_page0_lightflag; //照明状态标志0熄灭1开启
LANGUAGES item3_page0_language; //语言类型
uint8_t item3_page0_saveflag; //[0, 1,2 ] -> [未保存,保存中,已保存]
uint8_t item3_page0_resetflag; //[0, 1,2 ] -> [未复位,复位中,已复位]
}TABVIEW_DATA;
#endif

View File

@ -1,5 +1,5 @@
#ifndef _KEY_FUNCTIONS_H #ifndef _KEY_FUNCTIONS_H_
#define _KEY_FUNCTIONS_H #define _KEY_FUNCTIONS_H_
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -1,5 +1,5 @@
#ifndef __KEY_FUNCTIONS_MAIN_H #ifndef _KEY_FUNCTIONS_MAIN_H_
#define __KEY_FUNCTIONS_MAIN_H #define _KEY_FUNCTIONS_MAIN_H_
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -0,0 +1,6 @@
#ifndef _KEY_FUNCTIONS_MODBUS_H_
#define _KEY_FUNCTIONS_MODBUS_H_
#include "apps_gather.h"
#endif

View File

@ -1,5 +1,5 @@
#ifndef __KEY_FUNCTIONS_SETTING_H #ifndef _KEY_FUNCTIONS_SETTING_H_
#define __KEY_FUNCTIONS_SETTING_H #define _KEY_FUNCTIONS_SETTING_H_
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -1,5 +1,5 @@
#ifndef _SCR_SETTING_ITEM_TEXT_H #ifndef _SCR_SETTING_ITEM_TEXT_H_
#define _SCR_SETTING_ITEM_TEXT_H #define _SCR_SETTING_ITEM_TEXT_H_
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -1,5 +1,5 @@
#ifndef _SCR_SETTING_ITEM_VALUE_H #ifndef _SCR_SETTING_ITEM_VALUE_H_
#define _SCR_SETTING_ITEM_VALUE_H #define _SCR_SETTING_ITEM_VALUE_H_
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -1,5 +1,5 @@
#ifndef _SCR_SETTING_TEXT_H #ifndef _SCR_SETTING_TEXT_H_
#define _SCR_SETTING_TEXT_H #define _SCR_SETTING_TEXT_H_
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -1,13 +1,5 @@
/* #ifndef _TIMER_H_
* @Author: wujunchao wujunchao@wuxismart.com #define _TIMER_H_
* @Date: 2024-12-27 17:04:12
* @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2024-12-31 10:53:04
* @FilePath: \signal_generator\App\APP_WU\Inc\timer.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#ifndef __TIMER_H
#define __TIMER_H
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -0,0 +1,187 @@
#include "app_screen_modbus.h"
//modbus配置项的游标
MOD_CONF_ITEMS mod_mas_conf_cursor = MOD_CONF_SLAVE_ID;
MOD_CONF_ITEMS mod_mas_conf_cursor_prv = MOD_CONF_NONE;
uint8_t config_focus = 0;
//modbus收发界面的选项游标
MOD_TRX_ITEMS mod_mas_trx_cursor = MOD_TRX_PREVIOUS;
MOD_TRX_ITEMS mod_mas_trx_cursor_prv = MOD_TRX_NONE;
uint8_t trx_focus = 0;
void config_items_set_color(MOD_CONF_ITEMS cur, uint32_t color)
{
switch (cur)
{
case MOD_CONF_SLAVE_ID:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_device_addr, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_START_ADDRESS:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_start_addr, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_BYTES:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_bytes, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_TIMEOUT:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_timeout, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_COMMAND:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_cmd, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_REGISTER_NUM:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_register_num, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_CALIBRATION:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_calibration, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_NEXT:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_next, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
default:
break;
}
}
void config_items_check(MOD_CONF_ITEMS cur, MOD_CONF_ITEMS cur_prv)
{
uint32_t color = 0;
if(config_focus == 1)
{
color = COLOR_CONTENTS_FOCUSED;
}
else
{
color = COLOR_CONTENTS_CHECKED;
}
//点亮cur
config_items_set_color(cur, color);
//熄灭cur——prv
config_items_set_color(cur_prv, COLOR_ITEMS_UNCHECKED);
}
void trx_items_set_color(MOD_TRX_ITEMS cur, uint32_t color)
{
switch (cur)
{
case MOD_TRX_DATA:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_trx_value_Data, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_TRX_PREVIOUS:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_trx_label_previous, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_TRX_SET:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_trx_label_set, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_TRX_SEND:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_trx_label_send, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
default:
break;
}
}
void trx_items_check(MOD_TRX_ITEMS cur, MOD_TRX_ITEMS cur_prv)
{
uint32_t color = 0;
if(trx_focus == 1)
{
color = COLOR_CONTENTS_FOCUSED;
}
else
{
color = COLOR_CONTENTS_CHECKED;
}
//点亮cur
trx_items_set_color(cur, color);
//熄灭cur——prv
trx_items_set_color(cur_prv, COLOR_ITEMS_UNCHECKED);
}
void scr_modbus_config_recover(void)
{
lv_label_set_text(guider_ui.screen_modbus_config_label_title, text_pack.modbus_master_title);
lv_label_set_text(guider_ui.screen_modbus_config_label_device_addr, text_pack.modbus_master_item[0]);
lv_label_set_text(guider_ui.screen_modbus_config_label_start_addr, text_pack.modbus_master_item[1]);
lv_label_set_text(guider_ui.screen_modbus_config_label_bytes, text_pack.modbus_master_item[2]);
lv_label_set_text(guider_ui.screen_modbus_config_label_timeout, text_pack.modbus_master_item[3]);
lv_label_set_text(guider_ui.screen_modbus_config_label_cmd, text_pack.modbus_master_item[4]);
lv_label_set_text(guider_ui.screen_modbus_config_label_register_num, text_pack.modbus_master_item[5]);
lv_label_set_text(guider_ui.screen_modbus_config_label_calibration, text_pack.modbus_master_item[6]);
lv_label_set_text(guider_ui.screen_modbus_config_label_next, text_pack.modbus_master_item[7]);
mod_mas_conf_cursor = MOD_CONF_SLAVE_ID; //配置项的游标
mod_mas_conf_cursor_prv = MOD_CONF_NONE;
config_items_check(mod_mas_conf_cursor, mod_mas_conf_cursor_prv);
}
void scr_modbus_trx_recover(void)
{
//清空数据、发送、接收框
lv_label_set_text(guider_ui.screen_modbus_trx_value_Data,"");
lv_label_set_text(guider_ui.screen_modbus_trx_value_Tx,"");
lv_label_set_text(guider_ui.screen_modbus_trx_value_Rx,"");
mod_mas_trx_cursor = MOD_TRX_PREVIOUS;
mod_mas_trx_cursor_prv = MOD_TRX_NONE;
trx_items_check(mod_mas_trx_cursor, mod_mas_trx_cursor_prv);
}
uint8_t trx_focus_cnt = 0;
void screen_modbus_trx_run(void)
{
//mobus收发界面ok按下焦点后亮一段时间后恢复原色
if(trx_focus)
{
trx_focus_cnt++;
if(trx_focus_cnt >= 2)
{
trx_focus_cnt = 0;
trx_focus = 0;
trx_items_check(mod_mas_trx_cursor, MOD_TRX_NONE);
}
}
}

View File

@ -12,6 +12,10 @@ int32_t color_table[7] =
COLOR_BLACK_VALUE COLOR_BLACK_VALUE
}; };
//设置界面中,通讯选择的游标
uint8_t com_switch_cursor = 0;
uint8_t com_switch_cursor_prv = 99;
//设置菜单数据初始化 //设置菜单数据初始化
void tab_data_init(void) void tab_data_init(void)
{ {
@ -751,3 +755,229 @@ ITEM_CONTENTS content_cur_char2enum(ITEMS ite, uint8_t cur_uint8)
return result; return result;
} }
void set_communication_text(uint8_t con)
{
char str_temp[32] = {0};
switch (con)
{
case TEXT_HART:
{
if(tabdata.content_focus == 0)
{
if(tabdata.hart_enable)
{
lv_label_set_text(guider_ui.screen_setting_label_01, text_pack.item_2_com_val[0]);
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_01, text_pack.item_2_com_val[1]);
}
}
else
{
if(tabdata.hart_enable)
{
sprintf(str_temp,"< %s >",text_pack.item_2_com_val[0]);
}
else
{
sprintf(str_temp,"< %s >",text_pack.item_2_com_val[1]);
}
lv_label_set_text(guider_ui.screen_setting_label_01, str_temp);
}
}
break;
case TEXT_BLE:
{
if(tabdata.content_focus == 0)
{
if(tabdata.bluetooth_enable)
{
lv_label_set_text(guider_ui.screen_setting_label_11, text_pack.item_2_com_val[0]);
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_11, text_pack.item_2_com_val[1]);
}
}
else
{
if(tabdata.bluetooth_enable)
{
sprintf(str_temp,"< %s >",text_pack.item_2_com_val[0]);
}
else
{
sprintf(str_temp,"< %s >",text_pack.item_2_com_val[1]);
}
lv_label_set_text(guider_ui.screen_setting_label_11, str_temp);
}
}
break;
case TEXT_MODBUS:
{
if(tabdata.content_focus == 0)
{
if(tabdata.modbus_enable)
{
if(tabdata.modbus_type == SIG_SLAVE)
{
lv_label_set_text(guider_ui.screen_setting_label_21, text_pack.item_2_com_val[3]);
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_21, text_pack.item_2_com_val[2]);
lv_label_set_text(guider_ui.screen_setting_label_31, ">");
}
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_21, text_pack.item_2_com_val[1]);
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
}
}
else
{
if(tabdata.modbus_enable)
{
if(tabdata.modbus_type == SIG_SLAVE)
{
sprintf(str_temp,"< %s >", text_pack.item_2_com_val[3]);
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
}
else
{
sprintf(str_temp,"< %s >", text_pack.item_2_com_val[2]);
lv_label_set_text(guider_ui.screen_setting_label_31, ">");
}
}
else
{
sprintf(str_temp,"< %s >", text_pack.item_2_com_val[1]);
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
}
lv_label_set_text(guider_ui.screen_setting_label_21, str_temp);
}
}
break;
default:
break;
}
}
void communication_switch(void)
{
//启用所需组件
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_01, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_01, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_10, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_10, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_11, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_11, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_20, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_20, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_21, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_21, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_30, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_30, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_31, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_31, LV_OBJ_FLAG_HIDDEN); };
//隐藏多余组件
lv_obj_add_flag(guider_ui.screen_setting_label_40, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(guider_ui.screen_setting_label_41, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(guider_ui.screen_setting_label_50, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(guider_ui.screen_setting_label_51, LV_OBJ_FLAG_HIDDEN);
//显示左列文本
lv_label_set_text(guider_ui.screen_setting_label_00, text_pack.item_2_com[0]);
lv_label_set_text(guider_ui.screen_setting_label_10, text_pack.item_2_com[1]);
lv_label_set_text(guider_ui.screen_setting_label_20, text_pack.item_2_com[2]);
lv_label_set_text(guider_ui.screen_setting_label_30, text_pack.item_2_com[3]);
//根据当前使能状态显示右列文本
set_communication_text(TEXT_HART);
set_communication_text(TEXT_BLE);
set_communication_text(TEXT_MODBUS);
com_switch_cursor = 0;
com_switch_cursor_prv = 99;
setting_contents_check(com_switch_cursor, com_switch_cursor_prv);
}
void set_communication_modify(uint8_t con, int8_t step)
{
switch (con)
{
case TEXT_HART:
{
tabdata.hart_enable = !tabdata.hart_enable;
//通讯方式互斥
if(tabdata.hart_enable)
{
tabdata.bluetooth_enable = 0;
tabdata.modbus_enable = 0;
tabdata.content_focus = 0;
set_communication_text(TEXT_BLE);
set_communication_text(TEXT_MODBUS);
tabdata.content_focus = 1;
}
}
break;
case TEXT_BLE:
{
tabdata.bluetooth_enable = !tabdata.bluetooth_enable;
//通讯方式互斥
if(tabdata.bluetooth_enable)
{
tabdata.hart_enable = 0;
tabdata.modbus_enable = 0;
tabdata.content_focus = 0;
set_communication_text(TEXT_HART);
set_communication_text(TEXT_MODBUS);
tabdata.content_focus = 1;
}
}
break;
case TEXT_MODBUS:
{
tabdata.modbus_enable += step;
if( ( 2 < tabdata.modbus_enable )&&(tabdata.modbus_enable < 200) ) tabdata.modbus_enable = 0;
if(tabdata.modbus_enable > 200) tabdata.modbus_enable = 2;
if(tabdata.modbus_enable == 2)
{
tabdata.modbus_type = SIG_MASTER;
}
else
{
tabdata.modbus_type = SIG_SLAVE;
}
//通讯方式互斥
if(tabdata.modbus_enable)
{
tabdata.hart_enable = 0;
tabdata.bluetooth_enable = 0;
tabdata.content_focus = 0;
set_communication_text(TEXT_HART);
set_communication_text(TEXT_BLE);
tabdata.content_focus = 1;
}
}
break;
default:
break;
}
}

View File

@ -1,777 +0,0 @@
#include "app_screen_setting_trans.h"
//设置界面中,通讯选择的游标
uint8_t com_switch_cursor = 0;
uint8_t com_switch_cursor_prv = 99;
//modbus配置项的游标
MOD_CONF_ITEMS mod_mas_conf_cursor = MOD_CONF_SLAVE_ID;
MOD_CONF_ITEMS mod_mas_conf_cursor_prv = MOD_CONF_NONE;
uint8_t config_focus = 0;
//modbus收发界面的选项游标
MOD_TRX_ITEMS mod_mas_trx_cursor = MOD_TRX_PREVIOUS;
MOD_TRX_ITEMS mod_mas_trx_cursor_prv = MOD_TRX_NONE;
uint8_t trx_focus = 0;
void set_communication_text(uint8_t con)
{
char str_temp[32] = {0};
switch (con)
{
case TEXT_HART:
{
if(tabdata.content_focus == 0)
{
if(tabdata.hart_enable)
{
lv_label_set_text(guider_ui.screen_setting_label_01, text_pack.item_2_com_val[0]);
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_01, text_pack.item_2_com_val[1]);
}
}
else
{
if(tabdata.hart_enable)
{
sprintf(str_temp,"< %s >",text_pack.item_2_com_val[0]);
}
else
{
sprintf(str_temp,"< %s >",text_pack.item_2_com_val[1]);
}
lv_label_set_text(guider_ui.screen_setting_label_01, str_temp);
}
}
break;
case TEXT_BLE:
{
if(tabdata.content_focus == 0)
{
if(tabdata.bluetooth_enable)
{
lv_label_set_text(guider_ui.screen_setting_label_11, text_pack.item_2_com_val[0]);
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_11, text_pack.item_2_com_val[1]);
}
}
else
{
if(tabdata.bluetooth_enable)
{
sprintf(str_temp,"< %s >",text_pack.item_2_com_val[0]);
}
else
{
sprintf(str_temp,"< %s >",text_pack.item_2_com_val[1]);
}
lv_label_set_text(guider_ui.screen_setting_label_11, str_temp);
}
}
break;
case TEXT_MODBUS:
{
if(tabdata.content_focus == 0)
{
if(tabdata.modbus_enable)
{
if(tabdata.modbus_type == SIG_SLAVE)
{
lv_label_set_text(guider_ui.screen_setting_label_21, text_pack.item_2_com_val[3]);
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_21, text_pack.item_2_com_val[2]);
lv_label_set_text(guider_ui.screen_setting_label_31, ">");
}
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_21, text_pack.item_2_com_val[1]);
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
}
}
else
{
if(tabdata.modbus_enable)
{
if(tabdata.modbus_type == SIG_SLAVE)
{
sprintf(str_temp,"< %s >", text_pack.item_2_com_val[3]);
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
}
else
{
sprintf(str_temp,"< %s >", text_pack.item_2_com_val[2]);
lv_label_set_text(guider_ui.screen_setting_label_31, ">");
}
}
else
{
sprintf(str_temp,"< %s >", text_pack.item_2_com_val[1]);
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
}
lv_label_set_text(guider_ui.screen_setting_label_21, str_temp);
}
}
break;
default:
break;
}
}
void communication_switch(void)
{
//启用所需组件
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_01, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_01, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_10, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_10, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_11, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_11, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_20, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_20, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_21, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_21, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_30, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_30, LV_OBJ_FLAG_HIDDEN); };
if( lv_obj_has_flag(guider_ui.screen_setting_label_31, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_31, LV_OBJ_FLAG_HIDDEN); };
//隐藏多余组件
lv_obj_add_flag(guider_ui.screen_setting_label_40, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(guider_ui.screen_setting_label_41, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(guider_ui.screen_setting_label_50, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(guider_ui.screen_setting_label_51, LV_OBJ_FLAG_HIDDEN);
//显示左列文本
lv_label_set_text(guider_ui.screen_setting_label_00, text_pack.item_2_com[0]);
lv_label_set_text(guider_ui.screen_setting_label_10, text_pack.item_2_com[1]);
lv_label_set_text(guider_ui.screen_setting_label_20, text_pack.item_2_com[2]);
lv_label_set_text(guider_ui.screen_setting_label_30, text_pack.item_2_com[3]);
//根据当前使能状态显示右列文本
set_communication_text(TEXT_HART);
set_communication_text(TEXT_BLE);
set_communication_text(TEXT_MODBUS);
com_switch_cursor = 0;
com_switch_cursor_prv = 99;
setting_contents_check(com_switch_cursor, com_switch_cursor_prv);
}
void config_items_set_color(MOD_CONF_ITEMS cur, uint32_t color)
{
switch (cur)
{
case MOD_CONF_SLAVE_ID:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_device_addr, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_START_ADDRESS:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_start_addr, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_BYTES:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_bytes, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_TIMEOUT:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_timeout, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_COMMAND:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_cmd, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_REGISTER_NUM:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_register_num, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_CALIBRATION:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_calibration, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_CONF_NEXT:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_config_value_next, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
default:
break;
}
}
void config_items_check(MOD_CONF_ITEMS cur, MOD_CONF_ITEMS cur_prv)
{
uint32_t color = 0;
if(config_focus == 1)
{
color = COLOR_CONTENTS_FOCUSED;
}
else
{
color = COLOR_CONTENTS_CHECKED;
}
//点亮cur
config_items_set_color(cur, color);
//熄灭cur——prv
config_items_set_color(cur_prv, COLOR_ITEMS_UNCHECKED);
}
void trx_items_set_color(MOD_TRX_ITEMS cur, uint32_t color)
{
switch (cur)
{
case MOD_TRX_DATA:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_display_value_Data, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_TRX_PREVIOUS:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_display_label_previous, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_TRX_SET:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_display_label_set, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
case MOD_TRX_SEND:
{
lv_obj_set_style_bg_color(guider_ui.screen_modbus_display_label_send, lv_color_hex(color), LV_PART_MAIN|LV_STATE_DEFAULT);
}
break;
default:
break;
}
}
void trx_items_check(MOD_TRX_ITEMS cur, MOD_TRX_ITEMS cur_prv)
{
uint32_t color = 0;
if(trx_focus == 1)
{
color = COLOR_CONTENTS_FOCUSED;
}
else
{
color = COLOR_CONTENTS_CHECKED;
}
//点亮cur
trx_items_set_color(cur, color);
//熄灭cur——prv
trx_items_set_color(cur_prv, COLOR_ITEMS_UNCHECKED);
}
void set_communication_modify(uint8_t con, int8_t step)
{
switch (con)
{
case TEXT_HART:
{
tabdata.hart_enable = !tabdata.hart_enable;
//通讯方式互斥
if(tabdata.hart_enable)
{
tabdata.bluetooth_enable = 0;
tabdata.modbus_enable = 0;
tabdata.content_focus = 0;
set_communication_text(TEXT_BLE);
set_communication_text(TEXT_MODBUS);
tabdata.content_focus = 1;
}
}
break;
case TEXT_BLE:
{
tabdata.bluetooth_enable = !tabdata.bluetooth_enable;
//通讯方式互斥
if(tabdata.bluetooth_enable)
{
tabdata.hart_enable = 0;
tabdata.modbus_enable = 0;
tabdata.content_focus = 0;
set_communication_text(TEXT_HART);
set_communication_text(TEXT_MODBUS);
tabdata.content_focus = 1;
}
}
break;
case TEXT_MODBUS:
{
tabdata.modbus_enable += step;
if( ( 2 < tabdata.modbus_enable )&&(tabdata.modbus_enable < 200) ) tabdata.modbus_enable = 0;
if(tabdata.modbus_enable > 200) tabdata.modbus_enable = 2;
if(tabdata.modbus_enable == 2)
{
tabdata.modbus_type = SIG_MASTER;
}
else
{
tabdata.modbus_type = SIG_SLAVE;
}
//通讯方式互斥
if(tabdata.modbus_enable)
{
tabdata.hart_enable = 0;
tabdata.bluetooth_enable = 0;
tabdata.content_focus = 0;
set_communication_text(TEXT_HART);
set_communication_text(TEXT_BLE);
tabdata.content_focus = 1;
}
}
break;
default:
break;
}
}
void scr_modbus_config_recover(void)
{
lv_label_set_text(guider_ui.screen_modbus_config_label_title, text_pack.modbus_master_title);
lv_label_set_text(guider_ui.screen_modbus_config_label_device_addr, text_pack.modbus_master_item[0]);
lv_label_set_text(guider_ui.screen_modbus_config_label_start_addr, text_pack.modbus_master_item[1]);
lv_label_set_text(guider_ui.screen_modbus_config_label_bytes, text_pack.modbus_master_item[2]);
lv_label_set_text(guider_ui.screen_modbus_config_label_timeout, text_pack.modbus_master_item[3]);
lv_label_set_text(guider_ui.screen_modbus_config_label_cmd, text_pack.modbus_master_item[4]);
lv_label_set_text(guider_ui.screen_modbus_config_label_register_num, text_pack.modbus_master_item[5]);
lv_label_set_text(guider_ui.screen_modbus_config_label_calibration, text_pack.modbus_master_item[6]);
lv_label_set_text(guider_ui.screen_modbus_config_label_next, text_pack.modbus_master_item[7]);
mod_mas_conf_cursor = MOD_CONF_SLAVE_ID; //配置项的游标
mod_mas_conf_cursor_prv = MOD_CONF_NONE;
config_items_check(mod_mas_conf_cursor, mod_mas_conf_cursor_prv);
}
void scr_modbus_trx_recover(void)
{
//清空数据、发送、接收框
lv_label_set_text(guider_ui.screen_modbus_display_value_Data,"");
lv_label_set_text(guider_ui.screen_modbus_display_value_Tx,"");
lv_label_set_text(guider_ui.screen_modbus_display_value_Rx,"");
mod_mas_trx_cursor = MOD_TRX_PREVIOUS;
mod_mas_trx_cursor_prv = MOD_TRX_NONE;
trx_items_check(mod_mas_trx_cursor, mod_mas_trx_cursor_prv);
}
uint8_t trx_focus_cnt = 0;
void screen_modbus_trx_run(void)
{
//mobus收发界面ok按下焦点后亮一段时间后恢复原色
if(trx_focus)
{
trx_focus_cnt++;
if(trx_focus_cnt >= 2)
{
trx_focus_cnt = 0;
trx_focus = 0;
trx_items_check(mod_mas_trx_cursor, MOD_TRX_NONE);
}
}
}
uint8_t mod_trx_set_flag = 0; //trx的屏幕是否加载过
void key_functions_modbus(void)
{
if( key_pv.status == KEY_STATUS_DISABLE ) return;
uint8_t calculate_temp = 0; //临时变量,替代枚举变量进行计算
switch (key_pv.tag)
{
case KEY_UP:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
mod_mas_conf_cursor_prv = mod_mas_conf_cursor;
calculate_temp = (uint8_t)mod_mas_conf_cursor;
if(calculate_temp == 0)
{
calculate_temp = 7;
}
else
{
calculate_temp -= 1;
}
mod_mas_conf_cursor = (MOD_CONF_ITEMS)calculate_temp;
config_items_check(mod_mas_conf_cursor, mod_mas_conf_cursor_prv);
}
break;
case MODBUS_MASTER_TRX:
{
if(mod_mas_trx_cursor)
{
mod_mas_trx_cursor_prv = mod_mas_trx_cursor;
mod_mas_trx_cursor = MOD_TRX_DATA;
trx_items_check(mod_mas_trx_cursor, mod_mas_trx_cursor_prv);
}
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
case KEY_DOWN:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
mod_mas_conf_cursor_prv = mod_mas_conf_cursor;
calculate_temp = (uint8_t)mod_mas_conf_cursor;
if(calculate_temp == 7)
{
calculate_temp = 0;
}
else
{
calculate_temp += 1;
}
mod_mas_conf_cursor = (MOD_CONF_ITEMS)calculate_temp;
config_items_check(mod_mas_conf_cursor, mod_mas_conf_cursor_prv);
}
break;
case MODBUS_MASTER_TRX:
{
if(!mod_mas_trx_cursor)
{
mod_mas_trx_cursor_prv = mod_mas_trx_cursor;
mod_mas_trx_cursor = MOD_TRX_PREVIOUS;
trx_items_check(mod_mas_trx_cursor, mod_mas_trx_cursor_prv);
}
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
case KEY_LEFT:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
mod_mas_conf_cursor_prv = mod_mas_conf_cursor;
calculate_temp = (uint8_t)mod_mas_conf_cursor;
calculate_temp -= 4;
if(calculate_temp > 200)
{
calculate_temp = (uint8_t)mod_mas_conf_cursor_prv + 4;
}
mod_mas_conf_cursor = (MOD_CONF_ITEMS)calculate_temp;
config_items_check(mod_mas_conf_cursor, mod_mas_conf_cursor_prv);
}
break;
case MODBUS_MASTER_TRX:
{
if(mod_mas_trx_cursor)
{
mod_mas_trx_cursor_prv = mod_mas_trx_cursor;
calculate_temp = (uint8_t)mod_mas_trx_cursor;
calculate_temp -= 1;
if(calculate_temp == 0) calculate_temp = 3;
mod_mas_trx_cursor = (MOD_TRX_ITEMS)calculate_temp;
trx_items_check(mod_mas_trx_cursor, mod_mas_trx_cursor_prv);
}
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
case KEY_RIGHT:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
mod_mas_conf_cursor_prv = mod_mas_conf_cursor;
calculate_temp = (uint8_t)mod_mas_conf_cursor;
calculate_temp += 4;
if(calculate_temp > 7)
{
calculate_temp = (uint8_t)mod_mas_conf_cursor_prv - 4;
}
mod_mas_conf_cursor = (MOD_CONF_ITEMS)calculate_temp;
config_items_check(mod_mas_conf_cursor, mod_mas_conf_cursor_prv);
}
break;
case MODBUS_MASTER_TRX:
{
if(mod_mas_trx_cursor)
{
mod_mas_trx_cursor_prv = mod_mas_trx_cursor;
calculate_temp = (uint8_t)mod_mas_trx_cursor;
calculate_temp += 1;
if(calculate_temp > 3) calculate_temp = 1;
mod_mas_trx_cursor = (MOD_TRX_ITEMS)calculate_temp;
trx_items_check(mod_mas_trx_cursor, mod_mas_trx_cursor_prv);
}
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
case KEY_OK:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
if(mod_mas_conf_cursor == MOD_CONF_NEXT)
{
if(!mod_trx_set_flag)
{
mod_trx_set_flag = 1;
setup_scr_screen_modbus_display(&guider_ui);
delay_cnt(200); //不加延时有概率卡死
}
//加载trx界面
scr_modbus_trx_recover();
lv_scr_load(guider_ui.screen_modbus_display);
lv_obj_clear_flag(guider_ui.screen_modbus_display, LV_OBJ_FLAG_HIDDEN);
menu_data.scr_now = SCREEN_MODBUS_MASTER_TRX;
//隐藏配置界面,熄灭当前游标
lv_obj_add_flag(guider_ui.screen_modbus_config, LV_OBJ_FLAG_HIDDEN);
config_items_check(MOD_CONF_NONE, mod_mas_conf_cursor);
current_operation = MODBUS_MASTER_TRX;
}
}
break;
case MODBUS_MASTER_TRX:
{
switch (mod_mas_trx_cursor)
{
case MOD_TRX_DATA:
{
}
break;
case MOD_TRX_PREVIOUS:
{
key = KEY_BACK_VAL;
key_char2struct();
}
break;
case MOD_TRX_SET:
{
trx_focus = 1;
trx_items_check(mod_mas_trx_cursor, MOD_TRX_NONE);
}
break;
case MOD_TRX_SEND:
{
trx_focus = 1;
trx_items_check(mod_mas_trx_cursor, MOD_TRX_NONE);
}
break;
default:
break;
}
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
case KEY_BACK:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
//加载设置界面的内容
setup_scr_screen_setting(&guider_ui);
scr_setting_recover();
delay_cnt(200); //不加延时有概率卡死
lv_scr_load(guider_ui.screen_setting); //加载菜单界面
//删除modbus的相关内容释放内存
lv_obj_del_async(guider_ui.screen_modbus_config);
if(mod_trx_set_flag)
{
//加载过的情况下才能删除,否则会进入硬件错误中断
mod_trx_set_flag = 0;
lv_obj_del_async(guider_ui.screen_modbus_display);
}
menu_data.scr_now = SCREEN_SETTING;
//进入拓展功能选项卡
tabdata.item_cursor = ITEM_2;
tabdata.item_cursor_prv = ITEM_0;
setting_items_check(tabdata.item_cursor, tabdata.item_cursor_prv);
//进入通讯选择
tabdata.content_focus = 0;
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_21, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
communication_switch();
current_operation = SET_COMMUNICATION_SWITCH;
key_config_update(current_operation);
}
break;
case MODBUS_MASTER_TRX:
{
//加载配置界面
scr_modbus_config_recover();
lv_scr_load(guider_ui.screen_modbus_config);
lv_obj_clear_flag(guider_ui.screen_modbus_config, LV_OBJ_FLAG_HIDDEN);
menu_data.scr_now = SCREEN_MODBUS_MASTER_CONFIG;
//隐藏trx界面
lv_obj_add_flag(guider_ui.screen_modbus_display, LV_OBJ_FLAG_HIDDEN);
//熄灭当前游标
trx_items_check(MOD_TRX_NONE, mod_mas_trx_cursor);
current_operation = MODBUS_MASTER_CONFIG;
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
default:
break;
}
}

View File

@ -0,0 +1,2 @@
#include "apps_var_def.h"

View File

@ -0,0 +1,364 @@
#include "key_functions_modbus.h"
uint8_t mod_trx_set_flag = 0; //trx的屏幕是否加载过
void key_functions_modbus(void)
{
if( key_pv.status == KEY_STATUS_DISABLE ) return;
uint8_t calculate_temp = 0; //临时变量,替代枚举变量进行计算
switch (key_pv.tag)
{
case KEY_UP:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
mod_mas_conf_cursor_prv = mod_mas_conf_cursor;
calculate_temp = (uint8_t)mod_mas_conf_cursor;
if(calculate_temp == 0)
{
calculate_temp = 7;
}
else
{
calculate_temp -= 1;
}
mod_mas_conf_cursor = (MOD_CONF_ITEMS)calculate_temp;
config_items_check(mod_mas_conf_cursor, mod_mas_conf_cursor_prv);
}
break;
case MODBUS_MASTER_TRX:
{
if(mod_mas_trx_cursor)
{
mod_mas_trx_cursor_prv = mod_mas_trx_cursor;
mod_mas_trx_cursor = MOD_TRX_DATA;
trx_items_check(mod_mas_trx_cursor, mod_mas_trx_cursor_prv);
}
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
case KEY_DOWN:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
mod_mas_conf_cursor_prv = mod_mas_conf_cursor;
calculate_temp = (uint8_t)mod_mas_conf_cursor;
if(calculate_temp == 7)
{
calculate_temp = 0;
}
else
{
calculate_temp += 1;
}
mod_mas_conf_cursor = (MOD_CONF_ITEMS)calculate_temp;
config_items_check(mod_mas_conf_cursor, mod_mas_conf_cursor_prv);
}
break;
case MODBUS_MASTER_TRX:
{
if(!mod_mas_trx_cursor)
{
mod_mas_trx_cursor_prv = mod_mas_trx_cursor;
mod_mas_trx_cursor = MOD_TRX_PREVIOUS;
trx_items_check(mod_mas_trx_cursor, mod_mas_trx_cursor_prv);
}
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
case KEY_LEFT:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
mod_mas_conf_cursor_prv = mod_mas_conf_cursor;
calculate_temp = (uint8_t)mod_mas_conf_cursor;
calculate_temp -= 4;
if(calculate_temp > 200)
{
calculate_temp = (uint8_t)mod_mas_conf_cursor_prv + 4;
}
mod_mas_conf_cursor = (MOD_CONF_ITEMS)calculate_temp;
config_items_check(mod_mas_conf_cursor, mod_mas_conf_cursor_prv);
}
break;
case MODBUS_MASTER_TRX:
{
if(mod_mas_trx_cursor)
{
mod_mas_trx_cursor_prv = mod_mas_trx_cursor;
calculate_temp = (uint8_t)mod_mas_trx_cursor;
calculate_temp -= 1;
if(calculate_temp == 0) calculate_temp = 3;
mod_mas_trx_cursor = (MOD_TRX_ITEMS)calculate_temp;
trx_items_check(mod_mas_trx_cursor, mod_mas_trx_cursor_prv);
}
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
case KEY_RIGHT:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
mod_mas_conf_cursor_prv = mod_mas_conf_cursor;
calculate_temp = (uint8_t)mod_mas_conf_cursor;
calculate_temp += 4;
if(calculate_temp > 7)
{
calculate_temp = (uint8_t)mod_mas_conf_cursor_prv - 4;
}
mod_mas_conf_cursor = (MOD_CONF_ITEMS)calculate_temp;
config_items_check(mod_mas_conf_cursor, mod_mas_conf_cursor_prv);
}
break;
case MODBUS_MASTER_TRX:
{
if(mod_mas_trx_cursor)
{
mod_mas_trx_cursor_prv = mod_mas_trx_cursor;
calculate_temp = (uint8_t)mod_mas_trx_cursor;
calculate_temp += 1;
if(calculate_temp > 3) calculate_temp = 1;
mod_mas_trx_cursor = (MOD_TRX_ITEMS)calculate_temp;
trx_items_check(mod_mas_trx_cursor, mod_mas_trx_cursor_prv);
}
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
case KEY_OK:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
if(mod_mas_conf_cursor == MOD_CONF_NEXT)
{
if(!mod_trx_set_flag)
{
mod_trx_set_flag = 1;
setup_scr_screen_modbus_trx(&guider_ui);
delay_cnt(200); //不加延时有概率卡死
}
//加载trx界面
scr_modbus_trx_recover();
lv_scr_load(guider_ui.screen_modbus_trx);
lv_obj_clear_flag(guider_ui.screen_modbus_trx, LV_OBJ_FLAG_HIDDEN);
menu_data.scr_now = SCREEN_MODBUS_MASTER_TRX;
//隐藏配置界面,熄灭当前游标
lv_obj_add_flag(guider_ui.screen_modbus_config, LV_OBJ_FLAG_HIDDEN);
config_items_check(MOD_CONF_NONE, mod_mas_conf_cursor);
current_operation = MODBUS_MASTER_TRX;
}
}
break;
case MODBUS_MASTER_TRX:
{
switch (mod_mas_trx_cursor)
{
case MOD_TRX_DATA:
{
}
break;
case MOD_TRX_PREVIOUS:
{
key = KEY_BACK_VAL;
key_char2struct();
}
break;
case MOD_TRX_SET:
{
trx_focus = 1;
trx_items_check(mod_mas_trx_cursor, MOD_TRX_NONE);
}
break;
case MOD_TRX_SEND:
{
trx_focus = 1;
trx_items_check(mod_mas_trx_cursor, MOD_TRX_NONE);
}
break;
default:
break;
}
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
case KEY_BACK:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case MODBUS_MASTER_CONFIG:
{
//加载设置界面的内容
setup_scr_screen_setting(&guider_ui);
scr_setting_recover();
delay_cnt(200); //不加延时有概率卡死
lv_scr_load(guider_ui.screen_setting); //加载菜单界面
//删除modbus的相关内容释放内存
lv_obj_del_async(guider_ui.screen_modbus_config);
if(mod_trx_set_flag)
{
//加载过的情况下才能删除,否则会进入硬件错误中断
mod_trx_set_flag = 0;
lv_obj_del_async(guider_ui.screen_modbus_trx);
}
menu_data.scr_now = SCREEN_SETTING;
//进入拓展功能选项卡
tabdata.item_cursor = ITEM_2;
tabdata.item_cursor_prv = ITEM_0;
setting_items_check(tabdata.item_cursor, tabdata.item_cursor_prv);
//进入通讯选择
tabdata.content_focus = 0;
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_21, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
communication_switch();
current_operation = SET_COMMUNICATION_SWITCH;
key_config_update(current_operation);
}
break;
case MODBUS_MASTER_TRX:
{
//加载配置界面
scr_modbus_config_recover();
lv_scr_load(guider_ui.screen_modbus_config);
lv_obj_clear_flag(guider_ui.screen_modbus_config, LV_OBJ_FLAG_HIDDEN);
menu_data.scr_now = SCREEN_MODBUS_MASTER_CONFIG;
//隐藏trx界面
lv_obj_add_flag(guider_ui.screen_modbus_trx, LV_OBJ_FLAG_HIDDEN);
//熄灭当前游标
trx_items_check(MOD_TRX_NONE, mod_mas_trx_cursor);
current_operation = MODBUS_MASTER_CONFIG;
}
break;
case MODBUS_MASTER_TRX_MODIFY:
{}
break;
default:
break;
}
}
break;
default:
break;
}
}

View File

@ -1,11 +1,3 @@
/*
* @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2024-12-27 11:44:23
* @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2025-04-01 16:21:10
* @FilePath: \signal_generator\App\APP_WU\timer.c
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#include "timer.h" #include "timer.h"
int heart_1000ms_flag = 0; int heart_1000ms_flag = 0;

View File

@ -1,5 +1,5 @@
#ifndef __BLE_H #ifndef _BLE_H_
#define __BLE_H #define _BLE_H_
#include "usart.h" #include "usart.h"
#include "data_type_def.h" #include "data_type_def.h"

View File

@ -1,13 +1,5 @@
/* #ifndef _EEPROM_SPI_H_
* @Author: wujunchao wujunchao@wuxismart.com #define _EEPROM_SPI_H_
* @Date: 2025-03-17 14:38:22
* @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2025-04-01 14:42:01
* @FilePath: \signal_generator\App\APP_WU\Inc\eeprom_spi.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#ifndef _EEPROM_SPI_H
#define _EEPROM_SPI_H
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -1,5 +1,5 @@
#ifndef __HART_H #ifndef _HART_H_
#define __HART_H #define _HART_H_
#include "usart.h" #include "usart.h"
#include "data_type_def.h" #include "data_type_def.h"

View File

@ -1,13 +1,5 @@
/* #ifndef _IP5310_I2C_H_
* @Author: wujunchao wujunchao@wuxismart.com #define _IP5310_I2C_H_
* @Date: 2025-03-17 13:35:17
* @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2025-03-24 17:34:13
* @FilePath: \signal_generator\App\APP_WU\Inc\ip5310_i2c.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#ifndef __IP5310_I2C_H
#define __IP5310_I2C_H
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -6,8 +6,8 @@
* @FilePath: \signal_generator\App\LCD\JLX240-00301-BN.h * @FilePath: \signal_generator\App\LCD\JLX240-00301-BN.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
#ifndef __JLX240X320_H #ifndef _JLX240X320_H_
#define __JLX240X320_H #define _JLX240X320_H_
#include "data_type_def.h" #include "data_type_def.h"
#define CS_SET() HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_SET) #define CS_SET() HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_SET)

View File

@ -1,5 +1,5 @@
#ifndef __MODBUS_485_H #ifndef _MODBUS_485_H_
#define __MODBUS_485_H #define _MODBUS_485_H_
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -1,5 +1,5 @@
#ifndef __MODBUS_RTU_H #ifndef _MODBUS_RTU_H_
#define __MODBUS_RTU_H #define _MODBUS_RTU_H_
#include "apps_gather.h" #include "apps_gather.h"

View File

@ -1,5 +1,5 @@
#ifndef __MODBUS_RTU_MASTER_H #ifndef _MODBUS_RTU_MASTER_H_
#define __MODBUS_RTU_MASTER_H #define _MODBUS_RTU_MASTER_H_
#include "apps_gather.h" #include "apps_gather.h"
#include "modbus_rtu.h" #include "modbus_rtu.h"

View File

@ -1,13 +1,5 @@
/* #ifndef _MUX_SIGNAL_H_
* @Author: DaMingSY zxm5337@163.com #define _MUX_SIGNAL_H_
* @Date: 2024-09-02 15:59:31
* @LastEditors: DaMingSY zxm5337@163.com
* @LastEditTime: 2024-11-28 10:07:48
* @FilePath: \signal_generator\App\MUX_SIGNAL\mux_signal.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#ifndef __MUX_SIGNAL_H_
#define __MUX_SIGNAL_H_
#include "data_type_def.h" #include "data_type_def.h"
#include "gpio.h" #include "gpio.h"

View File

@ -77,7 +77,7 @@ void init_scr_del_flag(lv_ui *ui)
ui->screen_main_del = true; ui->screen_main_del = true;
ui->screen_setting_del = true; ui->screen_setting_del = true;
ui->screen_modbus_config_del = true; ui->screen_modbus_config_del = true;
ui->screen_modbus_display_del = true; ui->screen_modbus_trx_del = true;
ui->screen_hidden_del = true; ui->screen_hidden_del = true;
} }

View File

@ -115,50 +115,50 @@ typedef struct
lv_obj_t *screen_modbus_config_num_2; lv_obj_t *screen_modbus_config_num_2;
lv_obj_t *screen_modbus_config_num_1; lv_obj_t *screen_modbus_config_num_1;
lv_obj_t *screen_modbus_config_num_0; lv_obj_t *screen_modbus_config_num_0;
lv_obj_t *screen_modbus_display; lv_obj_t *screen_modbus_trx;
bool screen_modbus_display_del; bool screen_modbus_trx_del;
lv_obj_t *screen_modbus_display_value_Rx; lv_obj_t *screen_modbus_trx_value_Rx;
lv_obj_t *screen_modbus_display_value_Tx; lv_obj_t *screen_modbus_trx_value_Tx;
lv_obj_t *screen_modbus_display_value_Data; lv_obj_t *screen_modbus_trx_value_Data;
lv_obj_t *screen_modbus_display_label_Rx; lv_obj_t *screen_modbus_trx_label_Rx;
lv_obj_t *screen_modbus_display_label_send; lv_obj_t *screen_modbus_trx_label_send;
lv_obj_t *screen_modbus_display_label_set; lv_obj_t *screen_modbus_trx_label_set;
lv_obj_t *screen_modbus_display_label_previous; lv_obj_t *screen_modbus_trx_label_previous;
lv_obj_t *screen_modbus_display_label_Tx; lv_obj_t *screen_modbus_trx_label_Tx;
lv_obj_t *screen_modbus_display_label_Data; lv_obj_t *screen_modbus_trx_label_Data;
lv_obj_t *screen_modbus_display_window_data; lv_obj_t *screen_modbus_trx_window_data;
lv_obj_t *screen_modbus_display_num_37; lv_obj_t *screen_modbus_trx_num_37;
lv_obj_t *screen_modbus_display_num_36; lv_obj_t *screen_modbus_trx_num_36;
lv_obj_t *screen_modbus_display_num_35; lv_obj_t *screen_modbus_trx_num_35;
lv_obj_t *screen_modbus_display_num_34; lv_obj_t *screen_modbus_trx_num_34;
lv_obj_t *screen_modbus_display_num_33; lv_obj_t *screen_modbus_trx_num_33;
lv_obj_t *screen_modbus_display_num_32; lv_obj_t *screen_modbus_trx_num_32;
lv_obj_t *screen_modbus_display_num_31; lv_obj_t *screen_modbus_trx_num_31;
lv_obj_t *screen_modbus_display_num_30; lv_obj_t *screen_modbus_trx_num_30;
lv_obj_t *screen_modbus_display_num_27; lv_obj_t *screen_modbus_trx_num_27;
lv_obj_t *screen_modbus_display_num_26; lv_obj_t *screen_modbus_trx_num_26;
lv_obj_t *screen_modbus_display_num_25; lv_obj_t *screen_modbus_trx_num_25;
lv_obj_t *screen_modbus_display_num_24; lv_obj_t *screen_modbus_trx_num_24;
lv_obj_t *screen_modbus_display_num_23; lv_obj_t *screen_modbus_trx_num_23;
lv_obj_t *screen_modbus_display_num_22; lv_obj_t *screen_modbus_trx_num_22;
lv_obj_t *screen_modbus_display_num_21; lv_obj_t *screen_modbus_trx_num_21;
lv_obj_t *screen_modbus_display_num_20; lv_obj_t *screen_modbus_trx_num_20;
lv_obj_t *screen_modbus_display_num_17; lv_obj_t *screen_modbus_trx_num_17;
lv_obj_t *screen_modbus_display_num_16; lv_obj_t *screen_modbus_trx_num_16;
lv_obj_t *screen_modbus_display_num_15; lv_obj_t *screen_modbus_trx_num_15;
lv_obj_t *screen_modbus_display_num_14; lv_obj_t *screen_modbus_trx_num_14;
lv_obj_t *screen_modbus_display_num_13; lv_obj_t *screen_modbus_trx_num_13;
lv_obj_t *screen_modbus_display_num_12; lv_obj_t *screen_modbus_trx_num_12;
lv_obj_t *screen_modbus_display_num_11; lv_obj_t *screen_modbus_trx_num_11;
lv_obj_t *screen_modbus_display_num_10; lv_obj_t *screen_modbus_trx_num_10;
lv_obj_t *screen_modbus_display_num_07; lv_obj_t *screen_modbus_trx_num_07;
lv_obj_t *screen_modbus_display_num_06; lv_obj_t *screen_modbus_trx_num_06;
lv_obj_t *screen_modbus_display_num_05; lv_obj_t *screen_modbus_trx_num_05;
lv_obj_t *screen_modbus_display_num_04; lv_obj_t *screen_modbus_trx_num_04;
lv_obj_t *screen_modbus_display_num_03; lv_obj_t *screen_modbus_trx_num_03;
lv_obj_t *screen_modbus_display_num_02; lv_obj_t *screen_modbus_trx_num_02;
lv_obj_t *screen_modbus_display_num_01; lv_obj_t *screen_modbus_trx_num_01;
lv_obj_t *screen_modbus_display_num_00; lv_obj_t *screen_modbus_trx_num_00;
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;
@ -188,7 +188,7 @@ void setup_scr_screen_init(lv_ui *ui);
void setup_scr_screen_main(lv_ui *ui); void setup_scr_screen_main(lv_ui *ui);
void setup_scr_screen_setting(lv_ui *ui); void setup_scr_screen_setting(lv_ui *ui);
void setup_scr_screen_modbus_config(lv_ui *ui); void setup_scr_screen_modbus_config(lv_ui *ui);
void setup_scr_screen_modbus_display(lv_ui *ui); void setup_scr_screen_modbus_trx(lv_ui *ui);
void setup_scr_screen_hidden(lv_ui *ui); void setup_scr_screen_hidden(lv_ui *ui);
LV_IMG_DECLARE(_logo_alpha_141x60); LV_IMG_DECLARE(_logo_alpha_141x60);
#include "extra/widgets/animimg/lv_animimg.h" #include "extra/widgets/animimg/lv_animimg.h"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,192 @@
const lv_img_dsc_t * screen_main_ani_in_6_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_in_5_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_in_4_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_in_3_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_in_2_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_in_1_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_in_0_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_in_sign_imgs[3] = {
&screen_main_ani_in_6W_MOK_null,
&screen_main_ani_in_signW_MOK_minus,
&screen_main_ani_in_signW_MOK_plus,
};
const lv_img_dsc_t * screen_main_ani_out_6_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_out_5_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_out_4_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_out_3_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_out_2_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_out_1_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_out_0_imgs[11] = {
&screen_main_ani_in_6W_MOK_0,
&screen_main_ani_in_6W_MOK_1,
&screen_main_ani_in_6W_MOK_2,
&screen_main_ani_in_6W_MOK_3,
&screen_main_ani_in_6W_MOK_4,
&screen_main_ani_in_6W_MOK_5,
&screen_main_ani_in_6W_MOK_6,
&screen_main_ani_in_6W_MOK_7,
&screen_main_ani_in_6W_MOK_8,
&screen_main_ani_in_6W_MOK_9,
&screen_main_ani_in_6W_MOK_null,
};
const lv_img_dsc_t * screen_main_ani_out_sign_imgs[3] = {
&screen_main_ani_in_6W_MOK_null,
&screen_main_ani_in_signW_MOK_minus,
&screen_main_ani_in_signW_MOK_plus,
};

View File

@ -3832,8 +3832,8 @@
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\App\APP_WU\Src\app_screen_setting_trans.c</PathWithFileName> <PathWithFileName>..\App\APP_WU\Src\key_functions_main.c</PathWithFileName>
<FilenameWithoutPath>app_screen_setting_trans.c</FilenameWithoutPath> <FilenameWithoutPath>key_functions_main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
@ -3844,8 +3844,8 @@
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\App\APP_WU\Src\key_functions_main.c</PathWithFileName> <PathWithFileName>..\App\APP_WU\Src\key_functions_setting.c</PathWithFileName>
<FilenameWithoutPath>key_functions_main.c</FilenameWithoutPath> <FilenameWithoutPath>key_functions_setting.c</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
@ -3856,8 +3856,32 @@
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\App\APP_WU\Src\key_functions_setting.c</PathWithFileName> <PathWithFileName>..\App\APP_WU\Src\app_screen_modbus.c</PathWithFileName>
<FilenameWithoutPath>key_functions_setting.c</FilenameWithoutPath> <FilenameWithoutPath>app_screen_modbus.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>18</GroupNumber>
<FileNumber>284</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\App\APP_WU\Src\key_functions_modbus.c</PathWithFileName>
<FilenameWithoutPath>key_functions_modbus.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>18</GroupNumber>
<FileNumber>285</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\App\APP_WU\Src\apps_var_def.c</PathWithFileName>
<FilenameWithoutPath>apps_var_def.c</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
@ -3871,7 +3895,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>284</FileNumber> <FileNumber>286</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -3883,7 +3907,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>285</FileNumber> <FileNumber>287</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -3895,7 +3919,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>286</FileNumber> <FileNumber>288</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -3907,7 +3931,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>287</FileNumber> <FileNumber>289</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -3919,7 +3943,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>288</FileNumber> <FileNumber>290</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -3931,7 +3955,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>289</FileNumber> <FileNumber>291</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -3943,7 +3967,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>290</FileNumber> <FileNumber>292</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -3955,7 +3979,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>291</FileNumber> <FileNumber>293</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -3967,7 +3991,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>292</FileNumber> <FileNumber>294</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -3979,7 +4003,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>293</FileNumber> <FileNumber>295</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -3991,7 +4015,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>294</FileNumber> <FileNumber>296</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4003,19 +4027,19 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>295</FileNumber> <FileNumber>297</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\LVGL\myGUI\generated\setup_scr_screen_modbus_display.c</PathWithFileName> <PathWithFileName>..\LVGL\myGUI\generated\setup_scr_screen_modbus_trx.c</PathWithFileName>
<FilenameWithoutPath>setup_scr_screen_modbus_display.c</FilenameWithoutPath> <FilenameWithoutPath>setup_scr_screen_modbus_trx.c</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>296</FileNumber> <FileNumber>298</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4027,7 +4051,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>297</FileNumber> <FileNumber>299</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4039,7 +4063,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>298</FileNumber> <FileNumber>300</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4051,7 +4075,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>299</FileNumber> <FileNumber>301</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4063,7 +4087,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>300</FileNumber> <FileNumber>302</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4075,7 +4099,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>301</FileNumber> <FileNumber>303</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4087,7 +4111,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>302</FileNumber> <FileNumber>304</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4099,7 +4123,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>303</FileNumber> <FileNumber>305</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4111,7 +4135,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>304</FileNumber> <FileNumber>306</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4123,7 +4147,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>305</FileNumber> <FileNumber>307</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4135,7 +4159,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>306</FileNumber> <FileNumber>308</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4147,7 +4171,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>307</FileNumber> <FileNumber>309</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4159,7 +4183,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>308</FileNumber> <FileNumber>310</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4171,7 +4195,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>309</FileNumber> <FileNumber>311</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4183,7 +4207,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>310</FileNumber> <FileNumber>312</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4195,7 +4219,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>311</FileNumber> <FileNumber>313</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4207,7 +4231,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>312</FileNumber> <FileNumber>314</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4219,7 +4243,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>313</FileNumber> <FileNumber>315</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4231,7 +4255,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>314</FileNumber> <FileNumber>316</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4243,7 +4267,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>315</FileNumber> <FileNumber>317</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4255,7 +4279,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>316</FileNumber> <FileNumber>318</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4267,7 +4291,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>317</FileNumber> <FileNumber>319</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4279,7 +4303,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>318</FileNumber> <FileNumber>320</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4291,7 +4315,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>319</FileNumber> <FileNumber>321</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4303,7 +4327,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>320</FileNumber> <FileNumber>322</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4315,7 +4339,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>321</FileNumber> <FileNumber>323</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4327,7 +4351,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>322</FileNumber> <FileNumber>324</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4339,7 +4363,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>323</FileNumber> <FileNumber>325</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -4351,7 +4375,7 @@
</File> </File>
<File> <File>
<GroupNumber>19</GroupNumber> <GroupNumber>19</GroupNumber>
<FileNumber>324</FileNumber> <FileNumber>326</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>

View File

@ -2533,11 +2533,6 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\scr_setting_text.c</FilePath> <FilePath>..\App\APP_WU\Src\scr_setting_text.c</FilePath>
</File> </File>
<File>
<FileName>app_screen_setting_trans.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\app_screen_setting_trans.c</FilePath>
</File>
<File> <File>
<FileName>key_functions_main.c</FileName> <FileName>key_functions_main.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -2548,6 +2543,21 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\key_functions_setting.c</FilePath> <FilePath>..\App\APP_WU\Src\key_functions_setting.c</FilePath>
</File> </File>
<File>
<FileName>app_screen_modbus.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\app_screen_modbus.c</FilePath>
</File>
<File>
<FileName>key_functions_modbus.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\key_functions_modbus.c</FilePath>
</File>
<File>
<FileName>apps_var_def.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\apps_var_def.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -2609,9 +2619,9 @@
<FilePath>..\LVGL\myGUI\generated\setup_scr_screen_modbus_config.c</FilePath> <FilePath>..\LVGL\myGUI\generated\setup_scr_screen_modbus_config.c</FilePath>
</File> </File>
<File> <File>
<FileName>setup_scr_screen_modbus_display.c</FileName> <FileName>setup_scr_screen_modbus_trx.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\LVGL\myGUI\generated\setup_scr_screen_modbus_display.c</FilePath> <FilePath>..\LVGL\myGUI\generated\setup_scr_screen_modbus_trx.c</FilePath>
</File> </File>
<File> <File>
<FileName>setup_scr_screen_setting.c</FileName> <FileName>setup_scr_screen_setting.c</FileName>

File diff suppressed because it is too large Load Diff