更新UI。增加时间和IP显示

This commit is contained in:
Wang Beihong
2026-04-20 23:15:12 +08:00
parent e881f82bd9
commit f426d52175
22 changed files with 2946 additions and 357 deletions

View File

@@ -16,6 +16,7 @@
"ui_font_chinese_16.c",
"ui_font_chinese_24.c",
"ui_font_chinese_36.c",
"ui_font_number_14.c",
"ui_font_number_16.c",
"ui_image_main_page.c",
"vars.h"

View File

@@ -11,6 +11,7 @@ extern const lv_font_t ui_font_chinese_36;
extern const lv_font_t ui_font_chinese_24;
extern const lv_font_t ui_font_chinese_16;
extern const lv_font_t ui_font_number_16;
extern const lv_font_t ui_font_number_14;
#ifndef EXT_FONT_DESC_T
#define EXT_FONT_DESC_T

View File

@@ -13,7 +13,7 @@
objects_t objects;
static const char *screen_names[] = { "Main" };
static const char *object_names[] = { "main", "background_pic", "obj0", "obj1", "obj2", "obj3", "obj4", "obj5", "obj6", "obj7", "obj8", "obj9", "obj10", "obj11" };
static const char *object_names[] = { "main", "background_pic", "obj0", "obj1", "obj2", "obj3", "obj4", "obj5", "obj6", "obj7", "obj8", "obj9", "obj10", "obj11", "obj12", "obj13" };
//
// Event handlers
@@ -45,28 +45,28 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 24, 12);
lv_obj_set_pos(obj, 15, 22);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_24, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "智能粮仓");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 15, 49);
lv_obj_set_pos(obj, 15, 55);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "温度");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 15, 83);
lv_obj_set_pos(obj, 15, 88);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "湿度");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 162, 40);
lv_obj_set_pos(obj, 159, 55);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "光照强度");
@@ -74,7 +74,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj0 = obj;
lv_obj_set_pos(obj, 15, 67);
lv_obj_set_pos(obj, 17, 72);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -83,7 +83,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj1 = obj;
lv_obj_set_pos(obj, 166, 59);
lv_obj_set_pos(obj, 167, 73);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -92,7 +92,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj2 = obj;
lv_obj_set_pos(obj, 16, 101);
lv_obj_set_pos(obj, 17, 107);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -100,7 +100,7 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 171, 109);
lv_obj_set_pos(obj, 151, 122);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "门状态");
@@ -108,7 +108,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj3 = obj;
lv_obj_set_pos(obj, 171, 127);
lv_obj_set_pos(obj, 163, 140);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -116,7 +116,7 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 16, 120);
lv_obj_set_pos(obj, 14, 124);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "粮食存量");
@@ -124,7 +124,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj4 = obj;
lv_obj_set_pos(obj, 17, 138);
lv_obj_set_pos(obj, 17, 142);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -132,7 +132,7 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 15, 154);
lv_obj_set_pos(obj, 14, 158);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "粮食状态");
@@ -140,7 +140,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj5 = obj;
lv_obj_set_pos(obj, 16, 172);
lv_obj_set_pos(obj, 14, 176);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -148,7 +148,7 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 163, 75);
lv_obj_set_pos(obj, 160, 88);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "空气质量");
@@ -156,7 +156,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj6 = obj;
lv_obj_set_pos(obj, 164, 93);
lv_obj_set_pos(obj, 167, 106);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -164,7 +164,7 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 138, 146);
lv_obj_set_pos(obj, 135, 158);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "人存在状态");
@@ -172,7 +172,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj7 = obj;
lv_obj_set_pos(obj, 139, 164);
lv_obj_set_pos(obj, 139, 176);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -180,28 +180,28 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 22, 190);
lv_obj_set_pos(obj, 17, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "加热");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 74, 189);
lv_obj_set_pos(obj, 63, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "制冷");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 122, 188);
lv_obj_set_pos(obj, 111, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "通风");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 178, 188);
lv_obj_set_pos(obj, 159, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "照明");
@@ -209,7 +209,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj8 = obj;
lv_obj_set_pos(obj, 29, 206);
lv_obj_set_pos(obj, 49, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -218,7 +218,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj9 = obj;
lv_obj_set_pos(obj, 81, 207);
lv_obj_set_pos(obj, 95, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -227,7 +227,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj10 = obj;
lv_obj_set_pos(obj, 131, 206);
lv_obj_set_pos(obj, 143, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -236,12 +236,30 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj11 = obj;
lv_obj_set_pos(obj, 187, 207);
lv_obj_set_pos(obj, 192, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj12 = obj;
lv_obj_set_pos(obj, 88, 8);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_14, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xff000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj13 = obj;
lv_obj_set_pos(obj, 124, 28);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xff000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "");
}
}
tick_screen_main();
@@ -358,6 +376,24 @@ void tick_screen_main() {
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 27, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.obj12);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.obj12;
lv_label_set_text(objects.obj12, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 28, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.obj13);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.obj13;
lv_label_set_text(objects.obj13, new_val);
tick_value_change_obj = NULL;
}
}
}
typedef void (*tick_screen_func_t)();
@@ -380,6 +416,7 @@ ext_font_desc_t fonts[] = {
{ "chinese_24", &ui_font_chinese_24 },
{ "chinese_16", &ui_font_chinese_16 },
{ "number_16", &ui_font_number_16 },
{ "number_14", &ui_font_number_14 },
#if LV_FONT_MONTSERRAT_8
{ "MONTSERRAT_8", &lv_font_montserrat_8 },
#endif

View File

@@ -30,6 +30,8 @@ typedef struct _objects_t {
lv_obj_t *obj9;
lv_obj_t *obj10;
lv_obj_t *obj11;
lv_obj_t *obj12;
lv_obj_t *obj13;
} objects_t;
extern objects_t objects;

View File

@@ -5,128 +5,137 @@
#include "vars.h"
// ASSETS DEFINITION
const uint8_t assets[1932] = {
const uint8_t assets[2068] = {
0x7E, 0x45, 0x45, 0x5A, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF0, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x10, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00,
0x98, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00, 0x6C, 0x00, 0x00, 0x00,
0x88, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00,
0xF8, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x30, 0x01, 0x00, 0x00, 0x4C, 0x01, 0x00, 0x00,
0x68, 0x01, 0x00, 0x00, 0x84, 0x01, 0x00, 0x00, 0xA0, 0x01, 0x00, 0x00, 0xBC, 0x01, 0x00, 0x00,
0xD8, 0x01, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x2C, 0x02, 0x00, 0x00,
0x48, 0x02, 0x00, 0x00, 0x64, 0x02, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x9C, 0x02, 0x00, 0x00,
0xB8, 0x02, 0x00, 0x00, 0xD4, 0x02, 0x00, 0x00, 0xF0, 0x02, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00,
0x28, 0x03, 0x00, 0x00, 0x44, 0x03, 0x00, 0x00, 0x30, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x50, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x31, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xEC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xD8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xC8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xB8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xA8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x94, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x84, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x70, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x28, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xCC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xA4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x84, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00, 0x74, 0x00, 0x00, 0x00,
0x90, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0xE4, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x1C, 0x01, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00, 0x54, 0x01, 0x00, 0x00,
0x70, 0x01, 0x00, 0x00, 0x8C, 0x01, 0x00, 0x00, 0xA8, 0x01, 0x00, 0x00, 0xC4, 0x01, 0x00, 0x00,
0xE0, 0x01, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x18, 0x02, 0x00, 0x00, 0x34, 0x02, 0x00, 0x00,
0x50, 0x02, 0x00, 0x00, 0x6C, 0x02, 0x00, 0x00, 0x88, 0x02, 0x00, 0x00, 0xA4, 0x02, 0x00, 0x00,
0xC0, 0x02, 0x00, 0x00, 0xDC, 0x02, 0x00, 0x00, 0xF8, 0x02, 0x00, 0x00, 0x14, 0x03, 0x00, 0x00,
0x30, 0x03, 0x00, 0x00, 0x4C, 0x03, 0x00, 0x00, 0x68, 0x03, 0x00, 0x00, 0x84, 0x03, 0x00, 0x00,
0x30, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x31, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x7C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x68, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x54, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x2C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x08, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xF8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0xE8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xD4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xB0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0xA0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x8C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x7C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x68, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x58, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x44, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x34, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xE4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xD4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xC4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xB4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xA4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x01, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x02, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x01, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x02, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x03, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x03, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x04, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00,
0x04, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x05, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x05, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x06, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x06, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x03, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x03, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x07, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x08, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x09, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x0A, 0x60, 0x00, 0xE0,
0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
0x00, 0xE0, 0x00, 0x00, 0x07, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x08, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x09, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x0A, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x0C, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x0D, 0x60, 0x00, 0xE0, 0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
native_var_t native_vars[] = {
@@ -143,6 +152,8 @@ native_var_t native_vars[] = {
{ NATIVE_VAR_TYPE_STRING, get_var_fan_status, set_var_fan_status },
{ NATIVE_VAR_TYPE_STRING, get_var_light_status, set_var_light_status },
{ NATIVE_VAR_TYPE_STRING, get_var_hum_status, set_var_hum_status },
{ NATIVE_VAR_TYPE_STRING, get_var_local_time, set_var_local_time },
{ NATIVE_VAR_TYPE_STRING, get_var_system_ip, set_var_system_ip },
};
ActionExecFunc actions[] = {

View File

@@ -9,7 +9,7 @@
extern "C" {
#endif
extern const uint8_t assets[1932];
extern const uint8_t assets[2068];
void ui_init();
void ui_tick();

File diff suppressed because it is too large Load Diff

View File

@@ -139,4 +139,27 @@ const char *get_var_light_status() {
void set_var_light_status(const char *value) {
strncpy(light_status, value, sizeof(light_status) / sizeof(char));
light_status[sizeof(light_status) / sizeof(char) - 1] = 0;
}
}
char local_time[100] = { 0 };
const char *get_var_local_time() {
return local_time;
}
void set_var_local_time(const char *value) {
strncpy(local_time, value, sizeof(local_time) / sizeof(char));
local_time[sizeof(local_time) / sizeof(char) - 1] = 0;
}
char system_ip[100] = { 0 };
const char *get_var_system_ip() {
return system_ip;
}
void set_var_system_ip(const char *value) {
strncpy(system_ip, value, sizeof(system_ip) / sizeof(char));
system_ip[sizeof(system_ip) / sizeof(char) - 1] = 0;
}

View File

@@ -42,6 +42,10 @@ extern const char *get_var_light_status();
extern void set_var_light_status(const char *value);
extern const char *get_var_hum_status();
extern void set_var_hum_status(const char *value);
extern const char *get_var_local_time();
extern void set_var_local_time(const char *value);
extern const char *get_var_system_ip();
extern void set_var_system_ip(const char *value);
#ifdef __cplusplus
}

View File

@@ -1,34 +1,35 @@
#pragma once
#include <stdbool.h>
#include "esp_err.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
WIFI_CONNECT_STATUS_IDLE = 0,
WIFI_CONNECT_STATUS_PROVISIONING,
WIFI_CONNECT_STATUS_CONNECTING,
WIFI_CONNECT_STATUS_CONNECTED,
WIFI_CONNECT_STATUS_FAILED,
WIFI_CONNECT_STATUS_TIMEOUT,
} wifi_connect_status_t;
typedef struct {
bool has_config;
char ssid[33];
char password[65];
} wifi_connect_config_t;
esp_err_t wifi_connect_init(void);
esp_err_t wifi_connect_start(void);
esp_err_t wifi_connect_stop(void);
wifi_connect_status_t wifi_connect_get_status(void);
esp_err_t wifi_connect_get_config(wifi_connect_config_t *config);
esp_err_t wifi_connect_clear_config(void);
#ifdef __cplusplus
}
#endif
#pragma once
#include <stdbool.h>
#include "esp_err.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
WIFI_CONNECT_STATUS_IDLE = 0,
WIFI_CONNECT_STATUS_PROVISIONING,
WIFI_CONNECT_STATUS_CONNECTING,
WIFI_CONNECT_STATUS_CONNECTED,
WIFI_CONNECT_STATUS_FAILED,
WIFI_CONNECT_STATUS_TIMEOUT,
} wifi_connect_status_t;
typedef struct {
bool has_config;
char ssid[33];
char password[65];
} wifi_connect_config_t;
esp_err_t wifi_connect_init(void);
esp_err_t wifi_connect_start(void);
esp_err_t wifi_connect_stop(void);
wifi_connect_status_t wifi_connect_get_status(void);
esp_err_t wifi_connect_get_config(wifi_connect_config_t *config);
esp_err_t wifi_connect_clear_config(void);
const char* wifi_connect_get_ip(void);
#ifdef __cplusplus
}
#endif

View File

@@ -323,6 +323,18 @@ wifi_connect_status_t wifi_connect_get_status(void)
return status;
}
const char *wifi_connect_get_ip(void)
{
if (!s_ctx.initialized || s_ctx.lock == NULL)
return "0.0.0.0";
static char ip_buf[16];
xSemaphoreTake(s_ctx.lock, portMAX_DELAY);
strncpy(ip_buf, s_ctx.sta_ip, sizeof(ip_buf));
xSemaphoreGive(s_ctx.lock);
return ip_buf;
}
static esp_err_t wifi_connect_send_json(httpd_req_t *req, const char *json)
{
httpd_resp_set_type(req, "application/json");

View File

@@ -1,3 +1,3 @@
idf_component_register(SRCS "main.cpp"
INCLUDE_DIRS "."
REQUIRES nvs_flash esp_wifi esp_event esp_system wifi-connect ui lvgl_st7789_use)
REQUIRES nvs_flash esp_wifi sntp_time esp_event esp_system wifi-connect ui lvgl_st7789_use efuse)

View File

@@ -1,24 +1,84 @@
#include <stdio.h>
#include <time.h>
#include <string.h>
#include "wifi-connect.h"
#include "esp_lvgl_port.h" // 包含 LVGL 端口头文件,提供 LVGL 相关的类型定义和函数声明
#include "lvgl_st7789_use.h" // 使用EEZStudio提供的LVGL和ST7789驱动便于后续扩展
#include "ui.h" // 使用EEZStudio提供的ui组件便于后续扩展
#include "vars.h" // 包含全局变量定义和访问函数
#include "esp_lvgl_port.h"
#include "lvgl_st7789_use.h"
#include "ui.h"
#include "vars.h"
#include "esp_err.h"
#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/semphr.h"
#include "sntp_time.h"
#include "esp_mac.h"
#include "esp_system.h"
#include "esp_efuse.h"
#include "esp_efuse_table.h"
#define TAG "MAIN"
/**
* @brief UI 任务函数
*
* 负责定期驱动 UI 刷新,并实现屏幕自动轮播。
*
* @param arg 任务参数(未使用)
* @brief 系统环境数据结构体
*/
typedef struct
{
char time_str[32];
float temp;
float humidity;
} env_data_t;
// 定义全局变量和锁
static env_data_t s_env_data;
static SemaphoreHandle_t s_env_data_lock = NULL;
// 等待 Wi-Fi 连接成功
static bool wait_for_wifi_connected(TickType_t timeout_ticks)
{
const TickType_t start_ticks = xTaskGetTickCount();
while ((xTaskGetTickCount() - start_ticks) < timeout_ticks)
{
if (wifi_connect_get_status() == WIFI_CONNECT_STATUS_CONNECTED)
{
return true;
}
vTaskDelay(pdMS_TO_TICKS(200));
}
return wifi_connect_get_status() == WIFI_CONNECT_STATUS_CONNECTED;
}
/**
* @brief 更新系统状态到结构体,并同步到 UI
*/
static void env_data_update_system_info(void)
{
if (s_env_data_lock == NULL)
return;
// 获取当前时间
time_t now;
struct tm timeinfo;
time(&now);
localtime_r(&now, &timeinfo);
char time_buf[32];
strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S", &timeinfo);
// 更新结构体 (线程安全)
xSemaphoreTake(s_env_data_lock, portMAX_DELAY);
strncpy(s_env_data.time_str, time_buf, sizeof(s_env_data.time_str));
xSemaphoreGive(s_env_data_lock);
set_var_local_time(s_env_data.time_str);
}
static void ui_task(void *arg)
{
(void)arg;
for (;;)
{
env_data_update_system_info();
lvgl_port_lock(0);
ui_tick();
@@ -29,16 +89,43 @@ static void ui_task(void *arg)
extern "C" void app_main(void)
{
ESP_ERROR_CHECK(wifi_connect_init()); // 初始化 Wi-Fi 配网模块
printf("\n\n--- APP START ---\n\n");
start_lvgl_demo(); // 初始化 LVGL 和 LCD 显示
// 初始化 UI 组件(需在 LVGL 锁内进行对象创建)
// 创建结构体互斥锁
s_env_data_lock = xSemaphoreCreateMutex();
// 初始化 Wi-Fi
ESP_ERROR_CHECK(wifi_connect_init());
// 初始化屏幕和 LVGL
start_lvgl_demo();
// 初始化 UI
lvgl_port_lock(0);
ui_init();
lvgl_port_unlock();
// 创建一个 FreeRTOS 任务来更新 UI 显示(字符串拼接需要更多栈空间)
// 设置初始状态变量 (常量)
set_var_door_status("关闭");
set_var_food_status("良好");
set_var_hum_status("有人");
set_var_hot_status("");
set_var_cool_status("");
set_var_fan_status("");
set_var_light_status("");
// 创建 UI 刷新任务
xTaskCreate(ui_task, "ui_task", 4096, NULL, 10, NULL);
}
// 等待网络并对时
if (wait_for_wifi_connected(pdMS_TO_TICKS(60000)))
{
printf("Wi-Fi connected, IP address: %s\n", wifi_connect_get_ip());
set_var_system_ip(wifi_connect_get_ip());
esp_err_t sntp_ret = sntp_timp_sync_time(12000);
if (sntp_ret != ESP_OK)
{
ESP_LOGW(TAG, "SNTP sync failed");
}
}
}

View File

@@ -202,6 +202,22 @@
"defaultValue": "\"\"",
"persistent": false,
"native": true
},
{
"objID": "376c753c-093e-480e-a273-55f2119848e2",
"name": "local_time",
"type": "string",
"defaultValue": "\"\"",
"persistent": false,
"native": true
},
{
"objID": "565feb50-b7b4-46ef-c59b-96b0a8b5f84a",
"name": "system_ip",
"type": "string",
"defaultValue": "\"\"",
"persistent": false,
"native": true
}
],
"structures": [],
@@ -287,8 +303,8 @@
{
"objID": "041562cd-dcc8-49a4-d648-ab2d210b9a7c",
"type": "LVGLLabelWidget",
"left": 24,
"top": 12,
"left": 15,
"top": 22,
"width": 96,
"height": 28,
"customInputs": [],
@@ -337,7 +353,7 @@
"objID": "4f69b57c-ff11-4e5d-fa09-b563ea68491f",
"type": "LVGLLabelWidget",
"left": 15,
"top": 49,
"top": 55,
"width": 32,
"height": 18,
"customInputs": [],
@@ -386,7 +402,7 @@
"objID": "6ea91851-a909-40ad-ee4b-a8e9e7118d59",
"type": "LVGLLabelWidget",
"left": 15,
"top": 83,
"top": 88,
"width": 32,
"height": 18,
"customInputs": [],
@@ -434,8 +450,8 @@
{
"objID": "b166cfa5-9b71-4387-a06d-c5cb3cdfedd2",
"type": "LVGLLabelWidget",
"left": 162,
"top": 40,
"left": 159,
"top": 55,
"width": 64,
"height": 18,
"customInputs": [],
@@ -483,8 +499,8 @@
{
"objID": "4bfdea3c-8b85-4cff-d0aa-ab9c54491f65",
"type": "LVGLLabelWidget",
"left": 15,
"top": 67,
"left": 17,
"top": 72,
"width": 32,
"height": 16,
"customInputs": [],
@@ -534,8 +550,8 @@
{
"objID": "fd31f72c-094b-4f3f-ad7b-763109337319",
"type": "LVGLLabelWidget",
"left": 166,
"top": 59,
"left": 167,
"top": 73,
"width": 56,
"height": 16,
"customInputs": [],
@@ -585,8 +601,8 @@
{
"objID": "6aeac5ad-d4d0-4efa-c563-7913b67e0aab",
"type": "LVGLLabelWidget",
"left": 16,
"top": 101,
"left": 17,
"top": 107,
"width": 32,
"height": 16,
"customInputs": [],
@@ -636,8 +652,8 @@
{
"objID": "1bcab9f8-f491-4418-cd50-5fff4f615687",
"type": "LVGLLabelWidget",
"left": 171,
"top": 109,
"left": 151,
"top": 122,
"width": 48,
"height": 18,
"customInputs": [],
@@ -685,8 +701,8 @@
{
"objID": "3037d501-9168-4ab4-c5ee-86a85189cb6d",
"type": "LVGLLabelWidget",
"left": 171,
"top": 127,
"left": 163,
"top": 140,
"width": 32,
"height": 18,
"customInputs": [],
@@ -736,8 +752,8 @@
{
"objID": "f21d6d10-f8c1-4004-bcaa-75ba69db3f9d",
"type": "LVGLLabelWidget",
"left": 16,
"top": 120,
"left": 14,
"top": 124,
"width": 64,
"height": 18,
"customInputs": [],
@@ -786,7 +802,7 @@
"objID": "205b106e-7021-4b5d-da25-f20fa01f5ca1",
"type": "LVGLLabelWidget",
"left": 17,
"top": 138,
"top": 142,
"width": 56,
"height": 16,
"customInputs": [],
@@ -836,8 +852,8 @@
{
"objID": "5cfff600-2aa1-473b-ffbf-8cad89b35c9a",
"type": "LVGLLabelWidget",
"left": 15,
"top": 154,
"left": 14,
"top": 158,
"width": 64,
"height": 18,
"customInputs": [],
@@ -885,8 +901,8 @@
{
"objID": "640a3e04-8f18-4527-dc2b-33003ac5959a",
"type": "LVGLLabelWidget",
"left": 16,
"top": 172,
"left": 14,
"top": 176,
"width": 32,
"height": 18,
"customInputs": [],
@@ -936,8 +952,8 @@
{
"objID": "f0ede4e4-add3-4677-bc54-a2fb8f1ba93c",
"type": "LVGLLabelWidget",
"left": 163,
"top": 75,
"left": 160,
"top": 88,
"width": 64,
"height": 18,
"customInputs": [],
@@ -985,8 +1001,8 @@
{
"objID": "bca0d5da-84d5-40e5-8e0b-7cb45e5bf9bd",
"type": "LVGLLabelWidget",
"left": 164,
"top": 93,
"left": 167,
"top": 106,
"width": 56,
"height": 16,
"customInputs": [],
@@ -1036,8 +1052,8 @@
{
"objID": "82818512-2a20-4b2e-82e2-fbbd2f4bf62f",
"type": "LVGLLabelWidget",
"left": 138,
"top": 146,
"left": 135,
"top": 158,
"width": 80,
"height": 18,
"customInputs": [],
@@ -1086,7 +1102,7 @@
"objID": "1a4506d3-c156-4b63-f585-647302058a3e",
"type": "LVGLLabelWidget",
"left": 139,
"top": 164,
"top": 176,
"width": 32,
"height": 18,
"customInputs": [],
@@ -1136,8 +1152,8 @@
{
"objID": "11f2c7cb-27a2-4035-f2ba-b1ad5874a114",
"type": "LVGLLabelWidget",
"left": 22,
"top": 190,
"left": 17,
"top": 206,
"width": 32,
"height": 18,
"customInputs": [],
@@ -1185,8 +1201,8 @@
{
"objID": "33d63452-b670-4c53-e413-172d385eed06",
"type": "LVGLLabelWidget",
"left": 74,
"top": 189,
"left": 63,
"top": 206,
"width": 32,
"height": 18,
"customInputs": [],
@@ -1234,8 +1250,8 @@
{
"objID": "8bc337a3-9881-4bfd-f549-d27df6ecbaaa",
"type": "LVGLLabelWidget",
"left": 122,
"top": 188,
"left": 111,
"top": 206,
"width": 32,
"height": 18,
"customInputs": [],
@@ -1283,8 +1299,8 @@
{
"objID": "fecfbc3f-aec4-4116-bca5-e0de7289d391",
"type": "LVGLLabelWidget",
"left": 178,
"top": 188,
"left": 159,
"top": 206,
"width": 32,
"height": 18,
"customInputs": [],
@@ -1332,7 +1348,7 @@
{
"objID": "4acc78cd-5170-44de-86a5-aef9f1dc4530",
"type": "LVGLLabelWidget",
"left": 29,
"left": 49,
"top": 206,
"width": 16,
"height": 18,
@@ -1383,8 +1399,8 @@
{
"objID": "2bcfed35-7528-416f-9f99-240f4e27e77e",
"type": "LVGLLabelWidget",
"left": 81,
"top": 207,
"left": 95,
"top": 206,
"width": 16,
"height": 18,
"customInputs": [],
@@ -1434,7 +1450,7 @@
{
"objID": "c0524720-444a-4e88-9249-ca756097d391",
"type": "LVGLLabelWidget",
"left": 131,
"left": 143,
"top": 206,
"width": 16,
"height": 18,
@@ -1485,8 +1501,8 @@
{
"objID": "c6c702f4-1010-41ef-8133-c3fe12d2692b",
"type": "LVGLLabelWidget",
"left": 187,
"top": 207,
"left": 192,
"top": 206,
"width": 16,
"height": 18,
"customInputs": [],
@@ -1532,6 +1548,108 @@
"longMode": "WRAP",
"recolor": false,
"previewValue": "开"
},
{
"objID": "94c14770-4f62-4b30-f0a2-a6f432feeda1",
"type": "LVGLLabelWidget",
"left": 88,
"top": 8,
"width": 143,
"height": 14,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "26bec3ce-780b-4d32-a63c-ba8486213c85",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "content",
"heightUnit": "content",
"children": [],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlagType": "literal",
"flagScrollbarMode": "",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"localStyles": {
"objID": "68d4ed32-8eca-4476-89d7-4455f357efb3",
"definition": {
"MAIN": {
"DEFAULT": {
"text_font": "number_14",
"text_color": "#000000"
}
}
}
},
"group": "",
"groupIndex": 0,
"text": "local_time",
"textType": "expression",
"longMode": "WRAP",
"recolor": false,
"previewValue": "2026-04-20 22:50:42"
},
{
"objID": "e90319ea-674c-4f41-ca0b-595c4d3f13f5",
"type": "LVGLLabelWidget",
"left": 124,
"top": 28,
"width": 92,
"height": 16,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "3f04db13-166b-43d6-cb27-61ae794b5b73",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "content",
"heightUnit": "content",
"children": [],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlagType": "literal",
"flagScrollbarMode": "",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"localStyles": {
"objID": "746701d0-405c-4e29-be03-2146d7af7ad8",
"definition": {
"MAIN": {
"DEFAULT": {
"text_font": "number_16",
"text_color": "#000000"
}
}
}
},
"group": "",
"groupIndex": 0,
"text": "system_ip",
"textType": "expression",
"longMode": "WRAP",
"recolor": false,
"previewValue": "192.168.1.169"
}
],
"widgetFlags": "CLICKABLE|PRESS_LOCK|CLICK_FOCUSABLE|GESTURE_BUBBLE|SNAPPABLE|SCROLLABLE|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER",
@@ -1689,6 +1807,34 @@
],
"symbols": ""
}
},
{
"objID": "d394c0c9-7f54-45e9-abf2-aeb94611d782",
"name": "number_14",
"renderingEngine": "LVGL",
"source": {
"objID": "a08a2c7d-69b2-47ab-e2ef-274468c49670",
"filePath": "..\\ZhengQingKeShuMaTi\\ZhengQingKeShuMaTi-2.ttf",
"size": 14
},
"bpp": 8,
"threshold": 128,
"height": 14,
"ascent": 11,
"descent": 3,
"glyphs": [],
"lvglRanges": "32-127",
"lvglSymbols": "",
"lvglGlyphs": {
"encodings": [
{
"from": 32,
"to": 127
}
],
"symbols": ""
},
"embeddedFontFileIndex": 3
}
],
"bitmaps": [

View File

@@ -16,6 +16,7 @@
"ui_font_chinese_16.c",
"ui_font_chinese_24.c",
"ui_font_chinese_36.c",
"ui_font_number_14.c",
"ui_font_number_16.c",
"ui_image_main_page.c",
"vars.h"

View File

@@ -11,6 +11,7 @@ extern const lv_font_t ui_font_chinese_36;
extern const lv_font_t ui_font_chinese_24;
extern const lv_font_t ui_font_chinese_16;
extern const lv_font_t ui_font_number_16;
extern const lv_font_t ui_font_number_14;
#ifndef EXT_FONT_DESC_T
#define EXT_FONT_DESC_T

View File

@@ -13,7 +13,7 @@
objects_t objects;
static const char *screen_names[] = { "Main" };
static const char *object_names[] = { "main", "background_pic", "obj0", "obj1", "obj2", "obj3", "obj4", "obj5", "obj6", "obj7", "obj8", "obj9", "obj10", "obj11" };
static const char *object_names[] = { "main", "background_pic", "obj0", "obj1", "obj2", "obj3", "obj4", "obj5", "obj6", "obj7", "obj8", "obj9", "obj10", "obj11", "obj12", "obj13" };
//
// Event handlers
@@ -45,28 +45,28 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 24, 12);
lv_obj_set_pos(obj, 15, 22);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_24, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "智能粮仓");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 15, 49);
lv_obj_set_pos(obj, 15, 55);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "温度");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 15, 83);
lv_obj_set_pos(obj, 15, 88);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "湿度");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 162, 40);
lv_obj_set_pos(obj, 159, 55);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "光照强度");
@@ -74,7 +74,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj0 = obj;
lv_obj_set_pos(obj, 15, 67);
lv_obj_set_pos(obj, 17, 72);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -83,7 +83,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj1 = obj;
lv_obj_set_pos(obj, 166, 59);
lv_obj_set_pos(obj, 167, 73);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -92,7 +92,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj2 = obj;
lv_obj_set_pos(obj, 16, 101);
lv_obj_set_pos(obj, 17, 107);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -100,7 +100,7 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 171, 109);
lv_obj_set_pos(obj, 151, 122);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "门状态");
@@ -108,7 +108,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj3 = obj;
lv_obj_set_pos(obj, 171, 127);
lv_obj_set_pos(obj, 163, 140);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -116,7 +116,7 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 16, 120);
lv_obj_set_pos(obj, 14, 124);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "粮食存量");
@@ -124,7 +124,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj4 = obj;
lv_obj_set_pos(obj, 17, 138);
lv_obj_set_pos(obj, 17, 142);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -132,7 +132,7 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 15, 154);
lv_obj_set_pos(obj, 14, 158);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "粮食状态");
@@ -140,7 +140,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj5 = obj;
lv_obj_set_pos(obj, 16, 172);
lv_obj_set_pos(obj, 14, 176);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -148,7 +148,7 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 163, 75);
lv_obj_set_pos(obj, 160, 88);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "空气质量");
@@ -156,7 +156,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj6 = obj;
lv_obj_set_pos(obj, 164, 93);
lv_obj_set_pos(obj, 167, 106);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -164,7 +164,7 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 138, 146);
lv_obj_set_pos(obj, 135, 158);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "人存在状态");
@@ -172,7 +172,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj7 = obj;
lv_obj_set_pos(obj, 139, 164);
lv_obj_set_pos(obj, 139, 176);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -180,28 +180,28 @@ void create_screen_main() {
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 22, 190);
lv_obj_set_pos(obj, 17, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "加热");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 74, 189);
lv_obj_set_pos(obj, 63, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "制冷");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 122, 188);
lv_obj_set_pos(obj, 111, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "通风");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
lv_obj_set_pos(obj, 178, 188);
lv_obj_set_pos(obj, 159, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "照明");
@@ -209,7 +209,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj8 = obj;
lv_obj_set_pos(obj, 29, 206);
lv_obj_set_pos(obj, 49, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -218,7 +218,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj9 = obj;
lv_obj_set_pos(obj, 81, 207);
lv_obj_set_pos(obj, 95, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -227,7 +227,7 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj10 = obj;
lv_obj_set_pos(obj, 131, 206);
lv_obj_set_pos(obj, 143, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
@@ -236,12 +236,30 @@ void create_screen_main() {
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj11 = obj;
lv_obj_set_pos(obj, 187, 207);
lv_obj_set_pos(obj, 192, 206);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_chinese_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd17f7f), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj12 = obj;
lv_obj_set_pos(obj, 88, 8);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_14, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xff000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "");
}
{
lv_obj_t *obj = lv_label_create(parent_obj);
objects.obj13 = obj;
lv_obj_set_pos(obj, 124, 28);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_obj_set_style_text_font(obj, &ui_font_number_16, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_text_color(obj, lv_color_hex(0xff000000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_label_set_text(obj, "");
}
}
tick_screen_main();
@@ -358,6 +376,24 @@ void tick_screen_main() {
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 27, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.obj12);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.obj12;
lv_label_set_text(objects.obj12, new_val);
tick_value_change_obj = NULL;
}
}
{
const char *new_val = evalTextProperty(flowState, 28, 3, "Failed to evaluate Text in Label widget");
const char *cur_val = lv_label_get_text(objects.obj13);
if (strcmp(new_val, cur_val) != 0) {
tick_value_change_obj = objects.obj13;
lv_label_set_text(objects.obj13, new_val);
tick_value_change_obj = NULL;
}
}
}
typedef void (*tick_screen_func_t)();
@@ -380,6 +416,7 @@ ext_font_desc_t fonts[] = {
{ "chinese_24", &ui_font_chinese_24 },
{ "chinese_16", &ui_font_chinese_16 },
{ "number_16", &ui_font_number_16 },
{ "number_14", &ui_font_number_14 },
#if LV_FONT_MONTSERRAT_8
{ "MONTSERRAT_8", &lv_font_montserrat_8 },
#endif

View File

@@ -30,6 +30,8 @@ typedef struct _objects_t {
lv_obj_t *obj9;
lv_obj_t *obj10;
lv_obj_t *obj11;
lv_obj_t *obj12;
lv_obj_t *obj13;
} objects_t;
extern objects_t objects;

View File

@@ -5,128 +5,137 @@
#include "vars.h"
// ASSETS DEFINITION
const uint8_t assets[1932] = {
const uint8_t assets[2068] = {
0x7E, 0x45, 0x45, 0x5A, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF0, 0x00, 0xF0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x10, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00,
0x98, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00, 0x6C, 0x00, 0x00, 0x00,
0x88, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00,
0xF8, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x30, 0x01, 0x00, 0x00, 0x4C, 0x01, 0x00, 0x00,
0x68, 0x01, 0x00, 0x00, 0x84, 0x01, 0x00, 0x00, 0xA0, 0x01, 0x00, 0x00, 0xBC, 0x01, 0x00, 0x00,
0xD8, 0x01, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x2C, 0x02, 0x00, 0x00,
0x48, 0x02, 0x00, 0x00, 0x64, 0x02, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x9C, 0x02, 0x00, 0x00,
0xB8, 0x02, 0x00, 0x00, 0xD4, 0x02, 0x00, 0x00, 0xF0, 0x02, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00,
0x28, 0x03, 0x00, 0x00, 0x44, 0x03, 0x00, 0x00, 0x30, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x50, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x31, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xEC, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xD8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xC8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xB8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xA8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x94, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x84, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x70, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x28, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xCC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xA4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x84, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00,
0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00, 0x74, 0x00, 0x00, 0x00,
0x90, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0xE4, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x1C, 0x01, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00, 0x54, 0x01, 0x00, 0x00,
0x70, 0x01, 0x00, 0x00, 0x8C, 0x01, 0x00, 0x00, 0xA8, 0x01, 0x00, 0x00, 0xC4, 0x01, 0x00, 0x00,
0xE0, 0x01, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x18, 0x02, 0x00, 0x00, 0x34, 0x02, 0x00, 0x00,
0x50, 0x02, 0x00, 0x00, 0x6C, 0x02, 0x00, 0x00, 0x88, 0x02, 0x00, 0x00, 0xA4, 0x02, 0x00, 0x00,
0xC0, 0x02, 0x00, 0x00, 0xDC, 0x02, 0x00, 0x00, 0xF8, 0x02, 0x00, 0x00, 0x14, 0x03, 0x00, 0x00,
0x30, 0x03, 0x00, 0x00, 0x4C, 0x03, 0x00, 0x00, 0x68, 0x03, 0x00, 0x00, 0x84, 0x03, 0x00, 0x00,
0x30, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x90, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x31, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x7C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x68, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x54, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x2C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x08, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xF8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0xE8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xD4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0xC4, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xB0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0xA0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x8C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x7C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x68, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x58, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x44, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x34, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xE4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xD4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xC4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xB4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xA4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x32, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
0x94, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x01, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x02, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x01, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x02, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x03, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x03, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x04, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00,
0x04, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x05, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x05, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x06, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x06, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x03, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x03, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x07, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x08, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x09, 0x60, 0x00, 0xE0,
0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x0A, 0x60, 0x00, 0xE0,
0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
0x00, 0xE0, 0x00, 0x00, 0x07, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x08, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x09, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x0A, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x0C, 0x60, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0x00, 0x00, 0x0D, 0x60, 0x00, 0xE0, 0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
native_var_t native_vars[] = {
@@ -143,6 +152,8 @@ native_var_t native_vars[] = {
{ NATIVE_VAR_TYPE_STRING, get_var_fan_status, set_var_fan_status },
{ NATIVE_VAR_TYPE_STRING, get_var_light_status, set_var_light_status },
{ NATIVE_VAR_TYPE_STRING, get_var_hum_status, set_var_hum_status },
{ NATIVE_VAR_TYPE_STRING, get_var_local_time, set_var_local_time },
{ NATIVE_VAR_TYPE_STRING, get_var_system_ip, set_var_system_ip },
};
ActionExecFunc actions[] = {

View File

@@ -9,7 +9,7 @@
extern "C" {
#endif
extern const uint8_t assets[1932];
extern const uint8_t assets[2068];
void ui_init();
void ui_tick();

File diff suppressed because it is too large Load Diff

View File

@@ -42,6 +42,10 @@ extern const char *get_var_light_status();
extern void set_var_light_status(const char *value);
extern const char *get_var_hum_status();
extern void set_var_hum_status(const char *value);
extern const char *get_var_local_time();
extern void set_var_local_time(const char *value);
extern const char *get_var_system_ip();
extern void set_var_system_ip(const char *value);
#ifdef __cplusplus
}