更新:

1、修复了语言切换时存在的显示bug;
2、完成了蓝牙、hart、Modbus从站的选择与使能控制;
This commit is contained in:
吴俊潮 2025-05-20 16:54:06 +08:00
parent d86d74b373
commit 4b22e216b4
27 changed files with 19329 additions and 19140 deletions

View File

@ -36,7 +36,9 @@
"sstream": "c", "sstream": "c",
"modbus_485.h": "c", "modbus_485.h": "c",
"hart.h": "c", "hart.h": "c",
"string_view": "c" "string_view": "c",
"app_screen_setting_trans.h": "c",
"key_functions_main.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

@ -119,9 +119,6 @@ void plot_data_init(void);
//界面复位 //界面复位
void menu_reset(void); void menu_reset(void);
//按键功能,主界面
void key_functions_main(void);
//开机动画 //开机动画
void scr_init_run(void); void scr_init_run(void);

View File

@ -188,9 +188,6 @@ void tab_data_init(void);
//选项卡EEPROM部分数据初始化 //选项卡EEPROM部分数据初始化
void eeprom_item_data_init(void); void eeprom_item_data_init(void);
//按键功能,详细设置菜单界面
void key_functions_setting(void);
//设置界面选项卡选中点亮cursor熄灭cursor_prv //设置界面选项卡选中点亮cursor熄灭cursor_prv
void setting_items_check(ITEMS cursor, ITEMS cursor_prv); void setting_items_check(ITEMS cursor, ITEMS cursor_prv);

View File

@ -0,0 +1,24 @@
#ifndef __APP_SCREEN_SETTING_TRANS_H
#define __APP_SCREEN_SETTING_TRANS_H
#include "apps_gather.h"
#define TEXT_HART 0
#define TEXT_BLE 1
#define TEXT_MODBUS 2
void communication_switch(void);
void set_communication_text(uint8_t con);
void set_communication_modify(uint8_t con, int8_t step);
void key_functions_modbus(void);
extern uint8_t com_switch_cursor;
extern uint8_t com_switch_cursor_prv;
#endif

View File

@ -105,7 +105,9 @@ typedef enum
{ {
SCREEN_INIT = 0, SCREEN_INIT = 0,
SCREEN_MAIN, SCREEN_MAIN,
SCREEN_SETTING SCREEN_SETTING,
SCREEN_MODBUS_MASTER_CONFIG,
SCREEN_MODBUS_MASTER_TRX
}SCREENS; }SCREENS;
typedef enum typedef enum
@ -121,7 +123,9 @@ typedef enum
SET_ITEM_CHOOSE, //设置菜单:选项卡选择 SET_ITEM_CHOOSE, //设置菜单:选项卡选择
SET_CONTENT_CHOOSE, //设置菜单:内容选择 SET_CONTENT_CHOOSE, //设置菜单:内容选择
SET_CONTENT_MODIFY, //设置菜单:内容修改 SET_CONTENT_MODIFY, //设置菜单:内容修改
SET_SHOW_LOG //设置菜单:查看记录 SET_SHOW_LOG, //设置菜单:查看记录
SET_COMMUNICATION_SWITCH, //通信模式切换
SET_COMMUNICATION_MODIFY //通信模式修改
}OPERATIONS; }OPERATIONS;
typedef enum typedef enum
@ -154,6 +158,9 @@ typedef struct
#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 "key_functions_main.h"
#include "key_functions_setting.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,9 @@
#ifndef __KEY_FUNCTIONS_MAIN_H
#define __KEY_FUNCTIONS_MAIN_H
#include "apps_gather.h"
//按键功能,主界面
void key_functions_main(void);
#endif

View File

@ -0,0 +1,9 @@
#ifndef __KEY_FUNCTIONS_SETTING_H
#define __KEY_FUNCTIONS_SETTING_H
#include "apps_gather.h"
//按键功能,详细设置菜单界面
void key_functions_setting(void);
#endif

View File

@ -8,6 +8,8 @@
#define ITEM0_CONTENT_MAX 14 #define ITEM0_CONTENT_MAX 14
#define ITEM1_CONTENT_MAX 4 #define ITEM1_CONTENT_MAX 4
#define ITEM2_CONTENT_MAX 4 #define ITEM2_CONTENT_MAX 4
#define ITEM2_COMMUNICATION_MAX 4
#define ITEM2_COMMUNICATION_VALUE_MAX 4
#define ITEM3_CONTENT_MAX 4 #define ITEM3_CONTENT_MAX 4
#define ITEM3_CONTENT_VAL_MAX 10 #define ITEM3_CONTENT_VAL_MAX 10
@ -18,10 +20,11 @@ typedef struct
char item_0[ITEM0_CONTENT_MAX][TEXT_LENGTH_MAX]; char item_0[ITEM0_CONTENT_MAX][TEXT_LENGTH_MAX];
char item_1[ITEM1_CONTENT_MAX][TEXT_LENGTH_MAX]; char item_1[ITEM1_CONTENT_MAX][TEXT_LENGTH_MAX];
char item_2[ITEM2_CONTENT_MAX][TEXT_LENGTH_MAX]; char item_2[ITEM2_CONTENT_MAX][TEXT_LENGTH_MAX];
char item_2_com[ITEM2_COMMUNICATION_MAX][TEXT_LENGTH_MAX];
char item_2_com_val[ITEM2_COMMUNICATION_VALUE_MAX][TEXT_LENGTH_MAX];
char item_3[ITEM3_CONTENT_MAX][TEXT_LENGTH_MAX]; char item_3[ITEM3_CONTENT_MAX][TEXT_LENGTH_MAX];
char item_3_val[ITEM3_CONTENT_VAL_MAX][TEXT_LENGTH_MAX]; char item_3_val[ITEM3_CONTENT_VAL_MAX][TEXT_LENGTH_MAX];
}SETTING_TEXT; }SETTING_TEXT;
extern SETTING_TEXT text_pack; extern SETTING_TEXT text_pack;

View File

@ -170,18 +170,6 @@ void scr_init_run(void)
//不加延时有概率卡死 //不加延时有概率卡死
delay_cnt(200); delay_cnt(200);
//配置modbus配置界面的内容
setup_scr_screen_modbus_config(&guider_ui);
//不加延时有概率卡死
delay_cnt(200);
//配置modbus数据显示界面的内容
setup_scr_screen_modbus_display(&guider_ui);
//不加延时有概率卡死
delay_cnt(200);
//加载主界面 //加载主界面
lv_scr_load(guider_ui.screen_main); lv_scr_load(guider_ui.screen_main);
scr_main_recover(); scr_main_recover();

View File

@ -496,7 +496,11 @@ void setting_contents_modify(ITEMS ite, ITEM_CONTENTS con, int8_t step)
//切换语言后,更新本页的其他文本 //切换语言后,更新本页的其他文本
if(con == LANGUAGE_SELECT) if(con == LANGUAGE_SELECT)
{ {
tabdata.content_focus = 0;
setting_items_page(ITEM_3, 1); setting_items_page(ITEM_3, 1);
tabdata.content_focus = 1;
set_item3_text(con);
} }
} }
break; break;

View File

@ -0,0 +1,230 @@
#include "app_screen_setting_trans.h"
uint8_t com_switch_cursor = 0;
uint8_t com_switch_cursor_prv = 99;
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;
}
break;
case TEXT_BLE:
{
tabdata.bluetooth_enable = !tabdata.bluetooth_enable;
}
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;
}
}
break;
default:
break;
}
}
void key_functions_modbus(void)
{
if( key_pv.status == KEY_STATUS_DISABLE ) return;
switch (key_pv.tag)
{
case KEY_UP:
{}
break;
case KEY_DOWN:
{}
break;
case KEY_LEFT:
{}
break;
case KEY_RIGHT:
{}
break;
case KEY_OK:
{}
break;
case KEY_BACK:
{}
break;
default:
break;
}
}

View File

@ -183,6 +183,16 @@ void screen_run(void)
key_functions_setting(); //设置界面的按键功能 key_functions_setting(); //设置界面的按键功能
} }
break; break;
case SCREEN_MODBUS_MASTER_CONFIG:
{
key_functions_modbus();
}
break;
case SCREEN_MODBUS_MASTER_TRX:
{}
break;
default: default:
break; break;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,436 @@
#include "key_functions_main.h"
//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; //每次按下后闪烁计数清零
//避免游标移动的瞬间,前一刻的数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
set_nixie_cube(IO_OUTPUT, m5data.io_cursor, m5data.o_numbers[m5data.io_cursor]);
#endif
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; //每次按下后闪烁计数清零
//避免游标移动的瞬间,前一刻的数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
set_nixie_cube(IO_OUTPUT, m5data.io_cursor, m5data.o_numbers[m5data.io_cursor]);
#endif
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_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_VOLTAGE:
{
cursor_temp = (uint8_t)m5data.output_mode_type;
cursor_temp = (cursor_temp == 1)?(2):(1);
m5data.output_mode_type = (SIG_FUNCTIONS_TYPE)cursor_temp;
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_CURRENT:
{
m5data.input_mode_type = CURRENT_MA;
set_working_mode(m5data.input_mode, m5data.input_mode_type);
}
break;
case SIG_VOLTAGE:
{
cursor_temp = (uint8_t)m5data.output_mode_type;
cursor_temp = (cursor_temp == 1)?(2):(1);
m5data.output_mode_type = (SIG_FUNCTIONS_TYPE)cursor_temp;
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;
}
}

View File

@ -0,0 +1,672 @@
#include "key_functions_setting.h"
//KEY_SETTING
uint8_t log_page = 1;
void key_functions_setting(void)
{
if( key_pv.status == KEY_STATUS_DISABLE ) return;
//临时游标,替代枚举变量进行加减运算
uint8_t cursor_temp = 0;
uint8_t cursor_start = 0;
uint8_t cursor_end = 0;
switch (key_pv.tag)
{
case KEY_BACK:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case SET_ITEM_CHOOSE:
{
//加载主界面
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;
//当前操作从“选项卡选择” 返回 至“主要功能”,按键配置同步更新
current_operation = MAIN_FUNCTION;
key_config_update(current_operation);
}
break;
case SET_CONTENT_CHOOSE:
{
//熄灭当前选中的内容
setting_contents_check(99, tabdata.content_cursor);
//取消内容选中与焦点
tabdata.content_cursor = 0;
tabdata.content_cursor_prv = 99;
tabdata.item_page = 1;
tabdata.item_page_prv = 1;
tabdata.content_focus = 0;
//当前操作从“内容选择” 返回 至“选项卡选择”,按键配置同步更新
current_operation = SET_ITEM_CHOOSE;
key_config_update(current_operation);
}
break;
case SET_CONTENT_MODIFY:
{
//当存在焦点时,取消焦点,返回内容选择
tabdata.content_focus = 0;
setting_contents_check(tabdata.content_cursor, CONTENT_EMPTY);
//更新当前游标所在内容的文本(焦点前后不一致)
tabdata.current_content = content_cur_char2enum(tabdata.item_cursor ,tabdata.content_cursor);
switch (tabdata.item_cursor)
{
case ITEM_0:
{
set_item0_text(tabdata.current_content);
if(tabdata.current_content == VOL_UNIT_SET)
{
set_item0_text(VOL_UP_SET);
set_item0_text(VOL_LOW_SET);
}
if(tabdata.current_content == TC_TYPE_SET)
{
set_item0_text(TC_UP_SET);
set_item0_text(TC_LOW_SET);
}
}
break;
case ITEM_1:
{
set_item1_text(tabdata.current_content);
}
break;
case ITEM_2:
{
set_item2_text(tabdata.current_content);
}
break;
case ITEM_3:
{
set_item3_text(tabdata.current_content);
}
break;
default:
break;
}
tabdata.current_content = CONTENT_EMPTY;
//当前操作从“内容修改” 返回 至“内容选择”,按键配置同步更新
current_operation = SET_CONTENT_CHOOSE;
key_config_update(current_operation);
}
break;
case SET_SHOW_LOG:
{
//恢复至原本页面
setting_items_page(ITEM_2, 1);
tabdata.content_focus = 0;
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
//当前操作从“查看记录” 返回 至“内容选择”,按键配置同步更新
current_operation = SET_CONTENT_CHOOSE;
key_config_update(current_operation);
}
break;
case SET_COMMUNICATION_SWITCH:
{
//恢复至原本页面
setting_contents_check(99, com_switch_cursor);
setting_items_page(ITEM_2, 1);
tabdata.content_focus = 0;
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
//当前操作从“查看记录” 返回 至“内容选择”,按键配置同步更新
current_operation = SET_CONTENT_CHOOSE;
key_config_update(current_operation);
}
break;
case SET_COMMUNICATION_MODIFY:
{
tabdata.content_focus = 0;
setting_contents_check(com_switch_cursor, com_switch_cursor_prv);
set_communication_text(com_switch_cursor);
current_operation = SET_COMMUNICATION_SWITCH;
key_config_update(current_operation);
}
break;
default:
break;
}
}
break;
case KEY_UP:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case SET_ITEM_CHOOSE:
{
cursor_start = (uint8_t)ITEM_0;
cursor_end = (uint8_t)ITEM_3;
cursor_temp = (uint8_t)tabdata.item_cursor;
cursor_temp = (cursor_temp <= cursor_start)?(cursor_end):(cursor_temp - 1);
tabdata.item_cursor_prv = tabdata.item_cursor;
tabdata.item_cursor = (ITEMS)cursor_temp;
setting_items_check(tabdata.item_cursor, tabdata.item_cursor_prv);
}
break;
case SET_CONTENT_CHOOSE:
{
switch (tabdata.item_cursor)
{
case ITEM_0:
{
cursor_start = 0;
cursor_end = 5;
}
break;
case ITEM_1:
{
cursor_start = 0;
cursor_end = 3;
}
break;
case ITEM_2:
{
cursor_start = 0;
cursor_end = 3;
}
break;
case ITEM_3:
{
cursor_start = 0;
cursor_end = 3;
}
break;
default:
break;
}
cursor_temp = tabdata.content_cursor;
cursor_temp = ( cursor_temp <= cursor_start)?(cursor_end):(cursor_temp - 1);
tabdata.content_cursor_prv = tabdata.content_cursor;
tabdata.content_cursor = cursor_temp;
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
}
break;
case SET_COMMUNICATION_SWITCH:
{
cursor_start = 0;
cursor_end = 3;
cursor_temp = com_switch_cursor;
cursor_temp = ( cursor_temp <= cursor_start)?(cursor_end):(cursor_temp - 1);
com_switch_cursor_prv = com_switch_cursor;
com_switch_cursor = cursor_temp;
setting_contents_check(com_switch_cursor, com_switch_cursor_prv);
}
break;
default:
break;
}
}
break;
case KEY_DOWN:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case SET_ITEM_CHOOSE:
{
cursor_start = (uint8_t)ITEM_0;
cursor_end = (uint8_t)ITEM_3;
cursor_temp = (uint8_t)tabdata.item_cursor;
cursor_temp = (cursor_temp >= cursor_end)?(cursor_start):(cursor_temp + 1);
tabdata.item_cursor_prv = tabdata.item_cursor;
tabdata.item_cursor = (ITEMS)cursor_temp;
setting_items_check(tabdata.item_cursor, tabdata.item_cursor_prv);
}
break;
case SET_CONTENT_CHOOSE:
{
switch (tabdata.item_cursor)
{
case ITEM_0:
{
cursor_start = 0;
cursor_end = 5;
}
break;
case ITEM_1:
{
cursor_start = 0;
cursor_end = 3;
}
break;
case ITEM_2:
{
cursor_start = 0;
cursor_end = 3;
}
break;
case ITEM_3:
{
cursor_start = 0;
cursor_end = 3;
}
break;
default:
break;
}
cursor_temp = tabdata.content_cursor;
cursor_temp = ( cursor_temp >= cursor_end)?(cursor_start):(cursor_temp + 1);
tabdata.content_cursor_prv = tabdata.content_cursor;
tabdata.content_cursor = cursor_temp;
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
}
break;
case SET_COMMUNICATION_SWITCH:
{
cursor_start = 0;
cursor_end = 3;
cursor_temp = com_switch_cursor;
cursor_temp = ( cursor_temp >= cursor_end)?(cursor_start):(cursor_temp + 1);
com_switch_cursor_prv = com_switch_cursor;
com_switch_cursor = cursor_temp;
setting_contents_check(com_switch_cursor, com_switch_cursor_prv);
}
break;
default:
break;
}
}
break;
case KEY_OK:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case SET_ITEM_CHOOSE:
{
//选中某个选项卡后,点亮该选项卡内的第一个内容
tabdata.content_cursor = 0;
tabdata.content_cursor_prv = 99;
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
//当前操作从“选项卡选择” 切换 至“内容选择”,按键配置同步更新
current_operation = SET_CONTENT_CHOOSE;
key_config_update(current_operation);
}
break;
case SET_CONTENT_CHOOSE:
{
//选中选项卡内的某个内容后,焦点当前选中内容
tabdata.content_focus = 1;
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
//焦点后更新所选内容的文本
tabdata.current_content = content_cur_char2enum(tabdata.item_cursor, tabdata.content_cursor);
switch (tabdata.item_cursor)
{
case ITEM_0:
{
set_item0_text(tabdata.current_content);
//当前操作从“内容选择” 切换 至“内容修改”,按键配置同步更新
current_operation = SET_CONTENT_MODIFY;
key_config_update(current_operation);
}
break;
case ITEM_1:
{
set_item1_text(tabdata.current_content);
//当前操作从“内容选择” 切换 至“内容修改”,按键配置同步更新
current_operation = SET_CONTENT_MODIFY;
key_config_update(current_operation);
}
break;
case ITEM_2:
{
switch (tabdata.current_content)
{
case INPUT_LOG:
{
lv_obj_set_style_bg_color(guider_ui.screen_setting_label_01, lv_color_hex(COLOR_ITEMS_UNCHECKED), LV_PART_MAIN|LV_STATE_DEFAULT);
show_IO_log(IO_INPUT, 1);
//当前操作从“内容选择” 切换 至“查看记录”,按键配置同步更新
current_operation = SET_SHOW_LOG;
key_config_update(current_operation);
}
break;
case OUTPUT_LOG:
{
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_OUTPUT, 1);
//当前操作从“内容选择” 切换 至“查看记录”,按键配置同步更新
current_operation = SET_SHOW_LOG;
key_config_update(current_operation);
}
break;
case COMMUNICATION:
{
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 PROGRAM_OUTPUT:
{}
break;
default:
break;
}
}
break;
case ITEM_3:
{
set_item3_text(tabdata.current_content);
//当前操作从“内容选择” 切换 至“内容修改”,按键配置同步更新
current_operation = SET_CONTENT_MODIFY;
key_config_update(current_operation);
}
break;
default:
break;
}
}
break;
case SET_COMMUNICATION_SWITCH:
{
tabdata.content_focus = 1;
setting_contents_check(com_switch_cursor, com_switch_cursor_prv);
set_communication_text(com_switch_cursor);
current_operation = SET_COMMUNICATION_MODIFY;
key_config_update(current_operation);
}
break;
default:
break;
}
}
break;
case KEY_LEFT:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case SET_CONTENT_CHOOSE:
{
//不存在焦点时,执行翻页操作
switch (tabdata.item_cursor)
{
case ITEM_0:
{
tabdata.item_page_prv = tabdata.item_page;
tabdata.item_page = ( tabdata.item_page <= 1)?(I0_PAGE_MAX):(tabdata.item_page - 1);
setting_items_page(ITEM_0, tabdata.item_page);
//翻页后熄灭原本的游标
setting_contents_check(99, tabdata.content_cursor);
//翻页后点亮新的一页的第一个内容
tabdata.content_cursor = 0;
tabdata.content_cursor_prv = 99;
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
}
break;
case ITEM_1:
{}
break;
case ITEM_2:
{}
break;
case ITEM_3:
{}
break;
default:
break;
}
}
break;
case SET_CONTENT_MODIFY:
{
//存在焦点后,修改内容
tabdata.current_content = content_cur_char2enum(tabdata.item_cursor, tabdata.content_cursor);
setting_contents_modify(tabdata.item_cursor, tabdata.current_content, -1);
}
break;
case SET_SHOW_LOG:
{
//查看记录
if( tabdata.current_content == INPUT_LOG )
{
log_page--;
if(log_page > 10) log_page = 1;
if(log_page < 1) log_page = 10;
show_IO_log(IO_INPUT, log_page);
return;
}
if (tabdata.current_content == OUTPUT_LOG)
{
log_page--;
if(log_page > 10) log_page = 1;
if(log_page < 1) log_page = 10;
show_IO_log(IO_OUTPUT, log_page);
return;
}
}
break;
case SET_COMMUNICATION_MODIFY:
{
set_communication_modify(com_switch_cursor, -1);
set_communication_text(com_switch_cursor);
}
break;
default:
break;
}
}
break;
case KEY_RIGHT:
{
key = 0;
key_char2struct();
switch (current_operation)
{
case SET_CONTENT_CHOOSE:
{
//翻页
switch (tabdata.item_cursor)
{
case ITEM_0:
{
tabdata.item_page_prv = tabdata.item_page;
tabdata.item_page = ( tabdata.item_page >= I0_PAGE_MAX)?(1):(tabdata.item_page + 1);
setting_items_page(ITEM_0, tabdata.item_page);
//翻页后熄灭原本的游标
setting_contents_check(99, tabdata.content_cursor);
//翻页后点亮新的一页的第一个内容
tabdata.content_cursor = 0;
tabdata.content_cursor_prv = 99;
setting_contents_check(tabdata.content_cursor, tabdata.content_cursor_prv);
}
break;
case ITEM_1:
{}
break;
case ITEM_2:
{}
break;
case ITEM_3:
{}
break;
default:
break;
}
}
break;
case SET_CONTENT_MODIFY:
{
//存在焦点后,修改内容
tabdata.current_content = content_cur_char2enum(tabdata.item_cursor, tabdata.content_cursor);
setting_contents_modify(tabdata.item_cursor, tabdata.current_content, 1);
}
break;
case SET_SHOW_LOG:
{
//查看记录
if( tabdata.current_content == INPUT_LOG )
{
log_page++;
if(log_page > 10) log_page = 1;
if(log_page < 1) log_page = 10;
show_IO_log(IO_INPUT, log_page);
return;
}
if (tabdata.current_content == OUTPUT_LOG)
{
log_page++;
if(log_page > 10) log_page = 1;
if(log_page < 1) log_page = 10;
show_IO_log(IO_OUTPUT, log_page);
return;
}
}
break;
case SET_COMMUNICATION_MODIFY:
{
set_communication_modify(com_switch_cursor, 1);
set_communication_text(com_switch_cursor);
}
break;
default:
break;
}
}
break;
case KEY_NONE:
{
}
default:
{
key = 0;
key_char2struct();
}
break;
}
}

View File

@ -102,6 +102,38 @@ static char item2_contents_text_english[ITEM2_CONTENT_MAX][TEXT_LENGTH_MAX] =
"Progam out" "Progam out"
}; };
static char item2_communication_switch_chinese[ITEM2_COMMUNICATION_MAX][TEXT_LENGTH_MAX] =
{
"HART通讯",
"蓝牙通讯",
"Modbus通讯",
"--配置"
};
static char item2_communication_switch_value_chinese[ITEM2_COMMUNICATION_VALUE_MAX][TEXT_LENGTH_MAX] =
{
"",
"",
"",
""
};
static char item2_communication_switch_english[ITEM2_COMMUNICATION_MAX][TEXT_LENGTH_MAX] =
{
"HART",
"BLE",
"Modbus",
"--Config"
};
static char item2_communication_switch_value_english[ITEM2_COMMUNICATION_VALUE_MAX][TEXT_LENGTH_MAX] =
{
"ON",
"OFF",
"Master",
"Slave"
};
static char item3_contents_text_chinese[ITEM3_CONTENT_MAX][TEXT_LENGTH_MAX] = static char item3_contents_text_chinese[ITEM3_CONTENT_MAX][TEXT_LENGTH_MAX] =
{ {
"照明", "照明",
@ -161,6 +193,8 @@ void setting_laguage_switch(LANGUAGES lan)
memcpy(text_pack.item_0, item0_contents_text_chinese, sizeof(text_pack.item_0)) ; memcpy(text_pack.item_0, item0_contents_text_chinese, sizeof(text_pack.item_0)) ;
memcpy(text_pack.item_1, item1_contents_text_chinese, sizeof(text_pack.item_1)) ; memcpy(text_pack.item_1, item1_contents_text_chinese, sizeof(text_pack.item_1)) ;
memcpy(text_pack.item_2, item2_contents_text_chinese, sizeof(text_pack.item_2)) ; memcpy(text_pack.item_2, item2_contents_text_chinese, sizeof(text_pack.item_2)) ;
memcpy(text_pack.item_2_com, item2_communication_switch_chinese, sizeof(text_pack.item_2_com));
memcpy(text_pack.item_2_com_val, item2_communication_switch_value_chinese, sizeof(text_pack.item_2_com_val));
memcpy(text_pack.item_3, item3_contents_text_chinese, sizeof(text_pack.item_3)) ; memcpy(text_pack.item_3, item3_contents_text_chinese, sizeof(text_pack.item_3)) ;
memcpy(text_pack.item_3_val, item3_contents_value_chinese, sizeof(text_pack.item_3_val)) ; memcpy(text_pack.item_3_val, item3_contents_value_chinese, sizeof(text_pack.item_3_val)) ;
} }
@ -173,6 +207,8 @@ void setting_laguage_switch(LANGUAGES lan)
memcpy(text_pack.item_0, item0_contents_text_english, sizeof(text_pack.item_0)) ; memcpy(text_pack.item_0, item0_contents_text_english, sizeof(text_pack.item_0)) ;
memcpy(text_pack.item_1, item1_contents_text_english, sizeof(text_pack.item_1)) ; memcpy(text_pack.item_1, item1_contents_text_english, sizeof(text_pack.item_1)) ;
memcpy(text_pack.item_2, item2_contents_text_english, sizeof(text_pack.item_2)) ; memcpy(text_pack.item_2, item2_contents_text_english, sizeof(text_pack.item_2)) ;
memcpy(text_pack.item_2_com, item2_communication_switch_english, sizeof(text_pack.item_2_com));
memcpy(text_pack.item_2_com_val, item2_communication_switch_value_english, sizeof(text_pack.item_2_com_val));
memcpy(text_pack.item_3, item3_contents_text_english, sizeof(text_pack.item_3)) ; memcpy(text_pack.item_3, item3_contents_text_english, sizeof(text_pack.item_3)) ;
memcpy(text_pack.item_3_val, item3_contents_value_english, sizeof(text_pack.item_3_val)) ; memcpy(text_pack.item_3_val, item3_contents_value_english, sizeof(text_pack.item_3_val)) ;
} }

View File

@ -1,11 +1,3 @@
/*
* @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2025-03-17 14:38:34
* @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2025-04-01 15:45:37
* @FilePath: \signal_generator\App\APP_WU\Src\eeprom_spi.c
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#include "eeprom_spi.h" #include "eeprom_spi.h"
//使用方法: //使用方法:

View File

@ -64,7 +64,7 @@
#define configTICK_RATE_HZ ((TickType_t)1000) #define configTICK_RATE_HZ ((TickType_t)1000)
#define configMAX_PRIORITIES ( 7 ) #define configMAX_PRIORITIES ( 7 )
#define configMINIMAL_STACK_SIZE ((uint16_t)128) #define configMINIMAL_STACK_SIZE ((uint16_t)128)
#define configTOTAL_HEAP_SIZE ((size_t)32768) #define configTOTAL_HEAP_SIZE ((size_t)20480)
#define configMAX_TASK_NAME_LEN ( 16 ) #define configMAX_TASK_NAME_LEN ( 16 )
#define configUSE_TRACE_FACILITY 1 #define configUSE_TRACE_FACILITY 1
#define configUSE_STATS_FORMATTING_FUNCTIONS 1 #define configUSE_STATS_FORMATTING_FUNCTIONS 1

View File

@ -49,7 +49,7 @@
#define LV_MEM_CUSTOM 0 #define LV_MEM_CUSTOM 0
#if LV_MEM_CUSTOM == 0 #if LV_MEM_CUSTOM == 0
/*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/ /*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/
#define LV_MEM_SIZE (32U * 1024U) /*[bytes]*/ #define LV_MEM_SIZE (48U * 1024U) /*[bytes]*/
/*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/ /*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/
#define LV_MEM_ADR 0 /*0: unused*/ #define LV_MEM_ADR 0 /*0: unused*/

View File

@ -803,6 +803,36 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
0x0, 0x0, 0x0, 0x0, 0xd, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x10, 0x0, 0x0,
0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0,
/* U+4E3B "主" */
0x0, 0x0, 0x7, 0x30, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1, 0xba, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xc, 0x10, 0x2, 0x0, 0x4, 0x66, 0x66,
0x76, 0x66, 0x8e, 0x30, 0x0, 0x0, 0x0, 0xb3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb3, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xb3, 0x0, 0x10,
0x0, 0x0, 0x66, 0x66, 0xd8, 0x66, 0xd8, 0x0,
0x0, 0x0, 0x0, 0xb3, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xb3, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xb3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xb3, 0x0, 0x5, 0x50, 0x36, 0x66, 0x66, 0x76,
0x66, 0x67, 0x70,
/* U+4ECE "从" */
0x0, 0x1, 0x30, 0x0, 0x5, 0x10, 0x0, 0x0,
0x0, 0x4b, 0x0, 0x1, 0xe0, 0x0, 0x0, 0x0,
0x4, 0x90, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x0,
0x48, 0x0, 0x1, 0xf1, 0x0, 0x0, 0x0, 0x6,
0x70, 0x0, 0x2f, 0x30, 0x0, 0x0, 0x0, 0x77,
0x0, 0x5, 0xb6, 0x0, 0x0, 0x0, 0x9, 0xc3,
0x0, 0x78, 0x80, 0x0, 0x0, 0x0, 0xd2, 0xd2,
0x9, 0x49, 0x0, 0x0, 0x0, 0x1c, 0x8, 0xa0,
0xd0, 0x75, 0x0, 0x0, 0x6, 0x60, 0x2c, 0x57,
0x2, 0xc0, 0x0, 0x0, 0xa0, 0x0, 0x1a, 0x0,
0xb, 0x80, 0x0, 0x54, 0x0, 0x9, 0x20, 0x0,
0x3f, 0x70, 0x15, 0x0, 0x7, 0x10, 0x0, 0x0,
0x69, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0,
/* U+4EE4 "令" */ /* U+4EE4 "令" */
0x0, 0x0, 0x0, 0xa7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa7, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6, 0xd6, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xd6, 0x30, 0x0, 0x0, 0x0, 0x0,
@ -1412,6 +1442,20 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0,
/* U+7259 "牙" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3,
0x66, 0x66, 0x66, 0x86, 0x7d, 0x20, 0x0, 0x7,
0x30, 0x0, 0xe0, 0x0, 0x0, 0x0, 0xe, 0x0,
0x0, 0xe0, 0x0, 0x0, 0x0, 0x6a, 0x0, 0x0,
0xe0, 0x1, 0x0, 0x1, 0xd9, 0x66, 0x66, 0xf6,
0x6c, 0xb0, 0x0, 0x40, 0x0, 0x3e, 0xf0, 0x0,
0x0, 0x0, 0x0, 0x1, 0xd4, 0xe0, 0x0, 0x0,
0x0, 0x0, 0x2d, 0x40, 0xe0, 0x0, 0x0, 0x0,
0x3, 0xc2, 0x0, 0xe0, 0x0, 0x0, 0x0, 0x78,
0x0, 0x0, 0xe0, 0x0, 0x0, 0x36, 0x20, 0x2,
0x43, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d,
0x80, 0x0, 0x0,
/* U+7387 "率" */ /* U+7387 "率" */
0x0, 0x0, 0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x70, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x96, 0x0, 0x9, 0x20, 0x16, 0x66, 0x0, 0x0, 0x96, 0x0, 0x9, 0x20, 0x16, 0x66,
@ -1597,6 +1641,20 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x50, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x50,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
/* U+84DD "蓝" */
0x0, 0x0, 0xb2, 0x0, 0x1b, 0x0, 0x0, 0x26,
0x66, 0xe6, 0x66, 0x7d, 0x67, 0xe3, 0x0, 0x0,
0xd0, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x21, 0x58,
0x1, 0xe2, 0x0, 0x0, 0x0, 0xc2, 0x49, 0x7,
0xc6, 0x6c, 0x90, 0x0, 0xc0, 0x49, 0xb, 0x14,
0x0, 0x0, 0x0, 0xc0, 0x49, 0x46, 0x8, 0x70,
0x0, 0x0, 0x70, 0x49, 0x40, 0x1, 0x80, 0x0,
0x0, 0xa6, 0x77, 0x66, 0x66, 0x6a, 0x0, 0x0,
0xd0, 0x1c, 0x0, 0xd0, 0x1d, 0x0, 0x0, 0xd0,
0x1c, 0x0, 0xd0, 0x1d, 0x0, 0x0, 0xd0, 0x1c,
0x0, 0xd0, 0x1d, 0x50, 0x26, 0x86, 0x68, 0x66,
0x86, 0x68, 0x83,
/* U+8A00 "言" */ /* U+8A00 "言" */
0x0, 0x0, 0x2, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x70, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x96, 0x0, 0x0, 0x10, 0x26, 0x66, 0x0, 0x0, 0x96, 0x0, 0x0, 0x10, 0x26, 0x66,
@ -2806,141 +2864,145 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 4003, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 4003, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 4094, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 4094, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 4185, .adv_w = 224, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = -1}, {.bitmap_index = 4185, .adv_w = 224, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 4263, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 4263, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 4361, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 4354, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 4452, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 4459, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 4543, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 4557, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 4634, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 4648, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 4732, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 4739, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 4830, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 4830, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 4928, .adv_w = 224, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = -1}, {.bitmap_index = 4928, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 5013, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 5026, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 5111, .adv_w = 224, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 5124, .adv_w = 224, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 5196, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 5209, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 5294, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 5307, .adv_w = 224, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 5392, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 5392, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 5483, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 5490, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 5574, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 5588, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 5665, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 5679, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 5756, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 5770, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 5847, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 5861, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 5938, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 5952, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 6036, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 6043, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 6141, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 6134, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 6239, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 6232, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 6330, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 6337, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 6428, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 6435, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 6526, .adv_w = 224, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = -1}, {.bitmap_index = 6526, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 6611, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 6624, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 6702, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 6722, .adv_w = 224, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 6793, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 6807, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 6884, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 6898, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 6982, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 6989, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 7080, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 7080, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 7178, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, {.bitmap_index = 7178, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 7269, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, {.bitmap_index = 7276, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 7360, .adv_w = 224, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = -1}, {.bitmap_index = 7374, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 7438, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 7465, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 7529, .adv_w = 224, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 7556, .adv_w = 224, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 7627, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 7634, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 7725, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 7725, .adv_w = 224, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 7823, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 7823, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 7921, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 7921, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 8026, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 8019, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 8131, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 8117, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 8236, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 8222, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 8327, .adv_w = 224, .box_w = 12, .box_h = 13, .ofs_x = 2, .ofs_y = -1}, {.bitmap_index = 8327, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 8405, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 8432, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 8496, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 8523, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 8587, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 8614, .adv_w = 224, .box_w = 12, .box_h = 13, .ofs_x = 2, .ofs_y = -1},
{.bitmap_index = 8678, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 8692, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 8776, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 8783, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 8874, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 8874, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 8972, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 8965, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 9070, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 9063, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 9161, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 9161, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 9259, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 9259, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 9350, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 9357, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 9441, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 9448, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 9532, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 9546, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 9630, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 9637, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 9721, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 9728, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 9819, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 9819, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 9910, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 9910, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 10008, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 10008, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 10106, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 10099, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 10204, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 10197, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 10302, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 10288, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 10400, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 10386, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 10491, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 10484, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 10582, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 10582, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 10673, .adv_w = 224, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = -1}, {.bitmap_index = 10680, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 10758, .adv_w = 224, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = -1}, {.bitmap_index = 10778, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 10843, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, {.bitmap_index = 10869, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 10934, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, {.bitmap_index = 10960, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 11025, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 11051, .adv_w = 224, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 11130, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 11136, .adv_w = 224, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 11235, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 11221, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 11326, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -2}, {.bitmap_index = 11312, .adv_w = 224, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 11439, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 11403, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 11516, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 11508, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 11607, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 11613, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 11684, .adv_w = 154, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 11704, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
{.bitmap_index = 11739, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 11817, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 11844, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 11894, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 11949, .adv_w = 252, .box_w = 16, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 11985, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 12053, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 12062, .adv_w = 154, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 12158, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 12117, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 12246, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 12222, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 12351, .adv_w = 112, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 12327, .adv_w = 252, .box_w = 16, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 12393, .adv_w = 168, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 12431, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 12459, .adv_w = 252, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 12536, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 12571, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 12624, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 12648, .adv_w = 154, .box_w = 10, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 12729, .adv_w = 112, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 12723, .adv_w = 196, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, {.bitmap_index = 12771, .adv_w = 168, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 12793, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 12837, .adv_w = 252, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 12891, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 12949, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 12976, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 13026, .adv_w = 154, .box_w = 10, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 13061, .adv_w = 196, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, {.bitmap_index = 13101, .adv_w = 196, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 13131, .adv_w = 196, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = -1}, {.bitmap_index = 13171, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 13222, .adv_w = 140, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 13269, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 13281, .adv_w = 140, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 13354, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 13340, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 13439, .adv_w = 196, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -2},
{.bitmap_index = 13425, .adv_w = 196, .box_w = 13, .box_h = 4, .ofs_x = 0, .ofs_y = 3}, {.bitmap_index = 13509, .adv_w = 196, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = -1},
{.bitmap_index = 13451, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 13600, .adv_w = 140, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 13539, .adv_w = 280, .box_w = 18, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 13659, .adv_w = 140, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 13674, .adv_w = 252, .box_w = 17, .box_h = 15, .ofs_x = -1, .ofs_y = -2}, {.bitmap_index = 13718, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 13802, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 13803, .adv_w = 196, .box_w = 13, .box_h = 4, .ofs_x = 0, .ofs_y = 3},
{.bitmap_index = 13893, .adv_w = 196, .box_w = 13, .box_h = 8, .ofs_x = 0, .ofs_y = 1}, {.bitmap_index = 13829, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 13945, .adv_w = 196, .box_w = 13, .box_h = 8, .ofs_x = 0, .ofs_y = 1}, {.bitmap_index = 13917, .adv_w = 280, .box_w = 18, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 13997, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 14052, .adv_w = 252, .box_w = 17, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
{.bitmap_index = 14096, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 14180, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 14173, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 14271, .adv_w = 196, .box_w = 13, .box_h = 8, .ofs_x = 0, .ofs_y = 1},
{.bitmap_index = 14278, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -2}, {.bitmap_index = 14323, .adv_w = 196, .box_w = 13, .box_h = 8, .ofs_x = 0, .ofs_y = 1},
{.bitmap_index = 14391, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 14375, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 14476, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 14474, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 14574, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 14551, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 14659, .adv_w = 196, .box_w = 13, .box_h = 12, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 14656, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
{.bitmap_index = 14737, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 14769, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 14814, .adv_w = 140, .box_w = 10, .box_h = 15, .ofs_x = -1, .ofs_y = -2}, {.bitmap_index = 14854, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 14889, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 14952, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 14987, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 15037, .adv_w = 196, .box_w = 13, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 15085, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 15115, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 15173, .adv_w = 224, .box_w = 16, .box_h = 15, .ofs_x = -1, .ofs_y = -2}, {.bitmap_index = 15192, .adv_w = 140, .box_w = 10, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
{.bitmap_index = 15293, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 15267, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 15376, .adv_w = 280, .box_w = 18, .box_h = 13, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 15365, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 15493, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 15463, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 15583, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 15551, .adv_w = 224, .box_w = 16, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
{.bitmap_index = 15673, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 15671, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 15763, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 15754, .adv_w = 280, .box_w = 18, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 15853, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 15871, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 15943, .adv_w = 280, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = -1}, {.bitmap_index = 15961, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 16051, .adv_w = 196, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 16051, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 16141, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 16141, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 16239, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -2}, {.bitmap_index = 16231, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 16352, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 16321, .adv_w = 280, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
{.bitmap_index = 16451, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, {.bitmap_index = 16429, .adv_w = 196, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 16534, .adv_w = 225, .box_w = 15, .box_h = 10, .ofs_x = 0, .ofs_y = 0} {.bitmap_index = 16519, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 16617, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
{.bitmap_index = 16730, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
{.bitmap_index = 16829, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
{.bitmap_index = 16912, .adv_w = 225, .box_w = 15, .box_h = 10, .ofs_x = 0, .ofs_y = 0}
}; };
/*--------------------- /*---------------------
@ -2948,24 +3010,25 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
*--------------------*/ *--------------------*/
static const uint16_t unicode_list_2[] = { static const uint16_t unicode_list_2[] = {
0x0, 0x1d5a, 0x4a57, 0x4a61, 0x4a62, 0x4a84, 0x4b3b, 0x4ba4, 0x0, 0x1d5a, 0x4a57, 0x4a61, 0x4a62, 0x4a84, 0x4a92, 0x4b25,
0x4baa, 0x4c34, 0x4ccd, 0x4dbc, 0x4dca, 0x4e51, 0x4ef6, 0x4fac, 0x4b3b, 0x4ba4, 0x4baa, 0x4c34, 0x4ccd, 0x4dbc, 0x4dca, 0x4e51,
0x4fe2, 0x5028, 0x50d4, 0x52bf, 0x5387, 0x5397, 0x53e2, 0x555e, 0x4ef6, 0x4fac, 0x4fe2, 0x5028, 0x50d4, 0x52bf, 0x5387, 0x5397,
0x5564, 0x5622, 0x57ae, 0x57af, 0x581b, 0x58ac, 0x5a49, 0x5b57, 0x53e2, 0x555e, 0x5564, 0x5622, 0x57ae, 0x57af, 0x581b, 0x58ac,
0x5bac, 0x5f2a, 0x6026, 0x61c7, 0x61de, 0x624d, 0x6265, 0x6349, 0x5a49, 0x5b57, 0x5bac, 0x5f2a, 0x6026, 0x61c7, 0x61de, 0x624d,
0x6381, 0x6478, 0x648e, 0x67bc, 0x6998, 0x6d10, 0x6d44, 0x6dbe, 0x6265, 0x6349, 0x6381, 0x6478, 0x648e, 0x67bc, 0x6998, 0x6d10,
0x6fde, 0x718c, 0x7662, 0x77d7, 0x78d2, 0x7952, 0x7b16, 0x7b36, 0x6d44, 0x6dbe, 0x6eb0, 0x6fde, 0x718c, 0x7662, 0x77d7, 0x78d2,
0x7b6d, 0x7bc5, 0x7d54, 0x7ec9, 0x7ed9, 0x8657, 0x8806, 0x8807, 0x7952, 0x7b16, 0x7b36, 0x7b6d, 0x7bc5, 0x7d54, 0x7ec9, 0x7ed9,
0x8815, 0x8844, 0x89ce, 0x89dc, 0x8bea, 0x8c58, 0x8c71, 0x8da4, 0x8134, 0x8657, 0x8806, 0x8807, 0x8815, 0x8844, 0x89ce, 0x89dc,
0x8e1e, 0x8e26, 0x924b, 0x9292, 0x92a7, 0x92eb, 0x94e8, 0x94f3, 0x8bea, 0x8c58, 0x8c71, 0x8da4, 0x8e1e, 0x8e26, 0x924b, 0x9292,
0x96e3, 0xec58, 0xec5f, 0xec62, 0xec63, 0xec64, 0xec68, 0xec6a, 0x92a7, 0x92eb, 0x94e8, 0x94f3, 0x96e3, 0xec58, 0xec5f, 0xec62,
0xec6c, 0xec70, 0xec73, 0xec78, 0xec7d, 0xec7e, 0xec7f, 0xec95, 0xec63, 0xec64, 0xec68, 0xec6a, 0xec6c, 0xec70, 0xec73, 0xec78,
0xec9a, 0xec9f, 0xeca2, 0xeca3, 0xeca4, 0xeca8, 0xeca9, 0xecaa, 0xec7d, 0xec7e, 0xec7f, 0xec95, 0xec9a, 0xec9f, 0xeca2, 0xeca3,
0xecab, 0xecbe, 0xecbf, 0xecc5, 0xecc7, 0xecc8, 0xeccb, 0xecce, 0xeca4, 0xeca8, 0xeca9, 0xecaa, 0xecab, 0xecbe, 0xecbf, 0xecc5,
0xeccf, 0xecd0, 0xecd2, 0xecea, 0xecec, 0xed1b, 0xed1c, 0xed1e, 0xecc7, 0xecc8, 0xeccb, 0xecce, 0xeccf, 0xecd0, 0xecd2, 0xecea,
0xed20, 0xed37, 0xed3e, 0xed41, 0xed4a, 0xed73, 0xed7b, 0xedb2, 0xecec, 0xed1b, 0xed1c, 0xed1e, 0xed20, 0xed37, 0xed3e, 0xed41,
0xee42, 0xee97, 0xee98, 0xee99, 0xee9a, 0xee9b, 0xeede, 0xeeea, 0xed4a, 0xed73, 0xed7b, 0xedb2, 0xee42, 0xee97, 0xee98, 0xee99,
0xef44, 0xef5b, 0xf1b1, 0xf419, 0xf4f9 0xee9a, 0xee9b, 0xeede, 0xeeea, 0xef44, 0xef5b, 0xf1b1, 0xf419,
0xf4f9
}; };
/*Collect the unicode lists and glyph_id offsets*/ /*Collect the unicode lists and glyph_id offsets*/
@ -2981,7 +3044,7 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
}, },
{ {
.range_start = 937, .range_length = 62714, .glyph_id_start = 95, .range_start = 937, .range_length = 62714, .glyph_id_start = 95,
.unicode_list = unicode_list_2, .glyph_id_ofs_list = NULL, .list_length = 141, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY .unicode_list = unicode_list_2, .glyph_id_ofs_list = NULL, .list_length = 145, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
} }
}; };
@ -3022,7 +3085,7 @@ static const uint8_t kern_left_class_mapping[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0
}; };
/*Map glyph_ids to kern right classes*/ /*Map glyph_ids to kern right classes*/
@ -3057,7 +3120,7 @@ static const uint8_t kern_right_class_mapping[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0
}; };
/*Kern values between classes*/ /*Kern values between classes*/

File diff suppressed because it is too large Load Diff

View File

@ -341,7 +341,7 @@
<MiscControls>--locale=english</MiscControls> <MiscControls>--locale=english</MiscControls>
<Define>USE_HAL_DRIVER,STM32F407xx</Define> <Define>USE_HAL_DRIVER,STM32F407xx</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath>../Core/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../App/LCD;../Utils/inc;../App/BLE;../App/MUX_SIGNAL;../App/DAC8552;../App/HART;../App/RN7302;../App/ADS1220;../App/TM1650;../App/DAC7811;../App/SIG24130;../LVGL;../LVGL/src;../LVGL/examples/porting;../LVGL/myGUI/generated;../LVGL/myGUI/custom;../LVGL/myGUI/generated/guider_fonts;../LVGL/myGUI/generated/guider_customer_fonts;../App/APP_WU/Src;../App/APP_WU/Inc;../LVGL/demos/benchmark;../LVGL/demos;../App/MODBUS/Src;../App/MODBUS/Inc</IncludePath> <IncludePath>../Core/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../App/LCD;../Utils/inc;../App/BLE;../App/MUX_SIGNAL;../App/DAC8552;../App/HART;../App/RN7302;../App/ADS1220;../App/TM1650;../App/DAC7811;../App/SIG24130;../LVGL;../LVGL/src;../LVGL/examples/porting;../LVGL/myGUI/generated;../LVGL/myGUI/custom;../LVGL/myGUI/generated/guider_fonts;../LVGL/myGUI/generated/guider_customer_fonts;../App/APP_WU/Src;../App/APP_WU/Inc;../LVGL/demos/benchmark;../LVGL/demos;../App/MODBUS/Src;../App/MODBUS/Inc;..\App\EEPROM;..\App\IP5310</IncludePath>
</VariousControls> </VariousControls>
</Cads> </Cads>
<Aads> <Aads>
@ -1410,6 +1410,26 @@
</File> </File>
</Files> </Files>
</Group> </Group>
<Group>
<GroupName>IP5310</GroupName>
<Files>
<File>
<FileName>ip5310_i2c.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\IP5310\ip5310_i2c.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>EEPROM</GroupName>
<Files>
<File>
<FileName>eeprom_spi.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\EEPROM\eeprom_spi.c</FilePath>
</File>
</Files>
</Group>
<Group> <Group>
<GroupName>LVGL_conf</GroupName> <GroupName>LVGL_conf</GroupName>
<Files> <Files>
@ -2483,16 +2503,6 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\timer.c</FilePath> <FilePath>..\App\APP_WU\Src\timer.c</FilePath>
</File> </File>
<File>
<FileName>ip5310_i2c.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\ip5310_i2c.c</FilePath>
</File>
<File>
<FileName>eeprom_spi.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\eeprom_spi.c</FilePath>
</File>
<File> <File>
<FileName>app_screen_main.c</FileName> <FileName>app_screen_main.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -2523,6 +2533,21 @@
<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>
<FileName>key_functions_main.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\key_functions_main.c</FilePath>
</File>
<File>
<FileName>key_functions_setting.c</FileName>
<FileType>1</FileType>
<FilePath>..\App\APP_WU\Src\key_functions_setting.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -2613,11 +2638,6 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\LVGL\myGUI\generated\guider_fonts\lv_font_SourceHanSerifSC_Regular_12.c</FilePath> <FilePath>..\LVGL\myGUI\generated\guider_fonts\lv_font_SourceHanSerifSC_Regular_12.c</FilePath>
</File> </File>
<File>
<FileName>lv_font_SourceHanSerifSC_Regular_14.c</FileName>
<FileType>1</FileType>
<FilePath>..\LVGL\myGUI\generated\guider_fonts\lv_font_SourceHanSerifSC_Regular_14.c</FilePath>
</File>
<File> <File>
<FileName>lv_font_SourceHanSerifSC_Regular_16.c</FileName> <FileName>lv_font_SourceHanSerifSC_Regular_16.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -2733,6 +2753,11 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\LVGL\myGUI\generated\images\screen_main_animimg_batterybt100.c</FilePath> <FilePath>..\LVGL\myGUI\generated\images\screen_main_animimg_batterybt100.c</FilePath>
</File> </File>
<File>
<FileName>lv_font_SourceHanSerifSC_Regular_14.c</FileName>
<FileType>1</FileType>
<FilePath>..\LVGL\myGUI\generated\guider_fonts\lv_font_SourceHanSerifSC_Regular_14.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>

File diff suppressed because it is too large Load Diff

View File

@ -93,7 +93,7 @@ FREERTOS.INCLUDE_uxTaskGetStackHighWaterMark=1
FREERTOS.IPParameters=Tasks01,FootprintOK,configUSE_TICKLESS_IDLE,configGENERATE_RUN_TIME_STATS,configTOTAL_HEAP_SIZE,configUSE_STATS_FORMATTING_FUNCTIONS,configUSE_TRACE_FACILITY,configUSE_IDLE_HOOK,INCLUDE_uxTaskGetStackHighWaterMark FREERTOS.IPParameters=Tasks01,FootprintOK,configUSE_TICKLESS_IDLE,configGENERATE_RUN_TIME_STATS,configTOTAL_HEAP_SIZE,configUSE_STATS_FORMATTING_FUNCTIONS,configUSE_TRACE_FACILITY,configUSE_IDLE_HOOK,INCLUDE_uxTaskGetStackHighWaterMark
FREERTOS.Tasks01=defaultTask,-3,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;task_lcd,1,768,start_task_lcd,Default,NULL,Dynamic,NULL,NULL;task_hart,2,256,start_task_hart,Default,NULL,Dynamic,NULL,NULL;task_ble,-1,256,start_task_ble,Default,NULL,Dynamic,NULL,NULL;task_rs485,2,256,start_rs485,Default,NULL,Dynamic,NULL,NULL;task_mux_analog,3,128,start_mux_analog,Default,NULL,Dynamic,NULL,NULL;task_menu,0,512,start_menu,Default,NULL,Dynamic,NULL,NULL;task_monitor,-3,128,start_task_monitor,Default,NULL,Dynamic,NULL,NULL FREERTOS.Tasks01=defaultTask,-3,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;task_lcd,1,768,start_task_lcd,Default,NULL,Dynamic,NULL,NULL;task_hart,2,256,start_task_hart,Default,NULL,Dynamic,NULL,NULL;task_ble,-1,256,start_task_ble,Default,NULL,Dynamic,NULL,NULL;task_rs485,2,256,start_rs485,Default,NULL,Dynamic,NULL,NULL;task_mux_analog,3,128,start_mux_analog,Default,NULL,Dynamic,NULL,NULL;task_menu,0,512,start_menu,Default,NULL,Dynamic,NULL,NULL;task_monitor,-3,128,start_task_monitor,Default,NULL,Dynamic,NULL,NULL
FREERTOS.configGENERATE_RUN_TIME_STATS=0 FREERTOS.configGENERATE_RUN_TIME_STATS=0
FREERTOS.configTOTAL_HEAP_SIZE=32768 FREERTOS.configTOTAL_HEAP_SIZE=20480
FREERTOS.configUSE_IDLE_HOOK=0 FREERTOS.configUSE_IDLE_HOOK=0
FREERTOS.configUSE_STATS_FORMATTING_FUNCTIONS=1 FREERTOS.configUSE_STATS_FORMATTING_FUNCTIONS=1
FREERTOS.configUSE_TICKLESS_IDLE=0 FREERTOS.configUSE_TICKLESS_IDLE=0