mirror of
https://git.beihong.wang/wangbeihong/iot-bedroom-environment-controller.git
synced 2026-04-23 14:53:04 +08:00
refactor(display): migrate from ST7735S to ST7789 driver
- Rename component directory from lvgl_st7735s_use to lvgl_st7789_use - Update CMakeLists.txt to register new source files - Add comprehensive README documentation for ST7789 configuration - Add time_alarm module with SNTP synchronization and alarm management - Add sensors header for sensor abstraction layer
This commit is contained in:
@@ -1,36 +0,0 @@
|
||||
#ifndef UI_DISPLAY_H
|
||||
#define UI_DISPLAY_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief 初始化UI界面
|
||||
*
|
||||
* 该函数负责创建LVGL的用户界面元素,用于显示传感器数据
|
||||
*/
|
||||
void ui_display_init(void);
|
||||
|
||||
/**
|
||||
* @brief 更新传感器数据显示
|
||||
*
|
||||
* 该函数用于更新LVGL界面上的传感器数据
|
||||
*
|
||||
* @param temperature 温度值(°C),-1.0表示无效
|
||||
* @param humidity 湿度值(%),-1.0表示无效
|
||||
* @param lux 光照强度(lx),-1.0表示无效
|
||||
*/
|
||||
void ui_update_sensor_data(float temperature, float humidity, float lux);
|
||||
|
||||
/* Time page APIs */
|
||||
void ui_show_time_page(void);
|
||||
void ui_show_sensor_page(void);
|
||||
void ui_time_update(void);
|
||||
void ui_toggle_page(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* UI_DISPLAY_H */
|
||||
@@ -1,236 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include "lvgl_st7735s_use.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "driver/spi_master.h"
|
||||
#include "esp_err.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_check.h"
|
||||
#include "esp_lcd_panel_io.h"
|
||||
#include "esp_lcd_panel_vendor.h"
|
||||
#include "esp_lcd_panel_ops.h"
|
||||
#include "esp_lvgl_port.h" // 包含LVGL端口头文件,用于LVGL与ESP硬件的接口
|
||||
|
||||
#include "ui_display.h" // 添加新UI界面的头文件
|
||||
static const char *TAG = "lvgl_st7735s_use"; // 用于日志输出的标签,便于调试时识别日志来源
|
||||
|
||||
|
||||
/* LCD IO和面板句柄 */
|
||||
// lcd_io: LCD面板IO句柄,用于与LCD进行通信
|
||||
// lcd_panel: LCD面板句柄,用于控制LCD的各种操作
|
||||
static esp_lcd_panel_io_handle_t lcd_io = NULL;
|
||||
static esp_lcd_panel_handle_t lcd_panel = NULL;
|
||||
|
||||
/* LVGL显示和触摸 */
|
||||
// lvgl_disp: LVGL显示设备句柄,用于LVGL库与显示设备的交互
|
||||
static lv_display_t *lvgl_disp = NULL;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief 初始化LCD硬件和SPI接口
|
||||
*
|
||||
* 该函数负责初始化LCD所需的GPIO、SPI总线,并配置LCD面板
|
||||
* 包括背光控制、SPI总线配置、面板IO配置和面板驱动安装
|
||||
*
|
||||
* @return esp_err_t 初始化结果,ESP_OK表示成功
|
||||
*/
|
||||
static esp_err_t app_lcd_init(void)
|
||||
{
|
||||
esp_err_t ret = ESP_OK;
|
||||
|
||||
/* LCD背光配置 */
|
||||
// 配置背光GPIO为输出模式,用于控制LCD的背光开关
|
||||
gpio_config_t bk_gpio_config = {
|
||||
.mode = GPIO_MODE_OUTPUT, // 设置GPIO为输出模式
|
||||
.pin_bit_mask = 1ULL << EXAMPLE_LCD_GPIO_BL // 设置背光GPIO引脚
|
||||
};
|
||||
ESP_ERROR_CHECK(gpio_config(&bk_gpio_config)); // 应用GPIO配置并检查错误
|
||||
|
||||
/* LCD初始化 */
|
||||
ESP_LOGD(TAG, "初始化SPI总线"); // 输出调试日志
|
||||
// 配置SPI总线参数,包括时钟、数据线和最大传输大小
|
||||
const spi_bus_config_t buscfg = {
|
||||
.sclk_io_num = EXAMPLE_LCD_GPIO_SCLK, // SPI时钟引脚
|
||||
.mosi_io_num = EXAMPLE_LCD_GPIO_MOSI, // SPI主输出从输入引脚
|
||||
.miso_io_num = GPIO_NUM_NC, // 未使用MISO引脚
|
||||
.quadwp_io_num = GPIO_NUM_NC, // 未使用WP引脚
|
||||
.quadhd_io_num = GPIO_NUM_NC, // 未使用HD引脚
|
||||
.max_transfer_sz = EXAMPLE_LCD_H_RES * EXAMPLE_LCD_DRAW_BUFF_HEIGHT * sizeof(uint16_t), // 最大传输大小
|
||||
};
|
||||
// 初始化SPI总线,使用DMA自动分配通道
|
||||
ESP_RETURN_ON_ERROR(spi_bus_initialize(EXAMPLE_LCD_SPI_NUM, &buscfg, SPI_DMA_CH_AUTO), TAG, "SPI初始化失败");
|
||||
|
||||
ESP_LOGD(TAG, "安装面板IO");
|
||||
// 配置LCD面板IO的SPI参数
|
||||
const esp_lcd_panel_io_spi_config_t io_config = {
|
||||
.dc_gpio_num = EXAMPLE_LCD_GPIO_DC, // 数据/命令选择引脚
|
||||
.cs_gpio_num = EXAMPLE_LCD_GPIO_CS, // 片选引脚
|
||||
.pclk_hz = EXAMPLE_LCD_PIXEL_CLK_HZ, // 像素时钟频率
|
||||
.lcd_cmd_bits = EXAMPLE_LCD_CMD_BITS, // 命令位数
|
||||
.lcd_param_bits = EXAMPLE_LCD_PARAM_BITS, // 参数位数
|
||||
.spi_mode = 3, // SPI模式
|
||||
.trans_queue_depth = 10, // 传输队列深度
|
||||
};
|
||||
// 创建LCD面板IO,用于SPI通信
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_new_panel_io_spi((esp_lcd_spi_bus_handle_t)EXAMPLE_LCD_SPI_NUM, &io_config, &lcd_io), err, TAG, "创建面板IO失败");
|
||||
|
||||
ESP_LOGD(TAG, "安装LCD驱动");
|
||||
// 配置LCD面板设备参数
|
||||
const esp_lcd_panel_dev_config_t panel_config = {
|
||||
.reset_gpio_num = EXAMPLE_LCD_GPIO_RST, // 复位引脚
|
||||
#if ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(6, 0, 0)
|
||||
.rgb_endian = LCD_RGB_ENDIAN_RGB, // RGB字节序(旧版本)
|
||||
#else
|
||||
.rgb_ele_order = LCD_RGB_ELEMENT_ORDER_BGR, // RGB元素顺序(新版本)
|
||||
#endif
|
||||
.bits_per_pixel = EXAMPLE_LCD_BITS_PER_PIXEL, // 每像素位数
|
||||
};
|
||||
// 创建ST7789 LCD面板驱动
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_new_panel_st7789(lcd_io, &panel_config, &lcd_panel), err, TAG, "创建面板失败");
|
||||
|
||||
// 复位LCD面板
|
||||
esp_lcd_panel_reset(lcd_panel);
|
||||
// 初始化LCD面板
|
||||
esp_lcd_panel_init(lcd_panel);
|
||||
// 设置显示窗口,确保使用正确的分辨率(偏移)
|
||||
esp_lcd_panel_set_gap(lcd_panel, 1, 26);
|
||||
|
||||
// 反转颜色
|
||||
esp_lcd_panel_invert_color(lcd_panel, true);
|
||||
// 打开LCD显示
|
||||
esp_lcd_panel_disp_on_off(lcd_panel, true);
|
||||
|
||||
/* 打开LCD背光 */
|
||||
ESP_ERROR_CHECK(gpio_set_level(EXAMPLE_LCD_GPIO_BL, EXAMPLE_LCD_BL_ON_LEVEL));
|
||||
|
||||
return ret;
|
||||
|
||||
// 错误处理标签,用于清理资源
|
||||
err:
|
||||
if (lcd_panel) {
|
||||
esp_lcd_panel_del(lcd_panel); // 删除面板
|
||||
}
|
||||
if (lcd_io) {
|
||||
esp_lcd_panel_io_del(lcd_io); // 删除面板IO
|
||||
}
|
||||
spi_bus_free(EXAMPLE_LCD_SPI_NUM); // 释放SPI总线资源
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 初始化LVGL图形库
|
||||
*
|
||||
* 该函数负责初始化LVGL库,并配置显示设备
|
||||
* 包括LVGL任务配置、显示缓冲区配置和旋转设置
|
||||
*
|
||||
* @return esp_err_t 初始化结果,ESP_OK表示成功
|
||||
*/
|
||||
static esp_err_t app_lvgl_init(void)
|
||||
{
|
||||
/* 初始化LVGL */
|
||||
// 配置LVGL任务参数
|
||||
const lvgl_port_cfg_t lvgl_cfg = {
|
||||
.task_priority = 4, /* LVGL任务优先级,数值越高优先级越高 */
|
||||
.task_stack = 4096, /* LVGL任务堆栈大小,单位为字节 */
|
||||
.task_affinity = -1, /* LVGL任务绑定核心,-1表示不绑定特定核心 */
|
||||
.task_max_sleep_ms = 500, /* LVGL任务最大睡眠时间,单位为毫秒 */
|
||||
.timer_period_ms = 5 /* LVGL定时器周期,单位为毫秒,用于处理动画和输入 */
|
||||
};
|
||||
// 初始化LVGL端口
|
||||
ESP_RETURN_ON_ERROR(lvgl_port_init(&lvgl_cfg), TAG, "LVGL端口初始化失败");
|
||||
|
||||
/* 添加LCD屏幕 */
|
||||
ESP_LOGD(TAG, "添加LCD屏幕");
|
||||
// 配置LVGL显示设备参数
|
||||
const lvgl_port_display_cfg_t disp_cfg = {
|
||||
.io_handle = lcd_io, // LCD面板IO句柄
|
||||
.panel_handle = lcd_panel, // LCD面板句柄
|
||||
.buffer_size = EXAMPLE_LCD_H_RES * EXAMPLE_LCD_DRAW_BUFF_HEIGHT, // 缓冲区大小
|
||||
.double_buffer = EXAMPLE_LCD_DRAW_BUFF_DOUBLE, // 是否使用双缓冲
|
||||
.hres = EXAMPLE_LCD_H_RES, // 水平分辨率
|
||||
.vres = EXAMPLE_LCD_V_RES, // 垂直分辨率
|
||||
.monochrome = false, // 是否为单色显示
|
||||
#if LVGL_VERSION_MAJOR >= 9
|
||||
.color_format = LV_COLOR_FORMAT_RGB565, // 颜色格式(LVGL v9及以上)
|
||||
#endif
|
||||
.rotation = { // 旋转设置
|
||||
.swap_xy = 1, // 交换X和Y轴以实现横向显示
|
||||
.mirror_x = 1, // 是否水平镜像
|
||||
.mirror_y = 0, // 是否垂直镜像
|
||||
},
|
||||
.flags = { // 标志位
|
||||
.buff_dma = true, // 是否使用DMA缓冲区
|
||||
#if LVGL_VERSION_MAJOR >= 9
|
||||
.swap_bytes = false, // 是否交换字节序(LVGL v9及以上)
|
||||
#endif
|
||||
}
|
||||
};
|
||||
// 添加LVGL显示设备
|
||||
lvgl_disp = lvgl_port_add_disp(&disp_cfg);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief 创建并显示LVGL主界面
|
||||
*
|
||||
* 该函数负责创建LVGL的用户界面元素,包括图像、标签和按钮
|
||||
* 并设置它们的位置和属性
|
||||
*/
|
||||
static void app_main_display(void)
|
||||
{
|
||||
// 获取当前活动屏幕对象
|
||||
lv_obj_t *scr = lv_scr_act();
|
||||
|
||||
/* 任务锁定 */
|
||||
// 锁定LVGL任务,防止在创建UI对象时被中断
|
||||
lvgl_port_lock(0);
|
||||
|
||||
/* 设置屏幕背景为黑色 */
|
||||
lv_obj_set_style_bg_color(scr, lv_color_white(), 0);
|
||||
lv_obj_set_style_bg_opa(scr, LV_OPA_COVER, 0);
|
||||
|
||||
|
||||
/* 创建标签 */
|
||||
// 创建标签对象
|
||||
lv_obj_t *label = lv_label_create(scr);
|
||||
// 设置标签文本为"ESP32C3-LVGL"
|
||||
lv_label_set_text(label, "ESP32C3-LVGL1");
|
||||
// 设置标签文本颜色为白色
|
||||
lv_obj_set_style_text_color(label, lv_color_black(), 0);
|
||||
// 设置标签文本字体大小为更小的字体
|
||||
lv_obj_set_style_text_font(label, &lv_font_unscii_8, 0);
|
||||
|
||||
// 设置标签位置在屏幕中心
|
||||
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
|
||||
|
||||
/* 任务解锁 */
|
||||
// 解锁LVGL任务
|
||||
lvgl_port_unlock();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 启动LVGL演示程序
|
||||
*
|
||||
* 该函数是程序的入口点,负责初始化LCD硬件、LVGL库,并显示主界面
|
||||
*/
|
||||
void start_lvgl_demo(void)
|
||||
{
|
||||
/* LCD硬件初始化 */
|
||||
// 初始化LCD硬件和SPI接口
|
||||
ESP_ERROR_CHECK(app_lcd_init());
|
||||
|
||||
/* LVGL初始化 */
|
||||
// 初始化LVGL图形库
|
||||
ESP_ERROR_CHECK(app_lvgl_init());
|
||||
|
||||
/* 显示LVGL对象 */
|
||||
// 创建并显示LVGL主界面
|
||||
// app_main_display();
|
||||
|
||||
/* 显示LVGL对象 - 使用新的UI界面初始化函数 */
|
||||
ui_display_init();
|
||||
}
|
||||
@@ -1,214 +0,0 @@
|
||||
#include "ui_display.h"
|
||||
#include "esp_log.h"
|
||||
#include "lvgl.h"
|
||||
#include "esp_lvgl_port.h"
|
||||
#include <time.h>
|
||||
|
||||
static const char *TAG = "ui_display";
|
||||
|
||||
// 全局变量用于存储传感器数据标签
|
||||
static lv_obj_t *temp_label = NULL;
|
||||
static lv_obj_t *humid_label = NULL;
|
||||
static lv_obj_t *lux_label = NULL;
|
||||
|
||||
/* Time page objects */
|
||||
static lv_obj_t *time_container = NULL;
|
||||
static lv_obj_t *date_label = NULL;
|
||||
static lv_obj_t *time_label = NULL;
|
||||
static bool time_page_visible = false;
|
||||
|
||||
/**
|
||||
* @brief 初始化UI界面
|
||||
*
|
||||
* 该函数负责创建LVGL的用户界面元素,用于显示传感器数据
|
||||
* 优化布局以适应非触摸屏设备,所有内容在一个屏幕内显示
|
||||
*/
|
||||
void ui_display_init(void)
|
||||
{
|
||||
// 获取当前活动屏幕对象
|
||||
lv_obj_t *scr = lv_scr_act();
|
||||
|
||||
/* 任务锁定 */
|
||||
lvgl_port_lock(0);
|
||||
|
||||
/* 设置屏幕背景为白色 */
|
||||
lv_obj_set_style_bg_color(scr, lv_color_white(), 0);
|
||||
lv_obj_set_style_bg_opa(scr, LV_OPA_COVER, 0);
|
||||
|
||||
/* 创建标题标签 */
|
||||
lv_obj_t *title_label = lv_label_create(scr);
|
||||
lv_label_set_text(title_label, "IOT Home");
|
||||
lv_obj_set_style_text_color(title_label, lv_color_black(), 0);
|
||||
lv_obj_set_style_text_font(title_label, &lv_font_unscii_8, 0);
|
||||
lv_obj_align(title_label, LV_ALIGN_TOP_MID, 0, 6);
|
||||
|
||||
/* 创建传感器数据显示标签 */
|
||||
temp_label = lv_label_create(scr);
|
||||
lv_label_set_text(temp_label, "Temp: --.- C");
|
||||
lv_obj_set_style_text_color(temp_label, lv_color_black(), 0);
|
||||
lv_obj_set_style_text_font(temp_label, &lv_font_unscii_8, 0);
|
||||
lv_obj_align(temp_label, LV_ALIGN_TOP_LEFT, 3, 30);
|
||||
|
||||
humid_label = lv_label_create(scr);
|
||||
lv_label_set_text(humid_label, "Humidity: --.- %");
|
||||
lv_obj_set_style_text_color(humid_label, lv_color_black(), 0);
|
||||
lv_obj_set_style_text_font(humid_label, &lv_font_unscii_8, 0);
|
||||
lv_obj_align(humid_label, LV_ALIGN_TOP_LEFT, 3, 45);
|
||||
|
||||
/* 创建光照标签 */
|
||||
lux_label = lv_label_create(scr);
|
||||
lv_label_set_text(lux_label, "Light: --.- lux");
|
||||
lv_obj_set_style_text_color(lux_label, lv_color_black(), 0);
|
||||
lv_obj_set_style_text_font(lux_label, &lv_font_unscii_8, 0);
|
||||
lv_obj_align(lux_label, LV_ALIGN_TOP_LEFT, 3, 60);
|
||||
|
||||
/* 创建时间页面(初始隐藏) */
|
||||
time_container = lv_obj_create(lv_scr_act());
|
||||
lv_obj_set_size(time_container, lv_pct(100), lv_pct(100));
|
||||
lv_obj_set_style_bg_color(time_container, lv_color_white(), 0);
|
||||
lv_obj_set_style_bg_opa(time_container, LV_OPA_COVER, 0);
|
||||
|
||||
date_label = lv_label_create(time_container);
|
||||
lv_label_set_text(date_label, "---- ---- -- ---");
|
||||
lv_obj_set_style_text_color(date_label, lv_color_black(), 0);
|
||||
lv_obj_set_style_text_font(date_label, &lv_font_unscii_8, 0);
|
||||
lv_obj_align(date_label, LV_ALIGN_TOP_MID, 0, 6);
|
||||
|
||||
time_label = lv_label_create(time_container);
|
||||
lv_label_set_text(time_label, "--:--:--");
|
||||
lv_obj_set_style_text_color(time_label, lv_color_black(), 0);
|
||||
lv_obj_set_style_text_font(time_label, &lv_font_unscii_16, 0);
|
||||
lv_obj_align(time_label, LV_ALIGN_CENTER, 0, 12);
|
||||
|
||||
// 默认显示时间页面,隐藏传感器页面
|
||||
lv_obj_add_flag(time_container, LV_OBJ_FLAG_HIDDEN);
|
||||
if (temp_label) lv_obj_add_flag(temp_label, LV_OBJ_FLAG_HIDDEN);
|
||||
if (humid_label) lv_obj_add_flag(humid_label, LV_OBJ_FLAG_HIDDEN);
|
||||
if (lux_label) lv_obj_add_flag(lux_label, LV_OBJ_FLAG_HIDDEN);
|
||||
time_page_visible = true;
|
||||
|
||||
lvgl_port_unlock();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 更新传感器数据显示
|
||||
*
|
||||
* 该函数用于更新LVGL界面上的传感器数据
|
||||
*
|
||||
* @param temperature 温度值(°C),-1.0表示无效
|
||||
* @param humidity 湿度值(%),-1.0表示无效
|
||||
* @param lux 光照强度(lx),-1.0表示无效
|
||||
*/
|
||||
void ui_update_sensor_data(float temperature, float humidity, float lux)
|
||||
{
|
||||
if (temp_label != NULL && humid_label != NULL && lux_label != NULL)
|
||||
{
|
||||
/* 任务锁定 */
|
||||
lvgl_port_lock(0);
|
||||
|
||||
// 更新温度标签
|
||||
if (temperature >= -0.5) // -1.0表示无效
|
||||
{
|
||||
char temp_str[32];
|
||||
snprintf(temp_str, sizeof(temp_str), "Temp: %.2f C", temperature);
|
||||
lv_label_set_text(temp_label, temp_str);
|
||||
}
|
||||
else
|
||||
{
|
||||
lv_label_set_text(temp_label, "Temp: Invalid");
|
||||
}
|
||||
|
||||
// 更新湿度标签
|
||||
if (humidity >= -0.5) // -1.0表示无效
|
||||
{
|
||||
char humid_str[32];
|
||||
snprintf(humid_str, sizeof(humid_str), "Humidity: %.2f %%", humidity);
|
||||
lv_label_set_text(humid_label, humid_str);
|
||||
}
|
||||
else
|
||||
{
|
||||
lv_label_set_text(humid_label, "Humidity: Invalid");
|
||||
}
|
||||
|
||||
// 更新光照标签
|
||||
if (lux >= -0.5)
|
||||
{
|
||||
char lux_str[32];
|
||||
snprintf(lux_str, sizeof(lux_str), "Light: %.2f lx", lux);
|
||||
lv_label_set_text(lux_label, lux_str);
|
||||
}
|
||||
else
|
||||
{
|
||||
lv_label_set_text(lux_label, "Light: Invalid");
|
||||
}
|
||||
|
||||
/* 任务解锁 */
|
||||
lvgl_port_unlock();
|
||||
}
|
||||
}
|
||||
|
||||
/* Show time page */
|
||||
void ui_show_time_page(void)
|
||||
{
|
||||
lvgl_port_lock(0);
|
||||
if (time_container)
|
||||
{
|
||||
lv_obj_clear_flag(time_container, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
if (temp_label) lv_obj_add_flag(temp_label, LV_OBJ_FLAG_HIDDEN);
|
||||
if (humid_label) lv_obj_add_flag(humid_label, LV_OBJ_FLAG_HIDDEN);
|
||||
if (lux_label) lv_obj_add_flag(lux_label, LV_OBJ_FLAG_HIDDEN);
|
||||
time_page_visible = true;
|
||||
lvgl_port_unlock();
|
||||
}
|
||||
|
||||
/* Show sensor page */
|
||||
void ui_show_sensor_page(void)
|
||||
{
|
||||
lvgl_port_lock(0);
|
||||
if (time_container)
|
||||
{
|
||||
lv_obj_add_flag(time_container, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
if (temp_label) lv_obj_clear_flag(temp_label, LV_OBJ_FLAG_HIDDEN);
|
||||
if (humid_label) lv_obj_clear_flag(humid_label, LV_OBJ_FLAG_HIDDEN);
|
||||
if (lux_label) lv_obj_clear_flag(lux_label, LV_OBJ_FLAG_HIDDEN);
|
||||
time_page_visible = false;
|
||||
lvgl_port_unlock();
|
||||
}
|
||||
|
||||
/* Toggle between pages */
|
||||
void ui_toggle_page(void)
|
||||
{
|
||||
if (time_page_visible)
|
||||
ui_show_sensor_page();
|
||||
else
|
||||
ui_show_time_page();
|
||||
}
|
||||
|
||||
/* Update time label (call periodically) */
|
||||
void ui_time_update(void)
|
||||
{
|
||||
if (!time_page_visible || time_label == NULL)
|
||||
return;
|
||||
|
||||
time_t now = time(NULL);
|
||||
struct tm tm_now;
|
||||
localtime_r(&now, &tm_now);
|
||||
|
||||
char date_buf[64];
|
||||
char time_buf[32];
|
||||
char weekday_buf[32];
|
||||
|
||||
// 年月日和星期合并为一行
|
||||
strftime(date_buf, sizeof(date_buf), "%Y-%m-%d", &tm_now);
|
||||
const char *weekdays[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
|
||||
snprintf(date_buf + strlen(date_buf), sizeof(date_buf) - strlen(date_buf), " %s", weekdays[tm_now.tm_wday]);
|
||||
// 时分秒
|
||||
strftime(time_buf, sizeof(time_buf), "%H:%M:%S", &tm_now);
|
||||
|
||||
lvgl_port_lock(0);
|
||||
lv_label_set_text(date_label, date_buf);
|
||||
lv_label_set_text(time_label, time_buf);
|
||||
lvgl_port_unlock();
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
idf_component_register(SRCS "ui_display.c" "lvgl_st7735s_use.c"
|
||||
idf_component_register(SRCS "lvgl_st7789_use.c"
|
||||
INCLUDE_DIRS "include"
|
||||
REQUIRES driver esp_lcd esp_lvgl_port
|
||||
)
|
||||
114
components/lvgl_st7789_use/README.md
Normal file
114
components/lvgl_st7789_use/README.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# lvgl_st7789_use 组件说明
|
||||
|
||||
`lvgl_st7789_use` 是项目中的 LCD 显示组件,基于 `esp_lcd + esp_lvgl_port`,用于快速驱动 ST7789 SPI 屏并显示 LVGL 界面。
|
||||
|
||||
---
|
||||
|
||||
## 功能概览
|
||||
|
||||
- 初始化 SPI LCD(含背光、面板、显示偏移)
|
||||
- 初始化 LVGL 端口并注册显示设备
|
||||
- 默认创建一个居中标签用于快速验证显示链路
|
||||
- 提供运行时更新中心文本接口
|
||||
- 支持可配置方向、镜像与偏移
|
||||
- 支持可选三色测试图(调试用)
|
||||
|
||||
---
|
||||
|
||||
## 对外 API
|
||||
|
||||
头文件:`include/lvgl_st7789_use.h`
|
||||
|
||||
- `esp_err_t start_lvgl_demo(void);`
|
||||
- 完成 LCD + LVGL 初始化并创建默认界面
|
||||
|
||||
- `esp_err_t lvgl_st7789_set_center_text(const char *text);`
|
||||
- 运行时更新中心标签文字(线程安全,内部已加锁)
|
||||
|
||||
---
|
||||
|
||||
## 关键配置项(可直接改宏)
|
||||
|
||||
在 `include/lvgl_st7789_use.h` 中:
|
||||
|
||||
### 1) 屏幕与 SPI
|
||||
|
||||
- `EXAMPLE_LCD_H_RES` / `EXAMPLE_LCD_V_RES`
|
||||
- `EXAMPLE_LCD_PIXEL_CLK_HZ`
|
||||
- `EXAMPLE_LCD_SPI_NUM`
|
||||
- `EXAMPLE_LCD_CMD_BITS` / `EXAMPLE_LCD_PARAM_BITS`
|
||||
|
||||
建议:ST7789 默认可先用 `20MHz`,如出现花屏或不稳定再降到 `10MHz` 复测。
|
||||
|
||||
### 2) 颜色校准(重点)
|
||||
|
||||
- `EXAMPLE_LCD_COLOR_ORDER_BGR`
|
||||
- `EXAMPLE_LCD_INVERT_COLOR`
|
||||
- `EXAMPLE_LCD_SWAP_BYTES`
|
||||
|
||||
说明:
|
||||
- 出现“黑色发灰、红绿蓝偏紫/互串”时,优先调整这三项。
|
||||
- 建议从 `RGB + 不反色 + 不交换字节` 起步,再逐项切换。
|
||||
|
||||
### 3) 方向与偏移(重点)
|
||||
|
||||
- `EXAMPLE_LCD_GAP_X`
|
||||
- `EXAMPLE_LCD_GAP_Y`
|
||||
- `EXAMPLE_LCD_ROT_SWAP_XY`
|
||||
- `EXAMPLE_LCD_ROT_MIRROR_X`
|
||||
- `EXAMPLE_LCD_ROT_MIRROR_Y`
|
||||
|
||||
说明:
|
||||
- 若出现“文字偏移/边缘花屏/方向反了”,优先微调上述宏,不要同时在多层重复旋转。
|
||||
|
||||
### 4) 调试项
|
||||
|
||||
- `EXAMPLE_LCD_ENABLE_COLOR_TEST`
|
||||
- `1`:上电先画 RGB 三色测试图(便于确认硬件链路)
|
||||
- `0`:跳过测试,直接进入 LVGL
|
||||
|
||||
---
|
||||
|
||||
## 在主程序中调用
|
||||
|
||||
```c
|
||||
#include "esp_check.h"
|
||||
#include "lvgl_st7789_use.h"
|
||||
|
||||
void app_main(void)
|
||||
{
|
||||
ESP_ERROR_CHECK(start_lvgl_demo());
|
||||
ESP_ERROR_CHECK(lvgl_st7789_set_center_text("BotanicalBuddy"));
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 1) 背光亮但没有内容
|
||||
|
||||
优先排查:
|
||||
- 面板型号与驱动是否匹配(当前应为 ST7789)
|
||||
- SPI 模式、时钟是否过高
|
||||
- 方向/偏移参数是否正确
|
||||
|
||||
### 2) 文字方向反了或显示偏移
|
||||
|
||||
优先调整:
|
||||
- `EXAMPLE_LCD_ROT_*`
|
||||
- `EXAMPLE_LCD_GAP_X / EXAMPLE_LCD_GAP_Y`
|
||||
|
||||
### 3) 想快速确认硬件链路是否通
|
||||
|
||||
把 `EXAMPLE_LCD_ENABLE_COLOR_TEST` 设为 `1`,观察是否能显示三色图。
|
||||
|
||||
---
|
||||
|
||||
## 依赖
|
||||
|
||||
由组件 `CMakeLists.txt` 声明:
|
||||
|
||||
- `driver`
|
||||
- `esp_lcd`
|
||||
- `esp_lvgl_port`
|
||||
@@ -1,5 +1,14 @@
|
||||
|
||||
/* LCD size */
|
||||
// SPDX-License-Identifier: MIT
|
||||
#pragma once
|
||||
|
||||
#include "esp_err.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* LCD size (ST7789 240x240) */
|
||||
#define EXAMPLE_LCD_H_RES (160)
|
||||
#define EXAMPLE_LCD_V_RES (80)
|
||||
|
||||
@@ -7,7 +16,7 @@
|
||||
#define EXAMPLE_LCD_SPI_NUM (SPI2_HOST) // 使用SPI2主机接口进行通信
|
||||
|
||||
/* LCD显示参数配置 */
|
||||
#define EXAMPLE_LCD_PIXEL_CLK_HZ (40 * 1000 * 1000) // 像素时钟频率设置为40MHz,控制数据传输速度
|
||||
#define EXAMPLE_LCD_PIXEL_CLK_HZ (20 * 1000 * 1000) // ST7789常用20MHz,兼顾稳定性与刷新速度
|
||||
|
||||
/* LCD命令和参数配置 */
|
||||
#define EXAMPLE_LCD_CMD_BITS (8) // 命令位数为8位,用于发送LCD控制命令
|
||||
@@ -18,9 +27,24 @@
|
||||
#define EXAMPLE_LCD_DRAW_BUFF_DOUBLE (1) // 启用双缓冲模式,提高显示流畅度
|
||||
#define EXAMPLE_LCD_DRAW_BUFF_HEIGHT (50) // 绘图缓冲区高度为50行,影响刷新性能
|
||||
|
||||
/* ST7789颜色配置(出现偏色时优先调整这三项) */
|
||||
#define EXAMPLE_LCD_COLOR_ORDER_BGR (0) // 0: RGB, 1: BGR
|
||||
#define EXAMPLE_LCD_INVERT_COLOR (1) // 0: 正常色, 1: 反色
|
||||
#define EXAMPLE_LCD_SWAP_BYTES (1) // 0: 不交换RGB565高低字节, 1: 交换
|
||||
|
||||
/* LCD背光配置 */
|
||||
#define EXAMPLE_LCD_BL_ON_LEVEL (1) // 背光开启电平为高电平(1)
|
||||
|
||||
/* LCD方向/偏移配置 */
|
||||
#define EXAMPLE_LCD_GAP_X (0)
|
||||
#define EXAMPLE_LCD_GAP_Y (26)
|
||||
#define EXAMPLE_LCD_ROT_SWAP_XY (1)
|
||||
#define EXAMPLE_LCD_ROT_MIRROR_X (1)
|
||||
#define EXAMPLE_LCD_ROT_MIRROR_Y (0)
|
||||
|
||||
/* 调试项:上电后是否先显示三色测试图 */
|
||||
#define EXAMPLE_LCD_ENABLE_COLOR_TEST (0)
|
||||
|
||||
/* LCD pins */
|
||||
#define EXAMPLE_LCD_GPIO_SCLK (GPIO_NUM_2)
|
||||
#define EXAMPLE_LCD_GPIO_MOSI (GPIO_NUM_3)
|
||||
@@ -29,5 +53,9 @@
|
||||
#define EXAMPLE_LCD_GPIO_CS (GPIO_NUM_7)
|
||||
#define EXAMPLE_LCD_GPIO_BL (GPIO_NUM_6)
|
||||
|
||||
esp_err_t start_lvgl_demo(void);
|
||||
esp_err_t lvgl_st7789_set_center_text(const char *text);
|
||||
|
||||
void start_lvgl_demo(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
257
components/lvgl_st7789_use/lvgl_st7789_use.c
Normal file
257
components/lvgl_st7789_use/lvgl_st7789_use.c
Normal file
@@ -0,0 +1,257 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "lvgl_st7789_use.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "driver/spi_master.h"
|
||||
#include "esp_err.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_check.h"
|
||||
#include "esp_lcd_panel_io.h"
|
||||
#include "esp_lcd_panel_vendor.h"
|
||||
#include "esp_lcd_panel_ops.h"
|
||||
#include "esp_lvgl_port.h"
|
||||
|
||||
static const char *TAG = "lvgl_st7789_use";
|
||||
|
||||
static esp_lcd_panel_io_handle_t lcd_io = NULL;
|
||||
static esp_lcd_panel_handle_t lcd_panel = NULL;
|
||||
static lv_display_t *lvgl_disp = NULL;
|
||||
static lv_obj_t *s_center_label = NULL;
|
||||
|
||||
#if EXAMPLE_LCD_ENABLE_COLOR_TEST
|
||||
static esp_err_t app_lcd_color_test(void)
|
||||
{
|
||||
const size_t pixels = EXAMPLE_LCD_H_RES * EXAMPLE_LCD_V_RES;
|
||||
uint16_t *frame = calloc(pixels, sizeof(uint16_t));
|
||||
ESP_RETURN_ON_FALSE(frame != NULL, ESP_ERR_NO_MEM, TAG, "分配测试帧缓冲失败");
|
||||
|
||||
for (int y = 0; y < EXAMPLE_LCD_V_RES; y++) {
|
||||
for (int x = 0; x < EXAMPLE_LCD_H_RES; x++) {
|
||||
uint16_t color;
|
||||
if (x < EXAMPLE_LCD_H_RES / 3) {
|
||||
color = 0xF800; // 红
|
||||
} else if (x < (EXAMPLE_LCD_H_RES * 2) / 3) {
|
||||
color = 0x07E0; // 绿
|
||||
} else {
|
||||
color = 0x001F; // 蓝
|
||||
}
|
||||
frame[y * EXAMPLE_LCD_H_RES + x] = color;
|
||||
}
|
||||
}
|
||||
|
||||
esp_err_t err = esp_lcd_panel_draw_bitmap(lcd_panel, 0, 0, EXAMPLE_LCD_H_RES, EXAMPLE_LCD_V_RES, frame);
|
||||
free(frame);
|
||||
ESP_RETURN_ON_ERROR(err, TAG, "三色测试绘制失败");
|
||||
|
||||
ESP_LOGI(TAG, "LCD三色测试图已发送");
|
||||
return ESP_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief 初始化LCD硬件和SPI接口
|
||||
*
|
||||
* 该函数负责初始化LCD所需的GPIO、SPI总线,并配置LCD面板
|
||||
* 包括背光控制、SPI总线配置、面板IO配置和面板驱动安装
|
||||
*
|
||||
* @return esp_err_t 初始化结果,ESP_OK表示成功
|
||||
*/
|
||||
static esp_err_t app_lcd_init(void)
|
||||
{
|
||||
esp_err_t ret = ESP_OK;
|
||||
|
||||
if (EXAMPLE_LCD_GPIO_BL != GPIO_NUM_NC) {
|
||||
gpio_config_t bk_gpio_config = {
|
||||
.mode = GPIO_MODE_OUTPUT,
|
||||
.pin_bit_mask = 1ULL << EXAMPLE_LCD_GPIO_BL
|
||||
};
|
||||
ESP_ERROR_CHECK(gpio_config(&bk_gpio_config));
|
||||
} else {
|
||||
ESP_LOGW(TAG, "背光引脚未配置(GPIO_NUM_NC),跳过背光GPIO初始化");
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "初始化SPI总线");
|
||||
const spi_bus_config_t buscfg = {
|
||||
.sclk_io_num = EXAMPLE_LCD_GPIO_SCLK,
|
||||
.mosi_io_num = EXAMPLE_LCD_GPIO_MOSI,
|
||||
.miso_io_num = GPIO_NUM_NC,
|
||||
.quadwp_io_num = GPIO_NUM_NC,
|
||||
.quadhd_io_num = GPIO_NUM_NC,
|
||||
.max_transfer_sz = EXAMPLE_LCD_H_RES * EXAMPLE_LCD_DRAW_BUFF_HEIGHT * sizeof(uint16_t),
|
||||
};
|
||||
ESP_RETURN_ON_ERROR(spi_bus_initialize(EXAMPLE_LCD_SPI_NUM, &buscfg, SPI_DMA_CH_AUTO), TAG, "SPI初始化失败");
|
||||
|
||||
ESP_LOGI(TAG, "安装面板IO");
|
||||
const esp_lcd_panel_io_spi_config_t io_config = {
|
||||
.dc_gpio_num = EXAMPLE_LCD_GPIO_DC,
|
||||
.cs_gpio_num = EXAMPLE_LCD_GPIO_CS,
|
||||
.pclk_hz = EXAMPLE_LCD_PIXEL_CLK_HZ,
|
||||
.lcd_cmd_bits = EXAMPLE_LCD_CMD_BITS,
|
||||
.lcd_param_bits = EXAMPLE_LCD_PARAM_BITS,
|
||||
.spi_mode = 0,
|
||||
.trans_queue_depth = 10,
|
||||
};
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_new_panel_io_spi((esp_lcd_spi_bus_handle_t)EXAMPLE_LCD_SPI_NUM, &io_config, &lcd_io), err, TAG, "创建面板IO失败");
|
||||
|
||||
ESP_LOGI(TAG, "安装LCD驱动");
|
||||
const esp_lcd_panel_dev_config_t panel_config = {
|
||||
.reset_gpio_num = EXAMPLE_LCD_GPIO_RST,
|
||||
#if ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(6, 0, 0)
|
||||
.rgb_endian = EXAMPLE_LCD_COLOR_ORDER_BGR ? LCD_RGB_ENDIAN_BGR : LCD_RGB_ENDIAN_RGB,
|
||||
#else
|
||||
.rgb_ele_order = EXAMPLE_LCD_COLOR_ORDER_BGR ? LCD_RGB_ELEMENT_ORDER_BGR : LCD_RGB_ELEMENT_ORDER_RGB,
|
||||
#endif
|
||||
.bits_per_pixel = EXAMPLE_LCD_BITS_PER_PIXEL,
|
||||
};
|
||||
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_new_panel_st7789(lcd_io, &panel_config, &lcd_panel), err, TAG, "创建面板失败");
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_panel_reset(lcd_panel), err, TAG, "面板复位失败");
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_panel_init(lcd_panel), err, TAG, "面板初始化失败");
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_panel_swap_xy(lcd_panel, false), err, TAG, "设置面板swap_xy失败");
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_panel_mirror(lcd_panel, false, false), err, TAG, "设置面板镜像失败");
|
||||
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_panel_set_gap(lcd_panel, EXAMPLE_LCD_GAP_X, EXAMPLE_LCD_GAP_Y), err, TAG, "设置显示偏移失败");
|
||||
ESP_LOGI(TAG, "面板基准参数已应用: gap=(%d,%d)", EXAMPLE_LCD_GAP_X, EXAMPLE_LCD_GAP_Y);
|
||||
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_panel_invert_color(lcd_panel, EXAMPLE_LCD_INVERT_COLOR), err, TAG, "设置反色失败");
|
||||
ESP_GOTO_ON_ERROR(esp_lcd_panel_disp_on_off(lcd_panel, true), err, TAG, "打开显示失败");
|
||||
|
||||
if (EXAMPLE_LCD_GPIO_BL != GPIO_NUM_NC) {
|
||||
ESP_RETURN_ON_ERROR(gpio_set_level(EXAMPLE_LCD_GPIO_BL, EXAMPLE_LCD_BL_ON_LEVEL), TAG, "背光引脚置位失败");
|
||||
ESP_LOGI(TAG, "背光已打开,电平=%d", EXAMPLE_LCD_BL_ON_LEVEL);
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "颜色参数: order=%s invert=%d swap_bytes=%d",
|
||||
EXAMPLE_LCD_COLOR_ORDER_BGR ? "BGR" : "RGB",
|
||||
EXAMPLE_LCD_INVERT_COLOR,
|
||||
EXAMPLE_LCD_SWAP_BYTES);
|
||||
|
||||
return ret;
|
||||
|
||||
// 错误处理标签,用于清理资源
|
||||
err:
|
||||
if (lcd_panel) {
|
||||
esp_lcd_panel_del(lcd_panel);
|
||||
lcd_panel = NULL;
|
||||
}
|
||||
if (lcd_io) {
|
||||
esp_lcd_panel_io_del(lcd_io);
|
||||
lcd_io = NULL;
|
||||
}
|
||||
spi_bus_free(EXAMPLE_LCD_SPI_NUM);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 初始化LVGL图形库
|
||||
*
|
||||
* 该函数负责初始化LVGL库,并配置显示设备
|
||||
* 包括LVGL任务配置、显示缓冲区配置和旋转设置
|
||||
*
|
||||
* @return esp_err_t 初始化结果,ESP_OK表示成功
|
||||
*/
|
||||
static esp_err_t app_lvgl_init(void)
|
||||
{
|
||||
const lvgl_port_cfg_t lvgl_cfg = {
|
||||
.task_priority = 4,
|
||||
.task_stack = 4096,
|
||||
.task_affinity = -1,
|
||||
.task_max_sleep_ms = 500,
|
||||
.timer_period_ms = 5
|
||||
};
|
||||
ESP_RETURN_ON_ERROR(lvgl_port_init(&lvgl_cfg), TAG, "LVGL端口初始化失败");
|
||||
|
||||
ESP_LOGI(TAG, "添加LCD屏幕");
|
||||
const lvgl_port_display_cfg_t disp_cfg = {
|
||||
.io_handle = lcd_io,
|
||||
.panel_handle = lcd_panel,
|
||||
.buffer_size = EXAMPLE_LCD_H_RES * EXAMPLE_LCD_DRAW_BUFF_HEIGHT,
|
||||
.double_buffer = EXAMPLE_LCD_DRAW_BUFF_DOUBLE,
|
||||
.hres = EXAMPLE_LCD_H_RES,
|
||||
.vres = EXAMPLE_LCD_V_RES,
|
||||
.monochrome = false,
|
||||
#if LVGL_VERSION_MAJOR >= 9
|
||||
.color_format = LV_COLOR_FORMAT_RGB565,
|
||||
#endif
|
||||
.rotation = {
|
||||
.swap_xy = EXAMPLE_LCD_ROT_SWAP_XY,
|
||||
.mirror_x = EXAMPLE_LCD_ROT_MIRROR_X,
|
||||
.mirror_y = EXAMPLE_LCD_ROT_MIRROR_Y,
|
||||
},
|
||||
.flags = {
|
||||
.buff_dma = true,
|
||||
#if LVGL_VERSION_MAJOR >= 9
|
||||
.swap_bytes = EXAMPLE_LCD_SWAP_BYTES,
|
||||
#endif
|
||||
}};
|
||||
|
||||
lvgl_disp = lvgl_port_add_disp(&disp_cfg);
|
||||
ESP_RETURN_ON_FALSE(lvgl_disp != NULL, ESP_FAIL, TAG, "添加LVGL显示设备失败");
|
||||
ESP_LOGI(TAG, "LVGL旋转已应用: swap_xy=%d mirror_x=%d mirror_y=%d",
|
||||
EXAMPLE_LCD_ROT_SWAP_XY, EXAMPLE_LCD_ROT_MIRROR_X, EXAMPLE_LCD_ROT_MIRROR_Y);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 创建并显示LVGL主界面
|
||||
*
|
||||
* 该函数负责创建LVGL的用户界面元素,包括图像、标签和按钮
|
||||
* 并设置它们的位置和属性
|
||||
*/
|
||||
static void app_main_display(void)
|
||||
{
|
||||
lv_obj_t *scr = lv_scr_act();
|
||||
|
||||
lvgl_port_lock(0);
|
||||
|
||||
lv_obj_set_style_bg_color(scr, lv_color_white(), 0);
|
||||
lv_obj_set_style_bg_opa(scr, LV_OPA_COVER, 0);
|
||||
|
||||
s_center_label = lv_label_create(scr);
|
||||
lv_label_set_text(s_center_label, "BotanicalBuddy\nloading...");
|
||||
lv_label_set_recolor(s_center_label, false);
|
||||
lv_label_set_long_mode(s_center_label, LV_LABEL_LONG_WRAP);
|
||||
lv_obj_set_size(s_center_label, EXAMPLE_LCD_H_RES - 6, EXAMPLE_LCD_V_RES - 6);
|
||||
lv_obj_set_style_text_color(s_center_label, lv_color_black(), 0);
|
||||
lv_obj_set_style_text_font(s_center_label, &lv_font_montserrat_14, 0);
|
||||
lv_obj_set_style_text_align(s_center_label, LV_TEXT_ALIGN_CENTER, 0);
|
||||
lv_obj_set_style_pad_all(s_center_label, 0, 0);
|
||||
lv_obj_align(s_center_label, LV_ALIGN_CENTER, 0, 0);
|
||||
|
||||
lvgl_port_unlock();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 启动LVGL演示程序
|
||||
*
|
||||
* 该函数是程序的入口点,负责初始化LCD硬件、LVGL库,并显示主界面
|
||||
*/
|
||||
esp_err_t lvgl_st7789_set_center_text(const char *text)
|
||||
{
|
||||
ESP_RETURN_ON_FALSE(text != NULL, ESP_ERR_INVALID_ARG, TAG, "text is null");
|
||||
ESP_RETURN_ON_FALSE(s_center_label != NULL, ESP_ERR_INVALID_STATE, TAG, "label not ready");
|
||||
|
||||
lvgl_port_lock(0);
|
||||
lv_label_set_text(s_center_label, text);
|
||||
lv_obj_align(s_center_label, LV_ALIGN_CENTER, 0, 0);
|
||||
lvgl_port_unlock();
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t start_lvgl_demo(void)
|
||||
{
|
||||
ESP_RETURN_ON_ERROR(app_lcd_init(), TAG, "LCD初始化失败");
|
||||
|
||||
#if EXAMPLE_LCD_ENABLE_COLOR_TEST
|
||||
ESP_RETURN_ON_ERROR(app_lcd_color_test(), TAG, "LCD测试图绘制失败");
|
||||
vTaskDelay(pdMS_TO_TICKS(300));
|
||||
#endif
|
||||
|
||||
ESP_RETURN_ON_ERROR(app_lvgl_init(), TAG, "LVGL初始化失败");
|
||||
|
||||
app_main_display();
|
||||
return ESP_OK;
|
||||
}
|
||||
@@ -1,2 +1,15 @@
|
||||
#ifndef SERIAL_MCU_H
|
||||
#define SERIAL_MCU_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void serial_mcu_init(void); // 初始化串口
|
||||
int sendControlFrame(uint8_t cmd, uint8_t data); // 发送控制帧
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SERIAL_MCU_H
|
||||
26
components/ui/.eez-project-build
Normal file
26
components/ui/.eez-project-build
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"files": [
|
||||
"actions.h",
|
||||
"fonts.h",
|
||||
"images.c",
|
||||
"images.h",
|
||||
"screens.c",
|
||||
"screens.h",
|
||||
"structs.h",
|
||||
"styles.c",
|
||||
"styles.h",
|
||||
"ui.c",
|
||||
"ui.h",
|
||||
"ui_font_source_han_sans_sc_medium_22.c",
|
||||
"ui_font_source_han_sans_sc_medium_36.c",
|
||||
"ui_image_humi.c",
|
||||
"ui_image_light.c",
|
||||
"ui_image_mois.c",
|
||||
"ui_image_mqtt_connected.c",
|
||||
"ui_image_mqtt_disconnected.c",
|
||||
"ui_image_temp.c",
|
||||
"ui_image_wifi_connect.c",
|
||||
"ui_image_wifi_disconnect.c",
|
||||
"vars.h"
|
||||
]
|
||||
}
|
||||
5
components/ui/CMakeLists.txt
Normal file
5
components/ui/CMakeLists.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
idf_component_register(
|
||||
SRC_DIRS "."
|
||||
INCLUDE_DIRS "."
|
||||
REQUIRES lvgl esp_lvgl_port
|
||||
)
|
||||
14
components/ui/actions.h
Normal file
14
components/ui/actions.h
Normal file
@@ -0,0 +1,14 @@
|
||||
#ifndef EEZ_LVGL_UI_EVENTS_H
|
||||
#define EEZ_LVGL_UI_EVENTS_H
|
||||
|
||||
#include <lvgl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*EEZ_LVGL_UI_EVENTS_H*/
|
||||
27
components/ui/fonts.h
Normal file
27
components/ui/fonts.h
Normal file
@@ -0,0 +1,27 @@
|
||||
#ifndef EEZ_LVGL_UI_FONTS_H
|
||||
#define EEZ_LVGL_UI_FONTS_H
|
||||
|
||||
#include <lvgl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern const lv_font_t ui_font_source_han_sans_sc_medium_22;
|
||||
extern const lv_font_t ui_font_source_han_sans_sc_medium_36;
|
||||
|
||||
#ifndef EXT_FONT_DESC_T
|
||||
#define EXT_FONT_DESC_T
|
||||
typedef struct _ext_font_desc_t {
|
||||
const char *name;
|
||||
const void *font_ptr;
|
||||
} ext_font_desc_t;
|
||||
#endif
|
||||
|
||||
extern ext_font_desc_t fonts[];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*EEZ_LVGL_UI_FONTS_H*/
|
||||
12
components/ui/images.c
Normal file
12
components/ui/images.c
Normal file
@@ -0,0 +1,12 @@
|
||||
#include "images.h"
|
||||
|
||||
const ext_img_desc_t images[8] = {
|
||||
{ "temp", &img_temp },
|
||||
{ "humi", &img_humi },
|
||||
{ "mois", &img_mois },
|
||||
{ "light", &img_light },
|
||||
{ "wifi_connect", &img_wifi_connect },
|
||||
{ "wifi_disconnect", &img_wifi_disconnect },
|
||||
{ "mqtt_connected", &img_mqtt_connected },
|
||||
{ "mqtt_disconnected", &img_mqtt_disconnected },
|
||||
};
|
||||
33
components/ui/images.h
Normal file
33
components/ui/images.h
Normal file
@@ -0,0 +1,33 @@
|
||||
#ifndef EEZ_LVGL_UI_IMAGES_H
|
||||
#define EEZ_LVGL_UI_IMAGES_H
|
||||
|
||||
#include <lvgl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern const lv_img_dsc_t img_temp;
|
||||
extern const lv_img_dsc_t img_humi;
|
||||
extern const lv_img_dsc_t img_mois;
|
||||
extern const lv_img_dsc_t img_light;
|
||||
extern const lv_img_dsc_t img_wifi_connect;
|
||||
extern const lv_img_dsc_t img_wifi_disconnect;
|
||||
extern const lv_img_dsc_t img_mqtt_connected;
|
||||
extern const lv_img_dsc_t img_mqtt_disconnected;
|
||||
|
||||
#ifndef EXT_IMG_DESC_T
|
||||
#define EXT_IMG_DESC_T
|
||||
typedef struct _ext_img_desc_t {
|
||||
const char *name;
|
||||
const lv_img_dsc_t *img_dsc;
|
||||
} ext_img_desc_t;
|
||||
#endif
|
||||
|
||||
extern const ext_img_desc_t images[8];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*EEZ_LVGL_UI_IMAGES_H*/
|
||||
485
components/ui/screens.c
Normal file
485
components/ui/screens.c
Normal file
@@ -0,0 +1,485 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "screens.h"
|
||||
#include "images.h"
|
||||
#include "fonts.h"
|
||||
#include "actions.h"
|
||||
#include "vars.h"
|
||||
#include "styles.h"
|
||||
#include "ui.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
objects_t objects;
|
||||
|
||||
//
|
||||
// Event handlers
|
||||
//
|
||||
|
||||
lv_obj_t *tick_value_change_obj;
|
||||
|
||||
//
|
||||
// Screens
|
||||
//
|
||||
|
||||
void create_screen_main() {
|
||||
lv_obj_t *obj = lv_obj_create(0);
|
||||
objects.main = obj;
|
||||
lv_obj_set_pos(obj, 0, 0);
|
||||
lv_obj_set_size(obj, 240, 240);
|
||||
lv_obj_set_style_bg_color(obj, lv_color_hex(0xff000000), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
{
|
||||
lv_obj_t *parent_obj = obj;
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj0 = obj;
|
||||
lv_obj_set_pos(obj, 16, 53);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_font(obj, &ui_font_source_han_sans_sc_medium_22, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xffffffff), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "空气温度");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj1 = obj;
|
||||
lv_obj_set_pos(obj, 129, 55);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_font(obj, &ui_font_source_han_sans_sc_medium_22, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xffffffff), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "空气湿度");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj2 = obj;
|
||||
lv_obj_set_pos(obj, 16, 128);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_font(obj, &ui_font_source_han_sans_sc_medium_22, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xffffffff), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "土壤湿度");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj3 = obj;
|
||||
lv_obj_set_pos(obj, 129, 130);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_font(obj, &ui_font_source_han_sans_sc_medium_22, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xffffffff), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "光照强度");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj4 = obj;
|
||||
lv_obj_set_pos(obj, 4, 88);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_font(obj, &lv_font_montserrat_26, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xff1afa29), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj5 = obj;
|
||||
lv_obj_set_pos(obj, 127, 86);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_font(obj, &lv_font_montserrat_26, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xffd81e06), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj6 = obj;
|
||||
lv_obj_set_pos(obj, 4, 163);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_font(obj, &lv_font_montserrat_26, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xff1296db), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj7 = obj;
|
||||
lv_obj_set_pos(obj, 127, 163);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_font(obj, &lv_font_montserrat_26, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xff13227a), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_image_create(parent_obj);
|
||||
lv_obj_set_pos(obj, 72, 78);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_image_set_src(obj, &img_temp);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_image_create(parent_obj);
|
||||
lv_obj_set_pos(obj, 192, 78);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_image_set_src(obj, &img_humi);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_image_create(parent_obj);
|
||||
lv_obj_set_pos(obj, 72, 156);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_image_set_src(obj, &img_mois);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_image_create(parent_obj);
|
||||
lv_obj_set_pos(obj, 192, 156);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_image_set_src(obj, &img_light);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_line_create(parent_obj);
|
||||
objects.obj8 = obj;
|
||||
lv_obj_set_pos(obj, 0, 126);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
static lv_point_precise_t line_points[] = {
|
||||
{ 0, 0 },
|
||||
{ 240, 0 }
|
||||
};
|
||||
lv_line_set_points(obj, line_points, 2);
|
||||
lv_obj_set_style_line_color(obj, lv_color_hex(0xffffffff), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_line_create(parent_obj);
|
||||
objects.obj9 = obj;
|
||||
lv_obj_set_pos(obj, 0, 51);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
static lv_point_precise_t line_points[] = {
|
||||
{ 0, 0 },
|
||||
{ 240, 0 }
|
||||
};
|
||||
lv_line_set_points(obj, line_points, 2);
|
||||
lv_obj_set_style_line_color(obj, lv_color_hex(0xffffffff), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_line_create(parent_obj);
|
||||
objects.obj10 = obj;
|
||||
lv_obj_set_pos(obj, 122, 51);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
static lv_point_precise_t line_points[] = {
|
||||
{ 0, 0 },
|
||||
{ 0, 154 }
|
||||
};
|
||||
lv_line_set_points(obj, line_points, 2);
|
||||
lv_obj_set_style_line_color(obj, lv_color_hex(0xffffffff), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_image_create(parent_obj);
|
||||
objects.obj17 = obj;
|
||||
lv_obj_set_pos(obj, 0, 19);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_image_set_src(obj, &img_wifi_connect);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_image_create(parent_obj);
|
||||
objects.obj18 = obj;
|
||||
lv_obj_set_pos(obj, 0, 19);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_image_set_src(obj, &img_wifi_disconnect);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_image_create(parent_obj);
|
||||
objects.obj19 = obj;
|
||||
lv_obj_set_pos(obj, 33, 19);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_image_set_src(obj, &img_mqtt_disconnected);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_image_create(parent_obj);
|
||||
objects.obj20 = obj;
|
||||
lv_obj_set_pos(obj, 33, 19);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_image_set_src(obj, &img_mqtt_connected);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj11 = obj;
|
||||
lv_obj_set_pos(obj, 0, 3);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xfff8f8f8), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_font(obj, &lv_font_montserrat_14, 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, 64, 25);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_font(obj, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xffffffff), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_line_create(parent_obj);
|
||||
objects.obj13 = obj;
|
||||
lv_obj_set_pos(obj, 0, 204);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
static lv_point_precise_t line_points[] = {
|
||||
{ 0, 0 },
|
||||
{ 240, 0 }
|
||||
};
|
||||
lv_line_set_points(obj, line_points, 2);
|
||||
lv_obj_set_style_line_color(obj, lv_color_hex(0xffffffff), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj14 = obj;
|
||||
lv_obj_set_pos(obj, 0, 209);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_font(obj, &ui_font_source_han_sans_sc_medium_22, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xffffffff), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "阈值(土/光)");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj15 = obj;
|
||||
lv_obj_set_pos(obj, 120, 222);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xff1afa29), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_font(obj, &lv_font_montserrat_14, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "");
|
||||
}
|
||||
{
|
||||
lv_obj_t *obj = lv_label_create(parent_obj);
|
||||
objects.obj16 = obj;
|
||||
lv_obj_set_pos(obj, 120, 206);
|
||||
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
|
||||
lv_obj_set_style_text_color(obj, lv_color_hex(0xff1296db), LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_obj_set_style_text_font(obj, &lv_font_montserrat_14, LV_PART_MAIN | LV_STATE_DEFAULT);
|
||||
lv_label_set_text(obj, "");
|
||||
}
|
||||
}
|
||||
|
||||
tick_screen_main();
|
||||
}
|
||||
|
||||
void tick_screen_main() {
|
||||
{
|
||||
const char *new_val = get_var_air_temperature();
|
||||
const char *cur_val = lv_label_get_text(objects.obj4);
|
||||
if (strcmp(new_val, cur_val) != 0) {
|
||||
tick_value_change_obj = objects.obj4;
|
||||
lv_label_set_text(objects.obj4, new_val);
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
const char *new_val = get_var_air_humidity();
|
||||
const char *cur_val = lv_label_get_text(objects.obj5);
|
||||
if (strcmp(new_val, cur_val) != 0) {
|
||||
tick_value_change_obj = objects.obj5;
|
||||
lv_label_set_text(objects.obj5, new_val);
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
const char *new_val = get_var_soil_moisture();
|
||||
const char *cur_val = lv_label_get_text(objects.obj6);
|
||||
if (strcmp(new_val, cur_val) != 0) {
|
||||
tick_value_change_obj = objects.obj6;
|
||||
lv_label_set_text(objects.obj6, new_val);
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
const char *new_val = get_var_light_intensity();
|
||||
const char *cur_val = lv_label_get_text(objects.obj7);
|
||||
if (strcmp(new_val, cur_val) != 0) {
|
||||
tick_value_change_obj = objects.obj7;
|
||||
lv_label_set_text(objects.obj7, new_val);
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
bool new_val = get_var_wifi_disconnected();
|
||||
bool cur_val = lv_obj_has_flag(objects.obj17, LV_OBJ_FLAG_HIDDEN);
|
||||
if (new_val != cur_val) {
|
||||
tick_value_change_obj = objects.obj17;
|
||||
if (new_val) {
|
||||
lv_obj_add_flag(objects.obj17, LV_OBJ_FLAG_HIDDEN);
|
||||
} else {
|
||||
lv_obj_remove_flag(objects.obj17, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
bool new_val = get_var_wifi_connected();
|
||||
bool cur_val = lv_obj_has_flag(objects.obj18, LV_OBJ_FLAG_HIDDEN);
|
||||
if (new_val != cur_val) {
|
||||
tick_value_change_obj = objects.obj18;
|
||||
if (new_val) {
|
||||
lv_obj_add_flag(objects.obj18, LV_OBJ_FLAG_HIDDEN);
|
||||
} else {
|
||||
lv_obj_remove_flag(objects.obj18, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
bool new_val = get_var_mqtt_connected();
|
||||
bool cur_val = lv_obj_has_flag(objects.obj19, LV_OBJ_FLAG_HIDDEN);
|
||||
if (new_val != cur_val) {
|
||||
tick_value_change_obj = objects.obj19;
|
||||
if (new_val) {
|
||||
lv_obj_add_flag(objects.obj19, LV_OBJ_FLAG_HIDDEN);
|
||||
} else {
|
||||
lv_obj_remove_flag(objects.obj19, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
bool new_val = get_var_mqtt_disconnected();
|
||||
bool cur_val = lv_obj_has_flag(objects.obj20, LV_OBJ_FLAG_HIDDEN);
|
||||
if (new_val != cur_val) {
|
||||
tick_value_change_obj = objects.obj20;
|
||||
if (new_val) {
|
||||
lv_obj_add_flag(objects.obj20, LV_OBJ_FLAG_HIDDEN);
|
||||
} else {
|
||||
lv_obj_remove_flag(objects.obj20, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
const char *new_val = get_var_iot_net_info();
|
||||
const char *cur_val = lv_label_get_text(objects.obj11);
|
||||
if (strcmp(new_val, cur_val) != 0) {
|
||||
tick_value_change_obj = objects.obj11;
|
||||
lv_label_set_text(objects.obj11, new_val);
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
const char *new_val = get_var_sntp_time();
|
||||
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 = get_var_air_temp_num();
|
||||
const char *cur_val = lv_label_get_text(objects.obj15);
|
||||
if (strcmp(new_val, cur_val) != 0) {
|
||||
tick_value_change_obj = objects.obj15;
|
||||
lv_label_set_text(objects.obj15, new_val);
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
{
|
||||
const char *new_val = get_var_soil_mois_num();
|
||||
const char *cur_val = lv_label_get_text(objects.obj16);
|
||||
if (strcmp(new_val, cur_val) != 0) {
|
||||
tick_value_change_obj = objects.obj16;
|
||||
lv_label_set_text(objects.obj16, new_val);
|
||||
tick_value_change_obj = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
typedef void (*tick_screen_func_t)();
|
||||
tick_screen_func_t tick_screen_funcs[] = {
|
||||
tick_screen_main,
|
||||
};
|
||||
void tick_screen(int screen_index) {
|
||||
tick_screen_funcs[screen_index]();
|
||||
}
|
||||
void tick_screen_by_id(enum ScreensEnum screenId) {
|
||||
tick_screen_funcs[screenId - 1]();
|
||||
}
|
||||
|
||||
//
|
||||
// Fonts
|
||||
//
|
||||
|
||||
ext_font_desc_t fonts[] = {
|
||||
{ "SourceHanSansSC-Medium_22", &ui_font_source_han_sans_sc_medium_22 },
|
||||
{ "SourceHanSansSC-Medium_36", &ui_font_source_han_sans_sc_medium_36 },
|
||||
#if LV_FONT_MONTSERRAT_8
|
||||
{ "MONTSERRAT_8", &lv_font_montserrat_8 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_10
|
||||
{ "MONTSERRAT_10", &lv_font_montserrat_10 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_12
|
||||
{ "MONTSERRAT_12", &lv_font_montserrat_12 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_14
|
||||
{ "MONTSERRAT_14", &lv_font_montserrat_14 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_16
|
||||
{ "MONTSERRAT_16", &lv_font_montserrat_16 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_18
|
||||
{ "MONTSERRAT_18", &lv_font_montserrat_18 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_20
|
||||
{ "MONTSERRAT_20", &lv_font_montserrat_20 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_22
|
||||
{ "MONTSERRAT_22", &lv_font_montserrat_22 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_24
|
||||
{ "MONTSERRAT_24", &lv_font_montserrat_24 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_26
|
||||
{ "MONTSERRAT_26", &lv_font_montserrat_26 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_28
|
||||
{ "MONTSERRAT_28", &lv_font_montserrat_28 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_30
|
||||
{ "MONTSERRAT_30", &lv_font_montserrat_30 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_32
|
||||
{ "MONTSERRAT_32", &lv_font_montserrat_32 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_34
|
||||
{ "MONTSERRAT_34", &lv_font_montserrat_34 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_36
|
||||
{ "MONTSERRAT_36", &lv_font_montserrat_36 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_38
|
||||
{ "MONTSERRAT_38", &lv_font_montserrat_38 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_40
|
||||
{ "MONTSERRAT_40", &lv_font_montserrat_40 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_42
|
||||
{ "MONTSERRAT_42", &lv_font_montserrat_42 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_44
|
||||
{ "MONTSERRAT_44", &lv_font_montserrat_44 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_46
|
||||
{ "MONTSERRAT_46", &lv_font_montserrat_46 },
|
||||
#endif
|
||||
#if LV_FONT_MONTSERRAT_48
|
||||
{ "MONTSERRAT_48", &lv_font_montserrat_48 },
|
||||
#endif
|
||||
};
|
||||
|
||||
//
|
||||
// Color themes
|
||||
//
|
||||
|
||||
uint32_t active_theme_index = 0;
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
void create_screens() {
|
||||
|
||||
// Set default LVGL theme
|
||||
lv_display_t *dispp = lv_display_get_default();
|
||||
lv_theme_t *theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED), false, LV_FONT_DEFAULT);
|
||||
lv_display_set_theme(dispp, theme);
|
||||
|
||||
// Initialize screens
|
||||
// Create screens
|
||||
create_screen_main();
|
||||
}
|
||||
57
components/ui/screens.h
Normal file
57
components/ui/screens.h
Normal file
@@ -0,0 +1,57 @@
|
||||
#ifndef EEZ_LVGL_UI_SCREENS_H
|
||||
#define EEZ_LVGL_UI_SCREENS_H
|
||||
|
||||
#include <lvgl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// Screens
|
||||
|
||||
enum ScreensEnum {
|
||||
_SCREEN_ID_FIRST = 1,
|
||||
SCREEN_ID_MAIN = 1,
|
||||
_SCREEN_ID_LAST = 1
|
||||
};
|
||||
|
||||
typedef struct _objects_t {
|
||||
lv_obj_t *main;
|
||||
lv_obj_t *obj0;
|
||||
lv_obj_t *obj1;
|
||||
lv_obj_t *obj2;
|
||||
lv_obj_t *obj3;
|
||||
lv_obj_t *obj4;
|
||||
lv_obj_t *obj5;
|
||||
lv_obj_t *obj6;
|
||||
lv_obj_t *obj7;
|
||||
lv_obj_t *obj8;
|
||||
lv_obj_t *obj9;
|
||||
lv_obj_t *obj10;
|
||||
lv_obj_t *obj11;
|
||||
lv_obj_t *obj12;
|
||||
lv_obj_t *obj13;
|
||||
lv_obj_t *obj14;
|
||||
lv_obj_t *obj15;
|
||||
lv_obj_t *obj16;
|
||||
lv_obj_t *obj17;
|
||||
lv_obj_t *obj18;
|
||||
lv_obj_t *obj19;
|
||||
lv_obj_t *obj20;
|
||||
} objects_t;
|
||||
|
||||
extern objects_t objects;
|
||||
|
||||
void create_screen_main();
|
||||
void tick_screen_main();
|
||||
|
||||
void tick_screen_by_id(enum ScreensEnum screenId);
|
||||
void tick_screen(int screen_index);
|
||||
|
||||
void create_screens();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*EEZ_LVGL_UI_SCREENS_H*/
|
||||
4
components/ui/structs.h
Normal file
4
components/ui/structs.h
Normal file
@@ -0,0 +1,4 @@
|
||||
#ifndef EEZ_LVGL_UI_STRUCTS_H
|
||||
#define EEZ_LVGL_UI_STRUCTS_H
|
||||
|
||||
#endif /*EEZ_LVGL_UI_STRUCTS_H*/
|
||||
6
components/ui/styles.c
Normal file
6
components/ui/styles.c
Normal file
@@ -0,0 +1,6 @@
|
||||
#include "styles.h"
|
||||
#include "images.h"
|
||||
#include "fonts.h"
|
||||
|
||||
#include "ui.h"
|
||||
#include "screens.h"
|
||||
14
components/ui/styles.h
Normal file
14
components/ui/styles.h
Normal file
@@ -0,0 +1,14 @@
|
||||
#ifndef EEZ_LVGL_UI_STYLES_H
|
||||
#define EEZ_LVGL_UI_STYLES_H
|
||||
|
||||
#include <lvgl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*EEZ_LVGL_UI_STYLES_H*/
|
||||
32
components/ui/ui.c
Normal file
32
components/ui/ui.c
Normal file
@@ -0,0 +1,32 @@
|
||||
#include "ui.h"
|
||||
#include "screens.h"
|
||||
#include "images.h"
|
||||
#include "actions.h"
|
||||
#include "vars.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
static int16_t currentScreen = -1;
|
||||
|
||||
static lv_obj_t *getLvglObjectFromIndex(int32_t index) {
|
||||
if (index == -1) {
|
||||
return 0;
|
||||
}
|
||||
return ((lv_obj_t **)&objects)[index];
|
||||
}
|
||||
|
||||
void loadScreen(enum ScreensEnum screenId) {
|
||||
currentScreen = screenId - 1;
|
||||
lv_obj_t *screen = getLvglObjectFromIndex(currentScreen);
|
||||
lv_scr_load_anim(screen, LV_SCR_LOAD_ANIM_FADE_IN, 200, 0, false);
|
||||
}
|
||||
|
||||
void ui_init() {
|
||||
create_screens();
|
||||
loadScreen(SCREEN_ID_MAIN);
|
||||
|
||||
}
|
||||
|
||||
void ui_tick() {
|
||||
tick_screen(currentScreen);
|
||||
}
|
||||
21
components/ui/ui.h
Normal file
21
components/ui/ui.h
Normal file
@@ -0,0 +1,21 @@
|
||||
#ifndef EEZ_LVGL_UI_GUI_H
|
||||
#define EEZ_LVGL_UI_GUI_H
|
||||
|
||||
#include <lvgl.h>
|
||||
|
||||
#include "screens.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void ui_init();
|
||||
void ui_tick();
|
||||
|
||||
void loadScreen(enum ScreensEnum screenId);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // EEZ_LVGL_UI_GUI_H
|
||||
3448
components/ui/ui_font_source_han_sans_sc_medium_22.c
Normal file
3448
components/ui/ui_font_source_han_sans_sc_medium_22.c
Normal file
File diff suppressed because it is too large
Load Diff
7168
components/ui/ui_font_source_han_sans_sc_medium_36.c
Normal file
7168
components/ui/ui_font_source_han_sans_sc_medium_36.c
Normal file
File diff suppressed because it is too large
Load Diff
119
components/ui/ui_image_humi.c
Normal file
119
components/ui/ui_image_humi.c
Normal file
@@ -0,0 +1,119 @@
|
||||
#ifdef __has_include
|
||||
#if __has_include("lvgl.h")
|
||||
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#define LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_LVGL_H_INCLUDE_SYSTEM)
|
||||
#include <lvgl.h>
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_IMG_HUMI
|
||||
#define LV_ATTRIBUTE_IMG_HUMI
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_HUMI
|
||||
uint8_t img_humi_map[] = {
|
||||
|
||||
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,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,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,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,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,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,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,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,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,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,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd0,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,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,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,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,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,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,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,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,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,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,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,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,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,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,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,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,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,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,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,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,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,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,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,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,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd0,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,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,0x01,0xd1,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,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,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0x01,0xd1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,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,0x00,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,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,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,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,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xd1,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,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,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,0xe0,0xd0,0xe0,0xd0,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd8,0xe0,0xd0,0x01,0xd1,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,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,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,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,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,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,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,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,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,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,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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0x60,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,0x00,0x00,0x00,0x00,0x40,0xff,0xdf,0x20,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,0x00,0x00,0x20,0xff,0xff,0xff,0x7f,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,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0x20,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,0x20,0xff,0xff,0xff,0xff,0xff,0xdf,0x20,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,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,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,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x20,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,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,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,0x9f,0xff,0xff,0xff,0xff,0x40,0x9f,0xff,0xff,0xff,0xff,0x40,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,0x20,0xff,0xff,0xff,0xff,0xbf,0x00,0x20,0xdf,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xbf,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,0xdf,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xdf,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0x40,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0xff,0x60,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xbf,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x60,0x20,0xbf,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdf,0x20,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xbf,0x00,0x00,0x40,0xff,0xff,0xff,0xdf,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xdf,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0x7f,0x00,0x00,0x40,0xff,0xff,0xdf,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0x7f,0x00,0x00,0x20,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0x9f,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xbf,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0xff,0xdf,0x60,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xdf,0xdf,0xbf,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x20,0x60,0x9f,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x20,0xdf,0xff,0xff,0xff,0xff,0xbf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x60,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xbf,0x7f,0x20,0x00,0x00,0x00,0x00,0x20,0x7f,0x9f,0xbf,0xff,0xff,0xdf,0xdf,0x9f,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0xbf,0x7f,0x60,0x60,0x7f,0x9f,0xdf,0xff,0xff,0xff,0x9f,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x40,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,0x9f,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x60,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,0x20,0x9f,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x60,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,0x40,0x60,0x7f,0xbf,0xdf,0xbf,0x9f,0x7f,0x60,0x20,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,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,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,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,0x00,0x00,0x00,0x00,0x00,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t img_humi = {
|
||||
.header = {
|
||||
.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.cf = LV_COLOR_FORMAT_RGB565A8,
|
||||
.flags = 0,
|
||||
.w = 48,
|
||||
.h = 48,
|
||||
.stride = 100,
|
||||
.reserved_2 = 0,
|
||||
},
|
||||
.data_size = sizeof(img_humi_map),
|
||||
.data = img_humi_map,
|
||||
.reserved = NULL,
|
||||
};
|
||||
119
components/ui/ui_image_light.c
Normal file
119
components/ui/ui_image_light.c
Normal file
@@ -0,0 +1,119 @@
|
||||
#ifdef __has_include
|
||||
#if __has_include("lvgl.h")
|
||||
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#define LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_LVGL_H_INCLUDE_SYSTEM)
|
||||
#include <lvgl.h>
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_IMG_LIGHT
|
||||
#define LV_ATTRIBUTE_IMG_LIGHT
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_LIGHT
|
||||
uint8_t img_light_map[] = {
|
||||
|
||||
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,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,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,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,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,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,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,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,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,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,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,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,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,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,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,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,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,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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x2f,0x11,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,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,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,0x0f,0x11,0x0f,0x11,0x2f,0x11,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x2f,0x11,0x00,0x00,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,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,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,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,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,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,0x2f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,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,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,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,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,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,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,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,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,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,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,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,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0xee,0x10,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x0f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x2f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,0x0f,0x11,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,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,0x40,0x7f,0x9f,0x9f,0x9f,0x9f,0x7f,0x9f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0xaf,0x9f,0x7f,0x7f,0x7f,0x9f,0x40,0x9f,0x9f,0x9f,0x9f,0x7f,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x9f,0x9f,0x9f,0x9f,0x9f,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x7f,0xbf,0xbf,0xbf,0xbf,0x60,0x9f,0x7f,0x60,0x60,0x74,0x9c,0x60,0x60,0x60,0x60,0x60,0x60,0x7f,0x9f,0x7f,0xbf,0xbf,0xbf,0x9f,0x7f,0x40,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,0x20,0x60,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x20,0x60,0x7f,0x7f,0x7f,0x7f,0x7f,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,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,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,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,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,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,0x20,0x40,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,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0x60,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,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xdf,0x20,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,0x40,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xdf,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,0x20,0xdf,0xff,0xdf,0x20,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,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,0x20,0xdf,0xff,0x7f,0x00,0x00,0x00,0xbf,0xff,0x7f,0xff,0xff,0x7f,0xff,0xdf,0x40,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,0x20,0xbf,0x40,0x00,0x00,0x7f,0xff,0xdf,0x00,0xff,0xff,0x20,0xbf,0xff,0xbf,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,0x20,0xff,0xff,0x40,0x00,0xff,0xff,0x20,0x20,0xff,0xff,0x40,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,0x40,0xff,0x9f,0x00,0x00,0x00,0x9f,0xff,0x9f,0x00,0x00,0xff,0xff,0x20,0x00,0x9f,0xff,0xdf,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,0x20,0xff,0xff,0x9f,0x00,0x00,0xbf,0xff,0xdf,0x20,0x00,0xff,0xff,0x20,0x00,0x20,0xff,0xff,0x40,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,0x60,0xff,0xff,0x9f,0x00,0x20,0xbf,0xff,0xdf,0x20,0xff,0xff,0x20,0x00,0x00,0xbf,0xff,0xbf,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,0x60,0xff,0xff,0x9f,0x00,0x20,0xbf,0xff,0xdf,0xff,0xff,0x20,0x00,0x7f,0xff,0xff,0xdf,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,0x60,0xff,0xff,0x9f,0x00,0x20,0xdf,0xff,0xff,0xff,0x20,0x40,0xff,0xff,0xff,0xff,0x20,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,0xbf,0x7f,0x00,0x60,0xff,0xff,0x9f,0x00,0x20,0xdf,0xff,0xff,0x60,0xff,0xff,0x7f,0xbf,0xff,0x40,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,0x40,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0x9f,0x00,0x20,0xff,0xff,0xff,0xff,0xbf,0x00,0xdf,0xff,0x20,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,0x7f,0xff,0xff,0x7f,0x00,0x60,0xff,0xbf,0x00,0x00,0xff,0xff,0xff,0xdf,0x00,0x00,0xff,0xff,0x20,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,0x7f,0xff,0xff,0x7f,0x00,0x20,0x00,0x00,0x00,0xff,0xff,0xdf,0x20,0x00,0x7f,0xff,0xdf,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,0x7f,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xff,0xff,0x40,0x00,0x40,0xff,0xff,0x40,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,0x7f,0xff,0xff,0x7f,0x00,0x00,0x00,0xff,0xff,0x20,0x7f,0xff,0xff,0x9f,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,0x7f,0xff,0xff,0x60,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x9f,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,0x7f,0xff,0x9f,0x00,0x00,0xdf,0xff,0xff,0xdf,0x40,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,0x40,0x00,0x00,0x00,0x20,0x60,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,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,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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7f,0x7f,0x7f,0x7f,0x60,0x20,0x20,0x20,0x20,0x3c,0x20,0x74,0x74,0x74,0x74,0x60,0x60,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,0x40,0x7f,0xbf,0xbf,0xbf,0xbf,0x9f,0x9f,0x7f,0x60,0x60,0x60,0x60,0x60,0x60,0x9c,0x74,0x60,0x60,0x60,0x9f,0x60,0xbf,0xbf,0xbf,0xbf,0x7f,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x9f,0x9f,0x9f,0x9f,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x88,0x88,0x88,0x88,0x88,0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7f,0x9f,0x9f,0x9f,0x9f,0x60,0x9f,0x7f,0x7f,0x7f,0x9f,0xaf,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x9f,0x9f,0x40,0x9f,0x9f,0x9f,0x7f,0x7f,0x60,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,0x20,0x60,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7f,0x7f,0x7f,0x7f,0x7f,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,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,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,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,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,0x00,0x00,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t img_light = {
|
||||
.header = {
|
||||
.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.cf = LV_COLOR_FORMAT_RGB565A8,
|
||||
.flags = 0,
|
||||
.w = 48,
|
||||
.h = 48,
|
||||
.stride = 100,
|
||||
.reserved_2 = 0,
|
||||
},
|
||||
.data_size = sizeof(img_light_map),
|
||||
.data = img_light_map,
|
||||
.reserved = NULL,
|
||||
};
|
||||
119
components/ui/ui_image_mois.c
Normal file
119
components/ui/ui_image_mois.c
Normal file
@@ -0,0 +1,119 @@
|
||||
#ifdef __has_include
|
||||
#if __has_include("lvgl.h")
|
||||
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#define LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_LVGL_H_INCLUDE_SYSTEM)
|
||||
#include <lvgl.h>
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_IMG_MOIS
|
||||
#define LV_ATTRIBUTE_IMG_MOIS
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MOIS
|
||||
uint8_t img_mois_map[] = {
|
||||
|
||||
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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xba,0x14,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,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,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,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,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xba,0x14,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,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,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,0xbb,0x14,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7a,0x0c,0xbb,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xff,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,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,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xba,0x14,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,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,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,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,
|
||||
0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,
|
||||
0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xba,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,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,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0x20,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,0x9f,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xbf,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,0x40,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0x60,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,0xdf,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x40,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x60,0x9f,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x60,0x00,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x20,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,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0x20,0x00,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,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,0x7f,0xff,0xff,0xff,0xff,0xff,0x9f,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x20,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,0x7f,0xdf,0xff,0xff,0x9f,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,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,0x20,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x20,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,0x7f,0xff,0xff,0x7f,0x20,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x40,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,0xbf,0xff,0xdf,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,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,0xff,0xff,0x7f,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,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,0x20,0xff,0xff,0x60,0x00,0x00,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,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,0x20,0xff,0xff,0x60,0x00,0x00,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,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,0x20,0xff,0xff,0x9f,0x00,0x00,0x20,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xdf,0xbf,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0x20,0x00,0x00,0x00,0x40,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0x00,0x00,0x20,0xdf,0xff,0xff,0xff,0xbf,0x7f,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0x20,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x16,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0x7f,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xdf,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0xa3,0xff,0xff,0xba,0x01,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x7f,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x7f,0x60,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xff,0xff,0xff,0xff,0x62,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x9f,0xdf,0xff,0xff,0xff,0xdf,0x9f,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x51,0xff,0xff,0xff,0xff,0x75,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xff,0xff,0xff,0xff,0x47,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,0x00,0x00,0x50,0xa6,0xab,0x63,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,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,0x00,0x00,0x00,0x00,0x00,
|
||||
0x7f,0xdf,0xdf,0xbf,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x40,0x60,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xbf,0xff,0xff,0xdf,0x9f,0x40,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xdf,0x9f,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x40,0x7f,0xbf,0xff,0xff,0xff,0xff,0xff,0xdf,0xbf,0x9f,0x60,0x40,0x00,0x00,0x00,0x20,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x00,0x00,
|
||||
0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0xdf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,
|
||||
0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x20,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x7f,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x60,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,0x40,0x9f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x7f,0x20,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,0x20,0x60,0x9f,0xbf,0xdf,0xdf,0xff,0xdf,0xdf,0xdf,0xbf,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t img_mois = {
|
||||
.header = {
|
||||
.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.cf = LV_COLOR_FORMAT_RGB565A8,
|
||||
.flags = 0,
|
||||
.w = 48,
|
||||
.h = 48,
|
||||
.stride = 100,
|
||||
.reserved_2 = 0,
|
||||
},
|
||||
.data_size = sizeof(img_mois_map),
|
||||
.data = img_mois_map,
|
||||
.reserved = NULL,
|
||||
};
|
||||
79
components/ui/ui_image_mqtt_connected.c
Normal file
79
components/ui/ui_image_mqtt_connected.c
Normal file
@@ -0,0 +1,79 @@
|
||||
#ifdef __has_include
|
||||
#if __has_include("lvgl.h")
|
||||
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#define LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_LVGL_H_INCLUDE_SYSTEM)
|
||||
#include <lvgl.h>
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_IMG_MQTT_CONNECTED
|
||||
#define LV_ATTRIBUTE_IMG_MQTT_CONNECTED
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MQTT_CONNECTED
|
||||
uint8_t img_mqtt_connected_map[] = {
|
||||
|
||||
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,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,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,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,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,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,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,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,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,0xf1,0x0a,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x74,0x0b,0x4d,0x0a,0x83,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,0x4d,0x0a,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x4d,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x83,0x00,0x83,0x00,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x00,0x83,0x00,0x83,0x00,0x83,0x00,0x83,0x00,0x83,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x74,0x0b,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x4d,0x0a,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x74,0x0b,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xaa,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x26,0x01,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x4d,0x0a,0x17,0x0c,0x17,0x0c,0xf1,0x0a,0x00,0x00,0x83,0x00,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x4d,0x0a,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x4d,0x0a,0x83,0x00,0x83,0x00,0x83,0x00,0x83,0x00,0x83,0x00,0xf1,0x0a,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x26,0x01,0xaa,0x01,0xaa,0x01,0xaa,0x01,0xaa,0x01,0xaa,0x01,0x26,0x01,0x83,0x00,0x00,0x00,0x26,0x01,0xaa,0x01,0xaa,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x17,0x0c,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0x17,0x0c,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x17,0x0c,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xaa,0x01,0x83,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x74,0x0b,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x26,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x26,0x01,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0xaa,0x01,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0x83,0x00,0x00,0x00,0x4d,0x0a,0xf1,0x0a,0xf1,0x0a,0x26,0x01,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xf1,0x0a,0xaa,0x01,0xaa,0x01,0xaa,0x01,0xaa,0x01,0xaa,0x01,0x74,0x0b,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0x74,0x0b,0x17,0x0c,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x26,0x01,0xf1,0x0a,0xf1,0x0a,0xaa,0x01,0x00,0x00,0x83,0x00,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0xf1,0x0a,0xaa,0x01,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x26,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x26,0x01,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x17,0x0c,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0xaa,0x01,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x17,0x0c,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xf1,0x0a,0x26,0x01,0x26,0x01,0x26,0x01,0x26,0x01,0x26,0x01,0x74,0x0b,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x26,0x01,0xaa,0x01,0xaa,0x01,0x26,0x01,0x00,0x00,0x00,0x00,0x26,0x01,0xaa,0x01,0xaa,0x01,0xaa,0x01,0xaa,0x01,0xaa,0x01,0x83,0x00,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x26,0x01,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x83,0x00,0x00,0x00,0x26,0x01,0x4d,0x0a,0x4d,0x0a,0x26,0x01,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x74,0x0b,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x74,0x0b,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x17,0x0c,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xaa,0x01,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x17,0x0c,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x26,0x01,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x26,0x01,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0xaa,0x01,0x00,0x00,0x00,0x00,0x26,0x01,0x4d,0x0a,0x4d,0x0a,0x26,0x01,0x00,0x00,0x00,0x00,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x74,0x0b,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x4d,0x0a,0x74,0x0b,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,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,0x17,0x0c,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x17,0x0c,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,0x4d,0x0a,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0xbb,0x14,0x4d,0x0a,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,0xf1,0x0a,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0x17,0x0c,0xf1,0x0a,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,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,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,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,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,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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t img_mqtt_connected = {
|
||||
.header = {
|
||||
.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.cf = LV_COLOR_FORMAT_RGB565,
|
||||
.flags = 0,
|
||||
.w = 32,
|
||||
.h = 32,
|
||||
.stride = 70,
|
||||
.reserved_2 = 0,
|
||||
},
|
||||
.data_size = sizeof(img_mqtt_connected_map),
|
||||
.data = img_mqtt_connected_map,
|
||||
.reserved = NULL,
|
||||
};
|
||||
79
components/ui/ui_image_mqtt_disconnected.c
Normal file
79
components/ui/ui_image_mqtt_disconnected.c
Normal file
@@ -0,0 +1,79 @@
|
||||
#ifdef __has_include
|
||||
#if __has_include("lvgl.h")
|
||||
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#define LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_LVGL_H_INCLUDE_SYSTEM)
|
||||
#include <lvgl.h>
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_IMG_MQTT_DISCONNECTED
|
||||
#define LV_ATTRIBUTE_IMG_MQTT_DISCONNECTED
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MQTT_DISCONNECTED
|
||||
uint8_t img_mqtt_disconnected_map[] = {
|
||||
|
||||
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,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,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,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,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,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,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,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,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,0x80,0x80,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xa0,0xa0,0x60,0x68,0x20,0x18,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,0x60,0x68,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x60,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x20,0x18,0x20,0x18,0x20,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x18,0x20,0x18,0x20,0x18,0x20,0x18,0x20,0x18,0x20,0x18,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0xa0,0xa0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x60,0x68,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xa0,0xa0,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x40,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x60,0x68,0xc0,0xb8,0xc0,0xb8,0x80,0x80,0x00,0x00,0x20,0x18,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0x60,0x68,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x60,0x68,0x20,0x18,0x20,0x18,0x20,0x18,0x20,0x18,0x20,0x18,0x80,0x80,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,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,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,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,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x20,0x30,0x40,0x50,0x40,0x50,0x40,0x50,0x40,0x50,0x40,0x50,0x20,0x30,0x20,0x18,0x00,0x00,0x20,0x30,0x40,0x50,0x40,0x50,0x20,0x18,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xc0,0xb8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,0xb8,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0xc0,0xb8,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x40,0x50,0x20,0x18,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xa0,0xa0,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x20,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x40,0x50,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x20,0x18,0x00,0x00,0x60,0x68,0x80,0x80,0x80,0x80,0x20,0x30,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x80,0x80,0x40,0x50,0x40,0x50,0x40,0x50,0x40,0x50,0x40,0x50,0xa0,0xa0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,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,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,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,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xa0,0xa0,0xc0,0xb8,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x20,0x30,0x80,0x80,0x80,0x80,0x40,0x50,0x00,0x00,0x20,0x18,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x50,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x20,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0xc0,0xb8,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x40,0x50,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xc0,0xb8,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x80,0x80,0x20,0x30,0x20,0x30,0x20,0x30,0x20,0x30,0x20,0x30,0xa0,0xa0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x20,0x30,0x40,0x50,0x40,0x50,0x20,0x30,0x00,0x00,0x00,0x00,0x20,0x30,0x40,0x50,0x40,0x50,0x40,0x50,0x40,0x50,0x40,0x50,0x20,0x18,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,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,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x20,0x30,0x60,0x68,0x60,0x68,0x60,0x68,0x60,0x68,0x60,0x68,0x60,0x68,0x20,0x18,0x00,0x00,0x20,0x30,0x60,0x68,0x60,0x68,0x20,0x30,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xa0,0xa0,0x60,0x68,0x60,0x68,0x60,0x68,0x60,0x68,0x60,0x68,0xa0,0xa0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0xc0,0xb8,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x40,0x50,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xc0,0xb8,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x20,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x20,0x30,0x60,0x68,0x60,0x68,0x60,0x68,0x60,0x68,0x60,0x68,0x40,0x50,0x00,0x00,0x00,0x00,0x20,0x30,0x60,0x68,0x60,0x68,0x20,0x30,0x00,0x00,0x00,0x00,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xa0,0xa0,0x60,0x68,0x60,0x68,0x60,0x68,0x60,0x68,0x60,0x68,0xa0,0xa0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,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,0xc0,0xb8,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xc0,0xb8,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,0x60,0x68,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0xe0,0xd0,0x60,0x68,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,0x80,0x80,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0xc0,0xb8,0x80,0x80,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,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,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,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,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,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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t img_mqtt_disconnected = {
|
||||
.header = {
|
||||
.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.cf = LV_COLOR_FORMAT_RGB565,
|
||||
.flags = 0,
|
||||
.w = 32,
|
||||
.h = 32,
|
||||
.stride = 70,
|
||||
.reserved_2 = 0,
|
||||
},
|
||||
.data_size = sizeof(img_mqtt_disconnected_map),
|
||||
.data = img_mqtt_disconnected_map,
|
||||
.reserved = NULL,
|
||||
};
|
||||
119
components/ui/ui_image_temp.c
Normal file
119
components/ui/ui_image_temp.c
Normal file
@@ -0,0 +1,119 @@
|
||||
#ifdef __has_include
|
||||
#if __has_include("lvgl.h")
|
||||
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#define LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_LVGL_H_INCLUDE_SYSTEM)
|
||||
#include <lvgl.h>
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_IMG_TEMP
|
||||
#define LV_ATTRIBUTE_IMG_TEMP
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_TEMP
|
||||
uint8_t img_temp_map[] = {
|
||||
|
||||
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,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xa5,0x1f,0xa5,0x1f,0xa5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,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,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,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,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,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,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,0xa5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xc5,0x1f,0xa5,0x1f,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,0x9f,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x9f,0xff,0xdf,0xbf,0x9f,0x20,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,0x9f,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x20,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x7f,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,0x9f,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,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,0x9f,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xbf,0x7f,0x60,0x7f,0xff,0xff,0xff,0xdf,0x20,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,0x9f,0xff,0xff,0x9f,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0x9f,0x00,0x00,0x00,0x60,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xdf,0xdf,0x9f,0x00,0x00,0x00,0x9f,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x40,0x60,0x60,0x60,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x9f,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0x60,0x00,0x00,0x00,0x00,0x7f,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0x60,0x00,0x00,0x00,0x20,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x20,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x7f,0x40,0x00,0x20,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xff,0xbf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x20,0x20,0x20,0x20,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x00,0x00,0x40,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x7f,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdf,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0x7f,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xdf,0x40,0x00,0x60,0xff,0xff,0xdf,0x00,0x20,0xbf,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x60,0xff,0xff,0xdf,0x00,0x00,0x20,0x7f,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x60,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xdf,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x40,0xdf,0xff,0xff,0xdf,0x7f,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xdf,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0xff,0xff,0xff,0xff,0xdf,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x20,0x00,0x00,0x40,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xdf,0xff,0xff,0xff,0xff,0xff,0x9f,0x20,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0x20,0x00,0x00,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x00,0x00,0x00,0xbf,0xff,0xff,0xbf,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xdf,0xff,0xff,0xff,0xff,0xff,0xdf,0x7f,0x00,0x00,0x60,0xff,0xff,0xff,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x7f,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xdf,0x20,0x00,0x00,0x20,0xdf,0xff,0xff,0xff,0xff,0xff,0xbf,0x00,0x00,0x7f,0xff,0xff,0xbf,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x40,0xff,0xff,0xdf,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xdf,0x20,0x00,0x00,0x20,0x7f,0xff,0xff,0xff,0xff,0xbf,0x00,0x00,0x7f,0xff,0xff,0xbf,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x60,0xff,0xff,0xdf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x60,0xdf,0xff,0xff,0xbf,0x00,0x00,0x7f,0xff,0xff,0xdf,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x60,0x00,0x00,0x60,0xff,0xff,0xdf,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x60,0x9f,0xdf,0x00,0x00,0x40,0xff,0xff,0xff,0x00,0x00,0x00,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x9f,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0xff,0xff,0x60,0x00,0x00,0x20,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x40,0x00,0x00,0x00,0xff,0xff,0xff,0x60,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x20,0xdf,0xff,0xff,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xdf,0x00,0x00,0x00,0x20,0x7f,0xff,0xff,0xff,0xff,0xdf,0x40,0x00,0x00,0x00,0x7f,0xff,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xdf,0x9f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x20,0x60,0x7f,0x40,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0x9f,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xff,0xff,0xff,0xff,0x40,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,0x20,0xdf,0xff,0xff,0xff,0xdf,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x7f,0xff,0xff,0xff,0xff,0x40,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,0x20,0xdf,0xff,0xff,0xff,0xff,0xdf,0x9f,0x60,0x40,0x7f,0x7f,0xff,0xff,0xff,0xff,0xff,0x7f,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,0x20,0xdf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x60,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,0x20,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x20,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,0x20,0x60,0x9f,0xbf,0xff,0xff,0xdf,0xbf,0x7f,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t img_temp = {
|
||||
.header = {
|
||||
.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.cf = LV_COLOR_FORMAT_RGB565A8,
|
||||
.flags = 0,
|
||||
.w = 48,
|
||||
.h = 48,
|
||||
.stride = 100,
|
||||
.reserved_2 = 0,
|
||||
},
|
||||
.data_size = sizeof(img_temp_map),
|
||||
.data = img_temp_map,
|
||||
.reserved = NULL,
|
||||
};
|
||||
79
components/ui/ui_image_wifi_connect.c
Normal file
79
components/ui/ui_image_wifi_connect.c
Normal file
@@ -0,0 +1,79 @@
|
||||
#ifdef __has_include
|
||||
#if __has_include("lvgl.h")
|
||||
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#define LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_LVGL_H_INCLUDE_SYSTEM)
|
||||
#include <lvgl.h>
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_IMG_WIFI_CONNECT
|
||||
#define LV_ATTRIBUTE_IMG_WIFI_CONNECT
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_WIFI_CONNECT
|
||||
uint8_t img_wifi_connect_map[] = {
|
||||
|
||||
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,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,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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc2,0x18,0x08,0x73,0xca,0x93,0x8c,0xb4,0x4f,0xd5,0x4f,0xd5,0x4f,0xd5,0xca,0x93,0x46,0x5a,0xc2,0x18,0x00,0x00,0x83,0x10,0x07,0x21,0x48,0x29,0x48,0x29,0x48,0x29,0x41,0x08,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,0xc2,0x18,0x08,0x73,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x8d,0x5a,0x68,0x31,0x00,0x00,0x41,0x08,0x41,0x08,0x83,0x10,0x8a,0x39,0x07,0x21,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,0x08,0x73,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x90,0xdd,0x90,0xdd,0x0e,0x9c,0x2d,0x52,0x48,0x29,0x8a,0x39,0x8a,0x39,0x63,0x10,0x83,0x10,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,0x8c,0xb4,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x0f,0x9c,0x11,0xee,0x2c,0x7b,0x41,0x08,0x41,0x08,0xc5,0x18,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,0x8c,0xb4,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x90,0xb4,0x90,0xb4,0xac,0x62,0x83,0x10,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,0x08,0x73,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x8f,0x83,0x11,0xbd,0x08,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc2,0x18,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x90,0xb4,0xb6,0x63,0x71,0x7b,0x4f,0xd5,0x84,0x39,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xca,0x93,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x90,0xb4,0x18,0x6c,0xf0,0x62,0x11,0xee,0xca,0x93,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x90,0xb4,0x18,0x6c,0xf0,0x62,0x11,0xee,0x11,0xee,0x84,0x39,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x5a,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x90,0xb4,0x18,0x6c,0xf0,0x62,0x11,0xee,0x11,0xee,0x46,0x5a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xca,0x93,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x90,0xb4,0x18,0x6c,0xf0,0x62,0x11,0xee,0x11,0xee,0x8c,0xb4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x4f,0xd5,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x90,0xb4,0x18,0x6c,0xf0,0x62,0x11,0xee,0x11,0xee,0x8c,0xb4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x4f,0xd5,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x90,0xb4,0x18,0x6c,0xf0,0x62,0x11,0xee,0x11,0xee,0x4f,0xd5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xee,0xc4,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x90,0xdd,0x4f,0xa4,0xd6,0x63,0x6f,0x52,0x90,0xdd,0x90,0xdd,0xee,0xc4,0x41,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x41,0x08,0x4d,0x4a,0x71,0x6b,0xb2,0x7b,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xf2,0x83,0xb2,0x7b,0xb0,0x5a,0xb0,0x5a,0xf2,0x83,0xf2,0x83,0xb3,0x73,0x31,0x63,0xcf,0x52,0x41,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x4c,0x4a,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0xde,0xbe,0x7e,0xa6,0x7e,0xa6,0xaf,0x52,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xaf,0x5a,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0xde,0xbe,0x7e,0xa6,0x7e,0xa6,0x11,0x5b,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xaf,0x5a,0x3e,0xd7,0x3e,0xd7,0xb6,0xac,0x31,0x73,0x31,0x73,0x31,0x73,0x31,0x73,0x31,0x73,0x31,0x73,0x31,0x73,0x31,0x73,0x31,0x73,0x31,0x73,0x31,0x73,0xaf,0x72,0xaf,0x72,0xaf,0x72,0xf7,0xa4,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x55,0x94,0x55,0x94,0x3e,0xd7,0x9c,0xc6,0x75,0x94,0xfa,0xb5,0xde,0xbe,0x7e,0xa6,0x7e,0xa6,0x11,0x5b,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xaf,0x5a,0x3e,0xd7,0x3e,0xd7,0x11,0x73,0x93,0xfc,0x93,0xfc,0x93,0xfc,0x93,0xfc,0x93,0xfc,0x93,0xfc,0x93,0xfc,0x93,0xfc,0x93,0xfc,0x93,0xfc,0x93,0xfc,0x50,0xeb,0x2f,0xe3,0xef,0xc2,0x55,0x94,0x3e,0xd7,0x3e,0xd7,0x17,0xa5,0x91,0xbb,0x10,0x8b,0xba,0xb5,0x11,0x73,0x32,0xe4,0x10,0x73,0xde,0xbe,0x7e,0xa6,0x7e,0xa6,0x11,0x5b,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xaf,0x5a,0x3e,0xd7,0x3e,0xd7,0x11,0x73,0x71,0xa3,0x71,0xa3,0x71,0xa3,0x71,0xa3,0x71,0xa3,0x71,0xa3,0x71,0xa3,0x71,0xa3,0x71,0xa3,0x71,0xa3,0x71,0xa3,0xcf,0x9a,0xcf,0x9a,0x8e,0x82,0x55,0x94,0x3e,0xd7,0x3e,0xd7,0x7c,0xc6,0xd0,0x72,0x51,0x8b,0x9c,0xc6,0x75,0x94,0x51,0x8b,0xb3,0x83,0xde,0xbe,0x7e,0xa6,0x7e,0xa6,0x11,0x5b,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xaf,0x5a,0x3e,0xd7,0x3e,0xd7,0x9c,0xc6,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0xfa,0xb5,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x9c,0xc6,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x9c,0xc6,0x3e,0xd7,0xde,0xbe,0x7e,0xa6,0x7e,0xa6,0x11,0x5b,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xf0,0x5a,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0xde,0xbe,0x7e,0xa6,0x7e,0xa6,0xf0,0x5a,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xa9,0x39,0xfa,0xb5,0x9c,0xc6,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0x3e,0xd7,0xde,0xbe,0x7e,0xa6,0xf8,0x8c,0xca,0x39,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x06,0x21,0x2d,0x4a,0x2d,0x4a,0x0d,0x4a,0x2e,0x4a,0x2e,0x4a,0x2e,0x4a,0x4e,0x52,0x6f,0x52,0x30,0x73,0x30,0x73,0x30,0x73,0x30,0x73,0x30,0x73,0x30,0x73,0x30,0x73,0x30,0x73,0x30,0x73,0x30,0x73,0x30,0x73,0x30,0x73,0x6f,0x52,0x4e,0x52,0x2e,0x4a,0x2e,0x4a,0x2e,0x4a,0x0d,0x4a,0x6e,0x52,0xaf,0x52,0x06,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc5,0x18,0x54,0x5b,0x5e,0x7d,0x5e,0x7d,0x5e,0x7d,0x2e,0x4a,0x08,0x73,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0x11,0xee,0xca,0x93,0x2e,0x4a,0xfc,0x74,0x5e,0x7d,0x5e,0x7d,0x54,0x5b,0x83,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xcb,0x39,0x2e,0x42,0x2e,0x42,0x0c,0x3a,0x83,0x10,0x00,0x00,0xc2,0x18,0x46,0x5a,0xca,0x93,0x8c,0xb4,0x4f,0xd5,0x4f,0xd5,0x4f,0xd5,0x8c,0xb4,0x08,0x73,0x00,0x00,0x00,0x00,0x83,0x10,0x0d,0x42,0x2e,0x42,0x2e,0x42,0xcb,0x39,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,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,
|
||||
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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t img_wifi_connect = {
|
||||
.header = {
|
||||
.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.cf = LV_COLOR_FORMAT_RGB565,
|
||||
.flags = 0,
|
||||
.w = 32,
|
||||
.h = 32,
|
||||
.stride = 70,
|
||||
.reserved_2 = 0,
|
||||
},
|
||||
.data_size = sizeof(img_wifi_connect_map),
|
||||
.data = img_wifi_connect_map,
|
||||
.reserved = NULL,
|
||||
};
|
||||
79
components/ui/ui_image_wifi_disconnect.c
Normal file
79
components/ui/ui_image_wifi_disconnect.c
Normal file
@@ -0,0 +1,79 @@
|
||||
#ifdef __has_include
|
||||
#if __has_include("lvgl.h")
|
||||
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#define LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_LVGL_H_INCLUDE_SYSTEM)
|
||||
#include <lvgl.h>
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_IMG_WIFI_DISCONNECT
|
||||
#define LV_ATTRIBUTE_IMG_WIFI_DISCONNECT
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_WIFI_DISCONNECT
|
||||
uint8_t img_wifi_disconnect_map[] = {
|
||||
|
||||
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,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,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,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,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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa2,0x10,0x65,0x29,0x65,0x29,0xa2,0x10,0xa2,0x10,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x42,0xae,0x73,0x34,0xa5,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0x71,0x8c,0xeb,0x5a,0x65,0x29,0xa2,0x10,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,0x65,0x29,0xae,0x73,0x34,0xa5,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0x34,0xa5,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0x71,0x8c,0xa2,0x10,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,0xa2,0x10,0xae,0x73,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xae,0x73,0x28,0x42,0x65,0x29,0xa2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa2,0x10,0x65,0x29,0xeb,0x5a,0x71,0x8c,0x34,0xa5,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xae,0x73,0xa2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xeb,0x5a,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0x71,0x8c,0x28,0x42,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,0x65,0x29,0x71,0x8c,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xeb,0x5a,0xa2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x71,0x8c,0xf7,0xbd,0xf7,0xbd,0x34,0xa5,0x65,0x29,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,0x65,0x29,0x34,0xa5,0xf7,0xbd,0xf7,0xbd,0x71,0x8c,0xa2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xa2,0x10,0x71,0x8c,0xf7,0xbd,0xf7,0xbd,0xeb,0x5a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa2,0x10,0xa2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xeb,0x5a,0x34,0xa5,0xf7,0xbd,0x34,0xa5,0xa2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x34,0xa5,0xf7,0xbd,0xf7,0xbd,0x65,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa2,0x10,0x28,0x42,0x34,0xa5,0x34,0xa5,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0x34,0xa5,0x71,0x8c,0xeb,0x5a,0xa2,0x10,0x00,0x08,0x00,0x38,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x29,0x34,0xa5,0xf7,0xbd,0x71,0x8c,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x71,0x8c,0x65,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x29,0x71,0x8c,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0x11,0xd4,0xc9,0xe9,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x01,0x80,0x00,0x10,0x00,0x00,0xa2,0x10,0xae,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa2,0x10,0x71,0x8c,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0x71,0x8c,0xeb,0x5a,0x65,0x29,0xa2,0x10,0xa2,0x10,0x00,0x00,0x65,0x29,0x45,0x49,0xc5,0xd0,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x01,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x29,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xae,0x73,0xa2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x23,0xc8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x01,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x42,0xf7,0xbd,0xf7,0xbd,0x34,0xa5,0x65,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x68,0x23,0xf8,0x07,0xf9,0xfc,0xfe,0x11,0xfc,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x07,0xf9,0xf8,0xfd,0xf8,0xfd,0x23,0xf8,0x23,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0xa5,0x71,0x8c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x23,0xd0,0x23,0xf8,0x07,0xf9,0xfc,0xfe,0xff,0xff,0x11,0xfc,0x23,0xf8,0x07,0xf9,0xf8,0xfd,0xff,0xff,0x0e,0xfb,0x23,0xf8,0x23,0xf8,0x01,0x58,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,0x65,0x29,0x28,0x42,0x4a,0x82,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x07,0xf9,0xfc,0xfe,0xff,0xff,0x11,0xfc,0xf8,0xfd,0xff,0xff,0x0e,0xfb,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x02,0xa8,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,0x28,0x42,0x34,0xa5,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0x6f,0xdb,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x07,0xf9,0xfc,0xfe,0xff,0xff,0xff,0xff,0x0e,0xfb,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xe0,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,0xa2,0x10,0x71,0x8c,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0x71,0x8c,0x8b,0xba,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x07,0xf9,0xf8,0xfd,0xff,0xff,0xff,0xff,0x11,0xfc,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa2,0x10,0x34,0xa5,0xf7,0xbd,0xf7,0xbd,0xeb,0x5a,0xa2,0x10,0x00,0x00,0x00,0x00,0x00,0x30,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x07,0xf9,0xf8,0xfd,0xff,0xff,0x11,0xfc,0xfc,0xfe,0xff,0xff,0x11,0xfc,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x02,0xa0,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,0xeb,0x5a,0x71,0x8c,0x65,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x23,0xd0,0x23,0xf8,0x23,0xf8,0xf8,0xfd,0xff,0xff,0x0e,0xfb,0x23,0xf8,0x07,0xf9,0xfc,0xfe,0xff,0xff,0x11,0xfc,0x23,0xf8,0x23,0xf8,0x01,0x58,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,0x01,0x68,0x23,0xf8,0x0a,0xfa,0xff,0xff,0x0e,0xfb,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x07,0xf9,0xfc,0xfe,0x15,0xfd,0x23,0xf8,0x23,0xf0,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,0xae,0x73,0x71,0x8c,0x71,0x8c,0x28,0x42,0x43,0xc8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x07,0xf9,0x23,0xf8,0x23,0xf8,0x01,0x50,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,0x71,0x8c,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0xf7,0xbd,0x4d,0x83,0x02,0xa8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x01,0x60,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,0x34,0xa5,0xf7,0xbd,0xf7,0xbd,0x71,0x8c,0x00,0x00,0x00,0x00,0x01,0x48,0x02,0xa8,0x23,0xf8,0x23,0xf8,0x23,0xf8,0x23,0xf0,0x01,0x78,0x00,0x10,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,0x00,0x34,0xa5,0x71,0x8c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,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,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,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,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,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,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,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,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,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,0x00,0x00,0x00,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t img_wifi_disconnect = {
|
||||
.header = {
|
||||
.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.cf = LV_COLOR_FORMAT_RGB565,
|
||||
.flags = 0,
|
||||
.w = 32,
|
||||
.h = 32,
|
||||
.stride = 70,
|
||||
.reserved_2 = 0,
|
||||
},
|
||||
.data_size = sizeof(img_wifi_disconnect_map),
|
||||
.data = img_wifi_disconnect_map,
|
||||
.reserved = NULL,
|
||||
};
|
||||
136
components/ui/vars.c
Normal file
136
components/ui/vars.c
Normal file
@@ -0,0 +1,136 @@
|
||||
#include <string.h>
|
||||
#include "vars.h"
|
||||
|
||||
char air_temperature[100] = { 0 };
|
||||
|
||||
const char *get_var_air_temperature() {
|
||||
return air_temperature;
|
||||
}
|
||||
|
||||
void set_var_air_temperature(const char *value) {
|
||||
strncpy(air_temperature, value, sizeof(air_temperature) / sizeof(char));
|
||||
air_temperature[sizeof(air_temperature) / sizeof(char) - 1] = 0;
|
||||
}
|
||||
|
||||
char air_humidity[100] = { 0 };
|
||||
|
||||
const char *get_var_air_humidity() {
|
||||
return air_humidity;
|
||||
}
|
||||
|
||||
void set_var_air_humidity(const char *value) {
|
||||
strncpy(air_humidity, value, sizeof(air_humidity) / sizeof(char));
|
||||
air_humidity[sizeof(air_humidity) / sizeof(char) - 1] = 0;
|
||||
}
|
||||
|
||||
|
||||
char soil_moisture[100] = { 0 };
|
||||
|
||||
const char *get_var_soil_moisture() {
|
||||
return soil_moisture;
|
||||
}
|
||||
|
||||
void set_var_soil_moisture(const char *value) {
|
||||
strncpy(soil_moisture, value, sizeof(soil_moisture) / sizeof(char));
|
||||
soil_moisture[sizeof(soil_moisture) / sizeof(char) - 1] = 0;
|
||||
}
|
||||
|
||||
char light_intensity[100] = { 0 };
|
||||
|
||||
const char *get_var_light_intensity() {
|
||||
return light_intensity;
|
||||
}
|
||||
|
||||
void set_var_light_intensity(const char *value) {
|
||||
strncpy(light_intensity, value, sizeof(light_intensity) / sizeof(char));
|
||||
light_intensity[sizeof(light_intensity) / sizeof(char) - 1] = 0;
|
||||
}
|
||||
|
||||
bool wifi_disconnected;
|
||||
|
||||
bool get_var_wifi_disconnected() {
|
||||
return wifi_disconnected;
|
||||
}
|
||||
|
||||
void set_var_wifi_disconnected(bool value) {
|
||||
wifi_disconnected = value;
|
||||
}
|
||||
|
||||
|
||||
bool wifi_connected;
|
||||
|
||||
bool get_var_wifi_connected() {
|
||||
return wifi_connected;
|
||||
}
|
||||
|
||||
void set_var_wifi_connected(bool value) {
|
||||
wifi_connected = value;
|
||||
}
|
||||
|
||||
|
||||
bool mqtt_connected;
|
||||
|
||||
bool get_var_mqtt_connected() {
|
||||
return mqtt_connected;
|
||||
}
|
||||
|
||||
void set_var_mqtt_connected(bool value) {
|
||||
mqtt_connected = value;
|
||||
}
|
||||
|
||||
|
||||
bool mqtt_disconnected;
|
||||
|
||||
bool get_var_mqtt_disconnected() {
|
||||
return mqtt_disconnected;
|
||||
}
|
||||
|
||||
void set_var_mqtt_disconnected(bool value) {
|
||||
mqtt_disconnected = value;
|
||||
}
|
||||
|
||||
|
||||
char iot_net_info[100] = { 0 };
|
||||
|
||||
const char *get_var_iot_net_info() {
|
||||
return iot_net_info;
|
||||
}
|
||||
|
||||
void set_var_iot_net_info(const char *value) {
|
||||
strncpy(iot_net_info, value, sizeof(iot_net_info) / sizeof(char));
|
||||
iot_net_info[sizeof(iot_net_info) / sizeof(char) - 1] = 0;
|
||||
}
|
||||
|
||||
char sntp_time[100] = { 0 };
|
||||
|
||||
const char *get_var_sntp_time() {
|
||||
return sntp_time;
|
||||
}
|
||||
|
||||
void set_var_sntp_time(const char *value) {
|
||||
strncpy(sntp_time, value, sizeof(sntp_time) / sizeof(char));
|
||||
sntp_time[sizeof(sntp_time) / sizeof(char) - 1] = 0;
|
||||
}
|
||||
|
||||
char air_temp_num[100] = { 0 };
|
||||
|
||||
const char *get_var_air_temp_num() {
|
||||
return air_temp_num;
|
||||
}
|
||||
|
||||
void set_var_air_temp_num(const char *value) {
|
||||
strncpy(air_temp_num, value, sizeof(air_temp_num) / sizeof(char));
|
||||
air_temp_num[sizeof(air_temp_num) / sizeof(char) - 1] = 0;
|
||||
}
|
||||
|
||||
|
||||
char soil_mois_num[100] = { 0 };
|
||||
|
||||
const char *get_var_soil_mois_num() {
|
||||
return soil_mois_num;
|
||||
}
|
||||
|
||||
void set_var_soil_mois_num(const char *value) {
|
||||
strncpy(soil_mois_num, value, sizeof(soil_mois_num) / sizeof(char));
|
||||
soil_mois_num[sizeof(soil_mois_num) / sizeof(char) - 1] = 0;
|
||||
}
|
||||
61
components/ui/vars.h
Normal file
61
components/ui/vars.h
Normal file
@@ -0,0 +1,61 @@
|
||||
#ifndef EEZ_LVGL_UI_VARS_H
|
||||
#define EEZ_LVGL_UI_VARS_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// enum declarations
|
||||
|
||||
// Flow global variables
|
||||
|
||||
enum FlowGlobalVariables {
|
||||
FLOW_GLOBAL_VARIABLE_AIR_TEMPERATURE = 0,
|
||||
FLOW_GLOBAL_VARIABLE_AIR_HUMIDITY = 1,
|
||||
FLOW_GLOBAL_VARIABLE_SOIL_MOISTURE = 2,
|
||||
FLOW_GLOBAL_VARIABLE_LIGHT_INTENSITY = 3,
|
||||
FLOW_GLOBAL_VARIABLE_WIFI_DISCONNECTED = 4,
|
||||
FLOW_GLOBAL_VARIABLE_WIFI_CONNECTED = 5,
|
||||
FLOW_GLOBAL_VARIABLE_MQTT_DISCONNECTED = 6,
|
||||
FLOW_GLOBAL_VARIABLE_MQTT_CONNECTED = 7,
|
||||
FLOW_GLOBAL_VARIABLE_IOT_NET_INFO = 8,
|
||||
FLOW_GLOBAL_VARIABLE_SNTP_TIME = 9,
|
||||
FLOW_GLOBAL_VARIABLE_AIR_TEMP_NUM = 10,
|
||||
FLOW_GLOBAL_VARIABLE_SOIL_MOIS_NUM = 11
|
||||
};
|
||||
|
||||
// Native global variables
|
||||
|
||||
extern const char *get_var_air_temperature();
|
||||
extern void set_var_air_temperature(const char *value);
|
||||
extern const char *get_var_air_humidity();
|
||||
extern void set_var_air_humidity(const char *value);
|
||||
extern const char *get_var_soil_moisture();
|
||||
extern void set_var_soil_moisture(const char *value);
|
||||
extern const char *get_var_light_intensity();
|
||||
extern void set_var_light_intensity(const char *value);
|
||||
extern bool get_var_wifi_disconnected();
|
||||
extern void set_var_wifi_disconnected(bool value);
|
||||
extern bool get_var_wifi_connected();
|
||||
extern void set_var_wifi_connected(bool value);
|
||||
extern bool get_var_mqtt_disconnected();
|
||||
extern void set_var_mqtt_disconnected(bool value);
|
||||
extern bool get_var_mqtt_connected();
|
||||
extern void set_var_mqtt_connected(bool value);
|
||||
extern const char *get_var_iot_net_info();
|
||||
extern void set_var_iot_net_info(const char *value);
|
||||
extern const char *get_var_sntp_time();
|
||||
extern void set_var_sntp_time(const char *value);
|
||||
extern const char *get_var_air_temp_num();
|
||||
extern void set_var_air_temp_num(const char *value);
|
||||
extern const char *get_var_soil_mois_num();
|
||||
extern void set_var_soil_mois_num(const char *value);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*EEZ_LVGL_UI_VARS_H*/
|
||||
@@ -1,6 +1,13 @@
|
||||
idf_component_register(SRCS "main.c"
|
||||
idf_component_register(SRCS "main.cpp"
|
||||
"app_state.c"
|
||||
"wifi_manager.c"
|
||||
"sensors.c"
|
||||
"mqtt_manager.c"
|
||||
"time_alarm.c"
|
||||
|
||||
"peripherals.c"
|
||||
INCLUDE_DIRS "."
|
||||
PRIV_REQUIRES wifi-connect cjson nvs_flash lvgl_st7735s_use esp_driver_i2c esp_type_utils esp_timer espressif__servo esp_event esp_netif serial_mcu mqtt
|
||||
PRIV_REQUIRES wifi-connect ui cjson nvs_flash lvgl_st7789_use esp_driver_i2c esp_type_utils esp_timer espressif__servo esp_event esp_netif serial_mcu mqtt chiehmin__sgp30
|
||||
WHOLE_ARCHIVE
|
||||
)
|
||||
|
||||
|
||||
19
main/app_state.c
Normal file
19
main/app_state.c
Normal file
@@ -0,0 +1,19 @@
|
||||
#include "app_state.h"
|
||||
|
||||
/* Definitions of shared application state */
|
||||
SemaphoreHandle_t xSensorDataMutex = NULL;
|
||||
SemaphoreHandle_t xMqttMessageMutex = NULL;
|
||||
SemaphoreHandle_t xTimePeriodMutex = NULL;
|
||||
SemaphoreHandle_t xControlFlagMutex = NULL;
|
||||
|
||||
bool servo_control_flag = false;
|
||||
bool fan_control_flag = false;
|
||||
bool buzzer_control_flag = false;
|
||||
bool light_source_control_flag = false;
|
||||
uint8_t led_brightness_value = 0;
|
||||
bool led_backlight_on = false;
|
||||
|
||||
device_message_t g_device_message;
|
||||
float g_temperature_threshold = 28.0f;
|
||||
bool g_cooling_mode_enabled = false;
|
||||
bool g_high_temp_alerted = false;
|
||||
35
main/app_state.h
Normal file
35
main/app_state.h
Normal file
@@ -0,0 +1,35 @@
|
||||
#ifndef APP_STATE_H
|
||||
#define APP_STATE_H
|
||||
|
||||
#include "common.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern SemaphoreHandle_t xSensorDataMutex;
|
||||
extern SemaphoreHandle_t xMqttMessageMutex;
|
||||
extern SemaphoreHandle_t xTimePeriodMutex;
|
||||
extern SemaphoreHandle_t xControlFlagMutex;
|
||||
|
||||
extern bool servo_control_flag;
|
||||
extern bool fan_control_flag;
|
||||
extern bool buzzer_control_flag;
|
||||
extern bool light_source_control_flag;
|
||||
extern uint8_t led_brightness_value;
|
||||
extern bool led_backlight_on;
|
||||
|
||||
extern device_message_t g_device_message;
|
||||
extern float g_temperature_threshold;
|
||||
extern bool g_cooling_mode_enabled;
|
||||
extern bool g_high_temp_alerted;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // APP_STATE_H
|
||||
65
main/common.h
Normal file
65
main/common.h
Normal file
@@ -0,0 +1,65 @@
|
||||
// Common types shared across modules
|
||||
#ifndef COMMON_H
|
||||
#define COMMON_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
// 时间段类型
|
||||
typedef enum
|
||||
{
|
||||
TIME_PERIOD_DAY = 0,
|
||||
TIME_PERIOD_NIGHT = 1,
|
||||
} time_period_type_t;
|
||||
|
||||
// 设备状态结构体
|
||||
typedef struct
|
||||
{
|
||||
bool online;
|
||||
char current_mode[20];
|
||||
bool home_status;
|
||||
bool standby_mode;
|
||||
uint8_t error_code;
|
||||
bool auto_mode; // true=自动模式, false=手动模式
|
||||
} device_state_t;
|
||||
|
||||
// 遥测数据结构体
|
||||
typedef struct
|
||||
{
|
||||
float temperature;
|
||||
float humidity;
|
||||
float light_intensity;
|
||||
uint16_t co2_ppm;
|
||||
uint16_t tvoc_ppb;
|
||||
char curtain_state[10];
|
||||
char led_state[10];
|
||||
uint8_t led_power;
|
||||
char fan_state[10];
|
||||
char buzzer_state[10];
|
||||
} telemetry_data_t;
|
||||
|
||||
// 设备消息结构体
|
||||
typedef struct
|
||||
{
|
||||
char device_id[32];
|
||||
char device_type[32];
|
||||
uint64_t timestamp;
|
||||
device_state_t state;
|
||||
telemetry_data_t telemetry;
|
||||
} device_message_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// 时间段与降温模式函数声明
|
||||
void time_period_set(time_period_type_t period_type, uint8_t start_hour, uint8_t start_minute,
|
||||
uint8_t end_hour, uint8_t end_minute);
|
||||
void cooling_mode_save_to_nvs(void);
|
||||
void cooling_mode_load_from_nvs(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // COMMON_H
|
||||
2789
main/main.c
2789
main/main.c
File diff suppressed because it is too large
Load Diff
593
main/main.cpp
Normal file
593
main/main.cpp
Normal file
@@ -0,0 +1,593 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <math.h>
|
||||
#include <time.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "freertos/semphr.h"
|
||||
|
||||
#include "esp_system.h"
|
||||
#include "esp_event.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_err.h"
|
||||
#include "nvs_flash.h"
|
||||
#include "esp_netif.h"
|
||||
#include "esp_sntp.h"
|
||||
#include "esp_timer.h"
|
||||
|
||||
#include "mqtt_client.h"
|
||||
#include "cJSON.h"
|
||||
#include "esp_mac.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "driver/uart.h"
|
||||
#include "driver/ledc.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "sensors.h"
|
||||
#include "mqtt_manager.h"
|
||||
#include "wifi_manager.h"
|
||||
#include "peripherals.h"
|
||||
|
||||
#include "lvgl_st7789_use.h"
|
||||
#include "iot_servo.h"
|
||||
#include "time_alarm.h"
|
||||
#include "wifi-connect.h"
|
||||
#include "serial_mcu.h"
|
||||
#include "app_state.h"
|
||||
|
||||
#include "ui.h" // 使用EEZStudio提供的ui组件,便于后续扩展
|
||||
#include "esp_lvgl_port.h"
|
||||
#include "vars.h" // 定义全局变量接口
|
||||
|
||||
// 添加 extern "C" 包裹 C 头文件声明
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
// C 函数声明
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Forward declarations */
|
||||
static void mqtt_app_start(void);
|
||||
static void time_period_check_task(void *pvParameters);
|
||||
static void cooling_mode_task(void *pvParameters);
|
||||
|
||||
static const char *TAG = "main";
|
||||
/* 其他子模块在各自文件中定义 TAG,避免在 main 中重复定义未使用的 TAG */
|
||||
|
||||
/* 共享应用状态由 main/app_state.c 提供定义,使用 app_state.h 中的 extern 访问 */
|
||||
|
||||
/* 校准常量已迁移到 peripherals 模块 */
|
||||
|
||||
/* 简单遥测上报封装(暂为适配层) */
|
||||
static void update_telemetry_and_report(void)
|
||||
{
|
||||
mqtt_manager_publish_feedback();
|
||||
}
|
||||
|
||||
#define I2C_MASTER_SCL_IO 5 // GPIO number for I2C master clock
|
||||
#define I2C_MASTER_SDA_IO 4 // GPIO number for I2C master data
|
||||
#define I2C_MASTER_NUM I2C_NUM_0 // I2C port number for master dev
|
||||
#define I2C_MASTER_FREQ_HZ 100000 // I2C master clock frequency
|
||||
|
||||
// SERVO_GPIO defined in peripherals.h
|
||||
|
||||
// ========================= MQTT配置 =========================
|
||||
#define MQTT_BROKER_URL "mqtt://beihong.wang:1883" // MQTT代理URL,从menuconfig配置获取
|
||||
#define MQTT_USERNAME "esp_mqtt_client" // MQTT用户名
|
||||
#define MQTT_CLIENT_ID "esp_mqtt_client" // MQTT客户端ID
|
||||
#define MQTT_PASSWORD "664hd78gas97" // MQTT密码
|
||||
|
||||
// MQTT主题配置
|
||||
#define MQTT_PUBLISH_TOPIC_QOS0 "topic/sensor/esp32_iothome_001" // QoS0发布的主题
|
||||
#define MQTT_NOTIFY_TOPIC "topic/control/esp32_iothome_001" // 上层通知主题
|
||||
#define MQTT_UNSUBSCRIBE_TOPIC "topic/control/esp32_iothome_001" // 取消订阅的主题
|
||||
|
||||
// mqtt_publish_task moved to mqtt_manager.c
|
||||
|
||||
void mqtt_publish_feedback(void)
|
||||
{
|
||||
mqtt_manager_publish_feedback();
|
||||
}
|
||||
|
||||
// mqtt_event_handler moved to mqtt_manager.c
|
||||
|
||||
// mqtt_app_start now delegates to mqtt_manager_start
|
||||
static void mqtt_app_start(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "mqtt_app_start: delegating to mqtt_manager_start");
|
||||
esp_err_t err = mqtt_manager_start();
|
||||
if (err != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "mqtt_manager_start failed: %s", esp_err_to_name(err));
|
||||
}
|
||||
}
|
||||
|
||||
// ========================= HTTP服务器相关函数 =========================
|
||||
|
||||
// I2C句柄已在前面声明
|
||||
extern i2c_master_bus_handle_t bus_handle;
|
||||
extern i2c_master_dev_handle_t dev_handle;
|
||||
|
||||
// 舵机初始化函数
|
||||
// 舵机与外设控制由 peripherals 模块提供
|
||||
|
||||
static void rx_task(void *arg)
|
||||
{
|
||||
static const char *RX_TASK_TAG = "RX_TASK";
|
||||
esp_log_level_set(RX_TASK_TAG, ESP_LOG_INFO);
|
||||
uint8_t *data = (uint8_t *)malloc(1024 + 1);
|
||||
static uint8_t frame_buffer[256]; // 帧缓冲区
|
||||
static int frame_index = 0; // 帧索引
|
||||
|
||||
while (1)
|
||||
{
|
||||
const int rxBytes = uart_read_bytes(UART_NUM_1, data, 1024, 1000 / portTICK_PERIOD_MS);
|
||||
if (rxBytes > 0)
|
||||
{
|
||||
// 处理接收到的数据
|
||||
for (int i = 0; i < rxBytes; i++)
|
||||
{
|
||||
// 查找帧头 AA
|
||||
if (frame_index == 0 && data[i] == 0xAA)
|
||||
{
|
||||
frame_buffer[frame_index++] = data[i];
|
||||
}
|
||||
// 检查数据部分是否在01到06范围内
|
||||
else if (frame_index == 1 && data[i] >= 0x01 && data[i] <= 0x06)
|
||||
{
|
||||
frame_buffer[frame_index++] = data[i];
|
||||
}
|
||||
// 检查帧尾 55
|
||||
else if (frame_index == 2 && data[i] == 0x55)
|
||||
{
|
||||
frame_buffer[frame_index++] = data[i];
|
||||
|
||||
// 接收到完整帧 AA [01-06] 55
|
||||
ESP_LOGI(RX_TASK_TAG, "Valid frame received: AA 0x%02X 55", frame_buffer[1]);
|
||||
|
||||
// 解析按键状态
|
||||
uint8_t data_value = frame_buffer[1];
|
||||
|
||||
// 根据数据值解析按键状态
|
||||
switch (data_value)
|
||||
{
|
||||
case 0x01:
|
||||
ESP_LOGI(RX_TASK_TAG, "Key 1 pressed - LED toggle");
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
light_source_control_flag = !light_source_control_flag;
|
||||
led_brightness_value = light_source_control_flag ? 100 : 0;
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
ESP_LOGI(RX_TASK_TAG, "LED light: %s (brightness=%d)",
|
||||
light_source_control_flag ? "ON" : "OFF", led_brightness_value);
|
||||
mqtt_manager_publish_feedback();
|
||||
break;
|
||||
case 0x02:
|
||||
ESP_LOGI(RX_TASK_TAG, "Key 2 pressed - Fan toggle");
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
fan_control_flag = !fan_control_flag;
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
ESP_LOGI(RX_TASK_TAG, "Fan: %s", fan_control_flag ? "ON" : "OFF");
|
||||
mqtt_manager_publish_feedback();
|
||||
break;
|
||||
case 0x03:
|
||||
ESP_LOGI(RX_TASK_TAG, "Key 3 pressed - Curtain toggle");
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
servo_control_flag = !servo_control_flag;
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
ESP_LOGI(RX_TASK_TAG, "Curtain: %s", servo_control_flag ? "OPEN" : "CLOSE");
|
||||
mqtt_manager_publish_feedback();
|
||||
break;
|
||||
case 0x04:
|
||||
ESP_LOGI(RX_TASK_TAG, "Key 4 pressed - Buzzer toggle");
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
buzzer_control_flag = !buzzer_control_flag;
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
ESP_LOGI(RX_TASK_TAG, "Buzzer: %s", buzzer_control_flag ? "ON" : "OFF");
|
||||
mqtt_manager_publish_feedback();
|
||||
break;
|
||||
case 0x05:
|
||||
ESP_LOGI(RX_TASK_TAG, "Key 5 pressed - Backlight toggle");
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
led_backlight_on = !led_backlight_on;
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
ESP_LOGI(RX_TASK_TAG, "LCD Backlight: %s", led_backlight_on ? "ON" : "OFF");
|
||||
mqtt_manager_publish_feedback();
|
||||
break;
|
||||
case 0x06:
|
||||
ESP_LOGI(RX_TASK_TAG, "Key 6 pressed");
|
||||
// ui_toggle_page(); // 翻页
|
||||
break;
|
||||
default:
|
||||
ESP_LOGI(RX_TASK_TAG, "Unknown key value: 0x%02X", data_value);
|
||||
break;
|
||||
}
|
||||
|
||||
frame_index = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
frame_index = 0;
|
||||
if (data[i] == 0xAA)
|
||||
{
|
||||
frame_buffer[frame_index++] = data[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
free(data);
|
||||
}
|
||||
|
||||
// void initialize_nvs()
|
||||
// {
|
||||
// esp_err_t ret = nvs_flash_init(); // 初始化NVS, 并检查是否需要擦除NVS
|
||||
// if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND)
|
||||
// {
|
||||
// ESP_ERROR_CHECK(nvs_flash_erase());
|
||||
// ret = nvs_flash_init();
|
||||
// }
|
||||
// ESP_ERROR_CHECK(ret);
|
||||
// }
|
||||
/**
|
||||
* @brief UI 任务函数
|
||||
*
|
||||
* 负责定期驱动 UI 刷新。
|
||||
*
|
||||
* @param arg 任务参数(未使用)
|
||||
*/
|
||||
static void ui_task(void *arg)
|
||||
{
|
||||
(void)arg;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
lvgl_port_lock(0);
|
||||
ui_tick();
|
||||
|
||||
lvgl_port_unlock();
|
||||
vTaskDelay(pdMS_TO_TICKS(20));
|
||||
}
|
||||
}
|
||||
|
||||
/* 外设控制逻辑已迁移到 peripherals 模块(main/peripherals.c),
|
||||
在此文件中不再实现 `peripheral_control_task` 与 `init_gpio_output`。
|
||||
main.c 通过包含 peripherals.h 并在 app_main 中调用 `peripherals_init()`
|
||||
与 `xTaskCreate(peripheral_control_task, ...)` 来使用该任务。 */
|
||||
|
||||
/* 闹钟逻辑已迁移到 time_alarm 模块 (main/time_alarm.c) */
|
||||
|
||||
// 添加 extern "C" 包裹 app_main 函数
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
void app_main(void)
|
||||
{
|
||||
// esp_log_level_set("*", ESP_LOG_INFO);
|
||||
// esp_log_level_set("mqtt_client", ESP_LOG_VERBOSE);
|
||||
// esp_log_level_set("mqtt_example", ESP_LOG_VERBOSE);
|
||||
// esp_log_level_set("transport_base", ESP_LOG_VERBOSE);
|
||||
// esp_log_level_set("esp-tls", ESP_LOG_VERBOSE);
|
||||
// esp_log_level_set("transport", ESP_LOG_VERBOSE);
|
||||
// esp_log_level_set("outbox", ESP_LOG_VERBOSE);
|
||||
// esp_log_level_set("dhcps", ESP_LOG_DEBUG);
|
||||
// esp_log_level_set("esp_netif", ESP_LOG_DEBUG);
|
||||
// esp_log_level_set("esp_netif_lwip", ESP_LOG_DEBUG);
|
||||
// esp_log_level_set("wifi", ESP_LOG_DEBUG);
|
||||
esp_log_level_set("mqtt_manager", ESP_LOG_DEBUG);
|
||||
|
||||
// 设置时区为北京时间 (CST-8)
|
||||
setenv("TZ", "CST-8", 1);
|
||||
tzset();
|
||||
|
||||
// 初始化 Wi-Fi 配网组件,支持长按按键进入配网
|
||||
ESP_ERROR_CHECK(wifi_connect_init());
|
||||
printf("设备启动完成:进入配网模式,手机连接 ESP32-* 后访问 http://192.168.4.1\n");
|
||||
|
||||
// 初始化模块骨架(stub),保持与现有流程兼容
|
||||
ESP_ERROR_CHECK(wifi_manager_init());
|
||||
// mqtt_manager_init 为骨架占位,实际 MQTT 启动仍由原有 mqtt_app_start
|
||||
ESP_ERROR_CHECK(mqtt_manager_init());
|
||||
|
||||
// 启动 LVGL 演示程序,显示简单的界面
|
||||
ESP_ERROR_CHECK(start_lvgl_demo());
|
||||
|
||||
// 初始化 UI 组件(需在 LVGL 锁内进行对象创建)
|
||||
lvgl_port_lock(0);
|
||||
ui_init();
|
||||
lvgl_port_unlock();
|
||||
|
||||
BaseType_t ui_task_ok = xTaskCreate(ui_task, "ui_task", 4096, NULL, 5, NULL);
|
||||
ESP_ERROR_CHECK(ui_task_ok == pdPASS ? ESP_OK : ESP_FAIL);
|
||||
// 连接WIFI
|
||||
// ESP_ERROR_CHECK(example_connect());
|
||||
|
||||
// // Print out Access Point Information
|
||||
// wifi_ap_record_t ap_info;
|
||||
// ESP_ERROR_CHECK(esp_wifi_sta_get_ap_info(&ap_info));
|
||||
// ESP_LOGI(TAG, "--- Access Point Information ---");
|
||||
// ESP_LOG_BUFFER_HEX("MAC Address", ap_info.bssid, sizeof(ap_info.bssid));
|
||||
// ESP_LOG_BUFFER_CHAR("SSID", ap_info.ssid, sizeof(ap_info.ssid));
|
||||
// ESP_LOGI(TAG, "Primary Channel: %d", ap_info.primary);
|
||||
// ESP_LOGI(TAG, "RSSI: %d", ap_info.rssi);
|
||||
|
||||
// 初始化I2C总线
|
||||
ESP_ERROR_CHECK(i2c_master_init());
|
||||
|
||||
// 创建互斥锁
|
||||
xSensorDataMutex = xSemaphoreCreateMutex();
|
||||
if (xSensorDataMutex == NULL)
|
||||
{
|
||||
ESP_LOGE(TAG, "创建传感器数据互斥锁失败");
|
||||
}
|
||||
|
||||
// 添加MQTT消息互斥锁
|
||||
xMqttMessageMutex = xSemaphoreCreateMutex();
|
||||
if (xMqttMessageMutex == NULL)
|
||||
{
|
||||
ESP_LOGE(TAG, "创建MQTT消息互斥锁失败");
|
||||
}
|
||||
|
||||
// 创建时间段配置互斥锁
|
||||
xTimePeriodMutex = xSemaphoreCreateMutex();
|
||||
if (xTimePeriodMutex == NULL)
|
||||
{
|
||||
ESP_LOGE(TAG, "创建时间段配置互斥锁失败");
|
||||
}
|
||||
|
||||
// 创建控制标志互斥锁
|
||||
xControlFlagMutex = xSemaphoreCreateMutex();
|
||||
if (xControlFlagMutex == NULL)
|
||||
{
|
||||
ESP_LOGE(TAG, "创建控制标志互斥锁失败");
|
||||
}
|
||||
|
||||
// 初始化外设与模块(stub),sensor 需在 I2C 与互斥锁初始化后进行
|
||||
ESP_ERROR_CHECK(peripherals_init());
|
||||
ESP_ERROR_CHECK(sensors_init());
|
||||
ESP_ERROR_CHECK(time_alarm_init());
|
||||
|
||||
// 初始化舵机
|
||||
servo_init();
|
||||
|
||||
// GPIO输出初始化(风扇控制)
|
||||
init_gpio_output();
|
||||
|
||||
// MCU间的串口通信初始化
|
||||
serial_mcu_init();
|
||||
|
||||
mqtt_app_start(); // 启动 MQTT 客户端
|
||||
ESP_ERROR_CHECK(time_alarm_start());
|
||||
// 创建时间段检查任务
|
||||
xTaskCreate(time_period_check_task, "time_period_task", 4096, NULL, 5, NULL);
|
||||
// 创建降温模式任务
|
||||
xTaskCreate(cooling_mode_task, "cooling_mode_task", 4096, NULL, 5, NULL);
|
||||
// 自动通风与 MQ135 相关任务已移除
|
||||
// xTaskCreate(ventilation_mode_task, "ventilation_mode_task", 4096, NULL, 5, NULL);
|
||||
// xTaskCreate(mq135_task, "mq135_task", 4096, NULL, 5, NULL);
|
||||
// 创建外设控制任务
|
||||
xTaskCreate(peripheral_control_task, "peripheral_control_task", 4096, NULL, 5, NULL);
|
||||
|
||||
// 传感器任务由 sensors_init() 启动
|
||||
// 创建接收任务
|
||||
xTaskCreate(rx_task, "uart_rx_task", 4096, NULL, configMAX_PRIORITIES - 1, NULL);
|
||||
|
||||
while (1)
|
||||
{
|
||||
// 定期打印传感器数据
|
||||
print_sensor_data();
|
||||
vTaskDelay(5000 / portTICK_PERIOD_MS);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief 降温模式任务
|
||||
* 监测温度,当温度超过阈值时自动开启风扇
|
||||
* 当温度超过35°C时触发高温提醒
|
||||
*/
|
||||
static void cooling_mode_task(void *pvParameters)
|
||||
{
|
||||
ESP_LOGI(TAG, "Cooling mode task started");
|
||||
|
||||
// 从NVS加载配置
|
||||
cooling_mode_load_from_nvs();
|
||||
|
||||
// 高温阈值
|
||||
const float HIGH_TEMP_THRESHOLD = 48.0f;
|
||||
|
||||
while (1)
|
||||
{
|
||||
if (g_cooling_mode_enabled)
|
||||
{
|
||||
float current_temp = 0;
|
||||
bool temp_valid = false;
|
||||
|
||||
// 获取当前温度
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
current_temp = g_sensor_data.temperature;
|
||||
temp_valid = g_sensor_data.ahtxx_valid;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
|
||||
if (temp_valid)
|
||||
{
|
||||
// 降温模式:温度超过阈值,开启风扇
|
||||
if (current_temp > g_temperature_threshold)
|
||||
{
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
if (!fan_control_flag)
|
||||
{
|
||||
fan_control_flag = true;
|
||||
ESP_LOGI(TAG, "Temperature %.1f°C > %.1f°C, cooling mode: Fan ON",
|
||||
current_temp, g_temperature_threshold);
|
||||
update_telemetry_and_report();
|
||||
}
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
}
|
||||
// 温度恢复到阈值以下,关闭风扇
|
||||
else if (current_temp < (g_temperature_threshold - 1.0f)) // 添加1°C的滞后,防止频繁切换
|
||||
{
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
if (fan_control_flag)
|
||||
{
|
||||
fan_control_flag = false;
|
||||
ESP_LOGI(TAG, "Temperature %.1f°C < %.1f°C, cooling mode: Fan OFF",
|
||||
current_temp, g_temperature_threshold - 1.0f);
|
||||
update_telemetry_and_report();
|
||||
}
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
}
|
||||
|
||||
// 高温提醒:温度超过35°C
|
||||
if (current_temp > HIGH_TEMP_THRESHOLD)
|
||||
{
|
||||
if (!g_high_temp_alerted)
|
||||
{
|
||||
g_high_temp_alerted = true;
|
||||
|
||||
// 蜂鸣器发出高温提示音
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
buzzer_control_flag = true;
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
|
||||
ESP_LOGW(TAG, "High temperature alert: %.1f°C (>40°C)", current_temp);
|
||||
|
||||
// 发送MQTT提醒消息
|
||||
if (g_mqtt_client != NULL)
|
||||
{
|
||||
cJSON *root = cJSON_CreateObject();
|
||||
cJSON_AddStringToObject(root, "type", "device_message");
|
||||
cJSON_AddStringToObject(root, "device_id", g_device_message.device_id);
|
||||
cJSON_AddStringToObject(root, "device_type", g_device_message.device_type);
|
||||
cJSON_AddStringToObject(root, "message_type", "high_temp_alert");
|
||||
|
||||
cJSON *data_obj = cJSON_CreateObject();
|
||||
cJSON_AddStringToObject(data_obj, "alert", "温度过高请注意通风");
|
||||
cJSON_AddNumberToObject(data_obj, "temperature", roundf(current_temp * 10) / 10);
|
||||
cJSON_AddItemToObject(root, "data", data_obj);
|
||||
|
||||
char *json_message = cJSON_Print(root);
|
||||
if (json_message)
|
||||
{
|
||||
esp_mqtt_client_publish(g_mqtt_client, MQTT_PUBLISH_TOPIC_QOS0, json_message, 0, 0, 0);
|
||||
ESP_LOGI(TAG, "High temp alert sent: %s", json_message);
|
||||
free(json_message);
|
||||
}
|
||||
cJSON_Delete(root);
|
||||
}
|
||||
update_telemetry_and_report();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 温度恢复正常,重置高温提醒标志
|
||||
if (g_high_temp_alerted)
|
||||
{
|
||||
g_high_temp_alerted = false;
|
||||
// 关闭高温提醒蜂鸣器
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
buzzer_control_flag = false;
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
ESP_LOGI(TAG, "Temperature normalized: %.1f°C, reset high temp alert", current_temp);
|
||||
update_telemetry_and_report();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 每5秒检查一次
|
||||
vTaskDelay(pdMS_TO_TICKS(5000));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 自动通风控制模式任务
|
||||
* 监测空气质量,当空气质量大于50时自动开启风扇并发送提醒
|
||||
*/
|
||||
/* ventilation_mode_task 已移除,保留 README 文档说明,不再在代码中保留未使用的静态函数 */
|
||||
|
||||
// MQ135 task removed; provide a short stub to avoid undefined references
|
||||
void mq135_task(void *pvParameters)
|
||||
{
|
||||
ESP_LOGI("mq135_task", "mq135 task removed");
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
// Remaining MQ135 implementation removed
|
||||
|
||||
/* ----------------- 时间段与降温模式的最小存根实现 ----------------- */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
void cooling_mode_save_to_nvs(void)
|
||||
{
|
||||
// TODO: 实现 NVS 存储,目前为最小存根
|
||||
}
|
||||
|
||||
void cooling_mode_load_from_nvs(void)
|
||||
{
|
||||
// TODO: 从 NVS 加载设置。目前使用默认值
|
||||
g_cooling_mode_enabled = false;
|
||||
g_temperature_threshold = 28.0f;
|
||||
}
|
||||
|
||||
void time_period_set(time_period_type_t period_type, uint8_t start_hour, uint8_t start_minute,
|
||||
uint8_t end_hour, uint8_t end_minute)
|
||||
{
|
||||
// TODO: 保存时间段设置或通知其他模块。当前为占位实现。
|
||||
(void)period_type;
|
||||
(void)start_hour;
|
||||
(void)start_minute;
|
||||
(void)end_hour;
|
||||
(void)end_minute;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
static void time_period_check_task(void *pvParameters)
|
||||
{
|
||||
(void)pvParameters;
|
||||
while (1)
|
||||
{
|
||||
// 占位:以后在此检查时间段并执行对应操作
|
||||
vTaskDelay(pdMS_TO_TICKS(10000));
|
||||
}
|
||||
}
|
||||
1030
main/mqtt_manager.c
Normal file
1030
main/mqtt_manager.c
Normal file
File diff suppressed because it is too large
Load Diff
23
main/mqtt_manager.h
Normal file
23
main/mqtt_manager.h
Normal file
@@ -0,0 +1,23 @@
|
||||
#ifndef MQTT_MANAGER_H
|
||||
#define MQTT_MANAGER_H
|
||||
|
||||
#include "esp_err.h"
|
||||
#include "mqtt_client.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern esp_mqtt_client_handle_t g_mqtt_client;
|
||||
|
||||
esp_err_t mqtt_manager_init(void);
|
||||
esp_err_t mqtt_manager_start(void);
|
||||
esp_err_t mqtt_manager_stop(void);
|
||||
void mqtt_manager_publish_feedback(void);
|
||||
void mqtt_manager_publish_alarm_status(int alarm_idx, const char *alarm_status, bool triggered);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // MQTT_MANAGER_H
|
||||
204
main/peripherals.c
Normal file
204
main/peripherals.c
Normal file
@@ -0,0 +1,204 @@
|
||||
#include "peripherals.h"
|
||||
#include "esp_log.h"
|
||||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "driver/ledc.h"
|
||||
#include "iot_servo.h"
|
||||
#include "app_state.h"
|
||||
#include "lvgl_st7789_use.h"
|
||||
#include "mqtt_manager.h"
|
||||
#include "serial_mcu.h"
|
||||
|
||||
static const char *TAG = "peripherals";
|
||||
|
||||
void init_gpio_output(void)
|
||||
{
|
||||
gpio_config_t io_conf = {
|
||||
.pin_bit_mask = 1ULL << GPIO_NUM_1,
|
||||
.mode = GPIO_MODE_OUTPUT,
|
||||
.pull_up_en = 0,
|
||||
.pull_down_en = 1,
|
||||
.intr_type = GPIO_INTR_DISABLE};
|
||||
gpio_config(&io_conf);
|
||||
}
|
||||
|
||||
static const uint16_t calibration_value_0 = 0;
|
||||
static const uint16_t calibration_value_180 = 180;
|
||||
|
||||
void servo_init(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "初始化舵机控制");
|
||||
servo_config_t servo_cfg = {
|
||||
.max_angle = 180,
|
||||
.min_width_us = 500,
|
||||
.max_width_us = 2500,
|
||||
.freq = 50,
|
||||
.timer_number = LEDC_TIMER_0,
|
||||
.channels = {
|
||||
.servo_pin = {
|
||||
SERVO_GPIO,
|
||||
},
|
||||
.ch = {
|
||||
LEDC_CHANNEL_0,
|
||||
},
|
||||
},
|
||||
.channel_number = 1,
|
||||
};
|
||||
|
||||
esp_err_t ret = iot_servo_init(LEDC_LOW_SPEED_MODE, &servo_cfg);
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "舵机初始化失败: %s", esp_err_to_name(ret));
|
||||
}
|
||||
else
|
||||
{
|
||||
ESP_LOGI(TAG, "舵机初始化成功");
|
||||
}
|
||||
}
|
||||
|
||||
void servo_set_angle(uint16_t angle)
|
||||
{
|
||||
if (angle < calibration_value_0)
|
||||
{
|
||||
angle = calibration_value_0;
|
||||
}
|
||||
else if (angle > calibration_value_180)
|
||||
{
|
||||
angle = calibration_value_180;
|
||||
}
|
||||
iot_servo_write_angle(LEDC_LOW_SPEED_MODE, 0, angle);
|
||||
ESP_LOGI(TAG, "舵机角度设置为: %d", angle);
|
||||
}
|
||||
|
||||
void peripheral_control_task(void *pvParameters)
|
||||
{
|
||||
(void)pvParameters;
|
||||
for (;;)
|
||||
{
|
||||
|
||||
static bool last_led_backlight_on = false;
|
||||
static bool backlight_first_run = true;
|
||||
|
||||
if (backlight_first_run)
|
||||
{
|
||||
last_led_backlight_on = !led_backlight_on;
|
||||
backlight_first_run = false;
|
||||
}
|
||||
|
||||
if (led_backlight_on != last_led_backlight_on)
|
||||
{
|
||||
if (led_backlight_on == false)
|
||||
{
|
||||
gpio_set_level(EXAMPLE_LCD_GPIO_BL, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
gpio_set_level(EXAMPLE_LCD_GPIO_BL, 1);
|
||||
}
|
||||
last_led_backlight_on = led_backlight_on;
|
||||
}
|
||||
|
||||
static bool last_servo_control_flag = false;
|
||||
static bool first_run = true;
|
||||
|
||||
if (first_run)
|
||||
{
|
||||
last_servo_control_flag = !servo_control_flag;
|
||||
first_run = false;
|
||||
}
|
||||
|
||||
if (servo_control_flag != last_servo_control_flag)
|
||||
{
|
||||
if (servo_control_flag == false)
|
||||
{
|
||||
servo_set_angle(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
servo_set_angle(180);
|
||||
}
|
||||
mqtt_manager_publish_feedback();
|
||||
last_servo_control_flag = servo_control_flag;
|
||||
}
|
||||
|
||||
static bool last_fan_control_flag = false;
|
||||
static bool fan_first_run = true;
|
||||
|
||||
if (fan_first_run)
|
||||
{
|
||||
last_fan_control_flag = !fan_control_flag;
|
||||
fan_first_run = false;
|
||||
}
|
||||
|
||||
if (fan_control_flag != last_fan_control_flag)
|
||||
{
|
||||
if (fan_control_flag == false)
|
||||
{
|
||||
gpio_set_level(GPIO_NUM_1, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
gpio_set_level(GPIO_NUM_1, 1);
|
||||
}
|
||||
mqtt_manager_publish_feedback();
|
||||
last_fan_control_flag = fan_control_flag;
|
||||
}
|
||||
|
||||
static bool last_buzzer_control_flag = false;
|
||||
static bool buzzer_first_run = true;
|
||||
|
||||
if (buzzer_first_run)
|
||||
{
|
||||
last_buzzer_control_flag = !buzzer_control_flag;
|
||||
buzzer_first_run = false;
|
||||
}
|
||||
|
||||
if (buzzer_control_flag != last_buzzer_control_flag)
|
||||
{
|
||||
if (buzzer_control_flag == false)
|
||||
{
|
||||
sendControlFrame(0x02, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
sendControlFrame(0x02, 1);
|
||||
}
|
||||
mqtt_manager_publish_feedback();
|
||||
last_buzzer_control_flag = buzzer_control_flag;
|
||||
}
|
||||
|
||||
static uint8_t last_led_brightness_value = 0;
|
||||
static bool led_first_run = true;
|
||||
|
||||
if (led_first_run)
|
||||
{
|
||||
last_led_brightness_value = !led_brightness_value;
|
||||
led_first_run = false;
|
||||
}
|
||||
|
||||
if (led_brightness_value != last_led_brightness_value)
|
||||
{
|
||||
sendControlFrame(0x01, led_brightness_value);
|
||||
ESP_LOGI(TAG, "LED brightness updated to %d", led_brightness_value);
|
||||
mqtt_manager_publish_feedback();
|
||||
last_led_brightness_value = led_brightness_value;
|
||||
}
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
}
|
||||
}
|
||||
|
||||
esp_err_t peripherals_init(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "peripherals_init");
|
||||
|
||||
/* 初始化 GPIO 输出(风扇、背光等)和舵机 */
|
||||
init_gpio_output();
|
||||
servo_init();
|
||||
|
||||
/* 未来可在此添加其他外设初始化(如 ADC、PWM、RMT 等) */
|
||||
return ESP_OK;
|
||||
}
|
||||
25
main/peripherals.h
Normal file
25
main/peripherals.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef PERIPHERALS_H
|
||||
#define PERIPHERALS_H
|
||||
#include "esp_err.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define SERVO_GPIO (10)
|
||||
|
||||
esp_err_t peripherals_init(void);
|
||||
|
||||
/* Peripheral control task (created from main.c) */
|
||||
void peripheral_control_task(void *pvParameters);
|
||||
|
||||
/* GPIO and servo helpers */
|
||||
void init_gpio_output(void);
|
||||
void servo_init(void);
|
||||
void servo_set_angle(uint16_t angle);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // PERIPHERALS_H
|
||||
298
main/sensors.c
Normal file
298
main/sensors.c
Normal file
@@ -0,0 +1,298 @@
|
||||
#include "sensors.h"
|
||||
#include "esp_log.h"
|
||||
#include "ahtxx.h"
|
||||
#include "bh1750.h"
|
||||
#include "sgp30/sgp30.h"
|
||||
#include "driver/i2c_master.h"
|
||||
|
||||
|
||||
static const char *TAG = "sensors";
|
||||
|
||||
// 实际全局变量定义(从 main.c 抽取到这里)
|
||||
sensor_data_t g_sensor_data = {0};
|
||||
i2c_master_bus_handle_t bus_handle = NULL;
|
||||
i2c_master_dev_handle_t dev_handle = NULL;
|
||||
|
||||
esp_err_t i2c_master_init(void)
|
||||
{
|
||||
/* 如果本地已有句柄,直接返回(避免重复初始化) */
|
||||
if (bus_handle != NULL)
|
||||
{
|
||||
ESP_LOGI(TAG, "I2C bus already initialized (local handle)");
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
/* 优先尝试获取已有的总线句柄(其它模块可能已初始化) */
|
||||
esp_err_t ret = i2c_master_get_bus_handle(I2C_MASTER_NUM, &bus_handle);
|
||||
if (ret == ESP_OK)
|
||||
{
|
||||
ESP_LOGI(TAG, "I2C bus already initialized (existing handle)");
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
/* 如果不是未初始化的常见返回(ESP_ERR_INVALID_STATE),记录警告并尝试创建 */
|
||||
if (ret != ESP_ERR_INVALID_STATE && ret != ESP_ERR_INVALID_ARG)
|
||||
{
|
||||
ESP_LOGW(TAG, "i2c_master_get_bus_handle returned %s, will try to create new bus", esp_err_to_name(ret));
|
||||
}
|
||||
|
||||
i2c_master_bus_config_t i2c_mst_config = {
|
||||
.clk_source = I2C_CLK_SRC_DEFAULT,
|
||||
.i2c_port = I2C_MASTER_NUM,
|
||||
.scl_io_num = I2C_MASTER_SCL_IO,
|
||||
.sda_io_num = I2C_MASTER_SDA_IO,
|
||||
.glitch_ignore_cnt = 7,
|
||||
.flags.enable_internal_pullup = true,
|
||||
};
|
||||
|
||||
ret = i2c_new_master_bus(&i2c_mst_config, &bus_handle);
|
||||
if (ret == ESP_OK)
|
||||
{
|
||||
ESP_LOGI(TAG, "I2C master bus initialized successfully");
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
/* 若创建失败且是已被占用的状态,再次尝试取句柄(防止竞态) */
|
||||
if (ret == ESP_ERR_INVALID_STATE)
|
||||
{
|
||||
esp_err_t get_ret = i2c_master_get_bus_handle(I2C_MASTER_NUM, &bus_handle);
|
||||
if (get_ret == ESP_OK)
|
||||
{
|
||||
ESP_LOGW(TAG, "I2C bus already acquired by other module; obtained existing handle");
|
||||
return ESP_OK;
|
||||
}
|
||||
ESP_LOGE(TAG, "i2c_new_master_bus failed and get_bus_handle also failed: %s / %s", esp_err_to_name(ret), esp_err_to_name(get_ret));
|
||||
return get_ret;
|
||||
}
|
||||
|
||||
ESP_LOGE(TAG, "i2c_new_master_bus failed: %s", esp_err_to_name(ret));
|
||||
return ret;
|
||||
}
|
||||
|
||||
void i2c0_ahtxx_task(void *pvParameters)
|
||||
{
|
||||
(void)pvParameters;
|
||||
ahtxx_config_t ahtxx_config = I2C_AHT30_CONFIG_DEFAULT;
|
||||
ahtxx_handle_t ahtxx_handle = NULL;
|
||||
|
||||
esp_err_t ret = ahtxx_init(bus_handle, &ahtxx_config, &ahtxx_handle);
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "AHTxx init failed, sensor invalid, err=0x%x", ret);
|
||||
while (1)
|
||||
{
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
g_sensor_data.ahtxx_valid = false;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
vTaskDelay(pdMS_TO_TICKS(5000));
|
||||
}
|
||||
}
|
||||
|
||||
float temperature, humidity;
|
||||
while (1)
|
||||
{
|
||||
ret = ahtxx_get_measurement(ahtxx_handle, &temperature, &humidity);
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "AHTxx read failed, err=0x%x", ret);
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
g_sensor_data.ahtxx_valid = false;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
g_sensor_data.temperature = temperature;
|
||||
g_sensor_data.humidity = humidity;
|
||||
g_sensor_data.ahtxx_valid = true;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "AHTxx: temperature=%.1f°C, humidity=%.1f%%", temperature, humidity);
|
||||
}
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(5000));
|
||||
}
|
||||
}
|
||||
|
||||
void i2c0_bh1750_task(void *pvParameters)
|
||||
{
|
||||
(void)pvParameters;
|
||||
bh1750_handle_t bh1750_handle = NULL;
|
||||
|
||||
// 使用默认地址创建 BH1750 设备
|
||||
esp_err_t ret = bh1750_create(bus_handle, BH1750_I2C_ADDRESS_DEFAULT, &bh1750_handle);
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "BH1750 create failed, sensor invalid, err=0x%x", ret);
|
||||
while (1)
|
||||
{
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
g_sensor_data.bh1750_valid = false;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
vTaskDelay(pdMS_TO_TICKS(5000));
|
||||
}
|
||||
}
|
||||
|
||||
// 设置测量模式为连续高分辨率模式
|
||||
ret = bh1750_set_measure_mode(bh1750_handle, BH1750_CONTINUE_1LX_RES);
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "BH1750 set measure mode failed, err=0x%x", ret);
|
||||
}
|
||||
|
||||
// 上电
|
||||
ret = bh1750_power_on(bh1750_handle);
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "BH1750 power on failed, err=0x%x", ret);
|
||||
}
|
||||
|
||||
float lux;
|
||||
while (1)
|
||||
{
|
||||
ret = bh1750_get_data(bh1750_handle, &lux);
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "BH1750 read failed, err=0x%x", ret);
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
g_sensor_data.bh1750_valid = false;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
g_sensor_data.lux = lux;
|
||||
g_sensor_data.bh1750_valid = true;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "BH1750: illuminance=%.1f lux", lux);
|
||||
}
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(5000));
|
||||
}
|
||||
}
|
||||
|
||||
void i2c0_sgp30_task(void *pvParameters)
|
||||
{
|
||||
(void)pvParameters;
|
||||
|
||||
// SGP30 配置
|
||||
sgp30_config_t sgp30_config = {
|
||||
.i2c_master_port = I2C_MASTER_NUM,
|
||||
.i2c_address = 0x58, // SGP30 默认地址
|
||||
};
|
||||
|
||||
// 初始化 SGP30
|
||||
esp_err_t ret = sgp30_init(&sgp30_config);
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "SGP30 init failed, err=0x%x", ret);
|
||||
while (1)
|
||||
{
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
g_sensor_data.sgp30_valid = false;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
vTaskDelay(pdMS_TO_TICKS(5000));
|
||||
}
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "SGP30 initialized successfully");
|
||||
|
||||
uint16_t co2_ppm, tvoc_ppb;
|
||||
while (1)
|
||||
{
|
||||
ret = sgp30_read_measurements(&co2_ppm, &tvoc_ppb);
|
||||
if (ret != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "SGP30 read failed, err=0x%x", ret);
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
g_sensor_data.sgp30_valid = false;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
g_sensor_data.co2_ppm = co2_ppm;
|
||||
g_sensor_data.tvoc_ppb = tvoc_ppb;
|
||||
g_sensor_data.sgp30_valid = true;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "SGP30: CO2=%d ppm, TVOC=%d ppb", co2_ppm, tvoc_ppb);
|
||||
}
|
||||
|
||||
// SGP30 建议每秒读取一次
|
||||
vTaskDelay(pdMS_TO_TICKS(1000));
|
||||
}
|
||||
}
|
||||
|
||||
void get_sensor_data(sensor_data_t *data)
|
||||
{
|
||||
if (data != NULL)
|
||||
{
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
*data = g_sensor_data;
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print_sensor_data(void)
|
||||
{
|
||||
if (xSensorDataMutex != NULL && xSemaphoreTake(xSensorDataMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
// 传感器日志已移除,保持占位
|
||||
xSemaphoreGive(xSensorDataMutex);
|
||||
}
|
||||
}
|
||||
|
||||
esp_err_t sensors_init(void)
|
||||
{
|
||||
esp_err_t err = i2c_master_init();
|
||||
if (err != ESP_OK)
|
||||
{
|
||||
ESP_LOGW(TAG, "i2c_master_init failed: %s", esp_err_to_name(err));
|
||||
return err;
|
||||
}
|
||||
|
||||
BaseType_t ok = xTaskCreate(i2c0_ahtxx_task, "i2c0_ahtxx_task", 4096, NULL, 5, NULL);
|
||||
if (ok != pdPASS)
|
||||
{
|
||||
return ESP_ERR_NO_MEM;
|
||||
}
|
||||
ok = xTaskCreate(i2c0_bh1750_task, "i2c0_bh1750_task", 4096, NULL, 5, NULL);
|
||||
if (ok != pdPASS)
|
||||
{
|
||||
return ESP_ERR_NO_MEM;
|
||||
}
|
||||
ok = xTaskCreate(i2c0_sgp30_task, "i2c0_sgp30_task", 4096, NULL, 5, NULL);
|
||||
if (ok != pdPASS)
|
||||
{
|
||||
return ESP_ERR_NO_MEM;
|
||||
}
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t sensors_read(void)
|
||||
{
|
||||
// 保留占位,如需单次读可以实现
|
||||
return ESP_OK;
|
||||
}
|
||||
65
main/sensors.h
Normal file
65
main/sensors.h
Normal file
@@ -0,0 +1,65 @@
|
||||
#ifndef SENSORS_H
|
||||
#define SENSORS_H
|
||||
#include "esp_err.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "driver/i2c_master.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// 默认 I2C 引脚/参数(如果上层未定义,则使用这些默认值)
|
||||
#ifndef I2C_MASTER_SCL_IO
|
||||
#define I2C_MASTER_SCL_IO 5
|
||||
#endif
|
||||
#ifndef I2C_MASTER_SDA_IO
|
||||
#define I2C_MASTER_SDA_IO 4
|
||||
#endif
|
||||
#ifndef I2C_MASTER_NUM
|
||||
#define I2C_MASTER_NUM I2C_NUM_0
|
||||
#endif
|
||||
#ifndef I2C_MASTER_FREQ_HZ
|
||||
#define I2C_MASTER_FREQ_HZ 100000
|
||||
#endif
|
||||
|
||||
// 传感器数据结构体(从 main.c 抽取)
|
||||
typedef struct
|
||||
{
|
||||
float temperature;
|
||||
float humidity;
|
||||
float lux;
|
||||
uint16_t co2_ppm;
|
||||
uint16_t tvoc_ppb;
|
||||
bool ahtxx_valid;
|
||||
bool bh1750_valid;
|
||||
bool sgp30_valid;
|
||||
} sensor_data_t;
|
||||
|
||||
// 全局传感器数据(在 sensors.c 定义)
|
||||
extern sensor_data_t g_sensor_data;
|
||||
|
||||
// 互斥锁(由 main.c 创建,sensors 使用 extern 引用)
|
||||
extern SemaphoreHandle_t xSensorDataMutex;
|
||||
|
||||
// I2C 句柄(在 sensors.c 中定义)
|
||||
extern i2c_master_bus_handle_t bus_handle;
|
||||
extern i2c_master_dev_handle_t dev_handle;
|
||||
|
||||
// 模块对外接口
|
||||
esp_err_t sensors_init(void);
|
||||
esp_err_t sensors_read(void);
|
||||
|
||||
// 低层接口 / 任务
|
||||
esp_err_t i2c_master_init(void);
|
||||
void i2c0_ahtxx_task(void *pvParameters);
|
||||
void i2c0_bh1750_task(void *pvParameters);
|
||||
void i2c0_sgp30_task(void *pvParameters);
|
||||
void get_sensor_data(sensor_data_t *data);
|
||||
void print_sensor_data(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SENSORS_H
|
||||
303
main/time_alarm.c
Normal file
303
main/time_alarm.c
Normal file
@@ -0,0 +1,303 @@
|
||||
#include "time_alarm.h"
|
||||
#include "esp_log.h"
|
||||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "esp_sntp.h"
|
||||
#include <time.h>
|
||||
|
||||
#include "mqtt_manager.h"
|
||||
#include "common.h"
|
||||
#include "app_state.h"
|
||||
|
||||
static const char *TAG = "time_alarm";
|
||||
|
||||
typedef struct {
|
||||
uint8_t hour;
|
||||
uint8_t minute;
|
||||
uint8_t second;
|
||||
bool enable;
|
||||
bool triggered;
|
||||
} alarm_t;
|
||||
|
||||
static alarm_t g_alarms[ALARM_MAX_NUM];
|
||||
static TaskHandle_t alarm_task_handle = NULL;
|
||||
|
||||
// 来自 main.c 的外部符号
|
||||
extern SemaphoreHandle_t xControlFlagMutex;
|
||||
extern bool buzzer_control_flag;
|
||||
extern bool servo_control_flag;
|
||||
extern bool light_source_control_flag;
|
||||
extern uint8_t led_brightness_value;
|
||||
|
||||
// 来自 app_state.h 的外部符号
|
||||
extern SemaphoreHandle_t xMqttMessageMutex;
|
||||
extern device_message_t g_device_message;
|
||||
|
||||
// mqtt_manager 提供的反馈接口
|
||||
extern void mqtt_manager_publish_feedback(void);
|
||||
|
||||
static void local_sntp_init(void)
|
||||
{
|
||||
esp_sntp_setoperatingmode(SNTP_OPMODE_POLL);
|
||||
esp_sntp_setservername(0, "cn.pool.ntp.org");
|
||||
esp_sntp_setservername(1, "ntp1.aliyun.com");
|
||||
esp_sntp_init();
|
||||
}
|
||||
|
||||
static void wait_for_time_sync(void)
|
||||
{
|
||||
time_t now = 0;
|
||||
struct tm timeinfo = {0};
|
||||
int retry = 0;
|
||||
const int max_retry = 30; // 增加重试次数到30次(30秒)
|
||||
|
||||
ESP_LOGI(TAG, "等待SNTP时间同步...");
|
||||
|
||||
while (1)
|
||||
{
|
||||
time(&now);
|
||||
localtime_r(&now, &timeinfo);
|
||||
|
||||
// 检查时间是否有效(年份 > 2016)
|
||||
if (timeinfo.tm_year > (2016 - 1900))
|
||||
{
|
||||
ESP_LOGI(TAG, "SNTP时间同步成功!当前时间: %04d-%02d-%02d %02d:%02d:%02d",
|
||||
timeinfo.tm_year + 1900, timeinfo.tm_mon + 1, timeinfo.tm_mday,
|
||||
timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
|
||||
break;
|
||||
}
|
||||
|
||||
if (retry % 5 == 0) // 每5秒打印一次状态
|
||||
{
|
||||
ESP_LOGI(TAG, "等待SNTP同步... 已等待 %d 秒", retry);
|
||||
}
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(1000));
|
||||
retry++;
|
||||
|
||||
if (retry >= max_retry)
|
||||
{
|
||||
ESP_LOGW(TAG, "SNTP时间同步失败,使用系统默认时间");
|
||||
// 设置一个默认时间,避免卡住
|
||||
now = 1704067200; // 2024-01-01 00:00:00
|
||||
localtime_r(&now, &timeinfo);
|
||||
ESP_LOGI(TAG, "使用默认时间: %04d-%02d-%02d %02d:%02d:%02d",
|
||||
timeinfo.tm_year + 1900, timeinfo.tm_mon + 1, timeinfo.tm_mday,
|
||||
timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void alarm_set_time(uint8_t alarm_idx, uint8_t hour, uint8_t minute, uint8_t second)
|
||||
{
|
||||
if (alarm_idx >= ALARM_MAX_NUM)
|
||||
return;
|
||||
g_alarms[alarm_idx].hour = hour;
|
||||
g_alarms[alarm_idx].minute = minute;
|
||||
g_alarms[alarm_idx].second = second;
|
||||
g_alarms[alarm_idx].triggered = false;
|
||||
ESP_LOGI(TAG, "Alarm[%d] time set to %02d:%02d:%02d, enable=%d", alarm_idx, hour, minute, second, g_alarms[alarm_idx].enable ? 1 : 0);
|
||||
}
|
||||
|
||||
void alarm_set_enable(uint8_t alarm_idx, bool enable)
|
||||
{
|
||||
if (alarm_idx >= ALARM_MAX_NUM)
|
||||
return;
|
||||
g_alarms[alarm_idx].enable = enable;
|
||||
g_alarms[alarm_idx].triggered = false;
|
||||
ESP_LOGI(TAG, "Alarm[%d] enable=%d, time=%02d:%02d:%02d", alarm_idx, enable ? 1 : 0,
|
||||
g_alarms[alarm_idx].hour, g_alarms[alarm_idx].minute, g_alarms[alarm_idx].second);
|
||||
}
|
||||
|
||||
void alarm_disable_all(void)
|
||||
{
|
||||
for (int i = 0; i < ALARM_MAX_NUM; i++)
|
||||
{
|
||||
g_alarms[i].enable = false;
|
||||
g_alarms[i].triggered = false;
|
||||
}
|
||||
}
|
||||
|
||||
// 获取闹钟状态信息
|
||||
void alarm_get_status(int alarm_idx, uint8_t *hour, uint8_t *minute, uint8_t *second, bool *enabled, bool *triggered)
|
||||
{
|
||||
if (alarm_idx >= ALARM_MAX_NUM)
|
||||
return;
|
||||
|
||||
if (hour) *hour = g_alarms[alarm_idx].hour;
|
||||
if (minute) *minute = g_alarms[alarm_idx].minute;
|
||||
if (second) *second = g_alarms[alarm_idx].second;
|
||||
if (enabled) *enabled = g_alarms[alarm_idx].enable;
|
||||
if (triggered) *triggered = g_alarms[alarm_idx].triggered;
|
||||
}
|
||||
|
||||
// 自动停止任务函数
|
||||
static void alarm_auto_stop_task(void *arg)
|
||||
{
|
||||
int alarm_idx = (int)arg;
|
||||
vTaskDelay(pdMS_TO_TICKS(10000)); // 等待10秒
|
||||
|
||||
ESP_LOGI(TAG, "Auto-stopping alarm %d actions after 10 seconds", alarm_idx);
|
||||
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
buzzer_control_flag = false;
|
||||
servo_control_flag = false;
|
||||
light_source_control_flag = false;
|
||||
led_brightness_value = 0;
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
|
||||
// 更新设备消息中的设备状态
|
||||
if (xMqttMessageMutex != NULL && xSemaphoreTake(xMqttMessageMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
strcpy(g_device_message.telemetry.buzzer_state, "close");
|
||||
strcpy(g_device_message.telemetry.curtain_state, "close");
|
||||
strcpy(g_device_message.telemetry.led_state, "close");
|
||||
g_device_message.telemetry.led_power = 0;
|
||||
xSemaphoreGive(xMqttMessageMutex);
|
||||
}
|
||||
|
||||
// 发布闹钟关闭状态消息
|
||||
mqtt_manager_publish_alarm_status(alarm_idx, "stopped", false);
|
||||
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
static void alarm_trigger_action(int idx)
|
||||
{
|
||||
ESP_LOGI(TAG, "Alarm %d triggered", idx);
|
||||
if (xControlFlagMutex != NULL && xSemaphoreTake(xControlFlagMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
buzzer_control_flag = true;
|
||||
servo_control_flag = true;
|
||||
light_source_control_flag = true;
|
||||
led_brightness_value = 100;
|
||||
xSemaphoreGive(xControlFlagMutex);
|
||||
}
|
||||
// 更新设备消息中的设备状态
|
||||
if (xMqttMessageMutex != NULL && xSemaphoreTake(xMqttMessageMutex, portMAX_DELAY) == pdTRUE)
|
||||
{
|
||||
strcpy(g_device_message.telemetry.buzzer_state, "open");
|
||||
strcpy(g_device_message.telemetry.curtain_state, "open");
|
||||
strcpy(g_device_message.telemetry.led_state, "open");
|
||||
g_device_message.telemetry.led_power = 100;
|
||||
xSemaphoreGive(xMqttMessageMutex);
|
||||
}
|
||||
|
||||
// 发布闹钟触发状态消息
|
||||
mqtt_manager_publish_alarm_status(idx, "triggered", true);
|
||||
|
||||
// 创建自动停止任务(延迟10秒后停止)
|
||||
TaskHandle_t stop_task_handle = NULL;
|
||||
// 增加栈大小到4096,因为cJSON操作需要较多栈空间
|
||||
BaseType_t result = xTaskCreate(alarm_auto_stop_task, "alarm_stop_task", 4096, (void *)idx, 3, &stop_task_handle);
|
||||
|
||||
if (result == pdPASS) {
|
||||
ESP_LOGI(TAG, "Auto-stop task created for alarm %d", idx);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Failed to create auto-stop task for alarm %d", idx);
|
||||
}
|
||||
}
|
||||
|
||||
static void alarm_task(void *pvParameters)
|
||||
{
|
||||
(void)pvParameters;
|
||||
ESP_LOGI(TAG, "alarm task started");
|
||||
local_sntp_init();
|
||||
wait_for_time_sync();
|
||||
|
||||
// 打印当前设置的闹钟状态
|
||||
ESP_LOGI(TAG, "当前闹钟设置:");
|
||||
for (int i = 0; i < ALARM_MAX_NUM; i++)
|
||||
{
|
||||
ESP_LOGI(TAG, "Alarm[%d]: %02d:%02d:%02d, enable=%d, triggered=%d",
|
||||
i, g_alarms[i].hour, g_alarms[i].minute, g_alarms[i].second,
|
||||
g_alarms[i].enable ? 1 : 0, g_alarms[i].triggered ? 1 : 0);
|
||||
}
|
||||
|
||||
while (1)
|
||||
{
|
||||
time_t now = time(NULL);
|
||||
struct tm tm_now;
|
||||
localtime_r(&now, &tm_now);
|
||||
|
||||
// 每5分钟打印一次当前时间
|
||||
if (tm_now.tm_min % 5 == 0 && tm_now.tm_sec == 0)
|
||||
{
|
||||
ESP_LOGI(TAG, "当前系统时间: %02d:%02d:%02d", tm_now.tm_hour, tm_now.tm_min, tm_now.tm_sec);
|
||||
}
|
||||
|
||||
for (int i = 0; i < ALARM_MAX_NUM; i++)
|
||||
{
|
||||
if (g_alarms[i].enable)
|
||||
{
|
||||
// 如果闹钟已经触发,检查是否已经过了触发时间,以便重置状态
|
||||
if (g_alarms[i].triggered)
|
||||
{
|
||||
// 如果当前时间已经过了闹钟时间至少1分钟,重置触发状态
|
||||
if (tm_now.tm_hour > g_alarms[i].hour ||
|
||||
(tm_now.tm_hour == g_alarms[i].hour && tm_now.tm_min > g_alarms[i].minute))
|
||||
{
|
||||
g_alarms[i].triggered = false;
|
||||
ESP_LOGI(TAG, "闹钟[%d]触发状态已重置,准备明天再次触发", i);
|
||||
}
|
||||
}
|
||||
else // 闹钟未触发,检查是否应该触发
|
||||
{
|
||||
// 只检查小时和分钟,秒数不检查,这样更加可靠
|
||||
if (tm_now.tm_hour == g_alarms[i].hour && tm_now.tm_min == g_alarms[i].minute)
|
||||
{
|
||||
ESP_LOGI(TAG, "闹钟[%d]触发! 设置时间: %02d:%02d:%02d, 当前时间: %02d:%02d:%02d",
|
||||
i, g_alarms[i].hour, g_alarms[i].minute, g_alarms[i].second,
|
||||
tm_now.tm_hour, tm_now.tm_min, tm_now.tm_sec);
|
||||
g_alarms[i].triggered = true;
|
||||
alarm_trigger_action(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(1000));
|
||||
}
|
||||
}
|
||||
|
||||
esp_err_t time_alarm_init(void)
|
||||
{
|
||||
for (int i = 0; i < ALARM_MAX_NUM; i++)
|
||||
{
|
||||
g_alarms[i].hour = 0;
|
||||
g_alarms[i].minute = 0;
|
||||
g_alarms[i].second = 0;
|
||||
g_alarms[i].enable = false;
|
||||
g_alarms[i].triggered = false;
|
||||
}
|
||||
ESP_LOGI(TAG, "time_alarm initialized");
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t time_alarm_start(void)
|
||||
{
|
||||
if (alarm_task_handle != NULL)
|
||||
return ESP_OK;
|
||||
BaseType_t ok = xTaskCreate(alarm_task, "alarm_clock", 4096, NULL, 5, &alarm_task_handle);
|
||||
if (ok != pdPASS)
|
||||
{
|
||||
ESP_LOGE(TAG, "Failed to create alarm task");
|
||||
return ESP_ERR_NO_MEM;
|
||||
}
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t time_alarm_stop(void)
|
||||
{
|
||||
if (alarm_task_handle != NULL)
|
||||
{
|
||||
vTaskDelete(alarm_task_handle);
|
||||
alarm_task_handle = NULL;
|
||||
}
|
||||
return ESP_OK;
|
||||
}
|
||||
28
main/time_alarm.h
Normal file
28
main/time_alarm.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef TIME_ALARM_H
|
||||
#define TIME_ALARM_H
|
||||
|
||||
#include "esp_err.h"
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define ALARM_MAX_NUM 4
|
||||
|
||||
// 控制闹钟时间与使能的外部接口
|
||||
void alarm_set_time(uint8_t alarm_idx, uint8_t hour, uint8_t minute, uint8_t second);
|
||||
void alarm_set_enable(uint8_t alarm_idx, bool enable);
|
||||
void alarm_disable_all(void);
|
||||
void alarm_get_status(int alarm_idx, uint8_t *hour, uint8_t *minute, uint8_t *second, bool *enabled, bool *triggered);
|
||||
|
||||
esp_err_t time_alarm_init(void);
|
||||
esp_err_t time_alarm_start(void);
|
||||
esp_err_t time_alarm_stop(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // TIME_ALARM_H
|
||||
22
main/wifi_manager.c
Normal file
22
main/wifi_manager.c
Normal file
@@ -0,0 +1,22 @@
|
||||
#include "wifi_manager.h"
|
||||
#include "esp_log.h"
|
||||
|
||||
static const char *TAG = "wifi_manager";
|
||||
|
||||
esp_err_t wifi_manager_init(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "wifi_manager_init (stub)");
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t wifi_manager_start(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "wifi_manager_start (stub)");
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t wifi_manager_stop(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "wifi_manager_stop (stub)");
|
||||
return ESP_OK;
|
||||
}
|
||||
17
main/wifi_manager.h
Normal file
17
main/wifi_manager.h
Normal file
@@ -0,0 +1,17 @@
|
||||
#ifndef WIFI_MANAGER_H
|
||||
#define WIFI_MANAGER_H
|
||||
#include "esp_err.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
esp_err_t wifi_manager_init(void);
|
||||
esp_err_t wifi_manager_start(void);
|
||||
esp_err_t wifi_manager_stop(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // WIFI_MANAGER_H
|
||||
Reference in New Issue
Block a user