A39项目文件整理+驱动部分UI数据接收合并
This commit is contained in:
parent
c0b6bd173d
commit
9eaa17a098
Binary file not shown.
|
@ -1,122 +0,0 @@
|
|||
2023.11.06
|
||||
30xx flash 8Mb 和16Mb
|
||||
303x flash 为8Mb
|
||||
|
||||
2023.11.03
|
||||
增加滚动条显示
|
||||
|
||||
2023.10.30
|
||||
FreqChip_Download V1.3.7.12
|
||||
优化界面显示
|
||||
|
||||
2023.10.26
|
||||
FrDownloadSdk V1.2.7.2
|
||||
修改8000 解保护ram 数组
|
||||
FreqChip_Download V1.3.7.11
|
||||
修改FR303X和FR30XX界面
|
||||
|
||||
2023.10.18
|
||||
FreqChip_Download V1.3.7.10
|
||||
增加英语界面
|
||||
|
||||
2023.10.16
|
||||
FreqChip_Download V1.3.7.9
|
||||
调整界面, 修改有些电脑显示不全的问题
|
||||
|
||||
2023.10.08
|
||||
FreqChip_Download V1.3.7.8
|
||||
FrDownloadSdk V1.2.7.1
|
||||
升级波特率460800
|
||||
|
||||
增加直接烧录指定文件的方法
|
||||
增加双击label, 取消文件选择
|
||||
|
||||
2023.09.25
|
||||
FreqChip_Download V1.3.7.7
|
||||
3090 擦除前512byte
|
||||
|
||||
|
||||
2023.09.22
|
||||
FreqChip_Download V1.3.7.6
|
||||
3090增加指定文件烧录
|
||||
|
||||
2023.09.04
|
||||
FreqChip_Download V1.3.7.5
|
||||
修改ota size异常
|
||||
|
||||
2023.09.04
|
||||
FreqChip_Download V1.3.7.4
|
||||
修改509X crc校验失败
|
||||
|
||||
|
||||
2023.09.04
|
||||
FreqChip_Download V1.3.7.3
|
||||
修改烧录失败时, 发送重启指令
|
||||
增加擦除ota大小选项, 支持8010H和8000
|
||||
|
||||
2023.08.07
|
||||
FrDownloadSdk V1.2.6.1
|
||||
1.修改boot超时时间
|
||||
|
||||
2023.08.04
|
||||
FrDownloadSdk V1.2.6.0
|
||||
1.修改CRC超时时间, 根据文件大小自动调整
|
||||
|
||||
2023.07.3
|
||||
FrDownloadSdk V1.2.5.1
|
||||
1.修改5090校验地址0x08000000
|
||||
|
||||
2023.06.20
|
||||
FrDownloadSdk V1.2.5.0
|
||||
1.增加5090烧录
|
||||
2.去掉1010 前8K的处理
|
||||
|
||||
FreqChip_Download V1.3.7.0
|
||||
增加5090烧录
|
||||
|
||||
2023.06.07
|
||||
FrDownloadSdk V1.2.4.0
|
||||
增加芯片重启接口
|
||||
|
||||
2023.05.22
|
||||
FrDownloadSdk V1.2.3.0
|
||||
增加数据倒序写入flash接口.
|
||||
增加101X烧录
|
||||
FreqChip_Download V1.3.6.4
|
||||
修改烧录工具倒序写mac到flash
|
||||
增加101X烧录,优化crc校验
|
||||
|
||||
2023.05.12
|
||||
FrDownloadSdk V1.2.2.0
|
||||
新增1010烧录
|
||||
FreqChip_Download V1.3.6
|
||||
新增1010烧录
|
||||
|
||||
2023.04.26
|
||||
FrDownloadSdk V1.2.1.10
|
||||
修改兼容8012HB 解保护。
|
||||
修改重启指令,只发一次,延时10ms 返回。
|
||||
|
||||
|
||||
2023.04.13
|
||||
FreqChip_Download V1.3.5.1
|
||||
修改点击擦除时, 擦除大小不足的问题
|
||||
|
||||
2023.04.12
|
||||
FreqChip_Download V1.3.5
|
||||
修改全擦flash时,擦除大小不足的问题
|
||||
|
||||
2023.04.11
|
||||
FrDownloadSdk V1.2.1.4
|
||||
兼容8000CRC校验
|
||||
|
||||
2023.04.10
|
||||
FreqChip_Download V1.3.4
|
||||
FrDownloadSdk V1.2.1.3
|
||||
兼容只读文件
|
||||
增加8010H 8000 2000 CRC校验, 校验超时时间为20秒。
|
||||
|
||||
|
||||
2023.03.21
|
||||
1.升级2000 解保护补丁
|
||||
2.增加8010T CRC校验
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,16 +0,0 @@
|
|||
[CONFIG]
|
||||
Chip_Type=509X
|
||||
Flash_Select=2MB
|
||||
enlishToolStripMenuItem=False
|
||||
Special_Enable=True
|
||||
uart_port=COM3
|
||||
Baud_Rate=921600
|
||||
509X_Bin_Path=E:\MXC-A36\MXC-Screen_display\SW-FR-ÏÔʾOK+BT_GPIO\examples\turnkey\lvgl_Dashboard_8080\MDK-ARM\output\boot_load_burn.bin
|
||||
Auto_Burn=True
|
||||
Auto_Reset=True
|
||||
Flash_Allerase=True
|
||||
Designate_file=E:\MXC-A36\MXC-Screen_display\SW-FR-ÏÔʾOK+BT_GPIO\examples\turnkey\lvgl_Dashboard_8080\MDK-ARM\output\Project_mp_burn.bin
|
||||
Designate_file_addr=0x72000
|
||||
special_file1=E:\MXC-A36\MXC-Screen_display\SW-FR-ÏÔʾOK+BT_GPIO\examples\turnkey\lvgl_Dashboard_8080\Resource\img.hex
|
||||
special_file1_addr=0x13a000
|
||||
special_file2=
|
|
@ -14,6 +14,9 @@
|
|||
|
||||
#define FDB_KEY_TOTAL_MILEAGE 0x00030002 //add by hsp 2024.03.04
|
||||
#define FDB_KEY_TRIP_MILEAGE 0x00030003 //add by hsp 2024.03.04
|
||||
#define FDB_KEY_UNIT_MODE 0x00030004 //add by hsp 2024.03.04
|
||||
#define FDB_KEY_SP_CNT 0x00030005 //add by hsp 2024.03.04
|
||||
#define FDB_KEY_RUN_TIME 0x00030006
|
||||
|
||||
int flashdb_init(void);
|
||||
|
||||
|
|
|
@ -1,181 +0,0 @@
|
|||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
See http://www.freertos.org/a00110.html for an explanation of the
|
||||
definitions contained in this file.
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
#define FREERTOS_CONFIG_H
|
||||
|
||||
#include "app_config.h"
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
* Application specific definitions.
|
||||
*
|
||||
* These definitions should be adjusted for your particular hardware and
|
||||
* application requirements.
|
||||
*
|
||||
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
|
||||
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
|
||||
* http://www.freertos.org/a00110.html
|
||||
*----------------------------------------------------------*/
|
||||
|
||||
extern uint32_t SystemCoreClock;
|
||||
|
||||
/* Cortex M33 port configuration. */
|
||||
#define configENABLE_MPU 0
|
||||
#define configENABLE_FPU 1
|
||||
#define configENABLE_TRUSTZONE 0
|
||||
|
||||
/* Constants related to the behaviour or the scheduler. */
|
||||
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
|
||||
#define configUSE_PREEMPTION 1
|
||||
#define configUSE_TIME_SLICING 1
|
||||
#define configMAX_PRIORITIES ( FREERTOS_MAX_PRIORITY )
|
||||
#define configIDLE_SHOULD_YIELD 1
|
||||
#define configUSE_16_BIT_TICKS 0 /* Only for 8 and 16-bit hardware. */
|
||||
|
||||
/* Constants that describe the hardware and memory usage. */
|
||||
#define configCPU_CLOCK_HZ SystemCoreClock
|
||||
#define configMINIMAL_STACK_SIZE ( ( uint16_t ) 128 )
|
||||
#define configMINIMAL_SECURE_STACK_SIZE ( 1024 )
|
||||
#define configMAX_TASK_NAME_LEN ( 12 )
|
||||
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 0x10000 ) )//( ( size_t ) ( 0x19400 ) )//( ( size_t ) ( 0x19000 ) )
|
||||
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
|
||||
|
||||
/* Constants that build features in or out. */
|
||||
#define configUSE_MUTEXES 1
|
||||
#define configUSE_TICKLESS_IDLE 1
|
||||
#define configUSE_APPLICATION_TASK_TAG 0
|
||||
#define configUSE_NEWLIB_REENTRANT 0
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configUSE_COUNTING_SEMAPHORES 1
|
||||
#define configUSE_RECURSIVE_MUTEXES 1
|
||||
#define configUSE_QUEUE_SETS 1
|
||||
#define configUSE_TASK_NOTIFICATIONS 1
|
||||
#define configUSE_TRACE_FACILITY 1
|
||||
|
||||
/* Constants that define which hook (callback) functions should be used. */
|
||||
#define configUSE_IDLE_HOOK 0
|
||||
#define configUSE_TICK_HOOK 1
|
||||
#define configUSE_MALLOC_FAILED_HOOK 0
|
||||
|
||||
/* Constants provided for debugging and optimisation assistance. */
|
||||
#define configCHECK_FOR_STACK_OVERFLOW 2
|
||||
#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
|
||||
#define configQUEUE_REGISTRY_SIZE 0
|
||||
|
||||
/* Software timer definitions. */
|
||||
#define configUSE_TIMERS 1
|
||||
#define configTIMER_TASK_PRIORITY ( 3 )
|
||||
#define configTIMER_QUEUE_LENGTH 15
|
||||
#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE )
|
||||
|
||||
/* Set the following definitions to 1 to include the API function, or zero
|
||||
* to exclude the API function. NOTE: Setting an INCLUDE_ parameter to 0 is
|
||||
* only necessary if the linker does not automatically remove functions that are
|
||||
* not referenced anyway. */
|
||||
#define INCLUDE_vTaskPrioritySet 1
|
||||
#define INCLUDE_uxTaskPriorityGet 1
|
||||
#define INCLUDE_vTaskDelete 1
|
||||
#define INCLUDE_vTaskCleanUpResources 0
|
||||
#define INCLUDE_vTaskSuspend 1
|
||||
#define INCLUDE_vTaskDelayUntil 1
|
||||
#define INCLUDE_vTaskDelay 1
|
||||
#define INCLUDE_xTaskAbortDelay 1
|
||||
#define INCLUDE_uxTaskGetStackHighWaterMark 0
|
||||
#define INCLUDE_xTaskGetIdleTaskHandle 0
|
||||
#define INCLUDE_xTaskGetHandle 1
|
||||
#define INCLUDE_eTaskGetState 1
|
||||
#define INCLUDE_xTaskResumeFromISR 0
|
||||
#define INCLUDE_xTaskGetCurrentTaskHandle 1
|
||||
#define INCLUDE_xTaskGetSchedulerState 0
|
||||
#define INCLUDE_xSemaphoreGetMutexHolder 1
|
||||
#define INCLUDE_xTimerPendFunctionCall 1
|
||||
|
||||
/* This demo makes use of one or more example stats formatting functions. These
|
||||
* format the raw data provided by the uxTaskGetSystemState() function in to
|
||||
* human readable ASCII form. See the notes in the implementation of vTaskList()
|
||||
* within FreeRTOS/Source/tasks.c for limitations. */
|
||||
#define configUSE_STATS_FORMATTING_FUNCTIONS 1
|
||||
|
||||
/* Dimensions a buffer that can be used by the FreeRTOS+CLI command interpreter.
|
||||
* See the FreeRTOS+CLI documentation for more information:
|
||||
* http://www.FreeRTOS.org/FreeRTOS-Plus/FreeRTOS_Plus_CLI/ */
|
||||
#define configCOMMAND_INT_MAX_OUTPUT_SIZE 2048
|
||||
|
||||
/* Interrupt priority configuration follows...................... */
|
||||
|
||||
/* Use the system definition, if there is one. */
|
||||
#ifdef __NVIC_PRIO_BITS
|
||||
#define configPRIO_BITS __NVIC_PRIO_BITS
|
||||
#else
|
||||
#define configPRIO_BITS 3 /* 8 priority levels. */
|
||||
#endif
|
||||
|
||||
/* The lowest interrupt priority that can be used in a call to a "set priority"
|
||||
* function. */
|
||||
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 0x07
|
||||
|
||||
/* The highest interrupt priority that can be used by any interrupt service
|
||||
* routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT
|
||||
* CALL INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A
|
||||
* HIGHER PRIORITY THAN THIS! (higher priorities are lower numeric values). */
|
||||
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 1
|
||||
|
||||
/* Interrupt priorities used by the kernel port layer itself. These are generic
|
||||
* to all Cortex-M ports, and do not rely on any particular library functions. */
|
||||
#define configKERNEL_INTERRUPT_PRIORITY ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << ( 8 - configPRIO_BITS ) )
|
||||
|
||||
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
|
||||
* See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
|
||||
#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << ( 8 - configPRIO_BITS ) )
|
||||
|
||||
#if ENABLE_RTOS_MONITOR == 1
|
||||
/* Constants related to the generation of run time stats. */
|
||||
#define configGENERATE_RUN_TIME_STATS 1
|
||||
#define configUSE_TRACE_FACILITY 1
|
||||
#define configUSE_STATS_FORMATTING_FUNCTIONS 1
|
||||
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()
|
||||
extern volatile unsigned int CPU_RunTime;
|
||||
#define portGET_RUN_TIME_COUNTER_VALUE() CPU_RunTime
|
||||
|
||||
#define traceINCREASE_TICK_COUNT(x) do { \
|
||||
void lv_tick_inc(uint32_t tick_period); \
|
||||
lv_tick_inc(x); \
|
||||
CPU_RunTime += x; \
|
||||
} while (0)
|
||||
#else
|
||||
#define traceINCREASE_TICK_COUNT(x) lv_tick_inc(x)
|
||||
#endif /* ENABLE_RTOS_MONITOR == 1 */
|
||||
|
||||
/* Enable static allocation. */
|
||||
#define configSUPPORT_STATIC_ALLOCATION 0
|
||||
|
||||
#endif /* FREERTOS_CONFIG_H */
|
|
@ -1,312 +0,0 @@
|
|||
#ifndef _APP_CONFIG_H
|
||||
#define _APP_CONFIG_H
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
/* ========================================================== */
|
||||
/* ========= System configuration ========= */
|
||||
/* ========================================================== */
|
||||
|
||||
// <h> System Configuration
|
||||
|
||||
#define BOARD_EVB_FR5090 1
|
||||
#define BOARD_EVB_FR3092E 2
|
||||
#define BOARD_EVB_FR3092E_CM 3
|
||||
#define BOARD_EVB_FR3092E_RGB 4
|
||||
// <o> BOARD_SEL
|
||||
// <i> board EVB selection, default: BOARD_EVB_FR5090
|
||||
// <1=> BOARD_EVB_FR5090
|
||||
// <2=> BOARD_EVB_FR3092E
|
||||
// <3=> BOARD_EVB_FR3092E_CM
|
||||
#define BOARD_SEL 4
|
||||
|
||||
// <o> ENABLE_PSRAM
|
||||
// <i> check to enable psram or not, default: No
|
||||
// <0=> NO
|
||||
// <1=> YES
|
||||
#define ENABLE_PSRAM 0
|
||||
|
||||
// <o> DSP_ROM_CODE_XIP
|
||||
// <i> check to choose DSP rom code running in iROM or XIP-Flash, default: iROM
|
||||
// <0=> NO
|
||||
// <1=> YES
|
||||
#define DSP_ROM_CODE_XIP 0
|
||||
|
||||
#define DSP_CODE_LOAD_MODE_SDCARD 1
|
||||
#define DSP_CODE_LOAD_MODE_XIP_RO 2
|
||||
#define DSP_CODE_LOAD_MODE_FIX_ADDRESS 3
|
||||
// <o> DSP_CODE_LOAD_MODE
|
||||
// <i> choose dsp code load mode: 1. from sd card; 2. compiled into XIP bin file; 3. from fixed address in XIP flash
|
||||
// <1=> DSP_CODE_LOAD_MODE_SDCARD
|
||||
// <2=> DSP_CODE_LOAD_MODE_XIP_RO
|
||||
// <3=> DSP_CODE_LOAD_MODE_FIX_ADDRESS
|
||||
#define DSP_CODE_LOAD_MODE 2
|
||||
|
||||
// <o> DSP_CODE_FIX_ADDRESS
|
||||
// <i> used to define where to fetch dsp code, this defination is valid when DSP_CODE_LOAD_MODE is DSP_CODE_LOAD_MODE_FIX_ADDRESS
|
||||
#define DSP_CODE_FIX_ADDRESS 0x001C0000
|
||||
|
||||
#define CONTROLLER_CODE_LOAD_MODE_SDCARD 1
|
||||
#define CONTROLLER_CODE_LOAD_MODE_XIP_RO 2
|
||||
#define CONTROLLER_CODE_LOAD_MODE_FIX_ADDRESS 3
|
||||
// <o> CONTROLLER_CODE_LOAD_MODE
|
||||
// <i> choose dsp code load mode: 1. from sd card; 2. compiled into XIP bin file; 3. from fixed address in XIP flash
|
||||
// <1=> CONTROLLER_CODE_LOAD_MODE_SDCARD
|
||||
// <2=> CONTROLLER_CODE_LOAD_MODE_XIP_RO
|
||||
// <3=> CONTROLLER_CODE_LOAD_MODE_FIX_ADDRESS
|
||||
#define CONTROLLER_CODE_LOAD_MODE 2
|
||||
|
||||
// <o> CONTROLLER_CODE_INC_SENSOR_HUB
|
||||
// <i> when CONTROLLER_CODE_LOAD_MODE is CONTROLLER_CODE_LOAD_MODE_XIP_RO, choose which firmware is commpiled into XIP bin file.
|
||||
// <0=> NO
|
||||
// <1=> YES
|
||||
#define CONTROLLER_CODE_INC_SENSOR_HUB 0
|
||||
|
||||
// <o> CONTROLLER_CODE_FIX_ADDRESS
|
||||
// <i> used to define where to fetch controller code, this defination is valid when CONTROLLER_CODE_LOAD_MODE is CONTROLLER_CODE_LOAD_MODE_FIX_ADDRESS
|
||||
#define CONTROLLER_CODE_FIX_ADDRESS 0x001AC000
|
||||
|
||||
// </h>
|
||||
|
||||
/* ========================================================== */
|
||||
/* ========= FreeRTOS configuration ========= */
|
||||
/* ========================================================== */
|
||||
|
||||
// <h> FreeRTOS Configuration
|
||||
|
||||
// <o> ENABLE_RTOS_MONITOR
|
||||
// <i> check to enable or disable RTOS monitor, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define ENABLE_RTOS_MONITOR 1
|
||||
|
||||
// <o> FREERTOS_MAX_PRIORITY
|
||||
// <i> used to define priority of monitor task
|
||||
// <1-10:1>
|
||||
#define FREERTOS_MAX_PRIORITY 10
|
||||
|
||||
// <o> MONITOR_TASK_PRIORITY
|
||||
// <i> used to define priority of monitor task, should not be larger than FREERTOS_MAX_PRIORITY
|
||||
#define MONITOR_TASK_PRIORITY 1
|
||||
#if MONITOR_TASK_PRIORITY > FREERTOS_MAX_PRIORITY
|
||||
#error "MONITOR_TASK_PRIORITY should not be larger than FREERTOS_MAX_PRIORITY"
|
||||
#endif
|
||||
|
||||
// <o> APP_TASK_PRIORITY
|
||||
// <i> used to define priority of app task, should not be larger than FREERTOS_MAX_PRIORITY
|
||||
#define APP_TASK_PRIORITY 2
|
||||
#if APP_TASK_PRIORITY > FREERTOS_MAX_PRIORITY
|
||||
#error "APP_TASK_PRIORITY should not be larger than FREERTOS_MAX_PRIORITY"
|
||||
#endif
|
||||
|
||||
// <o> GUI_TASK_PRIORITY
|
||||
// <i> used to define priority of gui task, should not be larger than FREERTOS_MAX_PRIORITY
|
||||
#define GUI_TASK_PRIORITY 3
|
||||
#if GUI_TASK_PRIORITY > FREERTOS_MAX_PRIORITY
|
||||
#error "GUI_TASK_PRIORITY should not be larger than FREERTOS_MAX_PRIORITY"
|
||||
#endif
|
||||
|
||||
// <o> SYNC_TASK_PRIORITY
|
||||
// <i> used to define priority of sync task, should not be larger than FREERTOS_MAX_PRIORITY
|
||||
#define SYNC_TASK_PRIORITY 3
|
||||
#if SYNC_TASK_PRIORITY > FREERTOS_MAX_PRIORITY
|
||||
#error "SYNC_TASK_PRIORITY should not be larger than FREERTOS_MAX_PRIORITY"
|
||||
#endif
|
||||
|
||||
// <o> HOST_TASK_PRIORITY
|
||||
// <i> used to define priority of host task, should not be larger than FREERTOS_MAX_PRIORITY
|
||||
#define HOST_TASK_PRIORITY 5
|
||||
#if HOST_TASK_PRIORITY > FREERTOS_MAX_PRIORITY
|
||||
#error "HOST_TASK_PRIORITY should not be larger than FREERTOS_MAX_PRIORITY"
|
||||
#endif
|
||||
|
||||
// <o> RPMSG_TASK_PRIORITY
|
||||
// <i> used to define priority of rpmsg task, should not be larger than FREERTOS_MAX_PRIORITY
|
||||
#define RPMSG_TASK_PRIORITY 6
|
||||
#if RPMSG_TASK_PRIORITY > FREERTOS_MAX_PRIORITY
|
||||
#error "RPMSG_TASK_PRIORITY should not be larger than FREERTOS_MAX_PRIORITY"
|
||||
#endif
|
||||
|
||||
// <o> AUDIO_SCENE_TASK_PRIORITY
|
||||
// <i> used to define priority of rpmsg task, should not be larger than FREERTOS_MAX_PRIORITY
|
||||
#define AUDIO_SCENE_TASK_PRIORITY 6
|
||||
#if AUDIO_SCENE_TASK_PRIORITY > FREERTOS_MAX_PRIORITY
|
||||
#error "AUDIO_SCENE_TASK_PRIORITY should not be larger than FREERTOS_MAX_PRIORITY"
|
||||
#endif
|
||||
|
||||
// <o> MONITOR_TASK_STACK_SIZE
|
||||
// <i> used to define priority of monitor task
|
||||
#define MONITOR_TASK_STACK_SIZE 128
|
||||
|
||||
// <o> APP_TASK_STACK_SIZE
|
||||
// <i> used to define priority of APP task
|
||||
#define APP_TASK_STACK_SIZE 2048 //256
|
||||
|
||||
// <o> GUI_TASK_STACK_SIZE
|
||||
// <i> used to define priority of LVGL task
|
||||
#define GUI_TASK_STACK_SIZE 2048
|
||||
|
||||
// <o> SYNC_TASK_STACK_SIZE
|
||||
// <i> used to define priority of LVGL-SYNC task
|
||||
#define SYNC_TASK_STACK_SIZE 2048
|
||||
|
||||
// <o> HOST_TASK_STACK_SIZE
|
||||
// <i> used to define priority of btdm-host task
|
||||
#define HOST_TASK_STACK_SIZE 2048
|
||||
|
||||
// <o> RPMSG_TASK_STACK_SIZE
|
||||
// <i> used to define priority of RPMSG task
|
||||
#define RPMSG_TASK_STACK_SIZE 2048
|
||||
|
||||
// <o> AUDIO_SCENE_TASK_STACK_SIZE
|
||||
// <i> used to define priority of audio scene task
|
||||
#define AUDIO_SCENE_TASK_STACK_SIZE 1024
|
||||
|
||||
// </h>
|
||||
|
||||
/* ========================================================== */
|
||||
/* ========= DSP configuration ========= */
|
||||
/* ========================================================== */
|
||||
|
||||
// <h> DSP Configuration
|
||||
|
||||
// <o> ENABLE_DSP
|
||||
// <i> check to enable or disable DSP, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define ENABLE_DSP 1
|
||||
|
||||
// </h>
|
||||
|
||||
/* ========================================================== */
|
||||
/* ========= BTDM configuration ========= */
|
||||
/* ========================================================== */
|
||||
|
||||
// <h> BTDM STACK Configuration
|
||||
|
||||
// <o> BTDM_STACK_ENABLE
|
||||
// <i> check to enable or disable bluetooth, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BTDM_STACK_ENABLE 0
|
||||
|
||||
// <o> BTDM_STACK_HCI_BAUDRATE
|
||||
// <i> check to enable or disable bluetooth, default: DISABLE
|
||||
// <1500000=> 1500000
|
||||
// <921600=> 921600
|
||||
// <460800=> 460800
|
||||
// <115200=> 115200
|
||||
#define BTDM_STACK_HCI_BAUDRATE 1500000
|
||||
|
||||
// <o> BTDM_STACK_ENABLE_BT
|
||||
// <i> check to enable or disable classic bluetooth, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BTDM_STACK_ENABLE_BT 0
|
||||
|
||||
// <o> BTDM_STACK_ENABLE_HF
|
||||
// <i> check to enable or disable hand free, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BTDM_STACK_ENABLE_HF 0
|
||||
|
||||
// <o> BTDM_STACK_ENABLE_AG
|
||||
// <i> check to enable or disable audio-gate, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BTDM_STACK_ENABLE_AG 0
|
||||
|
||||
// <o> BTDM_STACK_ENABLE_A2DP_SRC
|
||||
// <i> check to enable or disable a2dp srouce, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BTDM_STACK_ENABLE_A2DP_SRC 0
|
||||
|
||||
// <o> BTDM_STACK_ENABLE_A2DP_SNK
|
||||
// <i> check to enable or disable a2dp sink, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BTDM_STACK_ENABLE_A2DP_SNK 0
|
||||
|
||||
// <o> BTDM_STACK_ENABLE_AVRCP
|
||||
// <i> check to enable or disable avrcp, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BTDM_STACK_ENABLE_AVRCP 0
|
||||
|
||||
// <o> BTDM_STACK_ENABLE_AAC
|
||||
// <i> check to enable or disable aac codec, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BTDM_STACK_ENABLE_AAC 0
|
||||
|
||||
// <o> BTDM_STACK_ENABLE_PBAP
|
||||
// <i> check to enable or disable pbap, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BTDM_STACK_ENABLE_PBAP 0
|
||||
|
||||
// <o> BTDM_STACK_ENABLE_SPP
|
||||
// <i> check to enable or disable spp, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BTDM_STACK_ENABLE_SPP 0
|
||||
|
||||
// <o> BLE_PROFILE_ENABLE_HID
|
||||
// <i> check to enable or disable hid profile, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BLE_PROFILE_HID 0
|
||||
|
||||
|
||||
// <o> BLE_PROFILE_ENABLE_ANCS
|
||||
// <i> check to enable or disable ANCS profile, default: DISABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BLE_PROFILE_ENABLE_ANCS 0
|
||||
|
||||
#if BTDM_STACK_ENABLE == 0
|
||||
#if ((BTDM_STACK_ENABLE_BT == 1) \
|
||||
|| (BLE_PROFILE_ENABLE_HID == 1) \
|
||||
|| (BLE_PROFILE_ENABLE_ANCS == 1))
|
||||
#error "BTDM_STACK_ENABLE should be set"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if BTDM_STACK_ENABLE_BT == 0
|
||||
#if ((BTDM_STACK_ENABLE_HF == 1) \
|
||||
|| (BTDM_STACK_ENABLE_AG == 1) \
|
||||
|| (BTDM_STACK_ENABLE_A2DP_SRC == 1) \
|
||||
|| (BTDM_STACK_ENABLE_A2DP_SNK == 1) \
|
||||
|| (BTDM_STACK_ENABLE_AVRCP == 1) \
|
||||
|| (BTDM_STACK_ENABLE_AAC == 1))
|
||||
#error "BTDM_STACK_ENABLE_BT should be set"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// </h>
|
||||
|
||||
/* ========================================================== */
|
||||
/* ========= BTDM Address configuration ========= */
|
||||
/* ========================================================== */
|
||||
|
||||
// <h> BTDM Address configuration
|
||||
|
||||
// <o> BT_ADDR_RANDOM_ENABLE
|
||||
// <i> check to enable or disable random bt addr, default: ENABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BT_ADDR_RANDOM_ENABLE 1
|
||||
|
||||
// <o> BLE_ADDR_RANDOM_ENABLE
|
||||
// <i> check to enable or disable random ble static addr, default: ENABLE
|
||||
// <0=> DISABLE
|
||||
// <1=> ENABLE
|
||||
#define BLE_ADDR_RANDOM_ENABLE 1
|
||||
|
||||
// </h>
|
||||
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
#endif // _APP_CONFIG_H
|
|
@ -1,77 +0,0 @@
|
|||
/*
|
||||
* This file is part of the EasyLogger Library.
|
||||
*
|
||||
* Copyright (c) 2015-2016, Armink, <armink.ztl@gmail.com>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* 'Software'), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Function: It is the configure head file for this library.
|
||||
* Created on: 2015-07-30
|
||||
*/
|
||||
|
||||
#ifndef _ELOG_CFG_H_
|
||||
#define _ELOG_CFG_H_
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* enable log output. */
|
||||
#define ELOG_OUTPUT_ENABLE
|
||||
/* setting static output log level. range: from ELOG_LVL_ASSERT to ELOG_LVL_VERBOSE */
|
||||
#define ELOG_OUTPUT_LVL ELOG_LVL_VERBOSE
|
||||
/* enable assert check */
|
||||
#define ELOG_ASSERT_ENABLE
|
||||
/* buffer size for every line's log */
|
||||
#define ELOG_LINE_BUF_SIZE 512
|
||||
/* output line number max length */
|
||||
#define ELOG_LINE_NUM_MAX_LEN 5
|
||||
/* output filter's tag max length */
|
||||
#define ELOG_FILTER_TAG_MAX_LEN 20
|
||||
/* output filter's keyword max length */
|
||||
#define ELOG_FILTER_KW_MAX_LEN 30
|
||||
/* output filter's tag level max num */
|
||||
#define ELOG_FILTER_TAG_LVL_MAX_NUM 5
|
||||
/* output newline sign */
|
||||
#define ELOG_NEWLINE_SIGN "\r\n"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* enable log color */
|
||||
#define ELOG_COLOR_ENABLE
|
||||
/* change the some level logs to not default color if you want */
|
||||
#define ELOG_COLOR_ASSERT (F_MAGENTA B_NULL S_NORMAL)
|
||||
#define ELOG_COLOR_ERROR (F_RED B_NULL S_NORMAL)
|
||||
#define ELOG_COLOR_WARN (F_YELLOW B_NULL S_NORMAL)
|
||||
#define ELOG_COLOR_INFO (F_CYAN B_NULL S_NORMAL)
|
||||
#define ELOG_COLOR_DEBUG (F_GREEN B_NULL S_NORMAL)
|
||||
#define ELOG_COLOR_VERBOSE (F_BLUE B_NULL S_NORMAL)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* enable asynchronous output mode */
|
||||
//#define ELOG_ASYNC_OUTPUT_ENABLE
|
||||
/* the highest output level for async mode, other level will sync output */
|
||||
#define ELOG_ASYNC_OUTPUT_LVL ELOG_LVL_DEBUG
|
||||
/* buffer size for asynchronous output mode */
|
||||
#define ELOG_ASYNC_OUTPUT_BUF_SIZE (ELOG_LINE_BUF_SIZE * 10)
|
||||
/* each asynchronous output's log which must end with newline sign */
|
||||
#define ELOG_ASYNC_LINE_OUTPUT
|
||||
/* asynchronous output mode using POSIX pthread implementation */
|
||||
///#define ELOG_ASYNC_OUTPUT_USING_PTHREAD
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* enable buffered output mode */
|
||||
//#define ELOG_BUF_OUTPUT_ENABLE
|
||||
/* buffer size for buffered output mode */
|
||||
#define ELOG_BUF_OUTPUT_BUF_SIZE (ELOG_LINE_BUF_SIZE * 10)
|
||||
|
||||
#endif /* _ELOG_CFG_H_ */
|
|
@ -1,40 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2018-05-17 armink the first version
|
||||
*/
|
||||
|
||||
#ifndef _FAL_CFG_H_
|
||||
#define _FAL_CFG_H_
|
||||
|
||||
#include "app_config.h"
|
||||
|
||||
#define FAL_DEBUG 1
|
||||
#define FAL_PART_HAS_TABLE_CFG
|
||||
#define FAL_USING_SFUD_PORT
|
||||
|
||||
#define NOR_FLASH_DEV_NAME "norflash0"
|
||||
|
||||
/* ===================== Flash device Configuration ========================= */
|
||||
extern const struct fal_flash_dev onchip_flash;
|
||||
//extern struct fal_flash_dev nor_flash0;
|
||||
|
||||
/* flash device table */
|
||||
#define FAL_FLASH_DEV_TABLE \
|
||||
{ \
|
||||
&onchip_flash, \
|
||||
}
|
||||
/* ====================== Partition Configuration ========================== */
|
||||
#ifdef FAL_PART_HAS_TABLE_CFG
|
||||
/* partition table */
|
||||
#define FAL_PART_TABLE \
|
||||
{ \
|
||||
{FAL_PART_MAGIC_WORD, "FlashEnv", "flashdb_onchip", CONTROLLER_CODE_FIX_ADDRESS - 12*1024, 12*1024, 0}, \
|
||||
}
|
||||
#endif /* FAL_PART_HAS_TABLE_CFG */
|
||||
|
||||
#endif /* _FAL_CFG_H_ */
|
|
@ -1,786 +0,0 @@
|
|||
/**
|
||||
* @file lv_conf.h
|
||||
* Configuration file for v8.3.0
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copy this file as `lv_conf.h`
|
||||
* 1. simply next to the `lvgl` folder
|
||||
* 2. or any other places and
|
||||
* - define `LV_CONF_INCLUDE_SIMPLE`
|
||||
* - add the path as include path
|
||||
*/
|
||||
|
||||
/* clang-format off */
|
||||
#if 1 /*Set it to "1" to enable content*/
|
||||
|
||||
#ifndef LV_CONF_H
|
||||
#define LV_CONF_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/*====================
|
||||
CUSTOM SETTINGS
|
||||
*====================*/
|
||||
|
||||
#define LVGL_AUTO_CREATE_PAGE
|
||||
#define FAST_SCR_BUFFER
|
||||
|
||||
#ifdef FAST_SCR_BUFFER
|
||||
#define BUFFER_HOR_RES_MAX (480)
|
||||
#define DECODE_LINE_NUMBER (56)
|
||||
#define DECODE_BUFFER_SIZE (BUFFER_HOR_RES_MAX*DECODE_LINE_NUMBER*2)
|
||||
|
||||
//extern uint32_t fast_scr[];
|
||||
extern uint32_t display_framebuffer_block[];
|
||||
#define fast_scr display_framebuffer_block
|
||||
#include "fr30xx.h"
|
||||
extern void extern_flash_read(uint8_t *Buffer, uint32_t flash_Address, uint32_t Length);
|
||||
#define internal_flash_read(x, y, z) flash_read(QSPI0, x, y, z)
|
||||
#endif
|
||||
|
||||
/*====================
|
||||
COLOR SETTINGS
|
||||
*====================*/
|
||||
|
||||
/*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/
|
||||
#define LV_COLOR_DEPTH 16
|
||||
|
||||
/*Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)*/
|
||||
#define LV_COLOR_16_SWAP 0
|
||||
|
||||
/*Enable features to draw on transparent background.
|
||||
*It's required if opa, and transform_* style properties are used.
|
||||
*Can be also used if the UI is above another layer, e.g. an OSD menu or video player.*/
|
||||
#define LV_COLOR_SCREEN_TRANSP 0
|
||||
|
||||
/* Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently.
|
||||
* 0: round down, 64: round up from x.75, 128: round up from half, 192: round up from x.25, 254: round up */
|
||||
#define LV_COLOR_MIX_ROUND_OFS 0
|
||||
|
||||
/*Images pixels with this color will not be drawn if they are chroma keyed)*/
|
||||
#define LV_COLOR_CHROMA_KEY lv_color_hex(0x000000) /*pure green*/
|
||||
|
||||
/*=========================
|
||||
MEMORY SETTINGS
|
||||
*=========================*/
|
||||
|
||||
/*1: use custom malloc/free, 0: use the built-in `lv_mem_alloc()` and `lv_mem_free()`*/
|
||||
#define LV_MEM_CUSTOM 1
|
||||
#if LV_MEM_CUSTOM == 0
|
||||
/*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/
|
||||
#define LV_MEM_SIZE (48U * 1024U) /*[bytes]*/
|
||||
|
||||
/*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/
|
||||
#define LV_MEM_ADR 0 /*0: unused*/
|
||||
/*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/
|
||||
#if LV_MEM_ADR == 0
|
||||
#undef LV_MEM_POOL_INCLUDE
|
||||
#undef LV_MEM_POOL_ALLOC
|
||||
#endif
|
||||
|
||||
#else /*LV_MEM_CUSTOM*/
|
||||
// #define LV_MEM_CUSTOM_INCLUDE <stdlib.h> /*Header for the dynamic memory function*/
|
||||
// #define LV_MEM_CUSTOM_ALLOC malloc
|
||||
// #define LV_MEM_CUSTOM_FREE free
|
||||
// #define LV_MEM_CUSTOM_REALLOC realloc
|
||||
#define LV_MEM_CUSTOM_INCLUDE "FreeRTOS.h" /*Header for the dynamic memory function*/
|
||||
void * pvPortRealloc ( void *pv, uint32_t xNewSize );
|
||||
#define LV_MEM_CUSTOM_ALLOC pvPortMalloc
|
||||
#define LV_MEM_CUSTOM_FREE vPortFree
|
||||
#define LV_MEM_CUSTOM_REALLOC pvPortRealloc
|
||||
#endif /*LV_MEM_CUSTOM*/
|
||||
|
||||
/*Number of the intermediate memory buffer used during rendering and other internal processing mechanisms.
|
||||
*You will see an error log message if there wasn't enough buffers. */
|
||||
#define LV_MEM_BUF_MAX_NUM 16
|
||||
|
||||
/*Use the standard `memcpy` and `memset` instead of LVGL's own functions. (Might or might not be faster).*/
|
||||
#define LV_MEMCPY_MEMSET_STD 0
|
||||
|
||||
/*====================
|
||||
HAL SETTINGS
|
||||
*====================*/
|
||||
|
||||
/*Default display refresh period. LVG will redraw changed areas with this period time*/
|
||||
#define LV_DISP_DEF_REFR_PERIOD 15 /*[ms]*/
|
||||
|
||||
/*Input device read period in milliseconds*/
|
||||
#define LV_INDEV_DEF_READ_PERIOD 15 /*[ms]*/
|
||||
|
||||
/*Use a custom tick source that tells the elapsed time in milliseconds.
|
||||
*It removes the need to manually update the tick with `lv_tick_inc()`)*/
|
||||
#define LV_TICK_CUSTOM 0
|
||||
#if LV_TICK_CUSTOM
|
||||
#define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the system time function*/
|
||||
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current system time in ms*/
|
||||
#endif /*LV_TICK_CUSTOM*/
|
||||
|
||||
/*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings.
|
||||
*(Not so important, you can adjust it to modify default sizes and spaces)*/
|
||||
#define LV_DPI_DEF 130 /*[px/inch]*/
|
||||
|
||||
/*=======================
|
||||
* FEATURE CONFIGURATION
|
||||
*=======================*/
|
||||
|
||||
/*-------------
|
||||
* Drawing
|
||||
*-----------*/
|
||||
|
||||
/*Enable complex draw engine.
|
||||
*Required to draw shadow, gradient, rounded corners, circles, arc, skew lines, image transformations or any masks*/
|
||||
#define LV_DRAW_COMPLEX 1
|
||||
#if LV_DRAW_COMPLEX != 0
|
||||
|
||||
/*Allow buffering some shadow calculation.
|
||||
*LV_SHADOW_CACHE_SIZE is the max. shadow size to buffer, where shadow size is `shadow_width + radius`
|
||||
*Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost*/
|
||||
#define LV_SHADOW_CACHE_SIZE 0
|
||||
|
||||
/* Set number of maximally cached circle data.
|
||||
* The circumference of 1/4 circle are saved for anti-aliasing
|
||||
* radius * 4 bytes are used per circle (the most often used radiuses are saved)
|
||||
* 0: to disable caching */
|
||||
#define LV_CIRCLE_CACHE_SIZE 4
|
||||
#endif /*LV_DRAW_COMPLEX*/
|
||||
|
||||
/**
|
||||
* "Simple layers" are used when a widget has `style_opa < 255` to buffer the widget into a layer
|
||||
* and blend it as an image with the given opacity.
|
||||
* Note that `bg_opa`, `text_opa` etc don't require buffering into layer)
|
||||
* The widget can be buffered in smaller chunks to avoid using large buffers.
|
||||
*
|
||||
* - LV_LAYER_SIMPLE_BUF_SIZE: [bytes] the optimal target buffer size. LVGL will try to allocate it
|
||||
* - LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE: [bytes] used if `LV_LAYER_SIMPLE_BUF_SIZE` couldn't be allocated.
|
||||
*
|
||||
* Both buffer sizes are in bytes.
|
||||
* "Transformed layers" (where transform_angle/zoom properties are used) use larger buffers
|
||||
* and can't be drawn in chunks. So these settings affects only widgets with opacity.
|
||||
*/
|
||||
#define LV_LAYER_SIMPLE_BUF_SIZE (24 * 1024)
|
||||
#define LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE (3 * 1024)
|
||||
|
||||
/*Default image cache size. Image caching keeps the images opened.
|
||||
*If only the built-in image formats are used there is no real advantage of caching. (I.e. if no new image decoder is added)
|
||||
*With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images.
|
||||
*However the opened images might consume additional RAM.
|
||||
*0: to disable caching*/
|
||||
#define LV_IMG_CACHE_DEF_SIZE 0
|
||||
|
||||
/*Number of stops allowed per gradient. Increase this to allow more stops.
|
||||
*This adds (sizeof(lv_color_t) + 1) bytes per additional stop*/
|
||||
#define LV_GRADIENT_MAX_STOPS 2
|
||||
|
||||
/*Default gradient buffer size.
|
||||
*When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them again.
|
||||
*LV_GRAD_CACHE_DEF_SIZE sets the size of this cache in bytes.
|
||||
*If the cache is too small the map will be allocated only while it's required for the drawing.
|
||||
*0 mean no caching.*/
|
||||
#define LV_GRAD_CACHE_DEF_SIZE 0
|
||||
|
||||
/*Allow dithering the gradients (to achieve visual smooth color gradients on limited color depth display)
|
||||
*LV_DITHER_GRADIENT implies allocating one or two more lines of the object's rendering surface
|
||||
*The increase in memory consumption is (32 bits * object width) plus 24 bits * object width if using error diffusion */
|
||||
#define LV_DITHER_GRADIENT 0
|
||||
#if LV_DITHER_GRADIENT
|
||||
/*Add support for error diffusion dithering.
|
||||
*Error diffusion dithering gets a much better visual result, but implies more CPU consumption and memory when drawing.
|
||||
*The increase in memory consumption is (24 bits * object's width)*/
|
||||
#define LV_DITHER_ERROR_DIFFUSION 0
|
||||
#endif
|
||||
|
||||
/*Maximum buffer size to allocate for rotation.
|
||||
*Only used if software rotation is enabled in the display driver.*/
|
||||
#define LV_DISP_ROT_MAX_BUF (10*1024)
|
||||
|
||||
/*-------------
|
||||
* GPU
|
||||
*-----------*/
|
||||
|
||||
/*Use Arm's 2D acceleration library Arm-2D */
|
||||
#define LV_USE_GPU_ARM2D 0
|
||||
|
||||
/*Use STM32's DMA2D (aka Chrom Art) GPU*/
|
||||
#define LV_USE_GPU_STM32_DMA2D 0
|
||||
#if LV_USE_GPU_STM32_DMA2D
|
||||
/*Must be defined to include path of CMSIS header of target processor
|
||||
e.g. "stm32f769xx.h" or "stm32f429xx.h"*/
|
||||
#define LV_GPU_DMA2D_CMSIS_INCLUDE
|
||||
#endif
|
||||
|
||||
/*Use SWM341's DMA2D GPU*/
|
||||
#define LV_USE_GPU_SWM341_DMA2D 0
|
||||
#if LV_USE_GPU_SWM341_DMA2D
|
||||
#define LV_GPU_SWM341_DMA2D_INCLUDE "SWM341.h"
|
||||
#endif
|
||||
|
||||
/*Use NXP's PXP GPU iMX RTxxx platforms*/
|
||||
#define LV_USE_GPU_NXP_PXP 0
|
||||
#if LV_USE_GPU_NXP_PXP
|
||||
/*1: Add default bare metal and FreeRTOS interrupt handling routines for PXP (lv_gpu_nxp_pxp_osa.c)
|
||||
* and call lv_gpu_nxp_pxp_init() automatically during lv_init(). Note that symbol SDK_OS_FREE_RTOS
|
||||
* has to be defined in order to use FreeRTOS OSA, otherwise bare-metal implementation is selected.
|
||||
*0: lv_gpu_nxp_pxp_init() has to be called manually before lv_init()
|
||||
*/
|
||||
#define LV_USE_GPU_NXP_PXP_AUTO_INIT 0
|
||||
#endif
|
||||
|
||||
/*Use NXP's VG-Lite GPU iMX RTxxx platforms*/
|
||||
#define LV_USE_GPU_NXP_VG_LITE 0
|
||||
|
||||
/*Use SDL renderer API*/
|
||||
#define LV_USE_GPU_SDL 0
|
||||
#if LV_USE_GPU_SDL
|
||||
#define LV_GPU_SDL_INCLUDE_PATH <SDL2/SDL.h>
|
||||
/*Texture cache size, 8MB by default*/
|
||||
#define LV_GPU_SDL_LRU_SIZE (1024 * 1024 * 8)
|
||||
/*Custom blend mode for mask drawing, disable if you need to link with older SDL2 lib*/
|
||||
#define LV_GPU_SDL_CUSTOM_BLEND_MODE (SDL_VERSION_ATLEAST(2, 0, 6))
|
||||
#endif
|
||||
|
||||
/*-------------
|
||||
* Logging
|
||||
*-----------*/
|
||||
|
||||
/*Enable the log module*/
|
||||
#define LV_USE_LOG 0
|
||||
#if LV_USE_LOG
|
||||
|
||||
/*How important log should be added:
|
||||
*LV_LOG_LEVEL_TRACE A lot of logs to give detailed information
|
||||
*LV_LOG_LEVEL_INFO Log important events
|
||||
*LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem
|
||||
*LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail
|
||||
*LV_LOG_LEVEL_USER Only logs added by the user
|
||||
*LV_LOG_LEVEL_NONE Do not log anything*/
|
||||
#define LV_LOG_LEVEL LV_LOG_LEVEL_WARN
|
||||
|
||||
/*1: Print the log with 'printf';
|
||||
*0: User need to register a callback with `lv_log_register_print_cb()`*/
|
||||
#define LV_LOG_PRINTF 0
|
||||
|
||||
/*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/
|
||||
#define LV_LOG_TRACE_MEM 1
|
||||
#define LV_LOG_TRACE_TIMER 1
|
||||
#define LV_LOG_TRACE_INDEV 1
|
||||
#define LV_LOG_TRACE_DISP_REFR 1
|
||||
#define LV_LOG_TRACE_EVENT 1
|
||||
#define LV_LOG_TRACE_OBJ_CREATE 1
|
||||
#define LV_LOG_TRACE_LAYOUT 1
|
||||
#define LV_LOG_TRACE_ANIM 1
|
||||
|
||||
#endif /*LV_USE_LOG*/
|
||||
|
||||
/*-------------
|
||||
* Asserts
|
||||
*-----------*/
|
||||
|
||||
/*Enable asserts if an operation is failed or an invalid data is found.
|
||||
*If LV_USE_LOG is enabled an error message will be printed on failure*/
|
||||
#define LV_USE_ASSERT_NULL 1 /*Check if the parameter is NULL. (Very fast, recommended)*/
|
||||
#define LV_USE_ASSERT_MALLOC 1 /*Checks is the memory is successfully allocated or no. (Very fast, recommended)*/
|
||||
#define LV_USE_ASSERT_STYLE 0 /*Check if the styles are properly initialized. (Very fast, recommended)*/
|
||||
#define LV_USE_ASSERT_MEM_INTEGRITY 0 /*Check the integrity of `lv_mem` after critical operations. (Slow)*/
|
||||
#define LV_USE_ASSERT_OBJ 0 /*Check the object's type and existence (e.g. not deleted). (Slow)*/
|
||||
|
||||
/*Add a custom handler when assert happens e.g. to restart the MCU*/
|
||||
#define LV_ASSERT_HANDLER_INCLUDE <stdint.h>
|
||||
#define LV_ASSERT_HANDLER while(1); /*Halt by default*/
|
||||
|
||||
/*-------------
|
||||
* Others
|
||||
*-----------*/
|
||||
|
||||
/*1: Show CPU usage and FPS count*/
|
||||
#define LV_USE_PERF_MONITOR 0
|
||||
#if LV_USE_PERF_MONITOR
|
||||
#define LV_USE_PERF_MONITOR_POS LV_ALIGN_CENTER
|
||||
#endif
|
||||
|
||||
/*1: Show the used memory and the memory fragmentation
|
||||
* Requires LV_MEM_CUSTOM = 0*/
|
||||
#define LV_USE_MEM_MONITOR 0
|
||||
#if LV_USE_MEM_MONITOR
|
||||
#define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
|
||||
#endif
|
||||
|
||||
/*1: Draw random colored rectangles over the redrawn areas*/
|
||||
#define LV_USE_REFR_DEBUG 0
|
||||
|
||||
/*Change the built in (v)snprintf functions*/
|
||||
#define LV_SPRINTF_CUSTOM 1
|
||||
#if LV_SPRINTF_CUSTOM
|
||||
#define LV_SPRINTF_INCLUDE <stdio.h>
|
||||
#define lv_snprintf snprintf
|
||||
#define lv_vsnprintf vsnprintf
|
||||
#else /*LV_SPRINTF_CUSTOM*/
|
||||
#define LV_SPRINTF_USE_FLOAT 0
|
||||
#endif /*LV_SPRINTF_CUSTOM*/
|
||||
|
||||
#define LV_USE_USER_DATA 1
|
||||
|
||||
/*Garbage Collector settings
|
||||
*Used if lvgl is bound to higher level language and the memory is managed by that language*/
|
||||
#define LV_ENABLE_GC 0
|
||||
#if LV_ENABLE_GC != 0
|
||||
#define LV_GC_INCLUDE "gc.h" /*Include Garbage Collector related things*/
|
||||
#endif /*LV_ENABLE_GC*/
|
||||
|
||||
/*=====================
|
||||
* COMPILER SETTINGS
|
||||
*====================*/
|
||||
|
||||
/*For big endian systems set to 1*/
|
||||
#define LV_BIG_ENDIAN_SYSTEM 0
|
||||
|
||||
/*Define a custom attribute to `lv_tick_inc` function*/
|
||||
#define LV_ATTRIBUTE_TICK_INC
|
||||
|
||||
/*Define a custom attribute to `lv_timer_handler` function*/
|
||||
#define LV_ATTRIBUTE_TIMER_HANDLER
|
||||
|
||||
/*Define a custom attribute to `lv_disp_flush_ready` function*/
|
||||
#define LV_ATTRIBUTE_FLUSH_READY
|
||||
|
||||
/*Required alignment size for buffers*/
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1
|
||||
|
||||
/*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary by default).
|
||||
* E.g. __attribute__((aligned(4)))*/
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
|
||||
/*Attribute to mark large constant arrays for example font's bitmaps*/
|
||||
#define LV_ATTRIBUTE_LARGE_CONST
|
||||
|
||||
/*Compiler prefix for a big array declaration in RAM*/
|
||||
#define LV_ATTRIBUTE_LARGE_RAM_ARRAY
|
||||
|
||||
/*Place performance critical functions into a faster memory (e.g RAM)*/
|
||||
#define LV_ATTRIBUTE_FAST_MEM __attribute__((section("ram_code")))
|
||||
|
||||
#define LV_IMG_FAST_MEM __attribute__((section("ram_code")))
|
||||
|
||||
/*Prefix variables that are used in GPU accelerated operations, often these need to be placed in RAM sections that are DMA accessible*/
|
||||
#define LV_ATTRIBUTE_DMA
|
||||
|
||||
/*Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> that
|
||||
*should also appear on LVGL binding API such as Micropython.*/
|
||||
#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning /*The default value just prevents GCC warning*/
|
||||
|
||||
/*Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t*/
|
||||
#define LV_USE_LARGE_COORD 0
|
||||
|
||||
/*==================
|
||||
* FONT USAGE
|
||||
*===================*/
|
||||
|
||||
/*Montserrat fonts with ASCII range and some symbols using bpp = 4
|
||||
*https://fonts.google.com/specimen/Montserrat*/
|
||||
#define LV_FONT_MONTSERRAT_8 0
|
||||
#define LV_FONT_MONTSERRAT_10 0
|
||||
#define LV_FONT_MONTSERRAT_12 1
|
||||
#define LV_FONT_MONTSERRAT_14 1
|
||||
#define LV_FONT_MONTSERRAT_16 1
|
||||
#define LV_FONT_MONTSERRAT_18 0
|
||||
#define LV_FONT_MONTSERRAT_20 0
|
||||
#define LV_FONT_MONTSERRAT_22 0
|
||||
#define LV_FONT_MONTSERRAT_24 0
|
||||
#define LV_FONT_MONTSERRAT_26 0
|
||||
#define LV_FONT_MONTSERRAT_28 1
|
||||
#define LV_FONT_MONTSERRAT_30 0
|
||||
#define LV_FONT_MONTSERRAT_32 0
|
||||
#define LV_FONT_MONTSERRAT_34 0
|
||||
#define LV_FONT_MONTSERRAT_36 0
|
||||
#define LV_FONT_MONTSERRAT_38 0
|
||||
#define LV_FONT_MONTSERRAT_40 0
|
||||
#define LV_FONT_MONTSERRAT_42 0
|
||||
#define LV_FONT_MONTSERRAT_44 0
|
||||
#define LV_FONT_MONTSERRAT_46 0
|
||||
#define LV_FONT_MONTSERRAT_48 0
|
||||
|
||||
/*Demonstrate special features*/
|
||||
#define LV_FONT_MONTSERRAT_12_SUBPX 0
|
||||
#define LV_FONT_MONTSERRAT_28_COMPRESSED 0 /*bpp = 3*/
|
||||
#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 /*Hebrew, Arabic, Persian letters and all their forms*/
|
||||
#define LV_FONT_SIMSUN_16_CJK 0 /*1000 most common CJK radicals*/
|
||||
|
||||
/*Pixel perfect monospace fonts*/
|
||||
#define LV_FONT_UNSCII_8 0
|
||||
#define LV_FONT_UNSCII_16 0
|
||||
|
||||
/*Optionally declare custom fonts here.
|
||||
*You can use these fonts as default font too and they will be available globally.
|
||||
*E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/
|
||||
#define LV_FONT_CUSTOM_DECLARE
|
||||
|
||||
/*Always set a default font*/
|
||||
#define LV_FONT_DEFAULT &lv_font_montserrat_14
|
||||
|
||||
/*Enable handling large font and/or fonts with a lot of characters.
|
||||
*The limit depends on the font size, font face and bpp.
|
||||
*Compiler error will be triggered if a font needs it.*/
|
||||
#define LV_FONT_FMT_TXT_LARGE 1
|
||||
|
||||
/*Enables/disables support for compressed fonts.*/
|
||||
#define LV_USE_FONT_COMPRESSED 0
|
||||
|
||||
/*Enable subpixel rendering*/
|
||||
#define LV_USE_FONT_SUBPX 0
|
||||
#if LV_USE_FONT_SUBPX
|
||||
/*Set the pixel order of the display. Physical order of RGB channels. Doesn't matter with "normal" fonts.*/
|
||||
#define LV_FONT_SUBPX_BGR 0 /*0: RGB; 1:BGR order*/
|
||||
#endif
|
||||
|
||||
/*Enable drawing placeholders when glyph dsc is not found*/
|
||||
#define LV_USE_FONT_PLACEHOLDER 1
|
||||
|
||||
/*=================
|
||||
* TEXT SETTINGS
|
||||
*=================*/
|
||||
|
||||
/**
|
||||
* Select a character encoding for strings.
|
||||
* Your IDE or editor should have the same character encoding
|
||||
* - LV_TXT_ENC_UTF8
|
||||
* - LV_TXT_ENC_ASCII
|
||||
*/
|
||||
#define LV_TXT_ENC LV_TXT_ENC_UTF8
|
||||
|
||||
/*Can break (wrap) texts on these chars*/
|
||||
#define LV_TXT_BREAK_CHARS " ,.;:-_"
|
||||
|
||||
/*If a word is at least this long, will break wherever "prettiest"
|
||||
*To disable, set to a value <= 0*/
|
||||
#define LV_TXT_LINE_BREAK_LONG_LEN 0
|
||||
|
||||
/*Minimum number of characters in a long word to put on a line before a break.
|
||||
*Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/
|
||||
#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
|
||||
|
||||
/*Minimum number of characters in a long word to put on a line after a break.
|
||||
*Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/
|
||||
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3
|
||||
|
||||
/*The control character to use for signalling text recoloring.*/
|
||||
#define LV_TXT_COLOR_CMD "#"
|
||||
|
||||
/*Support bidirectional texts. Allows mixing Left-to-Right and Right-to-Left texts.
|
||||
*The direction will be processed according to the Unicode Bidirectional Algorithm:
|
||||
*https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/
|
||||
#define LV_USE_BIDI 1
|
||||
#if LV_USE_BIDI
|
||||
/*Set the default direction. Supported values:
|
||||
*`LV_BASE_DIR_LTR` Left-to-Right
|
||||
*`LV_BASE_DIR_RTL` Right-to-Left
|
||||
*`LV_BASE_DIR_AUTO` detect texts base direction*/
|
||||
#define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO
|
||||
#endif
|
||||
|
||||
/*Enable Arabic/Persian processing
|
||||
*In these languages characters should be replaced with an other form based on their position in the text*/
|
||||
#define LV_USE_ARABIC_PERSIAN_CHARS 1
|
||||
|
||||
/*==================
|
||||
* WIDGET USAGE
|
||||
*================*/
|
||||
|
||||
/*Documentation of the widgets: https://docs.lvgl.io/latest/en/html/widgets/index.html*/
|
||||
|
||||
#define LV_USE_ARC 1
|
||||
|
||||
#define LV_USE_BAR 1
|
||||
|
||||
#define LV_USE_BTN 1
|
||||
|
||||
#define LV_USE_BTNMATRIX 1
|
||||
|
||||
#define LV_USE_CANVAS 1
|
||||
|
||||
#define LV_USE_CHECKBOX 1
|
||||
|
||||
#define LV_USE_DROPDOWN 1 /*Requires: lv_label*/
|
||||
|
||||
#define LV_USE_IMG 1 /*Requires: lv_label*/
|
||||
|
||||
#define LV_USE_LABEL 1
|
||||
#if LV_USE_LABEL
|
||||
#define LV_LABEL_TEXT_SELECTION 1 /*Enable selecting text of the label*/
|
||||
#define LV_LABEL_LONG_TXT_HINT 1 /*Store some extra info in labels to speed up drawing of very long texts*/
|
||||
#endif
|
||||
|
||||
#define LV_USE_LINE 1
|
||||
|
||||
#define LV_USE_ROLLER 1 /*Requires: lv_label*/
|
||||
#if LV_USE_ROLLER
|
||||
#define LV_ROLLER_INF_PAGES 7 /*Number of extra "pages" when the roller is infinite*/
|
||||
#endif
|
||||
|
||||
#define LV_USE_SLIDER 1 /*Requires: lv_bar*/
|
||||
|
||||
#define LV_USE_SWITCH 1
|
||||
|
||||
#define LV_USE_TEXTAREA 1 /*Requires: lv_label*/
|
||||
#if LV_USE_TEXTAREA != 0
|
||||
#define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500 /*ms*/
|
||||
#endif
|
||||
|
||||
#define LV_USE_TABLE 1
|
||||
|
||||
/*==================
|
||||
* EXTRA COMPONENTS
|
||||
*==================*/
|
||||
|
||||
/*-----------
|
||||
* Widgets
|
||||
*----------*/
|
||||
#define LV_USE_ANIMIMG 1
|
||||
|
||||
#define LV_USE_CALENDAR 1
|
||||
#if LV_USE_CALENDAR
|
||||
#define LV_CALENDAR_WEEK_STARTS_MONDAY 0
|
||||
#if LV_CALENDAR_WEEK_STARTS_MONDAY
|
||||
#define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"}
|
||||
#else
|
||||
#define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}
|
||||
#endif
|
||||
|
||||
#define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
|
||||
#define LV_USE_CALENDAR_HEADER_ARROW 1
|
||||
#define LV_USE_CALENDAR_HEADER_DROPDOWN 1
|
||||
#endif /*LV_USE_CALENDAR*/
|
||||
|
||||
#define LV_USE_CHART 1
|
||||
|
||||
#define LV_USE_COLORWHEEL 1
|
||||
|
||||
#define LV_USE_IMGBTN 1
|
||||
|
||||
#define LV_USE_KEYBOARD 1
|
||||
|
||||
#define LV_USE_LED 1
|
||||
|
||||
#define LV_USE_LIST 1
|
||||
|
||||
#define LV_USE_MENU 1
|
||||
|
||||
#define LV_USE_METER 1
|
||||
|
||||
#define LV_USE_MSGBOX 1
|
||||
|
||||
#define LV_USE_SPAN 1
|
||||
#if LV_USE_SPAN
|
||||
/*A line text can contain maximum num of span descriptor */
|
||||
#define LV_SPAN_SNIPPET_STACK_SIZE 64
|
||||
#endif
|
||||
|
||||
#define LV_USE_SPINBOX 1
|
||||
|
||||
#define LV_USE_SPINNER 1
|
||||
|
||||
#define LV_USE_TABVIEW 1
|
||||
|
||||
#define LV_USE_TILEVIEW 1
|
||||
|
||||
#define LV_USE_WIN 1
|
||||
|
||||
/*-----------
|
||||
* Themes
|
||||
*----------*/
|
||||
|
||||
/*A simple, impressive and very complete theme*/
|
||||
#define LV_USE_THEME_DEFAULT 1
|
||||
#if LV_USE_THEME_DEFAULT
|
||||
|
||||
/*0: Light mode; 1: Dark mode*/
|
||||
#define LV_THEME_DEFAULT_DARK 0
|
||||
|
||||
/*1: Enable grow on press*/
|
||||
#define LV_THEME_DEFAULT_GROW 1
|
||||
|
||||
/*Default transition time in [ms]*/
|
||||
#define LV_THEME_DEFAULT_TRANSITION_TIME 80
|
||||
#endif /*LV_USE_THEME_DEFAULT*/
|
||||
|
||||
/*A very simple theme that is a good starting point for a custom theme*/
|
||||
#define LV_USE_THEME_BASIC 1
|
||||
|
||||
/*A theme designed for monochrome displays*/
|
||||
#define LV_USE_THEME_MONO 1
|
||||
|
||||
/*-----------
|
||||
* Layouts
|
||||
*----------*/
|
||||
|
||||
/*A layout similar to Flexbox in CSS.*/
|
||||
#define LV_USE_FLEX 1
|
||||
|
||||
/*A layout similar to Grid in CSS.*/
|
||||
#define LV_USE_GRID 1
|
||||
|
||||
/*---------------------
|
||||
* 3rd party libraries
|
||||
*--------------------*/
|
||||
|
||||
/*File system interfaces for common APIs */
|
||||
|
||||
/*API for fopen, fread, etc*/
|
||||
#define LV_USE_FS_STDIO 0
|
||||
#if LV_USE_FS_STDIO
|
||||
#define LV_FS_STDIO_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
|
||||
#define LV_FS_STDIO_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
|
||||
#define LV_FS_STDIO_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
|
||||
#endif
|
||||
|
||||
/*API for open, read, etc*/
|
||||
#define LV_USE_FS_POSIX 0
|
||||
#if LV_USE_FS_POSIX
|
||||
#define LV_FS_POSIX_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
|
||||
#define LV_FS_POSIX_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
|
||||
#define LV_FS_POSIX_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
|
||||
#endif
|
||||
|
||||
/*API for CreateFile, ReadFile, etc*/
|
||||
#define LV_USE_FS_WIN32 0
|
||||
#if LV_USE_FS_WIN32
|
||||
#define LV_FS_WIN32_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
|
||||
#define LV_FS_WIN32_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
|
||||
#define LV_FS_WIN32_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
|
||||
#endif
|
||||
|
||||
/*API for FATFS (needs to be added separately). Uses f_open, f_read, etc*/
|
||||
#define LV_USE_FS_FATFS 0
|
||||
#if LV_USE_FS_FATFS
|
||||
#define LV_FS_FATFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
|
||||
#define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
|
||||
#endif
|
||||
|
||||
/*PNG decoder library*/
|
||||
#define LV_USE_PNG 0
|
||||
|
||||
/*BMP decoder library*/
|
||||
#define LV_USE_BMP 0
|
||||
|
||||
/* JPG + split JPG decoder library.
|
||||
* Split JPG is a custom format optimized for embedded systems. */
|
||||
#define LV_USE_SJPG 0
|
||||
|
||||
/*GIF decoder library*/
|
||||
#define LV_USE_GIF 1
|
||||
|
||||
/*QR code library*/
|
||||
#define LV_USE_QRCODE 1
|
||||
|
||||
/*FreeType library*/
|
||||
#define LV_USE_FREETYPE 0
|
||||
#if LV_USE_FREETYPE
|
||||
/*Memory used by FreeType to cache characters [bytes] (-1: no caching)*/
|
||||
#define LV_FREETYPE_CACHE_SIZE (16 * 1024)
|
||||
#if LV_FREETYPE_CACHE_SIZE >= 0
|
||||
/* 1: bitmap cache use the sbit cache, 0:bitmap cache use the image cache. */
|
||||
/* sbit cache:it is much more memory efficient for small bitmaps(font size < 256) */
|
||||
/* if font size >= 256, must be configured as image cache */
|
||||
#define LV_FREETYPE_SBIT_CACHE 0
|
||||
/* Maximum number of opened FT_Face/FT_Size objects managed by this cache instance. */
|
||||
/* (0:use system defaults) */
|
||||
#define LV_FREETYPE_CACHE_FT_FACES 0
|
||||
#define LV_FREETYPE_CACHE_FT_SIZES 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*Rlottie library*/
|
||||
#define LV_USE_RLOTTIE 0
|
||||
|
||||
/*FFmpeg library for image decoding and playing videos
|
||||
*Supports all major image formats so do not enable other image decoder with it*/
|
||||
#define LV_USE_FFMPEG 0
|
||||
#if LV_USE_FFMPEG
|
||||
/*Dump input information to stderr*/
|
||||
#define LV_FFMPEG_DUMP_FORMAT 0
|
||||
#endif
|
||||
|
||||
/*-----------
|
||||
* Others
|
||||
*----------*/
|
||||
|
||||
/*1: Enable API to take snapshot for object*/
|
||||
#define LV_USE_SNAPSHOT 0
|
||||
|
||||
/*1: Enable Monkey test*/
|
||||
#define LV_USE_MONKEY 0
|
||||
|
||||
/*1: Enable grid navigation*/
|
||||
#define LV_USE_GRIDNAV 0
|
||||
|
||||
/*1: Enable lv_obj fragment*/
|
||||
#define LV_USE_FRAGMENT 0
|
||||
|
||||
/*1: Support using images as font in label or span widgets */
|
||||
#define LV_USE_IMGFONT 0
|
||||
|
||||
/*1: Enable a published subscriber based messaging system */
|
||||
#define LV_USE_MSG 0
|
||||
|
||||
/*1: Enable Pinyin input method*/
|
||||
/*Requires: lv_keyboard*/
|
||||
#define LV_USE_IME_PINYIN 0
|
||||
#if LV_USE_IME_PINYIN
|
||||
/*1: Use default thesaurus*/
|
||||
/*If you do not use the default thesaurus, be sure to use `lv_ime_pinyin` after setting the thesauruss*/
|
||||
#define LV_IME_PINYIN_USE_DEFAULT_DICT 1
|
||||
/*Set the maximum number of candidate panels that can be displayed*/
|
||||
/*This needs to be adjusted according to the size of the screen*/
|
||||
#define LV_IME_PINYIN_CAND_TEXT_NUM 6
|
||||
|
||||
/*Use 9 key input(k9)*/
|
||||
#define LV_IME_PINYIN_USE_K9_MODE 1
|
||||
#if LV_IME_PINYIN_USE_K9_MODE == 1
|
||||
#define LV_IME_PINYIN_K9_CAND_TEXT_NUM 3
|
||||
#endif // LV_IME_PINYIN_USE_K9_MODE
|
||||
#endif
|
||||
|
||||
/*==================
|
||||
* EXAMPLES
|
||||
*==================*/
|
||||
|
||||
/*Enable the examples to be built with the library*/
|
||||
#define LV_BUILD_EXAMPLES 1
|
||||
|
||||
/*===================
|
||||
* DEMO USAGE
|
||||
====================*/
|
||||
|
||||
/*Show some widget. It might be required to increase `LV_MEM_SIZE` */
|
||||
#define LV_USE_DEMO_WIDGETS 1
|
||||
#if LV_USE_DEMO_WIDGETS
|
||||
#define LV_DEMO_WIDGETS_SLIDESHOW 1
|
||||
#endif
|
||||
|
||||
/*Demonstrate the usage of encoder and keyboard*/
|
||||
#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0
|
||||
|
||||
/*Benchmark your system*/
|
||||
#define LV_USE_DEMO_BENCHMARK 1
|
||||
#if LV_USE_DEMO_BENCHMARK
|
||||
/*Use RGB565A8 images with 16 bit color depth instead of ARGB8565*/
|
||||
#define LV_DEMO_BENCHMARK_RGB565A8 0
|
||||
#endif
|
||||
|
||||
/*Stress test for LVGL*/
|
||||
#define LV_USE_DEMO_STRESS 1
|
||||
|
||||
/*Music player demo*/
|
||||
#define LV_USE_DEMO_MUSIC 1
|
||||
#if LV_USE_DEMO_MUSIC
|
||||
#define LV_DEMO_MUSIC_SQUARE 1
|
||||
#define LV_DEMO_MUSIC_LANDSCAPE 1
|
||||
#define LV_DEMO_MUSIC_ROUND 1
|
||||
#define LV_DEMO_MUSIC_LARGE 0
|
||||
#define LV_DEMO_MUSIC_AUTO_PLAY 1
|
||||
#endif
|
||||
|
||||
/*--END OF LV_CONF_H--*/
|
||||
|
||||
#endif /*LV_CONF_H*/
|
||||
|
||||
#endif /*End of "Content enable"*/
|
|
@ -1,86 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2014, Mentor Graphics Corporation
|
||||
* Copyright (c) 2015 Xilinx, Inc.
|
||||
* Copyright (c) 2016 Freescale Semiconductor, Inc.
|
||||
* Copyright 2016-2021 NXP
|
||||
* All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#ifndef RPMSG_CONFIG_H_
|
||||
#define RPMSG_CONFIG_H_
|
||||
|
||||
/*!
|
||||
* @addtogroup config
|
||||
* @{
|
||||
* @file
|
||||
*/
|
||||
|
||||
//! @name Configuration options
|
||||
//@{
|
||||
|
||||
//! @def RL_MS_PER_INTERVAL
|
||||
//!
|
||||
//! Delay in milliseconds used in non-blocking API functions for polling.
|
||||
//! The default value is 1.
|
||||
#define RL_MS_PER_INTERVAL (1)
|
||||
|
||||
//! @def RL_BUFFER_PAYLOAD_SIZE
|
||||
//!
|
||||
//! Size of the buffer payload, it must be equal to (240, 496, 1008, ...)
|
||||
//! [2^n - 16]. Ensure the same value is defined on both sides of rpmsg
|
||||
//! communication. The default value is 496U.
|
||||
#define RL_BUFFER_PAYLOAD_SIZE (240U)
|
||||
|
||||
//! @def RL_BUFFER_COUNT
|
||||
//!
|
||||
//! Number of the buffers, it must be power of two (2, 4, ...).
|
||||
//! The default value is 2U.
|
||||
//! Note this value defines the buffer count for one direction of the rpmsg
|
||||
//! communication only, i.e. if the default value of 2 is used
|
||||
//! in rpmsg_config.h files for the master and the remote side, 4 buffers
|
||||
//! in total are created in the shared memory.
|
||||
#define RL_BUFFER_COUNT (2U)
|
||||
|
||||
//! @def RL_API_HAS_ZEROCOPY
|
||||
//!
|
||||
//! Zero-copy API functions enabled/disabled.
|
||||
//! The default value is 1 (enabled).
|
||||
#define RL_API_HAS_ZEROCOPY (1)
|
||||
|
||||
//! @def RL_USE_STATIC_API
|
||||
//!
|
||||
//! Static API functions (no dynamic allocation) enabled/disabled.
|
||||
//! The default value is 0 (static API disabled).
|
||||
#define RL_USE_STATIC_API (0)
|
||||
|
||||
//! @def RL_CLEAR_USED_BUFFERS
|
||||
//!
|
||||
//! Clearing used buffers before returning back to the pool of free buffers
|
||||
//! enabled/disabled.
|
||||
//! The default value is 0 (disabled).
|
||||
#define RL_CLEAR_USED_BUFFERS (0)
|
||||
|
||||
//! @def RL_USE_MCMGR_IPC_ISR_HANDLER
|
||||
//!
|
||||
//! When enabled IPC interrupts are managed by the Multicore Manager (IPC
|
||||
//! interrupts router), when disabled RPMsg-Lite manages IPC interrupts
|
||||
//! by itself.
|
||||
//! The default value is 0 (no MCMGR IPC ISR handler used).
|
||||
#define RL_USE_MCMGR_IPC_ISR_HANDLER (0)
|
||||
|
||||
//! @def RL_USE_ENVIRONMENT_CONTEXT
|
||||
//!
|
||||
//! When enabled the environment layer uses its own context.
|
||||
//! Added for QNX port mainly, but can be used if required.
|
||||
//! The default value is 0 (no context, saves some RAM).
|
||||
#define RL_USE_ENVIRONMENT_CONTEXT (0)
|
||||
|
||||
//! @def RL_DEBUG_CHECK_BUFFERS
|
||||
//!
|
||||
//! Do not use in RPMsg-Lite to Linux configuration
|
||||
#define RL_DEBUG_CHECK_BUFFERS (0)
|
||||
//@}
|
||||
|
||||
#endif /* RPMSG_CONFIG_H_ */
|
File diff suppressed because it is too large
Load Diff
|
@ -1,24 +0,0 @@
|
|||
|
||||
/*
|
||||
* Auto generated Run-Time-Environment Configuration File
|
||||
* *** Do not modify ! ***
|
||||
*
|
||||
* Project: 'Project'
|
||||
* Target: 'Project'
|
||||
*/
|
||||
|
||||
#ifndef RTE_COMPONENTS_H
|
||||
#define RTE_COMPONENTS_H
|
||||
|
||||
|
||||
/*
|
||||
* Define the Device Header File:
|
||||
*/
|
||||
#define CMSIS_device_header "ARMCM33_DSP_FP.h"
|
||||
|
||||
/* Keil.ARM Compiler::Compiler:I/O:STDERR:Breakpoint:1.2.0 */
|
||||
#define RTE_Compiler_IO_STDERR /* Compiler I/O: STDERR */
|
||||
#define RTE_Compiler_IO_STDERR_BKPT /* Compiler I/O: STDERR Breakpoint */
|
||||
|
||||
|
||||
#endif /* RTE_COMPONENTS_H */
|
|
@ -1,26 +0,0 @@
|
|||
import os
|
||||
import shutil
|
||||
|
||||
def delete_files_in_current_directory(folder_name):
|
||||
try:
|
||||
current_directory = os.path.dirname(os.path.abspath(__file__))
|
||||
folder_to_delete = os.path.join(current_directory, folder_name)
|
||||
|
||||
if os.path.exists(folder_to_delete):
|
||||
files = os.listdir(folder_to_delete)
|
||||
for file_name in files:
|
||||
file_path = os.path.join(folder_to_delete, file_name)
|
||||
if os.path.isfile(file_path):
|
||||
os.remove(file_path)
|
||||
print(f"Deleted: {file_path}")
|
||||
|
||||
print(f"All files in {folder_name} have been deleted.")
|
||||
else:
|
||||
print(f"Folder {folder_name} does not exist in {current_directory}.")
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
|
||||
folder_name_to_delete = "Objects"
|
||||
delete_files_in_current_directory(folder_name_to_delete)
|
||||
folder_name_to_delete = "Listings"
|
||||
delete_files_in_current_directory(folder_name_to_delete)
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
|
@ -1,37 +0,0 @@
|
|||
import os
|
||||
import struct
|
||||
import zlib
|
||||
import sys
|
||||
|
||||
def fill_header(f_in_file,
|
||||
f_out_file):
|
||||
code_length = os.path.getsize(f_in_file)
|
||||
f_out_create = open(f_out_file, 'wb')
|
||||
f_out_create.close()
|
||||
f_out = open(f_out_file, 'r+b')
|
||||
f_in = open(f_in_file, 'rb')
|
||||
array = f_in.read(code_length)
|
||||
f_out.write(array)
|
||||
f_out.seek(0x150)
|
||||
f_out.write(struct.pack('I', code_length))
|
||||
f_out.seek(0)
|
||||
arrayout = f_out.read(code_length)
|
||||
image_crc = zlib.crc32(arrayout)
|
||||
f_out.seek(code_length)
|
||||
|
||||
#f_out.write(struct.pack('I',image_crc))
|
||||
f_out.write(struct.pack('B', image_crc&0xff))
|
||||
f_out.write(struct.pack('B', (image_crc&0xff00)>>8))
|
||||
f_out.write(struct.pack('B', (image_crc&0xff0000)>>16))
|
||||
f_out.write(struct.pack('B', (image_crc&0xff000000)>>24))
|
||||
|
||||
|
||||
if 'BAT_RUN' in os.environ:
|
||||
fill_header(".\output\Project.bin", ".\output\Project_mp_burn.bin")
|
||||
else:
|
||||
fill_header("Project.bin", "Project_mp_burn.bin")
|
||||
# if sys.argv[0].endswith('.bat'):
|
||||
# fill_header(".\output\Project.bin", ".\output\Project_burn.bin")
|
||||
# else:
|
||||
# fill_header("Project.bin", "Project_burn.bin")
|
||||
|
Binary file not shown.
|
@ -1,11 +0,0 @@
|
|||
@echo off
|
||||
|
||||
if exist Project_burn.bin (
|
||||
del Project_burn.bin
|
||||
)
|
||||
@echo off
|
||||
set BAT_RUN=1
|
||||
python .\output\app_post_process.py
|
||||
|
||||
|
||||
|
Binary file not shown.
|
@ -1,806 +0,0 @@
|
|||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "fr30xx.h"
|
||||
|
||||
#include "co_util.h"
|
||||
|
||||
#include "bt_types.h"
|
||||
#include "me_api.h"
|
||||
#include "hfg_api.h"
|
||||
#include "gatt_api.h"
|
||||
|
||||
#include "app_at.h"
|
||||
#include "app_task.h"
|
||||
#include "app_ble.h"
|
||||
#include "app_bt.h"
|
||||
#include "app_audio.h"
|
||||
#include "app_hw.h"
|
||||
#include "btdm_mem.h"
|
||||
#include "fdb_app.h"
|
||||
#include "heap.h"
|
||||
#include "app_ble.h"
|
||||
#include "user_bt.h"
|
||||
#include "user_ipc_st.h"
|
||||
#include "dsp_mem.h"
|
||||
|
||||
#define AT_RECV_MAX_LEN 32
|
||||
|
||||
static uint8_t app_at_recv_char;
|
||||
static uint8_t at_recv_buffer[AT_RECV_MAX_LEN];
|
||||
static uint8_t at_recv_index = 0;
|
||||
static uint8_t at_recv_state = 0;
|
||||
|
||||
|
||||
|
||||
void btdm_host_send_vendor_cmd(uint8_t type, uint8_t length, void *data);
|
||||
|
||||
void btdm_host_vendor_cmd_cmp_evt(uint8_t status, uint8_t len, uint8_t const *param)
|
||||
{
|
||||
printf("status: 0x%02x.\r\n", status);
|
||||
for (uint32_t i=0; i<len; i++) {
|
||||
printf("%02x ", param[i]);
|
||||
}
|
||||
printf("\r\n");
|
||||
}
|
||||
|
||||
void btdm_host_recv_vendor_evt(uint8_t len, uint8_t *param)
|
||||
{
|
||||
if (param[1] == 0x10) {
|
||||
float acc[3];
|
||||
memcpy((void *)&acc[0], ¶m[3], sizeof(float) * 3);
|
||||
printf("%0.6f, \t%0.6f, \t%0.6f\r\n", acc[0], acc[1], acc[2]);
|
||||
return;
|
||||
}
|
||||
|
||||
//gsensor event:
|
||||
// if (param[1] == 0x0A) {
|
||||
// _gsensor_evt *evt = (_gsensor_evt *)¶m[3];
|
||||
// printf("EVENT: %d step:%d calorie:%d sleep:%d action:%d \n",evt->evt_id,evt->step,evt->calorie,evt->sleep,evt->action);
|
||||
// }
|
||||
|
||||
// printf("EVENT: ");
|
||||
// for (uint32_t i=0; i<len; i++) {
|
||||
// printf("%02x ", param[i]);
|
||||
// }
|
||||
// printf("\r\n");
|
||||
// if ((param[1] | (param[2]<<8)) == 0x000c)
|
||||
{
|
||||
// extern void fr_system_host_recv_vendor(uint8_t *recv_data,uint8_t len);
|
||||
// fr_system_host_recv_vendor(param,len);
|
||||
}
|
||||
}
|
||||
|
||||
__RAM_CODE static void app_at_recv_cmd_A(uint8_t sub_cmd, uint8_t *data)
|
||||
{
|
||||
switch(sub_cmd)
|
||||
{
|
||||
case 'A':
|
||||
{
|
||||
uint8_t addr = ascii_strn2val((const char *)&data[0], 16, 2);
|
||||
btdm_host_send_vendor_cmd(0x00, 1, &addr);
|
||||
}
|
||||
printf("OK\r\n");
|
||||
break;
|
||||
case 'B':
|
||||
{
|
||||
uint8_t buffer[2];
|
||||
buffer[0] = ascii_strn2val((const char *)&data[0], 16, 2);
|
||||
buffer[1] = ascii_strn2val((const char *)&data[3], 16, 2);
|
||||
btdm_host_send_vendor_cmd(0x01, 2, (void *)&buffer[0]);
|
||||
}
|
||||
printf("OK\r\n");
|
||||
break;
|
||||
// case 'C':
|
||||
// {
|
||||
// uint32_t addr = ascii_strn2val((const char *)&data[0], 16, 8);
|
||||
// btdm_host_send_vendor_cmd(0x02, 4, (void *)&addr);
|
||||
// }
|
||||
// printf("OK\r\n");
|
||||
// break;
|
||||
// case 'D':
|
||||
// {
|
||||
// uint32_t buffer[2];
|
||||
// buffer[0] = ascii_strn2val((const char *)&data[0], 16, 8);
|
||||
// buffer[1] = ascii_strn2val((const char *)&data[9], 16, 8);
|
||||
// btdm_host_send_vendor_cmd(0x03, 8, (void *)&buffer[0]);
|
||||
// }
|
||||
// printf("OK\r\n");
|
||||
// break;
|
||||
case 'C':
|
||||
{
|
||||
btdm_host_send_vendor_cmd(0x15, 0, NULL);
|
||||
}
|
||||
printf("OK\r\n");
|
||||
break;
|
||||
case 'D':
|
||||
// {
|
||||
// uint8_t mode = ascii_strn2val((const char *)&data[0], 16, 2);
|
||||
// btdm_host_send_vendor_cmd(0x14, 1, &mode);
|
||||
// }
|
||||
btdm_host_send_vendor_cmd(0x17, 0, NULL);
|
||||
printf("OK\r\n");
|
||||
break;
|
||||
case 'E':
|
||||
{
|
||||
uint8_t sleep_dur[2];
|
||||
sleep_dur[0] = ascii_strn2val((const char *)&data[0], 16, 2);
|
||||
sleep_dur[1] = ascii_strn2val((const char *)&data[3], 16, 2);
|
||||
btdm_host_send_vendor_cmd(0x16, 2, &sleep_dur);
|
||||
}
|
||||
break;
|
||||
case 'F':
|
||||
{
|
||||
static uint8_t hour = 0;
|
||||
static uint8_t minute = 0;
|
||||
static uint8_t second = 0;
|
||||
static uint16_t mini_second = 0;
|
||||
uint8_t gsensor_cmd[] = {0x00, 0xe7, 0x07, 0x09, 0x12, 0x14, 0x36, 0x10, 0x20, 0x00, 0x2c, 0x01};
|
||||
mini_second += 200;
|
||||
if (mini_second >= 1000) {
|
||||
mini_second = 0;
|
||||
second++;
|
||||
if (second >= 60) {
|
||||
second = 0;
|
||||
minute++;
|
||||
if (minute >= 60) {
|
||||
minute = 0;
|
||||
hour++;
|
||||
}
|
||||
}
|
||||
}
|
||||
gsensor_cmd[5] = hour;
|
||||
gsensor_cmd[6] = minute;
|
||||
gsensor_cmd[7] = second;
|
||||
gsensor_cmd[8] = mini_second;
|
||||
gsensor_cmd[9] = mini_second >> 8;
|
||||
btdm_host_send_vendor_cmd(0x12, sizeof(gsensor_cmd), gsensor_cmd);
|
||||
}
|
||||
break;
|
||||
case 'G':
|
||||
printf("hello world!\r\n");
|
||||
break;
|
||||
case 'H':
|
||||
printf("VAL: 0x%08x.\r\n", *(volatile uint32_t *)ascii_strn2val((const char *)&data[0], 16, 8));
|
||||
break;
|
||||
case 'I':
|
||||
*(volatile uint32_t *)ascii_strn2val((const char *)&data[0], 16, 8) = ascii_strn2val((const char *)&data[9], 16, 8);
|
||||
printf("OK\r\n");
|
||||
break;
|
||||
case 'J':
|
||||
printf("OOL VAL: 0x%02x.\r\n", ool_read(ascii_strn2val((const char *)&data[0], 16, 2)));
|
||||
break;
|
||||
case 'K':
|
||||
ool_write(ascii_strn2val((const char *)&data[0], 16, 2), ascii_strn2val((const char *)&data[3], 16, 2));
|
||||
printf("OK\r\n");
|
||||
break;
|
||||
case 'L':
|
||||
printf("VAL: 0x%02x.\r\n", *(volatile uint8_t *)(ascii_strn2val((const char *)&data[0], 16, 8)));
|
||||
break;
|
||||
case 'M':
|
||||
*(volatile uint8_t *)(ascii_strn2val((const char *)&data[0], 16, 8)) = ascii_strn2val((const char *)&data[9], 16, 2);
|
||||
printf("OK\r\n");
|
||||
break;
|
||||
// case 'P':
|
||||
// co_printf("VAL: 0x%02x.\r\n", *(uint8_t *)(MODEM_BASE + ascii_strn2val((const char *)&data[0], 16, 2)));
|
||||
// break;
|
||||
// case 'Q':
|
||||
// *(uint8_t *)(MODEM_BASE + ascii_strn2val((const char *)&data[0], 16, 2)) = ascii_strn2val((const char *)&data[3], 16, 2);
|
||||
// co_printf("OK\r\n");
|
||||
// break;
|
||||
// case 'S':
|
||||
// co_printf("VAL: 0x%02x.\r\n", frspim_rd(FR_SPI_RF_COB_CHAN, ascii_strn2val((const char *)&data[0], 16, 2), 1));
|
||||
// break;
|
||||
// case 'T':
|
||||
// frspim_wr(FR_SPI_RF_COB_CHAN, ascii_strn2val((const char *)&data[0], 16, 2), 1, ascii_strn2val((const char *)&data[3], 16, 2));
|
||||
// co_printf("OK\r\n");
|
||||
// break;
|
||||
case 'U':
|
||||
{
|
||||
uint32_t *ptr = (uint32_t *)(ascii_strn2val((const char *)&data[0], 16, 8) & (~3));
|
||||
uint8_t count = ascii_strn2val((const char *)&data[9], 16, 2);
|
||||
uint32_t *start = (uint32_t *)((uint32_t)ptr & (~0x0f));
|
||||
for(uint8_t i=0; i<count;) {
|
||||
if(((uint32_t)start & 0x0c) == 0) {
|
||||
printf("0x%08x: ", (uint32_t)start);
|
||||
}
|
||||
if(start < ptr) {
|
||||
printf(" ");
|
||||
}
|
||||
else {
|
||||
i++;
|
||||
printf("%08x", *start);
|
||||
}
|
||||
if(((uint32_t)start & 0x0c) == 0x0c) {
|
||||
printf("\r\n");
|
||||
}
|
||||
else {
|
||||
printf(" ");
|
||||
}
|
||||
start++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'V':
|
||||
flash_erase(QSPI0, ascii_strn2val((const char *)&data[0], 16, 8), ascii_strn2val((const char *)&data[9], 16, 8));
|
||||
break;
|
||||
case 'W':
|
||||
{
|
||||
uint32_t curr_free, min_free;
|
||||
dsp_mem_get_usage(&curr_free, &min_free);
|
||||
printf("DSP MEM: %d, %d\r\n", curr_free, min_free);
|
||||
}
|
||||
break;
|
||||
case 'X':
|
||||
{
|
||||
void system_reset(void);
|
||||
system_reset();
|
||||
}
|
||||
break;
|
||||
case 'Y':
|
||||
heap_dump_used_mem(ascii_strn2val((const char *)&data[0], 16, 2));
|
||||
break;
|
||||
case 'Z':
|
||||
printf("MEM usage\r\n \
|
||||
\tHEAP_TYPE_SRAM_BLOCK: %d, %d\r\n \
|
||||
\tHEAP_TYPE_DRAM_BLOCK: %d, %d\r\n \
|
||||
\tHEAP_TYPE_BTDM_BLOCK: %d, %d\r\n \
|
||||
\tTOTAL USAGE: %d\r\n", \
|
||||
heap_get_mem_usage(HEAP_TYPE_SRAM_BLOCK), heap_get_mem_usage_single(HEAP_TYPE_SRAM_BLOCK), \
|
||||
heap_get_mem_usage(HEAP_TYPE_DRAM_BLOCK), heap_get_mem_usage_single(HEAP_TYPE_DRAM_BLOCK), \
|
||||
heap_get_mem_usage(HEAP_TYPE_BTDM_BLOCK), heap_get_mem_usage_single(HEAP_TYPE_BTDM_BLOCK), \
|
||||
heap_get_max_mem_usage());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void user_hci_callback(const BtEvent *event)
|
||||
{
|
||||
printf("event type = %d\r\n",event->eType);
|
||||
if(event->eType == BTEVENT_COMMAND_COMPLETE){
|
||||
btdm_free(event->p.meToken);
|
||||
}
|
||||
}
|
||||
__RAM_CODE static void app_at_recv_cmd_B(uint8_t sub_cmd, uint8_t *data)
|
||||
{
|
||||
struct gap_ble_addr peer_addr;
|
||||
BD_ADDR addr;
|
||||
HfgResponse *rsp;
|
||||
BtStatus status;
|
||||
MeCommandToken *token;
|
||||
uint16_t page_timeout = 0x400;
|
||||
|
||||
switch(sub_cmd) {
|
||||
case 'A':
|
||||
// AT#BA00
|
||||
//app_ble_advertising_start(ascii_strn2val((const char *)&data[0], 16, 2));
|
||||
break;
|
||||
case 'B':
|
||||
// AT#BB01
|
||||
//app_ble_advertising_stop(ascii_strn2val((const char *)&data[0], 16, 2));
|
||||
break;
|
||||
case 'C':
|
||||
app_ble_scan_start();
|
||||
break;
|
||||
case 'D':
|
||||
app_ble_scan_stop();
|
||||
break;
|
||||
case 'E':
|
||||
// AT#BE0123456789ab_01
|
||||
peer_addr.addr.addr[5] = ascii_strn2val((const char *)&data[0], 16, 2);
|
||||
peer_addr.addr.addr[4] = ascii_strn2val((const char *)&data[2], 16, 2);
|
||||
peer_addr.addr.addr[3] = ascii_strn2val((const char *)&data[4], 16, 2);
|
||||
peer_addr.addr.addr[2] = ascii_strn2val((const char *)&data[6], 16, 2);
|
||||
peer_addr.addr.addr[1] = ascii_strn2val((const char *)&data[8], 16, 2);
|
||||
peer_addr.addr.addr[0] = ascii_strn2val((const char *)&data[10], 16, 2);
|
||||
peer_addr.addr_type = ascii_strn2val((const char *)&data[13], 16, 2);
|
||||
app_ble_conn_start(&peer_addr);
|
||||
break;
|
||||
case 'F':
|
||||
app_ble_conn_stop();
|
||||
break;
|
||||
#if BTDM_STACK_ENABLE_BT == 1
|
||||
case 'H':
|
||||
ME_Inquiry(BT_IAC_GIAC, 5, 5);
|
||||
break;
|
||||
case 'I':
|
||||
ME_CancelInquiry();
|
||||
break;
|
||||
case 'J':
|
||||
{
|
||||
BtStatus status;
|
||||
addr.A[0] = ascii_strn2val((const char*)&data[0],16,2);
|
||||
addr.A[1] = ascii_strn2val((const char*)&data[2],16,2);
|
||||
addr.A[2] = ascii_strn2val((const char*)&data[4],16,2);
|
||||
addr.A[3] = ascii_strn2val((const char*)&data[6],16,2);
|
||||
addr.A[4] = ascii_strn2val((const char*)&data[8],16,2);
|
||||
addr.A[5] = ascii_strn2val((const char*)&data[10],16,2);
|
||||
|
||||
status = HFG_CreateServiceLink(&hfg_channel[0], &addr);
|
||||
|
||||
if (status == BT_STATUS_PENDING) {
|
||||
printf("Opening Channel...\r\n");
|
||||
} else {
|
||||
printf("Could not open channel, status: %d\r\n", status);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'K':
|
||||
status = BT_STATUS_NO_RESOURCES;
|
||||
rsp = (HfgResponse *)btdm_malloc(sizeof(HfgResponse));
|
||||
if(rsp != NULL){
|
||||
status = HFG_CreateCodecConnection(&hfg_channel[0], 1, rsp);
|
||||
}
|
||||
if(status != BT_STATUS_PENDING){
|
||||
btdm_free((void *)rsp);
|
||||
}
|
||||
printf("status = %d\r\n",status);
|
||||
break;
|
||||
case 'L':
|
||||
flashdb_del(FDB_KEY_BT_LINKKEY);
|
||||
|
||||
break;
|
||||
case 'M':
|
||||
token = btdm_malloc(sizeof(MeCommandToken));
|
||||
token->p.general.in.hciCommand = 0x0c18;//HCC_WRITE_PAGE_TIMEOUT;
|
||||
token->p.general.in.parmLen = 2;
|
||||
token->p.general.in.parms = (uint8_t *)&page_timeout;
|
||||
token->callback = user_hci_callback; //token is freed at this callback
|
||||
status = ME_SendHciCommandAsync(token);
|
||||
printf("status = %d\r\n",status);
|
||||
break;
|
||||
case 'N':
|
||||
{
|
||||
addr.A[0] = ascii_strn2val((const char*)&data[0],16,2);
|
||||
addr.A[1] = ascii_strn2val((const char*)&data[2],16,2);
|
||||
addr.A[2] = ascii_strn2val((const char*)&data[4],16,2);
|
||||
addr.A[3] = ascii_strn2val((const char*)&data[6],16,2);
|
||||
addr.A[4] = ascii_strn2val((const char*)&data[8],16,2);
|
||||
addr.A[5] = ascii_strn2val((const char*)&data[10],16,2);
|
||||
user_bt_env.connect_times = 3;
|
||||
status = bt_connect(&addr);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case 'O':
|
||||
// {
|
||||
// uint8_t battery_level[15] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
|
||||
// struct gatt_send_event ntf[6];
|
||||
// uint8_t i=0;
|
||||
// for(i=0;i<6;i++){
|
||||
// ntf[i].conidx = 0;
|
||||
// ntf[i].svc_id = svc_id;
|
||||
// ntf[i].att_idx = 2;
|
||||
// ntf[i].data_len = 15;
|
||||
// ntf[i].p_data = &battery_level[0];
|
||||
// gatt_notification(&ntf[i]);
|
||||
// }
|
||||
// }
|
||||
break;
|
||||
case 'P':
|
||||
addr.A[0] = ascii_strn2val((const char*)&data[0],16,2);
|
||||
addr.A[1] = ascii_strn2val((const char*)&data[2],16,2);
|
||||
addr.A[2] = ascii_strn2val((const char*)&data[4],16,2);
|
||||
addr.A[3] = ascii_strn2val((const char*)&data[6],16,2);
|
||||
addr.A[4] = ascii_strn2val((const char*)&data[8],16,2);
|
||||
addr.A[5] = ascii_strn2val((const char*)&data[10],16,2);
|
||||
bt_disconnect(&addr,false);
|
||||
break;
|
||||
|
||||
case 'Q':
|
||||
addr.A[0] = ascii_strn2val((const char*)&data[0],16,2);
|
||||
addr.A[1] = ascii_strn2val((const char*)&data[2],16,2);
|
||||
addr.A[2] = ascii_strn2val((const char*)&data[4],16,2);
|
||||
addr.A[3] = ascii_strn2val((const char*)&data[6],16,2);
|
||||
addr.A[4] = ascii_strn2val((const char*)&data[8],16,2);
|
||||
addr.A[5] = ascii_strn2val((const char*)&data[10],16,2);
|
||||
bt_disconnect(&addr,true);
|
||||
break;
|
||||
|
||||
case 'R':
|
||||
// ME_SetLocalDeviceName((const uint8_t *)"FR30xx_m", sizeof("FR30xx_m"));
|
||||
//app_btdm_init();
|
||||
|
||||
break;
|
||||
case 'S':
|
||||
{
|
||||
BtAccessModeInfo access_mode_nc = {
|
||||
.inqInterval = 0x800,
|
||||
.inqWindow = 0x12,
|
||||
.pageInterval = 0x800,
|
||||
.pageWindow = 0x12,
|
||||
};
|
||||
status = ME_SetAccessibleModeNC(BAM_GENERAL_ACCESSIBLE, &access_mode_nc);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
case 'T':
|
||||
{
|
||||
status = ME_SetAccessibleModeNC(BAM_NOT_ACCESSIBLE, NULL);
|
||||
printf("status = %d\r\n",status);
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
printf("OK\r\n");
|
||||
}
|
||||
#include "user_bt_pbap.h"
|
||||
uint8_t voltage_str[] = "AT+IPHONEACCEV=1,1,6";
|
||||
uint8_t cmps_str[] = "AT+CPMS=?";
|
||||
//bt hf&pbap related cmd
|
||||
static void app_at_recv_cmd_C(uint8_t sub_cmd, uint8_t *data)
|
||||
{
|
||||
printf("%s \r\n", __func__);
|
||||
BtStatus status;
|
||||
uint8_t state;
|
||||
BD_ADDR addr;
|
||||
switch(sub_cmd) {
|
||||
case 'A':
|
||||
status = bt_answer_call(user_bt_env.last_active_index);
|
||||
printf("status = %d\r\n",status);
|
||||
break;
|
||||
case 'B':
|
||||
status = bt_hang_up(user_bt_env.last_active_index);
|
||||
printf("status = %d\r\n",status);
|
||||
break;
|
||||
case 'C':
|
||||
status = bt_redial(user_bt_env.last_active_index);
|
||||
printf("status = %d\r\n",status);
|
||||
break;
|
||||
case 'D':
|
||||
{
|
||||
//uint8_t number[] = "15907515643";
|
||||
status = bt_dial_number(user_bt_env.last_active_index,&data[1],data[0]);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
case 'E':
|
||||
status = bt_list_current_calls(user_bt_env.last_active_index);
|
||||
printf("status = %d\r\n",status);
|
||||
break;
|
||||
case 'F':
|
||||
status = bt_transfer_sco(user_bt_env.last_active_index);
|
||||
printf("status = %d\r\n",status);
|
||||
break;
|
||||
case 'G':
|
||||
{
|
||||
uint8_t dtmf = data[0];
|
||||
status = bt_send_dtmf(user_bt_env.last_active_index,dtmf);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
case 'H':
|
||||
{
|
||||
//vol---[0x00,0x0f]
|
||||
uint8_t vol = ascii_strn2val((const char*)&data[0],16,2);
|
||||
status = bt_report_spk_volume(user_bt_env.last_active_index,vol);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
case 'I':
|
||||
{
|
||||
status = bt_send_hf_cmd(user_bt_env.last_active_index,voltage_str);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
case 'J':
|
||||
{
|
||||
uint8_t enabled = ascii_strn2val((const char*)&data[0],16,2);
|
||||
status = bt_enable_voice_recognition(user_bt_env.last_active_index, enabled);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
case 'K':
|
||||
printf("voice recog enabled : %d\r\n",bt_is_voice_rec_active(user_bt_env.last_active_index));
|
||||
break;
|
||||
|
||||
case 'L':
|
||||
//BD_ADDR addr;
|
||||
//user_bt_env.dev[0].remote_bd;
|
||||
|
||||
#if BTDM_STACK_ENABLE_PBAP
|
||||
state = user_bt_get_state(user_bt_env.last_active_index);
|
||||
if(state >=BT_STATE_CONNECTED)
|
||||
{
|
||||
memcpy(&addr.A[0], &user_bt_env.dev[user_bt_env.last_active_index].remote_bd, 6);
|
||||
//printf("%x%x%x%x%x%x\r\n",addr.A[0],addr.A[1],addr.A[2],addr.A[3],addr.A[4],addr.A[5]);
|
||||
}
|
||||
else {
|
||||
addr.A[0] = ascii_strn2val((const char*)&data[0],16,2);
|
||||
addr.A[1] = ascii_strn2val((const char*)&data[2],16,2);
|
||||
addr.A[2] = ascii_strn2val((const char*)&data[4],16,2);
|
||||
addr.A[3] = ascii_strn2val((const char*)&data[6],16,2);
|
||||
addr.A[4] = ascii_strn2val((const char*)&data[8],16,2);
|
||||
addr.A[5] = ascii_strn2val((const char*)&data[10],16,2);
|
||||
}
|
||||
status = PBAP_ClientConnect(&pbap_client[0],&addr);
|
||||
printf("status = %d\r\n",status);
|
||||
#endif
|
||||
break;
|
||||
case 'M':
|
||||
#if BTDM_STACK_ENABLE_PBAP
|
||||
status = PBAP_ClientDisconnect(&pbap_client[0]);
|
||||
printf("status = %d\r\n",status);
|
||||
#endif
|
||||
break;
|
||||
case 'N':
|
||||
{
|
||||
#if BTDM_STACK_ENABLE_PBAP
|
||||
uint8_t pbName[64];
|
||||
PbapPullPbParms parms;
|
||||
|
||||
memcpy(pbName,PB_LOCAL_MCH_NAME,sizeof(PB_LOCAL_MCH_NAME));
|
||||
parms.pbName = pbName;
|
||||
memset(parms.filter.byte,0,PBAP_FILTER_SIZE);
|
||||
parms.filter.byte[0] = 0x84;
|
||||
parms.listStartOffset = 0;
|
||||
parms.maxListCount = 100; //0---search missed call and total pb size
|
||||
parms.format= VCARD_FORMAT_30;
|
||||
status = PBAP_PullPhonebook(&pbap_client[0], &parms);
|
||||
printf("status = %d\r\n",status);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case 'O':
|
||||
{
|
||||
#if BTDM_STACK_ENABLE_PBAP
|
||||
PbapPullVcardListingParms parms;
|
||||
uint8_t search_val[12]; //= "13262651013";
|
||||
memcpy(search_val,&data[0],11);
|
||||
uint8_t folder[] = "telecom/pb";
|
||||
parms.folderName = folder;
|
||||
parms.order = VCARD_SORT_ORDER_INDEXED;
|
||||
parms.listStartOffset = 0x00;
|
||||
parms.maxListCount = 4;
|
||||
parms.searchAttribute = VCARD_SEARCH_ATTRIB_NUMBER;
|
||||
parms.searchValue = (const char *)search_val;
|
||||
status = PBAP_PullVcardListing(&pbap_client[0], &parms);
|
||||
printf("status = %d\r\n",status);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case 'P':
|
||||
{
|
||||
#if BTDM_STACK_ENABLE_PBAP
|
||||
uint8_t pbName[64];
|
||||
PbapPullPbParms parms;
|
||||
|
||||
memcpy(pbName,PB_LOCAL_STORE_NAME,sizeof(PB_LOCAL_STORE_NAME));
|
||||
parms.pbName = pbName;
|
||||
memset(parms.filter.byte,0,PBAP_FILTER_SIZE);
|
||||
parms.filter.byte[0] = 0x07;//0x84;
|
||||
parms.listStartOffset = 0;
|
||||
parms.maxListCount = 20; //0---search missed call and total pb size
|
||||
parms.format= VCARD_FORMAT_30;
|
||||
status = PBAP_PullPhonebook(&pbap_client[0], &parms);
|
||||
printf("status = %d\r\n",status);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case 'R':
|
||||
{
|
||||
user_connect_pbap_client();
|
||||
}
|
||||
break;
|
||||
case 'T':
|
||||
{
|
||||
user_pull_phonebook(0,0,25);
|
||||
}
|
||||
break;
|
||||
case 'X':
|
||||
{
|
||||
uint8_t mute_str[] = "AT+CMUT=1";
|
||||
status = bt_send_hf_cmd(user_bt_env.last_active_index,mute_str);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
case 'Y':
|
||||
{
|
||||
flash_wr_test();
|
||||
}
|
||||
break;
|
||||
case 'Q':
|
||||
{
|
||||
user_del_pbap_info();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
printf("OK\r\n");
|
||||
}
|
||||
extern uint8_t flush_flags;
|
||||
///bt media related cmd
|
||||
static void app_at_recv_cmd_E(uint8_t sub_cmd, uint8_t *data)
|
||||
{
|
||||
BD_ADDR addr;
|
||||
BtStatus status;
|
||||
switch(sub_cmd) {
|
||||
case 'A':
|
||||
status = AVRCP_SetPanelKey(user_bt_env.dev[user_bt_env.last_active_index].rcp_chan, AVRCP_POP_PLAY, TRUE);
|
||||
printf("status = %d\r\n",status);
|
||||
break;
|
||||
case 'B':
|
||||
status = AVRCP_SetPanelKey(user_bt_env.dev[user_bt_env.last_active_index].rcp_chan, AVRCP_POP_PAUSE, TRUE);
|
||||
printf("status = %d\r\n",status);
|
||||
break;
|
||||
case 'C':
|
||||
status = AVRCP_SetPanelKey(user_bt_env.dev[user_bt_env.last_active_index].rcp_chan, AVRCP_POP_FORWARD, TRUE);
|
||||
printf("status = %d\r\n",status);
|
||||
break;
|
||||
case 'D':
|
||||
{
|
||||
status = AVRCP_SetPanelKey(user_bt_env.dev[user_bt_env.last_active_index].rcp_chan, AVRCP_POP_BACKWARD, TRUE);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
case 'E':
|
||||
{
|
||||
printf("vol %d\r\n",data[0]);
|
||||
uint8_t vol = data[0];//ascii_strn2val((const char*)&data[0],16,2);
|
||||
status = bt_set_media_volume(user_bt_env.last_active_index,vol);
|
||||
printf("status = %d %d\r\n",status,vol);
|
||||
}
|
||||
break;
|
||||
case 'F':
|
||||
{
|
||||
status = bt_get_media_info(user_bt_env.last_active_index,0x41);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
case 'G':
|
||||
{
|
||||
status = bt_get_playstatus(user_bt_env.last_active_index);
|
||||
printf("status = %d\r\n",status);
|
||||
}
|
||||
break;
|
||||
case 'H':
|
||||
#if BTDM_STACK_ENABLE_SPP
|
||||
addr.A[0] = ascii_strn2val((const char*)&data[0],16,2);
|
||||
addr.A[1] = ascii_strn2val((const char*)&data[2],16,2);
|
||||
addr.A[2] = ascii_strn2val((const char*)&data[4],16,2);
|
||||
addr.A[3] = ascii_strn2val((const char*)&data[6],16,2);
|
||||
addr.A[4] = ascii_strn2val((const char*)&data[8],16,2);
|
||||
addr.A[5] = ascii_strn2val((const char*)&data[10],16,2);
|
||||
status = spp_connect(&spp_dev[0],&addr);
|
||||
printf("status = %d\r\n",status);
|
||||
#endif
|
||||
break;
|
||||
case 'I':
|
||||
#if BTDM_STACK_ENABLE_SPP
|
||||
status = spp_disconnect(&spp_dev[0]);
|
||||
printf("status = %d\r\n",status);
|
||||
#endif
|
||||
break;
|
||||
case 'J':
|
||||
{
|
||||
#if BTDM_STACK_ENABLE_SPP
|
||||
uint8_t test_data[] = {'1','2','3','4'};
|
||||
status = spp_send(&spp_dev[0],test_data,sizeof(test_data));
|
||||
printf("status = %d\r\n",status);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case 'Q':
|
||||
{
|
||||
flush_flags=1;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
printf("OK\r\n");
|
||||
}
|
||||
__RAM_CODE static void app_at_recv_cmd_D(uint8_t sub_cmd, uint8_t *data)
|
||||
{
|
||||
switch(sub_cmd) {
|
||||
case 'A':
|
||||
flash_erase(QSPI0, ascii_strn2val((const char*)&data[0],16,8), 0x1000);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
printf("OK\r\n");
|
||||
}
|
||||
|
||||
__RAM_CODE void app_at_cmd_recv_handler(uint8_t *data, uint16_t length)
|
||||
{
|
||||
switch(data[0])
|
||||
{
|
||||
case 'A':
|
||||
app_at_recv_cmd_A(data[1], &data[2]);
|
||||
break;
|
||||
case 'B':
|
||||
app_at_recv_cmd_B(data[1], &data[2]);
|
||||
break;
|
||||
case 'C':
|
||||
app_at_recv_cmd_C(data[1], &data[2]);
|
||||
break;
|
||||
case 'D':
|
||||
app_at_recv_cmd_D(data[1], &data[2]);
|
||||
break;
|
||||
case 'E':
|
||||
app_at_recv_cmd_E(data[1], &data[2]);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void app_at_recv_c(uint8_t c)
|
||||
{
|
||||
switch(at_recv_state)
|
||||
{
|
||||
case 0:
|
||||
if(c == 'A')
|
||||
{
|
||||
at_recv_state++;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(c == 'T')
|
||||
at_recv_state++;
|
||||
else
|
||||
at_recv_state = 0;
|
||||
break;
|
||||
case 2:
|
||||
if(c == '#')
|
||||
at_recv_state++;
|
||||
else
|
||||
at_recv_state = 0;
|
||||
break;
|
||||
case 3:
|
||||
at_recv_buffer[at_recv_index++] = c;
|
||||
if((c == '\n')
|
||||
||(at_recv_index >= AT_RECV_MAX_LEN))
|
||||
{
|
||||
struct app_task_event *event;
|
||||
event = app_task_event_alloc(APP_TASK_EVENT_AT_CMD, at_recv_index, false);
|
||||
if(event) {
|
||||
memcpy(event->param, at_recv_buffer, at_recv_index);
|
||||
app_task_event_post(event, false);
|
||||
}
|
||||
at_recv_state = 0;
|
||||
at_recv_index = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void app_at_rx_done(struct __UART_HandleTypeDef *handle)
|
||||
{
|
||||
app_at_recv_c(app_at_recv_char);
|
||||
if (handle) {
|
||||
uart_receive_IT(handle, &app_at_recv_char, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void app_at_init(void)
|
||||
{
|
||||
hw_log_init(false);
|
||||
|
||||
uart_receive_IT(&uart_log_handle, &app_at_recv_char, 1);
|
||||
}
|
||||
|
||||
void uart3_irq(void)
|
||||
{
|
||||
uart_IRQHandler(&uart_log_handle);
|
||||
}
|
||||
|
||||
int fputc(int c, FILE *fp)
|
||||
{
|
||||
uart_transmit(&uart_log_handle, (void *)&c, 1);
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
void uart_transmit_byte(uint8_t *p,uint32_t len)
|
||||
{
|
||||
uart_transmit(&uart_log_handle, (void *)p, len);
|
||||
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
#ifndef _APP_AT_H
|
||||
#define _APP_AT_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
void app_at_cmd_recv_handler(uint8_t *data, uint16_t length);
|
||||
|
||||
void app_at_init(void);
|
||||
|
||||
#endif // _APP_AT_H
|
|
@ -1,140 +0,0 @@
|
|||
#include <assert.h>
|
||||
|
||||
#include "app_config.h"
|
||||
#include "app_audio.h"
|
||||
#include "dram_mem.h"
|
||||
|
||||
#include "audio_scene.h"
|
||||
#include "co_list.h"
|
||||
#include "fr_device_pa.h"
|
||||
|
||||
#define APP_AUDIO_DATA_READY_THD 6
|
||||
#define APP_AUDIO_DATA_BUFFER_MAX 12
|
||||
|
||||
enum app_audio_mode_t {
|
||||
APP_AUDIO_MODE_IDLE,
|
||||
APP_AUDIO_MODE_A2DP_SINK,
|
||||
APP_AUDIO_MODE_A2DP_SOURCE,
|
||||
APP_AUDIO_MODE_SCO,
|
||||
APP_AUDIO_MODE_TONE,
|
||||
APP_AUDIO_MODE_VOICE_RECOGNIZE,
|
||||
};
|
||||
|
||||
static enum app_audio_mode_t audio_mode = APP_AUDIO_MODE_IDLE;
|
||||
static uint32_t audio_data_counter = 0;
|
||||
static audio_scene_t *audio_scene;
|
||||
|
||||
static void app_audio_stop(void)
|
||||
{
|
||||
switch(audio_mode) {
|
||||
case APP_AUDIO_MODE_A2DP_SINK:
|
||||
app_audio_a2dp_sink_stop();
|
||||
break;
|
||||
case APP_AUDIO_MODE_SCO:
|
||||
app_audio_sco_stop();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void app_audio_a2dp_sink_start(audio_type_t audio_type, uint32_t sample_rate)
|
||||
{
|
||||
audio_scene_param_a2dp_sink_t param;
|
||||
|
||||
if (audio_mode == APP_AUDIO_MODE_A2DP_SINK) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (audio_mode != APP_AUDIO_MODE_IDLE) {
|
||||
app_audio_stop();
|
||||
}
|
||||
|
||||
param.sample_rate = sample_rate;
|
||||
param.channels = 2;
|
||||
param.audio_type = audio_type;
|
||||
param.hw_type = AUDIO_HW_TYPE_CODEC;
|
||||
param.hw_base_addr = I2S0_BASE;
|
||||
|
||||
assert(audio_mode == APP_AUDIO_MODE_IDLE);
|
||||
|
||||
audio_scene = audio_scene_create(AUDIO_SCENE_TYPE_A2DP_SINK, ¶m);
|
||||
assert(audio_scene != NULL);
|
||||
audio_mode = APP_AUDIO_MODE_A2DP_SINK;
|
||||
}
|
||||
|
||||
void app_audio_a2dp_sink_stop(void)
|
||||
{
|
||||
if (audio_mode == APP_AUDIO_MODE_A2DP_SINK) {
|
||||
audio_scene_destroy(audio_scene);
|
||||
audio_mode = APP_AUDIO_MODE_IDLE;
|
||||
device_pa_disable();
|
||||
}
|
||||
}
|
||||
|
||||
void app_audio_a2dp_sink_play(uint8_t *buffer, uint32_t length)
|
||||
{
|
||||
if (audio_mode == APP_AUDIO_MODE_A2DP_SINK) {
|
||||
if (audio_scene_dac_is_ready(audio_scene)) {
|
||||
device_pa_enable();
|
||||
}
|
||||
audio_scene_recv_raw_data(audio_scene, true, buffer, length);
|
||||
}
|
||||
}
|
||||
|
||||
void app_audio_sco_start(audio_type_t audio_type,audio_sence_report_encoded_frame report_enc_cb, void *report_enc_arg)
|
||||
{
|
||||
audio_scene_param_sco_t param;
|
||||
|
||||
if (audio_mode == APP_AUDIO_MODE_SCO) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (audio_mode != APP_AUDIO_MODE_IDLE) {
|
||||
app_audio_stop();
|
||||
}
|
||||
|
||||
if (audio_type == AUDIO_TYPE_MSBC) {
|
||||
printf("SCO: msbc.\r\n");
|
||||
param.sample_rate = 16000;
|
||||
}
|
||||
else {
|
||||
printf("SCO: cvsd.\r\n");
|
||||
param.sample_rate = 8000;
|
||||
}
|
||||
param.audio_type = audio_type;
|
||||
param.hw_type = AUDIO_HW_TYPE_CODEC;
|
||||
param.hw_base_addr = I2S0_BASE;
|
||||
param.report_enc_cb = report_enc_cb;
|
||||
param.report_enc_arg = report_enc_arg;
|
||||
|
||||
assert(audio_mode == APP_AUDIO_MODE_IDLE);
|
||||
|
||||
audio_scene = audio_scene_create(AUDIO_SCENE_TYPE_SCO, ¶m);
|
||||
audio_mode = APP_AUDIO_MODE_SCO;
|
||||
assert(audio_scene != NULL);
|
||||
}
|
||||
|
||||
void app_audio_sco_stop(void)
|
||||
{
|
||||
if (audio_mode == APP_AUDIO_MODE_SCO) {
|
||||
audio_scene_destroy(audio_scene);
|
||||
audio_mode = APP_AUDIO_MODE_IDLE;
|
||||
device_pa_disable();
|
||||
}
|
||||
}
|
||||
|
||||
void app_audio_sco_recv(bool valid, uint8_t audio_type, uint8_t *buffer, uint32_t length)
|
||||
{
|
||||
if (audio_mode == APP_AUDIO_MODE_SCO) {
|
||||
if (audio_scene_dac_is_ready(audio_scene)) {
|
||||
device_pa_enable();
|
||||
}
|
||||
if (audio_type == AUDIO_TYPE_MSBC) {
|
||||
audio_scene_recv_raw_data(audio_scene, valid, buffer+2, length-3);
|
||||
}
|
||||
else {
|
||||
audio_scene_recv_raw_data(audio_scene, valid, buffer, length);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
#ifndef _APP_AUDIO_H
|
||||
#define _APP_AUDIO_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "audio_common.h"
|
||||
#include "audio_scene.h"
|
||||
|
||||
void app_audio_a2dp_sink_start(audio_type_t audio_type, uint32_t sample_rate);
|
||||
void app_audio_a2dp_sink_stop(void);
|
||||
void app_audio_a2dp_sink_play(uint8_t *buffer, uint32_t length);
|
||||
|
||||
void app_audio_sco_start(audio_type_t audio_type, audio_sence_report_encoded_frame report_enc_cb, void *report_enc_arg);
|
||||
void app_audio_sco_stop(void);
|
||||
void app_audio_sco_recv(bool valid, uint8_t audio_type, uint8_t *buffer, uint32_t length);
|
||||
|
||||
void app_audio_voice_recognize_start(void);
|
||||
void app_audio_voice_recognize_stop(void);
|
||||
|
||||
#endif // _APP_AUDIO_H
|
|
@ -1,378 +0,0 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "co_log.h"
|
||||
|
||||
#include "gap_api.h"
|
||||
#include "gatt_api.h"
|
||||
#include "fdb_app.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "timers.h"
|
||||
#include "portable.h"
|
||||
#include "btdm_mem.h"
|
||||
#include "ANCS_AMS_client.h"
|
||||
#include "AMS_client.h"
|
||||
#include "driver_gpio.h"
|
||||
#include "hid_service.h"
|
||||
#include "simple_gatt_service.h"
|
||||
#include "ota_service.h"
|
||||
|
||||
#define APP_BLE_ADV_CHN_MAX 2
|
||||
|
||||
static void app_ble_start_advertising(uint8_t adv_chn);
|
||||
|
||||
char local_device_name[] = "Smart Watch";
|
||||
static adv_handle adv[APP_BLE_ADV_CHN_MAX];
|
||||
static uint16_t mtu_connected[8];
|
||||
|
||||
extern const uint8_t ble_static_addr[];
|
||||
|
||||
uint8_t slave_link_conidx;
|
||||
/*
|
||||
* Advertising data, max size is 28 bytes
|
||||
*/
|
||||
static uint8_t adv_data[] = {
|
||||
|
||||
#if 0
|
||||
/* gatt service information */
|
||||
0x03, //length of this AD
|
||||
GAP_ADVTYPE_16BIT_MORE, //16bit service uuid AD type
|
||||
//0xff, 0xf0, //value.service uuid:0xFFF0
|
||||
LO_UINT16(0XFF72),
|
||||
HI_UINT16(0XFF72),
|
||||
#endif
|
||||
|
||||
/* local device name information */
|
||||
0x0C, //length of this AD
|
||||
GAP_ADVTYPE_LOCAL_NAME_COMPLETE, //complete name AD type
|
||||
'S','m','a','r','t',' ','W','a','t','c','h', //value.local device name
|
||||
|
||||
0x09, // addr mac
|
||||
GAP_ADVTYPE_MANUFACTURER_SPECIFIC,
|
||||
LO_UINT16(0x1671),
|
||||
HI_UINT16(0x1671),
|
||||
0xc2,0x12,0x12,0x12,0x00,0x13,
|
||||
|
||||
0x03, // length of this data
|
||||
GAP_ADVTYPE_APPEARANCE,
|
||||
LO_UINT16(0x03c0),
|
||||
HI_UINT16(0x03c0),
|
||||
|
||||
|
||||
#if 0
|
||||
// appearance
|
||||
0x03, // length of this data
|
||||
GAP_ADVTYPE_APPEARANCE,
|
||||
LO_UINT16(GAP_APPEARE_HID_KEYBOARD),
|
||||
HI_UINT16(GAP_APPEARE_HID_KEYBOARD),
|
||||
#endif
|
||||
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
* Advertising scan response data, max size is 31 bytes
|
||||
*/
|
||||
static uint8_t adv_scan_rsp_data[] = {
|
||||
|
||||
#if 1
|
||||
0x03, // length of this data
|
||||
GAP_ADVTYPE_16BIT_COMPLETE,
|
||||
LO_UINT16(HID_SERV_UUID),
|
||||
HI_UINT16(HID_SERV_UUID),
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
// Tx power level <20><><EFBFBD>书<EFBFBD><E4B9A6>
|
||||
0x02, // length of this data
|
||||
GAP_ADVTYPE_POWER_LEVEL,
|
||||
0, // 0dBm
|
||||
#endif
|
||||
};
|
||||
|
||||
uint8_t service_id;
|
||||
extern uint8_t slave_link_conidx;
|
||||
|
||||
uint16_t app_ble_get_mtu(uint8_t conidx)
|
||||
{
|
||||
return mtu_connected[conidx];
|
||||
}
|
||||
|
||||
void app_ble_set_mtu(uint8_t conidx, uint16_t mtu)
|
||||
{
|
||||
mtu_connected[conidx] = mtu;
|
||||
}
|
||||
|
||||
static uint16_t gap_callback(struct gap_event *event)
|
||||
{
|
||||
printf("gap_callback: type = %d\r\n", event->type);
|
||||
|
||||
switch(event->type) {
|
||||
case GATT_EVT_PROFILE_ADDED:
|
||||
{
|
||||
printf("gap_callback: GATT_EVT_PROFILE_ADDED: 0x%02X\r\n", event->param.profile_added_status);
|
||||
|
||||
/* service profile has been added successfully, then the advertising can be started */
|
||||
app_ble_start_advertising(0);
|
||||
}
|
||||
break;
|
||||
|
||||
case GAP_EVT_ADV_SET_PARAM:
|
||||
printf("adv param set: 0x%02X\r\n", event->param.adv_set_param.status);
|
||||
break;
|
||||
|
||||
case GAP_EVT_ADV_SET_ADV_DATA:
|
||||
printf("adv data set: 0x%02X\r\n", event->param.adv_set_adv_data.status);
|
||||
break;
|
||||
|
||||
case GAP_EVT_ADV_SET_SCAN_RSP:
|
||||
printf("adv scan rsp data set: 0x%02X\r\n", event->param.adv_set_scan_rsp.status);
|
||||
break;
|
||||
|
||||
case GAP_EVT_ADV_START:
|
||||
printf("adv start :0x%02X\r\n", event->param.adv_start.status);
|
||||
break;
|
||||
|
||||
case GAP_EVT_ADV_END:
|
||||
printf("adv end: 0x%02X\r\n", event->param.adv_end.status);
|
||||
break;
|
||||
|
||||
case GAP_EVT_SLAVE_CONNECT:
|
||||
{
|
||||
//gap_get_link_version(event->param.connect.conidx);
|
||||
//gap_get_link_rssi(event->param.connect.conidx);
|
||||
//gap_get_link_features(event->param.connect.conidx);
|
||||
printf("slave connect[%d], connect num: %d\r\n", event->param.connect.conidx, gap_get_connect_num());
|
||||
slave_link_conidx = event->param.connect.conidx;
|
||||
//gatt_mtu_exchange_req(hid_svc_id, event->param.connect.conidx, 247);
|
||||
//gap_security_req(event->param.connect.conidx);
|
||||
#if BLE_PROFILE_ENABLE_ANCS
|
||||
gatt_discovery_all_peer_svc(ANCS_AMS_client_id,event->param.connect.conidx);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
case GAP_EVT_DISCONNECT:
|
||||
{
|
||||
printf("gap_callback: GAP_EVT_DISCONNECT, conidx:%d, reason:0x%02X\r\n", event->param.disconnect.conidx,
|
||||
event->param.disconnect.reason);
|
||||
app_ble_start_advertising(0);
|
||||
}
|
||||
break;
|
||||
|
||||
case GATT_EVT_MTU:
|
||||
printf("gap_callback: conidx: %d, GATT_EVT_MTU: %d\r\n", event->param.mtu_ind.conidx, event->param.mtu_ind.mtu);
|
||||
app_ble_set_mtu(event->param.mtu_ind.conidx, event->param.mtu_ind.mtu);
|
||||
//gap_security_req(event->param.connect.conidx);
|
||||
break;
|
||||
case GAP_EVT_SMP_ENCRYPT_SUCCESS:
|
||||
printf("gap_callback: conidx: %d, GAP_EVT_SMP_ENCRYPT_SUCCESS \r\n", event->param.mtu_ind.conidx);
|
||||
break;
|
||||
|
||||
case GAP_EVT_SMP_BOND_SUCCESS:
|
||||
printf("gap_callback: conidx: %d, GAP_EVT_SMP_BOND_SUCCESS \r\n", event->param.mtu_ind.conidx);
|
||||
|
||||
#if BLE_PROFILE_ENABLE_ANCS
|
||||
ancs_enable_src_notify(event->param.connect.conidx);
|
||||
#endif
|
||||
|
||||
#if (BLE_PROFILE_ENABLE_HID)
|
||||
hid_service_enable(event->param.connect.conidx);
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
struct gap_link_param_update_req req;
|
||||
req.conidx = event->param.connect.conidx;
|
||||
req.intv_max = 12;
|
||||
req.intv_min = 12;
|
||||
req.latency = 30;
|
||||
req.time_out = 140;
|
||||
gap_param_update_req(&req);
|
||||
#endif
|
||||
//gap_conn_param_update((uint8_t)arg, 24, 24, 33, 500);
|
||||
break;
|
||||
|
||||
case GAP_EVT_NAME_REQ:
|
||||
{
|
||||
|
||||
gap_name_req_rsp(event->param.name_req.conidx,
|
||||
event->param.name_req.token,
|
||||
sizeof(local_device_name),
|
||||
(uint8_t *)local_device_name);
|
||||
}
|
||||
break;
|
||||
|
||||
case GAP_EVT_APPEARANCE_REQ:
|
||||
{
|
||||
gap_appearance_req_rsp(event->param.appearance_req.conidx,
|
||||
event->param.appearance_req.token,
|
||||
GAP_APPEARE_HID_KEYBOARD);
|
||||
}
|
||||
break;
|
||||
|
||||
case GAP_EVT_LINK_PARAM_REQ:
|
||||
{
|
||||
struct gap_link_param_update_rsp rsp;
|
||||
rsp.accept = true;
|
||||
rsp.conidx = event->param.link_param_update_req.conidx;
|
||||
rsp.ce_len_max = 2;
|
||||
rsp.ce_len_min = 2;
|
||||
gap_param_update_rsp(&rsp);
|
||||
}
|
||||
break;
|
||||
|
||||
case GAP_EVT_LINK_PARAM_UPDATE:
|
||||
{
|
||||
printf("conn param update,conidx:%d, con_int:%d, latency:%d, timeout%d\r\n", event->param.link_param_update.conidx,
|
||||
event->param.link_param_update.con_interval,
|
||||
event->param.link_param_update.con_latency,
|
||||
event->param.link_param_update.sup_to);
|
||||
//gap_security_req(event->param.connect.conidx);
|
||||
}
|
||||
break;
|
||||
|
||||
case GAP_EVT_LINK_RSSI:
|
||||
printf("gap_callback: conidx: %d, GAP_EVT_LINK_RSSI: %d\r\n", event->param.gap_link_rssi.conidx, event->param.gap_link_rssi.link_rssi);
|
||||
break;
|
||||
|
||||
case GAP_EVT_PHY_IND:
|
||||
printf("gap_callback: conidx: %d, GAP_EVT_PHY_IND: %d\r\n", event->param.gap_phy_ind.conidx, event->param.gap_phy_ind.tx_phy);
|
||||
break;
|
||||
|
||||
case GAP_EVT_PHY_REJECT:
|
||||
printf("gap_callback: conidx: %d, GAP_EVT_PHY_REJECT, status: %d\r\n", event->param.gap_phy_update_reject.conidx, event->param.gap_phy_update_reject.status);
|
||||
break;
|
||||
|
||||
case GAP_EVT_LINK_VER:
|
||||
printf("gap_callback: conidx: %d, GAP_EVT_LINK_VER\r\n", event->param.gap_link_ver.conidx);
|
||||
break;
|
||||
|
||||
case GAP_EVT_LINK_FEATURE:
|
||||
printf("gap_callback: conidx: %d, GAP_EVT_LINK_FEATURE:%d\r\n", event->param.gap_link_feature.conidx, event->param.gap_link_feature.features[0]);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void app_ble_start_advertising(uint8_t adv_chn)
|
||||
{
|
||||
if (adv_chn < APP_BLE_ADV_CHN_MAX) {
|
||||
if (adv[adv_chn] == NULL) {
|
||||
struct gap_adv_param adv_param;
|
||||
|
||||
adv_param.adv_mode = GAP_ADV_MODE_UNDIRECT;
|
||||
adv_param.disc_mode = GAP_ADV_DISC_MODE_GEN_DISC;
|
||||
adv_param.filt_policy = GAP_ADV_FILTER_SCAN_ANY_CON_ANY;
|
||||
adv_param.adv_chnl_map = GAP_ADV_CHAN_ALL;
|
||||
adv_param.phy_mode = GAP_PHY_TYPE_LE_1M;
|
||||
adv_param.own_addr_type = GAP_ADDR_TYPE_STATIC; // GAPM_GEN_RSLV_ADDR GAPM_STATIC_ADDR
|
||||
|
||||
adv_param.adv_intv_min = 1600;
|
||||
adv_param.adv_intv_max = 1600;
|
||||
adv[adv_chn] = gap_adv_create();
|
||||
gap_adv_set_param(adv[adv_chn], &adv_param);
|
||||
|
||||
adv_data[17] = ble_static_addr[5];
|
||||
adv_data[18] = ble_static_addr[4];
|
||||
adv_data[19] = ble_static_addr[3];
|
||||
adv_data[20] = ble_static_addr[2];
|
||||
adv_data[21] = ble_static_addr[1];
|
||||
adv_data[22] = ble_static_addr[0];
|
||||
|
||||
gap_adv_set_adv_data(adv[adv_chn], adv_data, sizeof(adv_data));
|
||||
gap_adv_set_scan_rsp(adv[adv_chn], adv_scan_rsp_data, sizeof(adv_scan_rsp_data));
|
||||
}
|
||||
gap_adv_start(adv[adv_chn], 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void app_ble_init(void)
|
||||
{
|
||||
printf("app_ble_init\r\n");
|
||||
|
||||
// gap_set_dev_appearance(GAP_APPEARE_HID_KEYBOARD);
|
||||
/* set GAP event callback*/
|
||||
gap_set_cb_func(gap_callback);
|
||||
|
||||
/* set security param */
|
||||
struct gap_security_param smp_param;
|
||||
smp_param.mitm = true;
|
||||
smp_param.secure_connection = false;
|
||||
smp_param.bond = true;
|
||||
smp_param.oob_used = GAP_OOB_AUTH_DATA_NOT_PRESENT;
|
||||
smp_param.io_cap = GAP_IO_CAP_NO_INPUT_NO_OUTPUT;
|
||||
smp_param.rsp_mode = ENABLE_AUTO_RSP;
|
||||
gap_security_param_init(&smp_param);
|
||||
|
||||
/* add service profile, The GAP callback event is GATT_EVT_PROFILE_ADDED*/
|
||||
//app_ble_add_service();
|
||||
|
||||
ota_gatt_add_service();
|
||||
sp_gatt_add_service();
|
||||
|
||||
#if BLE_PROFILE_ENABLE_ANCS
|
||||
ANCS_AMS_gatt_add_client();
|
||||
#endif
|
||||
|
||||
#if BLE_PROFILE_ENABLE_HID
|
||||
hid_gatt_add_service();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
void app_ble_scan_start(void)
|
||||
{
|
||||
struct gap_scan_param param;
|
||||
|
||||
param.scan_type = GAP_SCAN_TYPE_GEN_DISC;
|
||||
param.own_addr_type = GAP_ADDR_TYPE_STATIC;
|
||||
param.phy_mode = GAP_PHY_TYPE_LE_1M;
|
||||
|
||||
param.dup_filt_pol = true;
|
||||
param.scan_intv = 32;
|
||||
param.scan_window = 20;
|
||||
param.duration = 0;
|
||||
|
||||
gap_scan_start(¶m);
|
||||
}
|
||||
|
||||
void app_ble_scan_stop(void)
|
||||
{
|
||||
gap_scan_stop();
|
||||
}
|
||||
|
||||
void app_ble_conn_start(struct gap_ble_addr *addr)
|
||||
{
|
||||
struct gap_conn_param conn_param;
|
||||
conn_param.peer_addr.addr_type = addr->addr_type;
|
||||
conn_param.peer_addr.addr.addr[0] = addr->addr.addr[0];
|
||||
conn_param.peer_addr.addr.addr[1] = addr->addr.addr[1];
|
||||
conn_param.peer_addr.addr.addr[2] = addr->addr.addr[2];
|
||||
conn_param.peer_addr.addr.addr[3] = addr->addr.addr[3];
|
||||
conn_param.peer_addr.addr.addr[4] = addr->addr.addr[4];
|
||||
conn_param.peer_addr.addr.addr[5] = addr->addr.addr[5];
|
||||
conn_param.own_addr_type = GAP_ADDR_TYPE_STATIC;
|
||||
conn_param.phy_mode = GAP_PHY_TYPE_LE_1M;
|
||||
conn_param.scan_intv = 32;
|
||||
conn_param.scan_window = 32;
|
||||
conn_param.conn_intv_min = 24;
|
||||
conn_param.conn_intv_max = 24;
|
||||
conn_param.supervision_to = 500;
|
||||
conn_param.slave_latency = 0;
|
||||
conn_param.ce_len_max = 2;
|
||||
conn_param.ce_len_min = 2;
|
||||
gap_conn_start(&conn_param);
|
||||
}
|
||||
|
||||
void app_ble_conn_stop(void)
|
||||
{
|
||||
gap_conn_stop();
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
#ifndef _APP_BLE_H
|
||||
#define _APP_BLE_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "gap_api.h"
|
||||
|
||||
void app_ble_init(void);
|
||||
|
||||
void app_ble_advertising_start(uint8_t adv_chn);
|
||||
void app_ble_advertising_stop(uint8_t adv_chn);
|
||||
|
||||
void app_ble_scan_start(void);
|
||||
void app_ble_scan_stop(void);
|
||||
|
||||
void app_ble_conn_start(struct gap_ble_addr *addr);
|
||||
void app_ble_conn_stop(void);
|
||||
|
||||
#endif // _APP_BLE_H
|
File diff suppressed because it is too large
Load Diff
|
@ -1,32 +0,0 @@
|
|||
#ifndef _APP_BT_H
|
||||
#define _APP_BT_H
|
||||
|
||||
#include "app_btdm.h"
|
||||
|
||||
#include "hf_api.h"
|
||||
#include "me_api.h"
|
||||
#include "a2dp_api.h"
|
||||
#include "hfg_api.h"
|
||||
#include "avrcp_api.h"
|
||||
#include "hid_api.h"
|
||||
#include "spp_api.h"
|
||||
#include "pbap_api.h"
|
||||
|
||||
extern HfChannel *hf_channel;
|
||||
extern HfgChannel *hfg_channel;
|
||||
extern A2dpStream *Stream;
|
||||
extern AvrcpChannel *rcpCtChannel;
|
||||
extern AvrcpChannel *rcpTgChannel;
|
||||
extern PbapClientSession *pbap_client;
|
||||
extern SppDev *spp_dev;
|
||||
|
||||
uint8_t bt_get_free_hf_channel(void);
|
||||
uint8_t bt_get_free_hfg_channel(void);
|
||||
uint8_t bt_get_free_a2dp_stream(void);
|
||||
uint8_t bt_get_free_avrcp_channel(void);
|
||||
|
||||
void app_bt_send_sco_data(void *channel, uint8_t seq, uint8_t *data, uint16_t length);
|
||||
|
||||
void app_bt_init(app_btdm_callback_t cb);
|
||||
|
||||
#endif // _APP_BT_H
|
|
@ -1,240 +0,0 @@
|
|||
#include "app_config.h"
|
||||
#include "app_task.h"
|
||||
#include "app_btdm.h"
|
||||
#include "app_audio.h"
|
||||
#include "app_ble.h"
|
||||
#include "app_bt.h"
|
||||
#include "user_bt.h"
|
||||
#include "fr_device_pmu_io.h"
|
||||
|
||||
#include "fr_device_pmu_io.h"
|
||||
|
||||
#include "co_list.h"
|
||||
#include "controller.h"
|
||||
#include "host.h"
|
||||
#include "btdm_mem.h"
|
||||
#include "fdb_app.h"
|
||||
|
||||
#define SCO_DATA_BUFFER_COUNT 4
|
||||
|
||||
typedef int32_t app_btdm_ret_t;
|
||||
|
||||
struct sco_data_t {
|
||||
struct co_list_hdr hdr;
|
||||
void *arg;
|
||||
uint16_t length;
|
||||
uint8_t data[];
|
||||
};
|
||||
uint8_t bt_addr[] = {0x12, 0x00, 0x12, 0x12, 0x12, 0x12};
|
||||
uint8_t ble_public_addr[] = {0x13, 0x00, 0x88, 0x12, 0x12, 0x12};
|
||||
uint8_t ble_static_addr[] = {0x13, 0x66, 0x88, 0x12, 0x12, 0xc2};
|
||||
|
||||
static uint8_t sco_data_buffering = 0;
|
||||
static struct co_list sco_data_list;
|
||||
|
||||
static void encoded_sco_frame_cb(void *arg, uint8_t *data, uint16_t length)
|
||||
{
|
||||
static uint16_t seq = 0;
|
||||
if (sco_data_buffering) {
|
||||
struct sco_data_t *sco_data;
|
||||
|
||||
sco_data = (void *)btdm_malloc(sizeof(struct sco_data_t) + length);
|
||||
sco_data->arg = arg;
|
||||
sco_data->length = length;
|
||||
memcpy((void *)&sco_data->data[0], data, length);
|
||||
co_list_push_back(&sco_data_list, &sco_data->hdr);
|
||||
|
||||
sco_data_buffering--;
|
||||
if (sco_data_buffering == 0) {
|
||||
sco_data = (void *)co_list_pop_front(&sco_data_list);
|
||||
while (sco_data) {
|
||||
//fputc('D', NULL);
|
||||
app_bt_send_sco_data(sco_data->arg, seq++, sco_data->data, sco_data->length);
|
||||
btdm_free((void *)sco_data);
|
||||
sco_data = (void *)co_list_pop_front(&sco_data_list);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
//fputc('D', NULL);
|
||||
app_bt_send_sco_data(arg, seq++, data, length);
|
||||
}
|
||||
}
|
||||
|
||||
static void btdm_callback(struct app_btdm_event_t *event)
|
||||
{
|
||||
switch(event->event) {
|
||||
case APP_BTDM_EVT_A2DP_STREAM_STARTED:
|
||||
if (event->param.a2dp_codec.codec_type == APP_BTDM_CODEC_SBC) {
|
||||
app_audio_a2dp_sink_start(AUDIO_TYPE_SBC, event->param.a2dp_codec.sample_rate);
|
||||
}
|
||||
else if (event->param.a2dp_codec.codec_type == APP_BTDM_CODEC_AAC) {
|
||||
app_audio_a2dp_sink_start(AUDIO_TYPE_AAC, event->param.a2dp_codec.sample_rate);
|
||||
}
|
||||
system_prevent_sleep_set(SYSTEM_PREVENT_SLEEP_A2DP_ONGOING);
|
||||
break;
|
||||
case APP_BTDM_EVT_A2DP_STREAM_STOPPED:
|
||||
app_audio_a2dp_sink_stop();
|
||||
system_prevent_sleep_clear(SYSTEM_PREVENT_SLEEP_A2DP_ONGOING);
|
||||
break;
|
||||
case APP_BTDM_EVT_A2DP_STREAM_DATA:
|
||||
app_audio_a2dp_sink_play(event->param.a2dp_data.buffer, event->param.a2dp_data.length);
|
||||
break;
|
||||
case APP_BTDM_EVT_SCO_CREATED:
|
||||
sco_data_buffering = SCO_DATA_BUFFER_COUNT;
|
||||
{
|
||||
struct sco_data_t *sco_data;
|
||||
sco_data = (void *)co_list_pop_front(&sco_data_list);
|
||||
while (sco_data) {
|
||||
btdm_free((void *)sco_data);
|
||||
sco_data = (void *)co_list_pop_front(&sco_data_list);
|
||||
}
|
||||
}
|
||||
if (event->param.sco_codec.codec_type == APP_BTDM_CODEC_mSBC) {
|
||||
app_audio_sco_start(AUDIO_TYPE_MSBC, encoded_sco_frame_cb, event->param.sco_codec.hf_channel);
|
||||
}
|
||||
else {
|
||||
app_audio_sco_start(AUDIO_TYPE_PCM, encoded_sco_frame_cb, event->param.sco_codec.hf_channel);
|
||||
}
|
||||
system_prevent_sleep_set(SYSTEM_PREVENT_SLEEP_SCO_ONGOING);
|
||||
break;
|
||||
case APP_BTDM_EVT_SCO_REMOVED:
|
||||
app_audio_sco_stop();
|
||||
system_prevent_sleep_clear(SYSTEM_PREVENT_SLEEP_SCO_ONGOING);
|
||||
break;
|
||||
case APP_BTDM_EVT_SCO_DATA:
|
||||
{
|
||||
uint8_t audio_codec_type;
|
||||
if (event->param.sco_data.codec_type == APP_BTDM_CODEC_mSBC) {
|
||||
audio_codec_type = AUDIO_TYPE_MSBC;
|
||||
}
|
||||
else {
|
||||
audio_codec_type = AUDIO_TYPE_PCM;
|
||||
}
|
||||
app_audio_sco_recv(event->param.sco_data.valid, audio_codec_type, event->param.sco_data.buffer, event->param.sco_data.length);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void app_btdm_start(void)
|
||||
{
|
||||
app_ble_init();
|
||||
#if BTDM_STACK_ENABLE_BT == 1
|
||||
app_bt_init(btdm_callback);
|
||||
user_bt_init();
|
||||
#endif
|
||||
}
|
||||
|
||||
void host_ready_cb(void)
|
||||
{
|
||||
struct app_task_event *event;
|
||||
/* notify application BTDM stack is ready. */
|
||||
event = app_task_event_alloc(APP_TASK_EVENT_HOST_INITED, 0, true);
|
||||
app_task_event_post(event, false);
|
||||
}
|
||||
|
||||
void app_btdm_init(void)
|
||||
{
|
||||
/*get bt addr*/
|
||||
#if BT_ADDR_RANDOM_ENABLE | BLE_ADDR_RANDOM_ENABLE
|
||||
uint8_t rand_num[4];
|
||||
if(flashdb_get(FDB_KEY_USER_RANDOM_SEED, (void *)&rand_num[0], 4) != 0){
|
||||
#if BT_ADDR_RANDOM_ENABLE
|
||||
memcpy((void *)&bt_addr[0],rand_num,4);
|
||||
#endif
|
||||
#if BLE_ADDR_RANDOM_ENABLE
|
||||
memcpy((void *)&ble_static_addr[0],rand_num,4);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
/* prepare for BTDM stack */
|
||||
#if CONTROLLER_CODE_LOAD_MODE == CONTROLLER_CODE_LOAD_MODE_XIP_RO
|
||||
#if CONTROLLER_CODE_INC_SENSOR_HUB
|
||||
extern uint8_t CONTROLLER_CODE_SPLIT_OTA_BASE;
|
||||
uint32_t controller_code_base_addr = (uint32_t)&CONTROLLER_CODE_SPLIT_OTA_BASE;
|
||||
#else
|
||||
extern uint8_t CONTROLLER_CODE_OTA_BASE;
|
||||
uint32_t controller_code_base_addr = (uint32_t)&CONTROLLER_CODE_OTA_BASE;
|
||||
#endif
|
||||
controller_start(BTDM_STACK_HCI_BAUDRATE, ble_public_addr, bt_addr, controller_code_base_addr);
|
||||
#elif CONTROLLER_CODE_LOAD_MODE == CONTROLLER_CODE_LOAD_MODE_FIX_ADDRESS
|
||||
controller_start(BTDM_STACK_HCI_BAUDRATE, ble_public_addr, bt_addr, CONTROLLER_CODE_FIX_ADDRESS | FLASH_DAC_BASE);
|
||||
#else
|
||||
#error "choose correct CONTROLLER_CODE_LOAD_MODE"
|
||||
#endif
|
||||
|
||||
#if BTDM_STACK_ENABLE_BT == 1
|
||||
host_btdm_start(BTDM_STACK_HCI_BAUDRATE, HOST_TASK_STACK_SIZE, HOST_TASK_PRIORITY, ble_static_addr);
|
||||
#else
|
||||
host_ble_start(BTDM_STACK_HCI_BAUDRATE, HOST_TASK_STACK_SIZE, HOST_TASK_PRIORITY, ble_static_addr);
|
||||
#endif
|
||||
|
||||
/* init MCU->BT pin, configure PMU_PIN_8 output BBG_EN signal */
|
||||
ool_write(PMU_REG_DIAG_CTRL, 0x82);
|
||||
ool_write(PMU_REG_PIN_IOMUX_H, 0x03);
|
||||
/* disable PMU pin input as default setting */
|
||||
ool_write16(PMU_REG_PIN_INPUT_EN, (PMU_IO_INTTERUPT_DEFAULT<<2) | 0x0002);
|
||||
/* PP1 is connected to ARST of 1010, this pin is low in sleep mode */
|
||||
ool_write16(PMU_REG_PIN_PULL_EN, 0x3ffd);
|
||||
ool_write16(PMU_REG_PIN_PULL_SEL, 0x3fff);
|
||||
|
||||
/* init BT->MCU pin, system should not enter sleep mode when this pin is low level */
|
||||
system_prevent_sleep_set(SYSTEM_PREVENT_SLEEP_TYPE_HCI_RX);
|
||||
pmu_gpio_int_init(PMU_PIN_9, PMU_GPIO_PULL_UP, 0);
|
||||
pmu_enable_isr(PMU_GPIO_PMU_INT_MSK_BIT);
|
||||
NVIC_SetPriority(PMU_IRQn, 4);
|
||||
NVIC_EnableIRQ(PMU_IRQn);
|
||||
}
|
||||
|
||||
app_btdm_ret_t app_btdm_ble_adv_start(uint16_t dur)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
app_btdm_ret_t app_btdm_ble_adv_stop(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
app_btdm_ret_t app_btdm_ble_disconnect(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
app_btdm_ret_t app_btdm_bt_access_mode_set(uint8_t mode)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
app_btdm_ret_t app_btdm_bt_scan_start(uint16_t dur)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
app_btdm_ret_t app_btdm_bt_scan_stop(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
app_btdm_ret_t app_btdm_bt_connect(uint8_t *peer_addr)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
app_btdm_ret_t app_btdm_bt_disconnect(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
app_btdm_ret_t app_btdm_bt_profile_enable(uint16_t profiles)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
const uint8_t *app_get_bt_addr(void)
|
||||
{
|
||||
return bt_addr;
|
||||
}
|
|
@ -1,67 +0,0 @@
|
|||
#ifndef _APP_BTDM_H
|
||||
#define _APP_BTDM_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
enum {
|
||||
APP_BTDM_EVT_BLE_CONNECTED,
|
||||
APP_BTDM_EVT_BLE_DISCONNECTED,
|
||||
|
||||
APP_BTDM_EVT_BT_CONNECTED,
|
||||
APP_BTDM_EVT_BT_DISCONNECTED,
|
||||
APP_BTDM_EVT_HF_INCOMING,
|
||||
APP_BTDM_EVT_HF_CALL_ACTIVE,
|
||||
APP_BTDM_EVT_HF_CALL_REMOVE,
|
||||
APP_BTDM_EVT_A2DP_STREAM_STARTED,
|
||||
APP_BTDM_EVT_A2DP_STREAM_STOPPED,
|
||||
APP_BTDM_EVT_A2DP_STREAM_DATA,
|
||||
APP_BTDM_EVT_AVRCP_VOL_CHANGE,
|
||||
APP_BTDM_EVT_AVRCP_NEXT,
|
||||
APP_BTDM_EVT_AVRCP_PREV,
|
||||
APP_BTDM_EVT_AVRCP_PAUSE,
|
||||
APP_BTDM_EVT_AVRCP_FAST_FORWARD,
|
||||
APP_BTDM_EVT_AVRCP_FAST_BACKWARD,
|
||||
APP_BTDM_EVT_SCO_CREATED,
|
||||
APP_BTDM_EVT_SCO_REMOVED,
|
||||
APP_BTDM_EVT_SCO_DATA,
|
||||
};
|
||||
|
||||
enum {
|
||||
APP_BTDM_CODEC_SBC,
|
||||
APP_BTDM_CODEC_AAC,
|
||||
APP_BTDM_CODEC_mSBC,
|
||||
APP_BTDM_CODEC_PCM,
|
||||
APP_BTDM_CODEC_UNKNOWN,
|
||||
};
|
||||
|
||||
struct app_btdm_event_t {
|
||||
uint8_t event;
|
||||
union {
|
||||
struct {
|
||||
uint8_t *buffer;
|
||||
uint32_t length;
|
||||
} a2dp_data;
|
||||
struct {
|
||||
uint8_t codec_type;
|
||||
uint32_t sample_rate;
|
||||
} a2dp_codec;
|
||||
struct {
|
||||
bool valid;
|
||||
uint8_t codec_type;
|
||||
uint8_t *buffer;
|
||||
uint32_t length;
|
||||
} sco_data;
|
||||
struct {
|
||||
void *hf_channel;
|
||||
uint8_t codec_type;
|
||||
} sco_codec;
|
||||
} param;
|
||||
};
|
||||
|
||||
typedef void (*app_btdm_callback_t)(struct app_btdm_event_t *e);
|
||||
|
||||
void app_btdm_start(void);
|
||||
void app_btdm_init(void);
|
||||
const uint8_t *app_get_bt_addr(void);
|
||||
#endif // _APP_BTDM_H
|
|
@ -1,983 +0,0 @@
|
|||
/*
|
||||
* 1. AT command and log: UART3
|
||||
* 2. HCI interface: UART0, GPIO_PMU, handled by host.c.
|
||||
* 3. Display: DMA1, SPIx8_0, GPIO (for cs)
|
||||
* 4. Touchpad: I2C3
|
||||
* 5. PSRAM: OSPI
|
||||
* 6. external Flash: DMA0, SPIx8_1
|
||||
* 7. DSP: IPC, RPMSG
|
||||
* 8. DSP XIP Flash: QSPI1
|
||||
* 9. Sensors: handled by 1010
|
||||
* 10. System clock, XIP Flash: handled by sleep procedure
|
||||
*/
|
||||
|
||||
#include "fr30xx.h"
|
||||
|
||||
#include "driver_display.h"
|
||||
#include "driver_touchpad.h"
|
||||
#include "driver_psram.h"
|
||||
#include "IC_W25Qxx.h"
|
||||
|
||||
#include "app_config.h"
|
||||
#include "app_hw.h"
|
||||
|
||||
struct hw_gpio_state_t {
|
||||
uint16_t PortA_PullEN;
|
||||
uint16_t PortB_PullEN;
|
||||
uint16_t PortC_PullEN;
|
||||
uint16_t PortD_PullEN;
|
||||
|
||||
uint16_t PortA_PullSelect;
|
||||
uint16_t PortB_PullSelect;
|
||||
uint16_t PortC_PullSelect;
|
||||
uint16_t PortD_PullSelect;
|
||||
|
||||
uint32_t PortA_PullResCfg;
|
||||
uint32_t PortB_PullResCfg;
|
||||
uint32_t PortC_PullResCfg;
|
||||
uint32_t PortD_PullResCfg;
|
||||
|
||||
uint32_t PortA_DriveCfg;
|
||||
uint32_t PortB_DriveCfg;
|
||||
uint32_t PortC_DriveCfg;
|
||||
uint32_t PortD_DriveCfg;
|
||||
|
||||
uint32_t PortA_L_FuncMux;
|
||||
uint32_t PortA_H_FuncMux;
|
||||
uint32_t PortB_L_FuncMux;
|
||||
uint32_t PortB_H_FuncMux;
|
||||
uint32_t PortC_L_FuncMux;
|
||||
uint32_t PortC_H_FuncMux;
|
||||
uint32_t PortD_L_FuncMux;
|
||||
uint32_t PortD_H_FuncMux;
|
||||
|
||||
uint32_t QSPI_PullSelect;
|
||||
uint32_t QSPI_PullEN;
|
||||
uint32_t OSPI_PullSelect;
|
||||
uint32_t OSPI_PullEN;
|
||||
|
||||
uint16_t GPIOA_OutputEN;
|
||||
uint16_t GPIOA_OUT_DATA;
|
||||
uint16_t GPIOA_EXTI_EN;
|
||||
uint16_t GPIOA_EXTI_INT_EN;
|
||||
uint32_t GPIOA_EXTI_TYPE;
|
||||
uint16_t GPIOB_OutputEN;
|
||||
uint16_t GPIOB_OUT_DATA;
|
||||
uint16_t GPIOB_EXTI_EN;
|
||||
uint16_t GPIOB_EXTI_INT_EN;
|
||||
uint32_t GPIOB_EXTI_TYPE;
|
||||
uint16_t GPIOC_OutputEN;
|
||||
uint16_t GPIOC_OUT_DATA;
|
||||
uint16_t GPIOC_EXTI_EN;
|
||||
uint16_t GPIOC_EXTI_INT_EN;
|
||||
uint32_t GPIOC_EXTI_TYPE;
|
||||
uint16_t GPIOD_OutputEN;
|
||||
uint16_t GPIOD_OUT_DATA;
|
||||
uint16_t GPIOD_EXTI_EN;
|
||||
uint16_t GPIOD_EXTI_INT_EN;
|
||||
uint32_t GPIOD_EXTI_TYPE;
|
||||
};
|
||||
|
||||
static struct hw_gpio_state_t gpio_state;
|
||||
|
||||
UART_HandleTypeDef uart_log_handle;
|
||||
DMA_HandleTypeDef dma_display_handle;
|
||||
SPI_HandleTypeDef spi_display_handle;
|
||||
I2C_HandleTypeDef i2c_touchpad_handle;
|
||||
SPI_HandleTypeDef spi_flash_handle;
|
||||
DMA_HandleTypeDef dma_flash_handle;
|
||||
|
||||
void app_at_rx_done(struct __UART_HandleTypeDef *handle);
|
||||
|
||||
void display_cs_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_5, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_cs_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_5, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
#if BOARD_SEL == BOARD_EVB_FR5090
|
||||
void display_reset_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_reset_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_14, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
void display_vci_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_13, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_vci_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_13, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
bool display_te_status(void)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E
|
||||
void display_reset_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_6, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_reset_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_6, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
void display_vci_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_15, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_vci_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_15, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
bool display_te_status(void)
|
||||
{
|
||||
return gpio_read_pin(GPIOC, GPIO_PIN_7);
|
||||
}
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_CM
|
||||
void display_reset_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_reset_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_14, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
void display_vci_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_13, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_vci_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_13, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
bool display_te_status(void)
|
||||
{
|
||||
return gpio_read_pin(GPIOB, GPIO_PIN_15);
|
||||
}
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E
|
||||
void display_reset_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_6, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_reset_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_6, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
void display_vci_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_15, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_vci_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_15, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
bool display_te_status(void)
|
||||
{
|
||||
return gpio_read_pin(GPIOC, GPIO_PIN_7);
|
||||
}
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_RGB
|
||||
void display_reset_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_reset_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_14, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
void display_vci_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_13, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void display_vci_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_13, GPIO_PIN_CLEAR);
|
||||
}
|
||||
|
||||
bool display_te_status(void)
|
||||
{
|
||||
return gpio_read_pin(GPIOB, GPIO_PIN_15);
|
||||
}
|
||||
#else
|
||||
#error "choose correct board"
|
||||
#endif
|
||||
|
||||
void display_delay_ms(uint32_t counter)
|
||||
{
|
||||
system_delay_us(counter * 1000);
|
||||
}
|
||||
|
||||
#if BOARD_SEL == BOARD_EVB_FR5090
|
||||
void touchpad_reset_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_15, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void touchpad_reset_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_15, GPIO_PIN_CLEAR);
|
||||
}
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E
|
||||
|
||||
#if 1 //DISPLAY_TYPE_ICNA3310
|
||||
void touchpad_reset_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_15, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void touchpad_reset_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_15, GPIO_PIN_CLEAR);
|
||||
}
|
||||
#else
|
||||
void touchpad_reset_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void touchpad_reset_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOA, GPIO_PIN_6, GPIO_PIN_CLEAR);
|
||||
}
|
||||
#endif
|
||||
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_CM
|
||||
void touchpad_reset_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_15, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void touchpad_reset_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOC, GPIO_PIN_15, GPIO_PIN_CLEAR);
|
||||
}
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_RGB
|
||||
void touchpad_reset_set(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_10, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void touchpad_reset_clear(void)
|
||||
{
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_10, GPIO_PIN_CLEAR);
|
||||
}
|
||||
#else
|
||||
#error "choose correct board"
|
||||
#endif
|
||||
|
||||
void touchpad_delay_ms(uint32_t counter)
|
||||
{
|
||||
system_delay_us(counter * 1000);
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_log_init(bool wake_up)
|
||||
{
|
||||
if (wake_up == false) {
|
||||
GPIO_InitTypeDef gpio_config;
|
||||
|
||||
/* ========================================================== */
|
||||
/* ========= Uart LOG configuration ========= */
|
||||
/* ========================================================== */
|
||||
/* configure PB4 and PB5 to UART3 function */
|
||||
gpio_config.Pin = GPIO_PIN_4 | GPIO_PIN_5;
|
||||
gpio_config.Mode = GPIO_MODE_AF_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_1;
|
||||
gpio_init(GPIOB, &gpio_config);
|
||||
|
||||
__SYSTEM_UART3_CLK_ENABLE();
|
||||
|
||||
/* UART3: used for Log and AT command */
|
||||
uart_log_handle.UARTx = UART3;
|
||||
uart_log_handle.Init.BaudRate = 921600;
|
||||
uart_log_handle.Init.DataLength = UART_DATA_LENGTH_8BIT;
|
||||
uart_log_handle.Init.StopBits = UART_STOPBITS_1;
|
||||
uart_log_handle.Init.Parity = UART_PARITY_NONE;
|
||||
uart_log_handle.Init.FIFO_Mode = UART_FIFO_ENABLE;
|
||||
uart_log_handle.TxCpltCallback = NULL;
|
||||
uart_log_handle.RxCpltCallback = app_at_rx_done;
|
||||
uart_init(&uart_log_handle);
|
||||
NVIC_EnableIRQ(UART3_IRQn);
|
||||
}
|
||||
else {
|
||||
__SYSTEM_UART3_CLK_ENABLE();
|
||||
uart_init(&uart_log_handle);
|
||||
__UART_INT_RX_ENABLE(uart_log_handle.UARTx);
|
||||
NVIC_EnableIRQ(UART3_IRQn);
|
||||
}
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_display_init(bool wake_up)
|
||||
{
|
||||
if (wake_up == false) {
|
||||
GPIO_InitTypeDef gpio_config;
|
||||
|
||||
/* ========================================================== */
|
||||
/* ========= Display interface configuration ========= */
|
||||
/* ========================================================== */
|
||||
/* config DMA1 for display */
|
||||
__SYSTEM_DMA1_CLK_ENABLE();
|
||||
dma_display_handle.DMAx = DMA1;
|
||||
dma_display_handle.Channel = DMA_Channel0;
|
||||
dma_display_handle.Init.Data_Flow = DMA_M2P_DMAC;
|
||||
dma_display_handle.Init.Request_ID = 2;
|
||||
system_dmac_request_id_config(SPIMX8_0_TX, DMA1_REQUEST_ID_2);
|
||||
dma_display_handle.Init.Source_Master_Sel = DMA_AHB_MASTER_3;
|
||||
dma_display_handle.Init.Desination_Master_Sel = DMA_AHB_MASTER_2;
|
||||
dma_display_handle.Init.Source_Inc = DMA_ADDR_INC_INC;
|
||||
dma_display_handle.Init.Desination_Inc = DMA_ADDR_INC_NO_CHANGE;
|
||||
dma_display_handle.Init.Source_Width = DMA_TRANSFER_WIDTH_32;
|
||||
dma_display_handle.Init.Desination_Width = DMA_TRANSFER_WIDTH_32;
|
||||
dma_display_handle.Init.Source_Burst_Len = DMA_BURST_LEN_4;
|
||||
dma_display_handle.Init.Desination_Burst_Len = DMA_BURST_LEN_4;
|
||||
dma_init(&dma_display_handle);
|
||||
NVIC_EnableIRQ(DMA1_IRQn);
|
||||
|
||||
__SYSTEM_GPIOB_CLK_ENABLE();
|
||||
__SYSTEM_GPIOC_CLK_ENABLE();
|
||||
|
||||
/* configure C0, C1, C2, C3, C4 to SPIx8_0 function */
|
||||
gpio_config.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4;
|
||||
gpio_config.Mode = GPIO_MODE_AF_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_5;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
|
||||
/* configure C5 to CS function */
|
||||
gpio_config.Pin = GPIO_PIN_5;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
|
||||
#if BOARD_SEL == BOARD_EVB_FR5090
|
||||
/* configure B13, PB14 to VCCI function, RESET function */
|
||||
gpio_config.Pin = GPIO_PIN_13 | GPIO_PIN_14;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOB, &gpio_config);
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E
|
||||
/* configure PC15, PC6 to VCCI function, RESET function n*/
|
||||
gpio_config.Pin = GPIO_PIN_6 | GPIO_PIN_15;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
|
||||
/* configure GPIO_PC7 to TE functio(interrupt pin) */
|
||||
gpio_config.Pin = GPIO_PIN_7;
|
||||
gpio_config.Mode = GPIO_MODE_INPUT;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_config.Pull = GPIO_PULLDOWN;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_CM
|
||||
/* configure B13, PB14 to VCCI function, RESET function */
|
||||
gpio_config.Pin = GPIO_PIN_13 | GPIO_PIN_14;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOB, &gpio_config);
|
||||
|
||||
/* configure GPIO_PB15 to TE functio(interrupt pin) */
|
||||
gpio_config.Pin = GPIO_PIN_15;
|
||||
gpio_config.Mode = GPIO_MODE_INPUT;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_config.Pull = GPIO_PULLDOWN;
|
||||
gpio_init(GPIOB, &gpio_config);
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_RGB
|
||||
/* configure PC15, PC6 to VCCI function, RESET function n*/
|
||||
gpio_config.Pin = GPIO_PIN_6 | GPIO_PIN_15;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
|
||||
/* configure GPIO_PC7 to TE functio(interrupt pin) */
|
||||
gpio_config.Pin = GPIO_PIN_7;
|
||||
gpio_config.Mode = GPIO_MODE_INPUT;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_config.Pull = GPIO_PULLDOWN;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
#else
|
||||
#error "choose correct board"
|
||||
#endif
|
||||
|
||||
__SYSTEM_SPI_MASTER0_X8_CLK_ENABLE();
|
||||
spi_display_handle.SPIx = SPIMX8_0;
|
||||
spi_display_handle.Init.Work_Mode = SPI_WORK_MODE_0;
|
||||
spi_display_handle.Init.Frame_Size = SPI_FRAME_SIZE_8BIT;
|
||||
#if BOARD_SEL == BOARD_EVB_FR5090
|
||||
spi_display_handle.Init.BaudRate_Prescaler = 2;
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E
|
||||
spi_display_handle.Init.BaudRate_Prescaler = 4;
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_CM
|
||||
spi_display_handle.Init.BaudRate_Prescaler = 4;
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_RGB
|
||||
spi_display_handle.Init.BaudRate_Prescaler = 4;
|
||||
#else
|
||||
#error "choose correct board"
|
||||
#endif
|
||||
spi_display_handle.Init.TxFIFOEmpty_Threshold = 20;
|
||||
spi_display_handle.Init.RxFIFOFull_Threshold = 0;
|
||||
spi_master_init(&spi_display_handle);
|
||||
|
||||
display_cs_set();
|
||||
display_init();
|
||||
}
|
||||
else {
|
||||
__SYSTEM_DMA1_CLK_ENABLE();
|
||||
system_dmac_request_id_config(SPIMX8_0_TX, DMA1_REQUEST_ID_2);
|
||||
dma_init(&dma_display_handle);
|
||||
NVIC_EnableIRQ(DMA1_IRQn);
|
||||
|
||||
__SYSTEM_GPIOB_CLK_ENABLE();
|
||||
__SYSTEM_GPIOC_CLK_ENABLE();
|
||||
__SYSTEM_SPI_MASTER0_X8_CLK_ENABLE();
|
||||
spi_display_handle.Init.Frame_Size = SPI_FRAME_SIZE_8BIT;
|
||||
spi_master_init(&spi_display_handle);
|
||||
}
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_touchpad_init(bool wake_up)
|
||||
{
|
||||
if (wake_up == false) {
|
||||
GPIO_InitTypeDef gpio_config;
|
||||
|
||||
/* ========================================================== */
|
||||
/* ========= TP configuration ========= */
|
||||
/* ========================================================== */
|
||||
__SYSTEM_GPIOC_CLK_ENABLE();
|
||||
|
||||
#if BOARD_SEL == BOARD_EVB_FR5090
|
||||
/* configure GPIO_PC6 and GPIO_PC7 to I2C3 mode */
|
||||
gpio_config.Pin = GPIO_PIN_6|GPIO_PIN_7;
|
||||
gpio_config.Mode = GPIO_MODE_AF_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_3;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
|
||||
/* configure GPIO_PC15 to reset pin */
|
||||
gpio_config.Pin = GPIO_PIN_15;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
|
||||
/* configure GPIO_PC14 to interrupt pin */
|
||||
gpio_config.Pin = GPIO_PIN_14;
|
||||
gpio_config.Mode = GPIO_MODE_EXTI_IT_FALLING;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E
|
||||
|
||||
#if 1 //DISPLAY_TYPE_ICNA3310
|
||||
/* configure GPIO_PB12 and GPIO_PB13 to I2C2 mode */
|
||||
gpio_config.Pin = GPIO_PIN_12|GPIO_PIN_13;
|
||||
gpio_config.Mode = GPIO_MODE_AF_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_3;
|
||||
gpio_init(GPIOB, &gpio_config);
|
||||
|
||||
/* configure GPIO_PB15 to reset pin */
|
||||
gpio_config.Pin = GPIO_PIN_15;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOB, &gpio_config);
|
||||
|
||||
/* configure GPIO_PB14 to interrupt pin */
|
||||
gpio_config.Pin = GPIO_PIN_14;
|
||||
gpio_config.Mode = GPIO_MODE_EXTI_IT_FALLING;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_init(GPIOB, &gpio_config);
|
||||
|
||||
|
||||
exti_interrupt_enable(GPIOB,EXTI_LINE_14);
|
||||
exti_clear_LineStatus(GPIOB,EXTI_LINE_14);
|
||||
|
||||
NVIC_EnableIRQ(GPIOB_IRQn);
|
||||
|
||||
#else
|
||||
|
||||
/* configure GPIO_PA4 and GPIO_PA5 to I2C2 mode */
|
||||
gpio_config.Pin = GPIO_PIN_4|GPIO_PIN_5;
|
||||
gpio_config.Mode = GPIO_MODE_AF_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_3;
|
||||
gpio_init(GPIOA, &gpio_config);
|
||||
|
||||
__SYSTEM_GPIOA_CLK_ENABLE();
|
||||
/* configure GPIO_PA6 to reset pin */
|
||||
gpio_config.Pin = GPIO_PIN_6;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOA, &gpio_config);
|
||||
|
||||
__SYSTEM_GPIOB_CLK_ENABLE();
|
||||
/* configure GPIO_PB14 to interrupt pin */
|
||||
gpio_config.Pin = GPIO_PIN_14;
|
||||
gpio_config.Mode = GPIO_MODE_EXTI_IT_FALLING;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_init(GPIOB, &gpio_config);
|
||||
|
||||
#endif
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_CM
|
||||
/* configure GPIO_PC6 and GPIO_PC7 to I2C3 mode */
|
||||
gpio_config.Pin = GPIO_PIN_6|GPIO_PIN_7;
|
||||
gpio_config.Mode = GPIO_MODE_AF_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_3;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
|
||||
/* configure GPIO_PC15 to reset pin */
|
||||
gpio_config.Pin = GPIO_PIN_15;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
|
||||
/* configure GPIO_PC14 to interrupt pin */
|
||||
gpio_config.Pin = GPIO_PIN_14;
|
||||
gpio_config.Mode = GPIO_MODE_EXTI_IT_FALLING;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_RGB
|
||||
__SYSTEM_GPIOA_CLK_ENABLE();
|
||||
__SYSTEM_GPIOB_CLK_ENABLE();
|
||||
|
||||
gpio_config.Pin = GPIO_PIN_4|GPIO_PIN_5;
|
||||
gpio_config.Mode = GPIO_MODE_AF_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_3;
|
||||
gpio_init(GPIOA, &gpio_config);
|
||||
|
||||
gpio_config.Pin = GPIO_PIN_10;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOB, &gpio_config);
|
||||
gpio_write_pin(GPIOB, GPIO_PIN_10, GPIO_PIN_SET);
|
||||
|
||||
// gpio_config.Pin = GPIO_PIN_1; //vci
|
||||
// gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
// gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
// gpio_init(GPIOB, &gpio_config);
|
||||
// gpio_write_pin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);
|
||||
|
||||
/* configure GPIO_PA4 to reset pin */
|
||||
// gpio_config.Pin = GPIO_PIN_4;
|
||||
// gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
// gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
// gpio_init(GPIOA, &gpio_config);
|
||||
|
||||
/* configure GPIO_PA5 to interrupt pin */
|
||||
gpio_config.Pin = GPIO_PIN_11;
|
||||
gpio_config.Mode = GPIO_MODE_EXTI_IT_FALLING;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_init(GPIOB, &gpio_config);
|
||||
#if 0
|
||||
exti_interrupt_enable(GPIOB,EXTI_LINE_11);
|
||||
exti_clear_LineStatus(GPIOB,EXTI_LINE_11);
|
||||
NVIC_EnableIRQ(GPIOB_IRQn);
|
||||
#endif
|
||||
#else
|
||||
#error "choose correct board"
|
||||
#endif
|
||||
|
||||
/* I2C Init */
|
||||
#if BOARD_SEL == BOARD_EVB_FR5090
|
||||
__SYSTEM_I2C3_CLK_ENABLE();
|
||||
i2c_touchpad_handle.I2Cx = I2C3;
|
||||
i2c_touchpad_handle.Init.I2C_Mode = I2C_MODE_MASTER_7BIT;
|
||||
i2c_touchpad_handle.Init.SCL_HCNT = 220;
|
||||
i2c_touchpad_handle.Init.SCL_LCNT = 230;
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E
|
||||
__SYSTEM_I2C2_CLK_ENABLE();
|
||||
i2c_touchpad_handle.I2Cx = I2C2;
|
||||
i2c_touchpad_handle.Init.I2C_Mode = I2C_MODE_MASTER_7BIT;
|
||||
i2c_touchpad_handle.Init.SCL_HCNT = 220;
|
||||
i2c_touchpad_handle.Init.SCL_LCNT = 230;
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_CM
|
||||
__SYSTEM_I2C3_CLK_ENABLE();
|
||||
i2c_touchpad_handle.I2Cx = I2C3;
|
||||
i2c_touchpad_handle.Init.I2C_Mode = I2C_MODE_MASTER_7BIT;
|
||||
i2c_touchpad_handle.Init.SCL_HCNT = 90;
|
||||
i2c_touchpad_handle.Init.SCL_LCNT = 90;
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_RGB
|
||||
__SYSTEM_I2C2_CLK_ENABLE();
|
||||
i2c_touchpad_handle.I2Cx = I2C2;
|
||||
i2c_touchpad_handle.Init.I2C_Mode = I2C_MODE_MASTER_7BIT;
|
||||
i2c_touchpad_handle.Init.SCL_HCNT = 420;
|
||||
i2c_touchpad_handle.Init.SCL_LCNT = 430;
|
||||
#else
|
||||
|
||||
#error "choose correct board"
|
||||
#endif
|
||||
__TOUCHPAD_RESET_SET();
|
||||
touchpad_init();
|
||||
i2c_init(&i2c_touchpad_handle);
|
||||
}
|
||||
else {
|
||||
__SYSTEM_GPIOC_CLK_ENABLE();
|
||||
#if BOARD_SEL == BOARD_EVB_FR3092E
|
||||
__SYSTEM_I2C2_CLK_ENABLE();
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_RGB
|
||||
__SYSTEM_I2C1_CLK_ENABLE();
|
||||
__SYSTEM_GPIOB_CLK_ENABLE();
|
||||
#else
|
||||
__SYSTEM_I2C3_CLK_ENABLE();
|
||||
#endif
|
||||
i2c_init(&i2c_touchpad_handle);
|
||||
}
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_psram_init(bool wake_up)
|
||||
{
|
||||
uint32_t reg_value;
|
||||
|
||||
__SYSTEM_OSPI_CLK_SELECT_AUPLL();
|
||||
__SYSTEM_OSPI_CLK_ENABLE();
|
||||
__SYSTEM_AHBC_CLK_ENABLE();
|
||||
__CACHE_FLUSH(CACHE);
|
||||
__CACHE_WR_MODE_SET(CACHE, CACHE_WR_WRITE_THROUGH);
|
||||
__CACHE_ADDR_RANGEx_BANK_SET(CACHE, 0, 0 >> 16);
|
||||
__CACHE_ADDR_RANGEx_MASK_SET(CACHE, 0, 0x001F);
|
||||
__CACHE_ADDR_RANGEx_POL_SET(CACHE, 0, CACHE_POL_CACHABLE);
|
||||
__CACHE_ADDR_RANGEx_ENABLE(CACHE, 0);
|
||||
__CACHE_ENABLE(CACHE);
|
||||
|
||||
if (wake_up == false) {
|
||||
/* setup PSRAM OSPI RESET pin */
|
||||
SYSTEM->OspiPadConfig.OSPI_FuncMux |= 0x00300000;
|
||||
SYSTEM->OspiOutEN &= (~(1<<10));
|
||||
SYSTEM->OspiData |= (1<<10);
|
||||
system_delay_us(200); // tPU > 150us
|
||||
SYSTEM->OspiData &= (~(1<<10));
|
||||
system_delay_us(10); // tRP > 1us
|
||||
SYSTEM->OspiData |= (1<<10);
|
||||
system_delay_us(600); // tDPDp > 500us
|
||||
system_delay_us(300); // tHSPU > 1ms, from power up to fully access
|
||||
}
|
||||
|
||||
/* configure OSPI pad to OSPI 4-line mode function */
|
||||
reg_value = SYSTEM->OspiPadConfig.OSPI_FuncMux;
|
||||
reg_value &= 0xfcf00ffc;
|
||||
reg_value |= 0x01055001;
|
||||
SYSTEM->OspiPadConfig.OSPI_FuncMux = reg_value;
|
||||
|
||||
psram_init(wake_up == false);
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_external_flash_init(bool wake_up)
|
||||
{
|
||||
if (wake_up == false) {
|
||||
GPIO_InitTypeDef gpio_config;
|
||||
|
||||
/* ========================================================== */
|
||||
/* ========= External Flash interface configuration ======== */
|
||||
/* ========================================================== */
|
||||
/* config GPIO for external flash */
|
||||
gpio_config.Pin = GPIO_PIN_8 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13;
|
||||
gpio_config.Mode = GPIO_MODE_AF_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_7;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
|
||||
/* CS of external flash is controllerd by software */
|
||||
__SYSTEM_GPIOC_CLK_ENABLE();
|
||||
gpio_config.Pin = GPIO_PIN_9;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Pull = GPIO_PULLUP;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
gpio_init(GPIOC, &gpio_config);
|
||||
|
||||
/* config DMA0 for external flash */
|
||||
__SYSTEM_DMA0_CLK_ENABLE();
|
||||
dma_flash_handle.DMAx = DMA0;
|
||||
dma_flash_handle.Channel = DMA_Channel0;
|
||||
dma_flash_handle.Init.Data_Flow = DMA_P2M_DMAC;
|
||||
dma_flash_handle.Init.Request_ID = 2;
|
||||
system_dmac_request_id_config(SPIMX8_1_RX, DMA0_REQUEST_ID_2);
|
||||
dma_flash_handle.Init.Source_Master_Sel = DMA_AHB_MASTER_1;
|
||||
dma_flash_handle.Init.Desination_Master_Sel = DMA_AHB_MASTER_4;
|
||||
dma_flash_handle.Init.Source_Inc = DMA_ADDR_INC_NO_CHANGE;
|
||||
dma_flash_handle.Init.Desination_Inc = DMA_ADDR_INC_INC;
|
||||
dma_flash_handle.Init.Source_Width = DMA_TRANSFER_WIDTH_32;
|
||||
dma_flash_handle.Init.Desination_Width = DMA_TRANSFER_WIDTH_32;
|
||||
dma_flash_handle.Init.Source_Burst_Len = DMA_BURST_LEN_4;
|
||||
dma_flash_handle.Init.Desination_Burst_Len = DMA_BURST_LEN_4;
|
||||
dma_init(&dma_flash_handle);
|
||||
|
||||
/* Initial SPIx8_1 for extern flash */
|
||||
__SYSTEM_SPI_MASTER1_X8_CLK_ENABLE();
|
||||
spi_flash_handle.SPIx = SPIMX8_1;
|
||||
spi_flash_handle.Init.Work_Mode = SPI_WORK_MODE_3;
|
||||
spi_flash_handle.Init.Frame_Size = SPI_FRAME_SIZE_8BIT;
|
||||
spi_flash_handle.Init.BaudRate_Prescaler = 2;
|
||||
spi_flash_handle.Init.TxFIFOEmpty_Threshold = 20;
|
||||
spi_flash_handle.Init.RxFIFOFull_Threshold = 4;
|
||||
spi_master_init(&spi_flash_handle);
|
||||
__SPI_RX_SAMPLE_DLY(spi_flash_handle.SPIx, 2);
|
||||
__SPI_CS_Release();
|
||||
|
||||
IC_W25Qxx_QuadConfig(true);
|
||||
|
||||
NVIC_EnableIRQ(DMA0_IRQn);
|
||||
NVIC_EnableIRQ(SPIMX8_1_IRQn);
|
||||
}
|
||||
else {
|
||||
__SYSTEM_GPIOC_CLK_ENABLE();
|
||||
|
||||
__SYSTEM_DMA0_CLK_ENABLE();
|
||||
system_dmac_request_id_config(SPIMX8_1_RX, DMA0_REQUEST_ID_2);
|
||||
dma_init(&dma_flash_handle);
|
||||
|
||||
__SYSTEM_SPI_MASTER1_X8_CLK_ENABLE();
|
||||
spi_master_init(&spi_flash_handle);
|
||||
__SPI_RX_SAMPLE_DLY(spi_flash_handle.SPIx, 2);
|
||||
|
||||
NVIC_EnableIRQ(DMA0_IRQn);
|
||||
NVIC_EnableIRQ(SPIMX8_1_IRQn);
|
||||
}
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_dsp_xip_flash_init(bool wake_up)
|
||||
{
|
||||
uint32_t reg_value;
|
||||
|
||||
/* init QSPI1 for DSP XIP flash */
|
||||
__SYSTEM_QSPI1_CLK_SELECT_AUPLL();
|
||||
__SYSTEM_QSPI1_CLK_ENABLE();
|
||||
/* configure OSPI pad to DSP XIP flash function */
|
||||
reg_value = SYSTEM->OspiPadConfig.OSPI_FuncMux;
|
||||
reg_value &= 0xc3fff033;
|
||||
reg_value |= 0x14000544;
|
||||
SYSTEM->OspiPadConfig.OSPI_FuncMux = reg_value;
|
||||
|
||||
/* power on DSP flash */
|
||||
ool_write(0xfc, ool_read(0xfc) | 0x01);
|
||||
|
||||
/* configure DSP XIP controller */
|
||||
flash_enable_quad(QSPI1);
|
||||
flash_init_controller(QSPI1, FLASH_RD_TYPE_QUAD_FAST, FLASH_WR_TYPE_SINGLE);
|
||||
flash_set_baudrate(QSPI1, QSPI_BAUDRATE_DIV_4);
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_dsp_restore(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
__RAM_CODE __attribute__((noinline)) static void rise_qspi_clock(void)
|
||||
{
|
||||
__SYSTEM_QSPI0_CLK_SELECT_AUPLL();
|
||||
__QSPI_DELAY_CS_START_SET(QSPI0, 4);
|
||||
__QSPI_DELAY_CS_END_SET(QSPI0, 4);
|
||||
__QSPI_DELAY_CS_DESSERT_SET(QSPI0, 8);
|
||||
__QSPI_READ_CAPTURE_DELAY_SET(QSPI0, 3); // FLASH_ID_PUYA_P25Q32: 4 when div is 2
|
||||
// FLASH_ID_XMC_XM25LU32: 3 when div is 2
|
||||
// FLASH_ID_GIANTEC_GT25Q16A: 1 when div is 4
|
||||
// FLASH_ID_GIANTEC_GT25Q16A: 4 when div is 2
|
||||
system_delay_us(1000);
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_xip_flash_init(bool wake_up)
|
||||
{
|
||||
// init internal flash
|
||||
__SYSTEM_PFC_CLK_ENABLE();
|
||||
__SYSTEM_QSPI0_CLK_ENABLE();
|
||||
__SYSTEM_APB_CLK_ENABLE();
|
||||
__SYSTEM_APB1_CLK_ENABLE();
|
||||
system_cache_enable(true);
|
||||
flash_enable_quad(QSPI0);
|
||||
SYSTEM->QspiPadConfig.QSPI_FuncMux = 0x00000500;
|
||||
flash_init_controller(QSPI0, FLASH_RD_TYPE_QUAD_FAST, FLASH_WR_TYPE_SINGLE);
|
||||
if (wake_up == false) {
|
||||
flash_set_IO_DRV(QSPI0, 3);
|
||||
}
|
||||
flash_set_baudrate(QSPI0, QSPI_BAUDRATE_DIV_2);
|
||||
rise_qspi_clock();
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_gpio_save(void)
|
||||
{
|
||||
gpio_state.PortA_PullEN = SYSTEM->PortA_PullEN;
|
||||
gpio_state.PortB_PullEN = SYSTEM->PortB_PullEN;
|
||||
gpio_state.PortC_PullEN = SYSTEM->PortC_PullEN;
|
||||
gpio_state.PortD_PullEN = SYSTEM->PortD_PullEN;
|
||||
|
||||
gpio_state.PortA_PullSelect = SYSTEM->PortA_PullSelect;
|
||||
gpio_state.PortB_PullSelect = SYSTEM->PortB_PullSelect;
|
||||
gpio_state.PortC_PullSelect = SYSTEM->PortC_PullSelect;
|
||||
gpio_state.PortD_PullSelect = SYSTEM->PortD_PullSelect;
|
||||
|
||||
gpio_state.PortA_PullResCfg = SYSTEM->PortA_PullResCfg;
|
||||
gpio_state.PortB_PullResCfg = SYSTEM->PortB_PullResCfg;
|
||||
gpio_state.PortC_PullResCfg = SYSTEM->PortC_PullResCfg;
|
||||
gpio_state.PortD_PullResCfg = SYSTEM->PortD_PullResCfg;
|
||||
|
||||
gpio_state.PortA_DriveCfg = SYSTEM->PortA_DriveCfg;
|
||||
gpio_state.PortB_DriveCfg = SYSTEM->PortB_DriveCfg;
|
||||
gpio_state.PortC_DriveCfg = SYSTEM->PortC_DriveCfg;
|
||||
gpio_state.PortD_DriveCfg = SYSTEM->PortD_DriveCfg;
|
||||
|
||||
gpio_state.PortA_L_FuncMux = SYSTEM->PortA_L_FuncMux;
|
||||
gpio_state.PortA_H_FuncMux = SYSTEM->PortA_H_FuncMux;
|
||||
gpio_state.PortB_L_FuncMux = SYSTEM->PortB_L_FuncMux;
|
||||
gpio_state.PortB_H_FuncMux = SYSTEM->PortB_H_FuncMux;
|
||||
gpio_state.PortC_L_FuncMux = SYSTEM->PortC_L_FuncMux;
|
||||
gpio_state.PortC_H_FuncMux = SYSTEM->PortC_H_FuncMux;
|
||||
gpio_state.PortD_L_FuncMux = SYSTEM->PortD_L_FuncMux;
|
||||
gpio_state.PortD_H_FuncMux = SYSTEM->PortD_H_FuncMux;
|
||||
|
||||
gpio_state.QSPI_PullSelect = SYSTEM->QspiPadConfig.QSPI_PullSelect;
|
||||
gpio_state.QSPI_PullEN = SYSTEM->QspiPadConfig.QSPI_PullEN;
|
||||
gpio_state.OSPI_PullSelect = SYSTEM->OspiPadConfig.OSPI_PullSelect;
|
||||
gpio_state.OSPI_PullEN = SYSTEM->OspiPadConfig.OSPI_PullEN;
|
||||
|
||||
__SYSTEM_GPIOA_CLK_ENABLE();
|
||||
__SYSTEM_GPIOB_CLK_ENABLE();
|
||||
__SYSTEM_GPIOC_CLK_ENABLE();
|
||||
__SYSTEM_GPIOD_CLK_ENABLE();
|
||||
|
||||
gpio_state.GPIOA_OutputEN = GPIOA->GPIO_OutputEN;
|
||||
gpio_state.GPIOA_OUT_DATA = GPIOA->GPIO_OUT_DATA;
|
||||
gpio_state.GPIOA_EXTI_EN = GPIOA->EXTI_EN;
|
||||
gpio_state.GPIOA_EXTI_INT_EN= GPIOA->EXTI_INT_EN;
|
||||
gpio_state.GPIOA_EXTI_TYPE = GPIOA->EXTI_TYPE;
|
||||
gpio_state.GPIOB_OutputEN = GPIOB->GPIO_OutputEN;
|
||||
gpio_state.GPIOB_OUT_DATA = GPIOB->GPIO_OUT_DATA;
|
||||
gpio_state.GPIOB_EXTI_EN = GPIOB->EXTI_EN;
|
||||
gpio_state.GPIOB_EXTI_INT_EN= GPIOB->EXTI_INT_EN;
|
||||
gpio_state.GPIOB_EXTI_TYPE = GPIOB->EXTI_TYPE;
|
||||
gpio_state.GPIOC_OutputEN = GPIOC->GPIO_OutputEN;
|
||||
gpio_state.GPIOC_OUT_DATA = GPIOC->GPIO_OUT_DATA;
|
||||
gpio_state.GPIOC_EXTI_EN = GPIOC->EXTI_EN;
|
||||
gpio_state.GPIOC_EXTI_INT_EN= GPIOC->EXTI_INT_EN;
|
||||
gpio_state.GPIOC_EXTI_TYPE = GPIOC->EXTI_TYPE;
|
||||
gpio_state.GPIOD_OutputEN = GPIOD->GPIO_OutputEN;
|
||||
gpio_state.GPIOD_OUT_DATA = GPIOD->GPIO_OUT_DATA;
|
||||
gpio_state.GPIOD_EXTI_EN = GPIOD->EXTI_EN;
|
||||
gpio_state.GPIOD_EXTI_INT_EN= GPIOD->EXTI_INT_EN;
|
||||
gpio_state.GPIOD_EXTI_TYPE = GPIOD->EXTI_TYPE;
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_gpio_restore(void)
|
||||
{
|
||||
SYSTEM->PortA_PullEN = gpio_state.PortA_PullEN;
|
||||
SYSTEM->PortB_PullEN = gpio_state.PortB_PullEN;
|
||||
SYSTEM->PortC_PullEN = gpio_state.PortC_PullEN;
|
||||
SYSTEM->PortD_PullEN = gpio_state.PortD_PullEN;
|
||||
|
||||
SYSTEM->PortA_PullSelect = gpio_state.PortA_PullSelect;
|
||||
SYSTEM->PortB_PullSelect = gpio_state.PortB_PullSelect;
|
||||
SYSTEM->PortC_PullSelect = gpio_state.PortC_PullSelect;
|
||||
SYSTEM->PortD_PullSelect = gpio_state.PortD_PullSelect;
|
||||
|
||||
SYSTEM->PortA_PullResCfg = gpio_state.PortA_PullResCfg;
|
||||
SYSTEM->PortB_PullResCfg = gpio_state.PortB_PullResCfg;
|
||||
SYSTEM->PortC_PullResCfg = gpio_state.PortC_PullResCfg;
|
||||
SYSTEM->PortD_PullResCfg = gpio_state.PortD_PullResCfg;
|
||||
|
||||
SYSTEM->PortA_DriveCfg = gpio_state.PortA_DriveCfg;
|
||||
SYSTEM->PortB_DriveCfg = gpio_state.PortB_DriveCfg;
|
||||
SYSTEM->PortC_DriveCfg = gpio_state.PortC_DriveCfg;
|
||||
SYSTEM->PortD_DriveCfg = gpio_state.PortD_DriveCfg;
|
||||
|
||||
SYSTEM->PortA_L_FuncMux = gpio_state.PortA_L_FuncMux;
|
||||
SYSTEM->PortA_H_FuncMux = gpio_state.PortA_H_FuncMux;
|
||||
SYSTEM->PortB_L_FuncMux = gpio_state.PortB_L_FuncMux;
|
||||
SYSTEM->PortB_H_FuncMux = gpio_state.PortB_H_FuncMux;
|
||||
SYSTEM->PortC_L_FuncMux = gpio_state.PortC_L_FuncMux;
|
||||
SYSTEM->PortC_H_FuncMux = gpio_state.PortC_H_FuncMux;
|
||||
SYSTEM->PortD_L_FuncMux = gpio_state.PortD_L_FuncMux;
|
||||
SYSTEM->PortD_H_FuncMux = gpio_state.PortD_H_FuncMux;
|
||||
|
||||
SYSTEM->QspiPadConfig.QSPI_PullSelect = gpio_state.QSPI_PullSelect;
|
||||
SYSTEM->QspiPadConfig.QSPI_PullEN = gpio_state.QSPI_PullEN;
|
||||
SYSTEM->OspiPadConfig.OSPI_PullSelect = gpio_state.OSPI_PullSelect;
|
||||
SYSTEM->OspiPadConfig.OSPI_PullEN = gpio_state.OSPI_PullEN;
|
||||
|
||||
__SYSTEM_GPIOA_CLK_ENABLE();
|
||||
__SYSTEM_GPIOB_CLK_ENABLE();
|
||||
__SYSTEM_GPIOC_CLK_ENABLE();
|
||||
__SYSTEM_GPIOD_CLK_ENABLE();
|
||||
|
||||
GPIOA->GPIO_OutputEN = gpio_state.GPIOA_OutputEN;
|
||||
GPIOA->GPIO_OUT_DATA = gpio_state.GPIOA_OUT_DATA;
|
||||
GPIOA->EXTI_EN = gpio_state.GPIOA_EXTI_EN;
|
||||
GPIOA->EXTI_INT_EN = gpio_state.GPIOA_EXTI_INT_EN;
|
||||
GPIOA->EXTI_TYPE = gpio_state.GPIOA_EXTI_TYPE;
|
||||
GPIOB->GPIO_OutputEN = gpio_state.GPIOB_OutputEN;
|
||||
GPIOB->GPIO_OUT_DATA = gpio_state.GPIOB_OUT_DATA;
|
||||
GPIOB->EXTI_EN = gpio_state.GPIOB_EXTI_EN;
|
||||
GPIOB->EXTI_INT_EN = gpio_state.GPIOB_EXTI_INT_EN;
|
||||
GPIOB->EXTI_TYPE = gpio_state.GPIOB_EXTI_TYPE;
|
||||
GPIOC->GPIO_OutputEN = gpio_state.GPIOC_OutputEN;
|
||||
GPIOC->GPIO_OUT_DATA = gpio_state.GPIOC_OUT_DATA;
|
||||
GPIOC->EXTI_EN = gpio_state.GPIOC_EXTI_EN;
|
||||
GPIOC->EXTI_INT_EN = gpio_state.GPIOC_EXTI_INT_EN;
|
||||
GPIOC->EXTI_TYPE = gpio_state.GPIOC_EXTI_TYPE;
|
||||
GPIOD->GPIO_OutputEN = gpio_state.GPIOD_OutputEN;
|
||||
GPIOD->GPIO_OUT_DATA = gpio_state.GPIOD_OUT_DATA;
|
||||
GPIOD->EXTI_EN = gpio_state.GPIOD_EXTI_EN;
|
||||
GPIOD->EXTI_INT_EN = gpio_state.GPIOD_EXTI_INT_EN;
|
||||
GPIOD->EXTI_TYPE = gpio_state.GPIOD_EXTI_TYPE;
|
||||
}
|
||||
|
||||
__RAM_CODE void hw_clock_init(void)
|
||||
{
|
||||
System_ClkConfig_t sys_clk_cfg;
|
||||
|
||||
sys_clk_cfg.AUPLL_CFG.PLL_N = 8;
|
||||
sys_clk_cfg.AUPLL_CFG.PLL_M = 0;
|
||||
sys_clk_cfg.AUPLL_CFG.PowerEn = 1;
|
||||
sys_clk_cfg.SPLL_CFG.PLL_N = 8;
|
||||
sys_clk_cfg.SPLL_CFG.PLL_M = 0;
|
||||
sys_clk_cfg.SPLL_CFG.PowerEn = 1;
|
||||
sys_clk_cfg.MCU_Clock_Source = MCU_CLK_SEL_SPLL_CLK;
|
||||
sys_clk_cfg.SOC_DIV = 1;
|
||||
sys_clk_cfg.MCU_DIV = 1;
|
||||
sys_clk_cfg.APB0_DIV = 1;
|
||||
sys_clk_cfg.APB1_DIV = 1;
|
||||
sys_clk_cfg.APB2_DIV = 1;
|
||||
sys_clk_cfg.APB3_DIV = 1;
|
||||
System_AUPLL_config(&sys_clk_cfg.AUPLL_CFG, 1000);
|
||||
System_SPLL_config(&sys_clk_cfg.SPLL_CFG, 1000);
|
||||
System_MCU_clock_Config(&sys_clk_cfg);
|
||||
|
||||
__SYSTEM_SPI_MASTER0_X8_CLK_SELECT_AUPLL();
|
||||
__SYSTEM_SPI_MASTER1_X8_CLK_SELECT_AUPLL();
|
||||
__SYSTEM_I2C_CLK_SELECT_SPLL();
|
||||
__SYSTEM_BLEND_CLK_SELECT_SPLL();
|
||||
__SYSTEM_UART_CLK_SELECT_SPLL();
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
#ifndef __APP_HW_H__
|
||||
#define __APP_HW_H__
|
||||
|
||||
#include "fr30xx.h"
|
||||
|
||||
extern UART_HandleTypeDef uart_log_handle;
|
||||
extern DMA_HandleTypeDef dma_display_handle;
|
||||
extern SPI_HandleTypeDef spi_display_handle;
|
||||
extern I2C_HandleTypeDef i2c_touchpad_handle;
|
||||
extern SPI_HandleTypeDef spi_flash_handle;
|
||||
extern DMA_HandleTypeDef dma_flash_handle;
|
||||
|
||||
void hw_log_init(bool wake_up);
|
||||
void hw_display_init(bool wake_up);
|
||||
void hw_touchpad_init(bool wake_up);
|
||||
void hw_psram_init(bool wake_up);
|
||||
void hw_external_flash_init(bool wake_up);
|
||||
void hw_xip_flash_init(bool wake_up);
|
||||
void hw_dsp_xip_flash_init(bool wake_up);
|
||||
|
||||
void hw_clock_init(void);
|
||||
|
||||
void hw_gpio_save(void);
|
||||
void hw_gpio_restore(void);
|
||||
|
||||
void hw_dsp_restore(void);
|
||||
|
||||
#endif // __APP_HW_H__
|
|
@ -1,38 +0,0 @@
|
|||
#include <stdio.h>
|
||||
#include "co_log.h"
|
||||
#include <stdarg.h>
|
||||
#include "FreeRTOS.h"
|
||||
#include "semphr.h"
|
||||
|
||||
|
||||
static SemaphoreHandle_t printMutex;
|
||||
|
||||
void init_printf_mutex(void)
|
||||
{
|
||||
|
||||
printMutex = xSemaphoreCreateMutex();
|
||||
if (printMutex == NULL) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//线程安全打印接口
|
||||
void thread_safe_printf(const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
if(xPortIsInsideInterrupt()) {
|
||||
if (xSemaphoreTakeFromISR(printMutex, NULL)) {
|
||||
vprintf(format, args);
|
||||
xSemaphoreGiveFromISR(printMutex, NULL);
|
||||
}
|
||||
}else
|
||||
{
|
||||
if (xSemaphoreTake(printMutex, portMAX_DELAY)) {
|
||||
vprintf(format, args);
|
||||
xSemaphoreGive(printMutex);
|
||||
}
|
||||
}
|
||||
va_end(args);
|
||||
}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
#ifndef _APP_LOG_H
|
||||
#define _APP_LOG_H
|
||||
|
||||
void init_printf_mutex(void);
|
||||
void thread_safe_printf(const char *format, ...) ;
|
||||
|
||||
#define app_printf thread_safe_printf
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,67 +0,0 @@
|
|||
#ifndef _APP_LVGL_H
|
||||
#define _APP_LVGL_H
|
||||
|
||||
#include "stdint.h"
|
||||
#include "stdbool.h"
|
||||
|
||||
/* Maximal horizontal and vertical resolution to support by the library.*/
|
||||
#define LV_HOR_RES_MAX (480)
|
||||
#define LV_VER_RES_MAX (480)
|
||||
//#define DISPLAY_TYPE_GC9C01
|
||||
//#define DISPLAY_TYPE_JD9854
|
||||
//#define DISPLAY_TYPE_SH8601A
|
||||
//#define DISPLAY_TYPE_ICNA3310
|
||||
//#define DISPLAY_TYPE_SH8601Z
|
||||
//#define DISPLAY_TYPE_NV3047_RGB //272x480 rgb
|
||||
#define DISPLAY_TYPE_ST7701_RGB //480x480 rgb
|
||||
//#define DISPLAY_TYPE_NV3041A //272x480 8080
|
||||
typedef struct
|
||||
{
|
||||
uint16_t msg_type;
|
||||
uint16_t param_len;
|
||||
uint8_t param[32 - 4];
|
||||
|
||||
}gui_task_msg_t;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
BUTTON_KEY_EVT = 0,
|
||||
ENCODE_KEY_EVT,
|
||||
BUTTON_KEY1_EVT,
|
||||
BUTTON_KEY2_EVT,
|
||||
MESSAGE_IN_EVT,
|
||||
PHONE_CALL_IN_EVT,
|
||||
PHONE_CALL_OK_EVT,
|
||||
PHONE_CALL_REJECT_EVT,
|
||||
MUSIC_CONTROL_EVT,
|
||||
POWER_CHARGE_IN_EVT,
|
||||
POWER_CHARGE_OUT_EVT,
|
||||
SCREENSAVER_IN_EVT,
|
||||
|
||||
}user_msg_type_t;
|
||||
|
||||
|
||||
typedef void (*ipc_tx_callback)(uint8_t chn);
|
||||
|
||||
void app_lvgl_init(void);
|
||||
|
||||
void lv_disp_draw_buf_sw(bool sw);
|
||||
|
||||
int gui_task_msg_send(uint16_t msg_type,
|
||||
void *header,
|
||||
uint16_t header_length,
|
||||
uint8_t *payload,
|
||||
uint16_t payload_length,
|
||||
ipc_tx_callback callback);
|
||||
|
||||
void gui_task_queue_callback(gui_task_msg_t * event);
|
||||
|
||||
bool gui_task_suspend_state(void);
|
||||
|
||||
void gui_task_suspend(void);
|
||||
|
||||
bool gui_task_resume(void);
|
||||
|
||||
void * gui_task_handle_is_active(void);
|
||||
|
||||
#endif // _APP_LVGL_H
|
|
@ -1,143 +0,0 @@
|
|||
#include "fr30xx.h"
|
||||
|
||||
/* FreeRTOS kernel includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
|
||||
#include "rpmsg.h"
|
||||
#include "rpmsg_lite.h"
|
||||
#include "rpmsg_queue.h"
|
||||
#include "rpmsg_ns.h"
|
||||
|
||||
#include "dsp.h"
|
||||
|
||||
#include "app_config.h"
|
||||
#include "app_task.h"
|
||||
#include "app_rpmsg.h"
|
||||
|
||||
/* Remote rpmsg instance */
|
||||
static struct rpmsg_lite_instance *remote_rpmsg;
|
||||
static TaskHandle_t rpmsg_task_handle;
|
||||
|
||||
static void rpmsg_recv(struct rpmsg_lite_instance *rpmsg, struct rpmsg_msg_t *msg)
|
||||
{
|
||||
// printf("rpmsg_recv: msg_type = %d.\r\n", msg->msg_type);
|
||||
|
||||
switch (msg->msg_type) {
|
||||
case RPMSG_MSG_TYPE_SYNC_INVOKE:
|
||||
if (msg->p.sync_func.func_id == RPMSG_SYNC_FUNC_SUM) {
|
||||
uint32_t address = (uint32_t)msg->p.sync_func.param;
|
||||
struct rpmsg_sync_msg_sum_t *param = msg->p.sync_func.param;
|
||||
if (address >= DSP_DRAM_BASE_ADDR) {
|
||||
address = DSP_DRAM_2_MCU_SRAM(address);
|
||||
}
|
||||
param = (void *)address;
|
||||
rpmsg_send_sync_ret(rpmsg, 0, param->x + param->y);
|
||||
}
|
||||
else {
|
||||
rpmsg_send_sync_ret(rpmsg, 0xffffffff, 0);
|
||||
}
|
||||
break;
|
||||
case RPMSG_MSG_TYPE_ASYNC_MSG:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void rpmsg_task(void *arg)
|
||||
{
|
||||
struct app_task_event *event;
|
||||
struct rpmsg_msg_t *msg;
|
||||
uint32_t msg_len;
|
||||
uint32_t src_addr;
|
||||
uint32_t length;
|
||||
|
||||
dsp_prepare();
|
||||
|
||||
#if DSP_CODE_LOAD_MODE == DSP_CODE_LOAD_MODE_SDCARD
|
||||
if (dsp_load_code_from_fs("4:\\dsp\\demos.bin") == false) {
|
||||
#elif DSP_CODE_LOAD_MODE == DSP_CODE_LOAD_MODE_XIP_RO
|
||||
#if DSP_ROM_CODE_XIP == 1
|
||||
extern uint8_t DSP_CODE_FLASH_BASE, DSP_CODE_FLASH_END;
|
||||
src_addr = (uint32_t)&DSP_CODE_FLASH_BASE;
|
||||
length = (uint32_t)&DSP_CODE_FLASH_END - (uint32_t)&DSP_CODE_FLASH_BASE;
|
||||
#else
|
||||
extern uint8_t DSP_CODE_ROM_BASE, DSP_CODE_ROM_END;
|
||||
src_addr = (uint32_t)&DSP_CODE_ROM_BASE;
|
||||
length = (uint32_t)&DSP_CODE_ROM_END - (uint32_t)&DSP_CODE_ROM_BASE;
|
||||
#endif
|
||||
if (dsp_load_code_from_internal_flash(src_addr, length) == false) {
|
||||
#elif DSP_CODE_LOAD_MODE == DSP_CODE_LOAD_MODE_FIX_ADDRESS
|
||||
src_addr = (uint32_t)((DSP_CODE_FIX_ADDRESS + 0x10) | FLASH_DAC_BASE);
|
||||
length = *(volatile uint32_t *)((DSP_CODE_FIX_ADDRESS + 0x08) | FLASH_DAC_BASE);
|
||||
if (dsp_load_code_from_internal_flash(src_addr, length) == false) {
|
||||
#else
|
||||
#error "choose correct DSP code load mode"
|
||||
{
|
||||
#endif
|
||||
printf("DSP image load failed.\r\n");
|
||||
while(1);
|
||||
}
|
||||
|
||||
printf("DSP is released.\r\n");
|
||||
#if DSP_ROM_CODE_XIP == 0
|
||||
__SYSTEM_LIBRARY_ROM_CLK_ENABLE();
|
||||
#endif
|
||||
remote_rpmsg = rpmsg_remote_init(rpmsg_recv);
|
||||
dsp_run(0x78400660);
|
||||
system_prevent_sleep_set(SYSTEM_PREVENT_SLEEP_TYPE_DSP);
|
||||
rpmsg_wait_master_ready(remote_rpmsg);
|
||||
system_prevent_sleep_clear(SYSTEM_PREVENT_SLEEP_TYPE_DSP);
|
||||
|
||||
printf("DSP is ready.\r\n");
|
||||
|
||||
/* notice APP that rpmsg is ready. */
|
||||
event = app_task_event_alloc(APP_TASK_EVENT_RPMSG_INITED, 0, true);
|
||||
app_task_event_post(event, false);
|
||||
|
||||
while (1) {
|
||||
src_addr = rpmsg_recv_msg(remote_rpmsg, &msg, &msg_len);
|
||||
rpmsg_recv(remote_rpmsg, msg);
|
||||
rpmsg_lite_release_rx_buffer(remote_rpmsg, msg);
|
||||
}
|
||||
}
|
||||
|
||||
void app_rpmsg_init(void)
|
||||
{
|
||||
/* create rpmsg task. */
|
||||
xTaskCreate(rpmsg_task, "RPMSG_TASK", RPMSG_TASK_STACK_SIZE, NULL, RPMSG_TASK_PRIORITY, &rpmsg_task_handle);
|
||||
}
|
||||
|
||||
void app_rpmsg_recover(void)
|
||||
{
|
||||
dsp_prepare();
|
||||
|
||||
uint32_t src_addr;
|
||||
uint32_t length;
|
||||
#if DSP_CODE_LOAD_MODE == DSP_CODE_LOAD_MODE_XIP_RO
|
||||
#if DSP_ROM_CODE_XIP == 1
|
||||
extern uint8_t DSP_CODE_FLASH_BASE, DSP_CODE_FLASH_END;
|
||||
src_addr = (uint32_t)&DSP_CODE_FLASH_BASE;
|
||||
length = (uint32_t)&DSP_CODE_FLASH_END - (uint32_t)&DSP_CODE_FLASH_BASE;
|
||||
#else
|
||||
extern uint8_t DSP_CODE_ROM_BASE, DSP_CODE_ROM_END;
|
||||
src_addr = (uint32_t)&DSP_CODE_ROM_BASE;
|
||||
length = (uint32_t)&DSP_CODE_ROM_END - (uint32_t)&DSP_CODE_ROM_BASE;
|
||||
#endif
|
||||
dsp_load_rw_from_internal_flash(src_addr, length);
|
||||
#elif DSP_CODE_LOAD_MODE == DSP_CODE_LOAD_MODE_FIX_ADDRESS
|
||||
src_addr = (uint32_t)((DSP_CODE_FIX_ADDRESS + 0x10) | FLASH_DAC_BASE);
|
||||
length = *(volatile uint32_t *)((DSP_CODE_FIX_ADDRESS + 0x08) | FLASH_DAC_BASE);
|
||||
dsp_load_rw_from_internal_flash(src_addr, length);
|
||||
#else
|
||||
#error "choose correct DSP code load mode"
|
||||
#endif
|
||||
|
||||
#if DSP_ROM_CODE_XIP == 0
|
||||
__SYSTEM_LIBRARY_ROM_CLK_ENABLE();
|
||||
#endif
|
||||
dsp_run(0x78400660);
|
||||
|
||||
rpmsg_remote_recover();
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
#ifndef _APP_RPMSG_H
|
||||
#define _APP_RPMSG_H
|
||||
|
||||
void app_rpmsg_init(void);
|
||||
void app_rpmsg_recover(void);
|
||||
|
||||
#endif // _APP_RPMSG_H
|
|
@ -1,178 +0,0 @@
|
|||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
|
||||
#include "app_config.h"
|
||||
#include "app_at.h"
|
||||
#include "app_task.h"
|
||||
#include "app_bt.h"
|
||||
#include "app_ble.h"
|
||||
#include "app_btdm.h"
|
||||
#include "app_lvgl.h"
|
||||
#include "app_rpmsg.h"
|
||||
#include "fr_device_charge.h"
|
||||
#include "fr_device_pmu_io.h"
|
||||
#include "fr_device_button.h"
|
||||
#include "fr_device_pa.h"
|
||||
#include "fr_device_encode.h"
|
||||
#include "fr_device_vbat.h"
|
||||
|
||||
static struct co_list event_list;
|
||||
static TaskHandle_t app_task_handle;
|
||||
void hci_controller_read(void);
|
||||
void hci_host_read(void);
|
||||
|
||||
static void app_task_event_handler(void)
|
||||
{
|
||||
struct app_task_event *event = NULL;
|
||||
|
||||
vTaskSuspendAll();
|
||||
event = (struct app_task_event *)co_list_pop_front(&event_list);
|
||||
xTaskResumeAll();
|
||||
//printf("%s %x\r\n",__func__, (uint32_t)&event);
|
||||
|
||||
if(event) {
|
||||
switch(event->event_type) {
|
||||
case APP_TASK_EVENT_AT_CMD:
|
||||
app_at_cmd_recv_handler(event->param, event->param_len);
|
||||
break;
|
||||
case APP_TASK_EVENT_RPMSG_INITED:
|
||||
#if BTDM_STACK_ENABLE == 1
|
||||
app_btdm_init();
|
||||
break;
|
||||
#endif
|
||||
case APP_TASK_EVENT_HOST_INITED:
|
||||
app_lvgl_init();
|
||||
// break;
|
||||
#if BTDM_STACK_ENABLE == 1
|
||||
case APP_TASK_EVENT_LVGL_INITED:
|
||||
app_btdm_start();
|
||||
#endif
|
||||
break;
|
||||
|
||||
case APP_TASK_EVENT_BTN_TOGGLE:
|
||||
{
|
||||
button_toggle_handler(*(uint32_t *)event->param);
|
||||
}
|
||||
break;
|
||||
|
||||
case APP_TASK_EVENT_BTN_OUTPUT:
|
||||
{
|
||||
button_event_handler(event->param);
|
||||
}
|
||||
break;
|
||||
|
||||
case APP_TASK_EVENT_ENCODE_TOGGLE:
|
||||
{
|
||||
encode_event_handle(*(uint32_t *)event->param);
|
||||
}
|
||||
break;
|
||||
|
||||
case APP_TASK_EVENT_ADC_VBAT_DETECT:
|
||||
{
|
||||
adc_vbat_event_handle();
|
||||
}
|
||||
break;
|
||||
|
||||
case APP_TASK_EVENT_CHARGE_OUTPUT:
|
||||
{
|
||||
charge_event_handle(*(uint8_t *)event->param);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
vPortFree((void *)event);
|
||||
}
|
||||
}
|
||||
|
||||
void app_task_event_post(struct app_task_event *event, bool high)
|
||||
{
|
||||
uint32_t old_basepri;
|
||||
|
||||
if(xPortIsInsideInterrupt()) {
|
||||
old_basepri = taskENTER_CRITICAL_FROM_ISR();
|
||||
if(high) {
|
||||
co_list_push_front(&event_list, &event->hdr);
|
||||
}
|
||||
else {
|
||||
co_list_push_back(&event_list, &event->hdr);
|
||||
}
|
||||
taskEXIT_CRITICAL_FROM_ISR(old_basepri);
|
||||
vTaskNotifyGiveFromISR(app_task_handle, NULL);
|
||||
}
|
||||
else {
|
||||
taskENTER_CRITICAL();
|
||||
if(high) {
|
||||
co_list_push_front(&event_list, &event->hdr);
|
||||
}
|
||||
else {
|
||||
co_list_push_back(&event_list, &event->hdr);
|
||||
}
|
||||
taskEXIT_CRITICAL();
|
||||
xTaskNotifyGive(app_task_handle);
|
||||
}
|
||||
}
|
||||
|
||||
struct app_task_event *app_task_event_alloc(uint8_t event_type, uint32_t param_len, bool block)
|
||||
{
|
||||
struct app_task_event *event = NULL;
|
||||
|
||||
while(event == NULL) {
|
||||
event = pvPortMalloc(sizeof(struct app_task_event) + param_len);
|
||||
if (event == NULL) {
|
||||
if (block) {
|
||||
vTaskDelay(10);
|
||||
}
|
||||
else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
event->event_type = event_type;
|
||||
event->param_len = param_len;
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
static void app_task(void *arg)
|
||||
{
|
||||
struct app_task_event *event;
|
||||
|
||||
printf("app_task\r\n");
|
||||
|
||||
#if ENABLE_DSP == 1
|
||||
app_rpmsg_init();
|
||||
#else
|
||||
event = app_task_event_alloc(APP_TASK_EVENT_RPMSG_INITED, 0, true);
|
||||
app_task_event_post(event, false);
|
||||
#endif
|
||||
device_pa_init();
|
||||
device_charge_init();
|
||||
|
||||
#if BOARD_SEL == BOARD_EVB_FR5090
|
||||
button_init(BUTTON_PIN_NUM|SOS_KEY_PIN_NUM|KEY1_PIN_NUM);
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E
|
||||
button_init(BUTTON_PIN_NUM|SOS_KEY_PIN_NUM);
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_CM
|
||||
button_init(BUTTON_PIN_NUM|SOS_KEY_PIN_NUM|KEY1_PIN_NUM);
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_RGB
|
||||
// button_init(BUTTON_PIN_NUM|SOS_KEY_PIN_NUM);
|
||||
#else
|
||||
#error "choose correct board"
|
||||
#endif
|
||||
|
||||
device_pmu_io_init();
|
||||
|
||||
while(1) {
|
||||
ulTaskNotifyTake(pdFALSE, portMAX_DELAY);
|
||||
app_task_event_handler();
|
||||
}
|
||||
}
|
||||
|
||||
void app_task_init(void)
|
||||
{
|
||||
xTaskCreate(app_task, "app", APP_TASK_STACK_SIZE, NULL, APP_TASK_PRIORITY, &app_task_handle);
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
#ifndef _APP_TASK_H
|
||||
#define _APP_TASK_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "co_list.h"
|
||||
|
||||
#define APP_TASK_EVENT_AT_CMD 0x00
|
||||
#define APP_TASK_EVENT_RPMSG_INITED 0x01
|
||||
#define APP_TASK_EVENT_HOST_INITED 0x02
|
||||
#define APP_TASK_EVENT_LVGL_INITED 0x03
|
||||
#define APP_TASK_EVENT_BTN_OUTPUT 0x04
|
||||
#define APP_TASK_EVENT_BTN_TOGGLE 0x05
|
||||
#define APP_TASK_EVENT_ENCODE_TOGGLE 0x06
|
||||
#define APP_TASK_EVENT_ADC_VBAT_DETECT 0x07
|
||||
#define APP_TASK_EVENT_CHARGE_OUTPUT 0x08
|
||||
|
||||
struct app_task_event {
|
||||
struct co_list_hdr hdr;
|
||||
|
||||
uint8_t event_type;
|
||||
|
||||
uint16_t param_len;
|
||||
uint8_t param[];
|
||||
};
|
||||
|
||||
void app_task_event_post(struct app_task_event *event, bool high);
|
||||
|
||||
struct app_task_event *app_task_event_alloc(uint8_t event_type, uint32_t param_len, bool block);
|
||||
|
||||
void app_task_init(void);
|
||||
|
||||
#endif // _APP_TASK_H
|
|
@ -1,451 +0,0 @@
|
|||
/*-----------------------------------------------------------------------*/
|
||||
/* Low level disk I/O module SKELETON for FatFs (C)ChaN, 2019 */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* If a working storage control module is available, it should be */
|
||||
/* attached to the FatFs via a glue function rather than modifying it. */
|
||||
/* This is an example of glue functions to attach various exsisting */
|
||||
/* storage control modules to the FatFs module with a defined API. */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "fr30xx.h"
|
||||
|
||||
#include "ff.h" /* Obtains integer types */
|
||||
#include "diskio.h" /* Declarations of disk functions */
|
||||
|
||||
/* Definitions of physical drive number for each drive */
|
||||
#define DEV_RAM 0 /* Example: Map Ramdisk to physical drive 0 */
|
||||
#define DEV_MMC 1 /* Example: Map MMC to physical drive 1 */
|
||||
#define DEV_SPI_FLASH 2 /* Example: Map SPI Flash to physical drive 2 */
|
||||
#define DEV_NAND_FLASH 3 /* Example: Map Nand Flash to physical drive 3 */
|
||||
#define DEV_SD_CARD 4 /* Example: Map SD Card to physical drive 4 */
|
||||
|
||||
#define RAM_SECTOR_SIZE 512
|
||||
#define RAM_SECTOR_COUNT (16*48)
|
||||
#define RAM_BLOCK_SIZE 4096
|
||||
#define RAM_DISK_SIZE (RAM_SECTOR_SIZE * RAM_SECTOR_COUNT)
|
||||
|
||||
#define SD_CARD_SECTOR_SIZE 512
|
||||
#define SD_CARD_BLOCK_SIZE 4096
|
||||
|
||||
#define SPI_FLASH_SECTOR_SIZE 512
|
||||
#define SPI_FLASH_BLOCK_SIZE 4096
|
||||
#define SPI_FLASH_SECTOR_COUNT (2*1024*4)
|
||||
|
||||
__ALIGNED(4) static uint8_t ram_disk_space[RAM_DISK_SIZE];
|
||||
static uint8_t spi_flash_poll[4096];
|
||||
extern SD_HandleTypeDef sdio_handle;
|
||||
|
||||
static DSTATUS RAM_disk_status(void)
|
||||
{
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
static DSTATUS MMC_disk_status(void)
|
||||
{
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
static DSTATUS SPI_flash_status(void)
|
||||
{
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
static DSTATUS SD_Card_status(void)
|
||||
{
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
static DSTATUS RAM_disk_initialize(void)
|
||||
{
|
||||
// memset(ram_disk_space, 0, RAM_DISK_SIZE);
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
static DSTATUS MMC_disk_initialize(void)
|
||||
{
|
||||
return RES_ERROR;
|
||||
}
|
||||
|
||||
static DSTATUS SPI_flash_initialize(void)
|
||||
{
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
static DSTATUS SD_Card_initialize(void)
|
||||
{
|
||||
// uint32_t EER;
|
||||
//
|
||||
// EER = SDCard_Init(&SDIO);
|
||||
// if (EER != INT_NO_ERR) {
|
||||
// return RES_ERROR;
|
||||
// }
|
||||
// EER = SDCard_BusWidth_Select(&SDIO, SDIO_BUS_WIDTH_4BIT);
|
||||
// if (EER != INT_NO_ERR) {
|
||||
// return RES_ERROR;
|
||||
// }
|
||||
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
static DSTATUS RAM_disk_read(BYTE *buff, LBA_t sector, UINT count)
|
||||
{
|
||||
return RES_ERROR;
|
||||
}
|
||||
|
||||
static DSTATUS SPI_flash_read(BYTE *buff, LBA_t sector, UINT count)
|
||||
{
|
||||
return RES_ERROR;
|
||||
}
|
||||
|
||||
static DSTATUS MMC_disk_read(BYTE *buff, LBA_t sector, UINT count)
|
||||
{
|
||||
return RES_ERROR;
|
||||
}
|
||||
|
||||
static DSTATUS SD_Card_read(BYTE *buff, LBA_t sector, UINT count)
|
||||
{
|
||||
SDCard_ReadBolcks(&sdio_handle, (uint32_t *)buff, sector, count);
|
||||
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
static DSTATUS RAM_disk_write(const BYTE *buff, LBA_t sector, UINT count)
|
||||
{
|
||||
return RES_ERROR;
|
||||
}
|
||||
|
||||
static DSTATUS MMC_disk_write(const BYTE *buff, LBA_t sector, UINT count)
|
||||
{
|
||||
return RES_ERROR;
|
||||
}
|
||||
|
||||
static DSTATUS SPI_flash_write(const BYTE *buff, LBA_t sector, UINT count)
|
||||
{
|
||||
return RES_ERROR;
|
||||
}
|
||||
|
||||
static DSTATUS SD_Card_write(const BYTE *buff, LBA_t sector, UINT count)
|
||||
{
|
||||
SDCard_WriteBolcks(&sdio_handle, (uint32_t *)buff, sector, count);
|
||||
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Get Drive Status */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
DSTATUS disk_status (
|
||||
BYTE pdrv /* Physical drive nmuber to identify the drive */
|
||||
)
|
||||
{
|
||||
DSTATUS stat;
|
||||
|
||||
switch (pdrv) {
|
||||
case DEV_RAM :
|
||||
stat = RAM_disk_status();
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return stat;
|
||||
|
||||
case DEV_MMC :
|
||||
stat = MMC_disk_status();
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return stat;
|
||||
|
||||
case DEV_SPI_FLASH :
|
||||
stat = SPI_flash_status();
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return stat;
|
||||
|
||||
case DEV_SD_CARD :
|
||||
stat = SD_Card_status();
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return stat;
|
||||
}
|
||||
return STA_NOINIT;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Inidialize a Drive */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
DSTATUS disk_initialize (
|
||||
BYTE pdrv /* Physical drive nmuber to identify the drive */
|
||||
)
|
||||
{
|
||||
DSTATUS stat;
|
||||
|
||||
switch (pdrv) {
|
||||
case DEV_RAM :
|
||||
stat = RAM_disk_initialize();
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return stat;
|
||||
|
||||
case DEV_MMC :
|
||||
stat = MMC_disk_initialize();
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return stat;
|
||||
|
||||
case DEV_SPI_FLASH :
|
||||
stat = SPI_flash_initialize();
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return stat;
|
||||
|
||||
case DEV_SD_CARD :
|
||||
stat = SD_Card_initialize();
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return stat;
|
||||
}
|
||||
return STA_NOINIT;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Read Sector(s) */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
DRESULT disk_read (
|
||||
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||
BYTE *buff, /* Data buffer to store read data */
|
||||
LBA_t sector, /* Start sector in LBA */
|
||||
UINT count /* Number of sectors to read */
|
||||
)
|
||||
{
|
||||
DRESULT res;
|
||||
|
||||
switch (pdrv) {
|
||||
case DEV_RAM :
|
||||
// translate the arguments here
|
||||
|
||||
res = RAM_disk_read(buff, sector, count);
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return res;
|
||||
|
||||
case DEV_MMC :
|
||||
// translate the arguments here
|
||||
|
||||
res = MMC_disk_read(buff, sector, count);
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return res;
|
||||
|
||||
case DEV_SPI_FLASH :
|
||||
// translate the arguments here
|
||||
|
||||
res = SPI_flash_read(buff, sector, count);
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return res;
|
||||
|
||||
case DEV_SD_CARD :
|
||||
// translate the arguments here
|
||||
|
||||
res = SD_Card_read(buff, sector, count);
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
return RES_PARERR;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Write Sector(s) */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
#if FF_FS_READONLY == 0
|
||||
|
||||
DRESULT disk_write (
|
||||
BYTE pdrv, /* Physical drive nmuber to identify the drive */
|
||||
const BYTE *buff, /* Data to be written */
|
||||
LBA_t sector, /* Start sector in LBA */
|
||||
UINT count /* Number of sectors to write */
|
||||
)
|
||||
{
|
||||
DRESULT res;
|
||||
|
||||
switch (pdrv) {
|
||||
case DEV_RAM :
|
||||
// translate the arguments here
|
||||
|
||||
res = RAM_disk_write(buff, sector, count);
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return res;
|
||||
|
||||
case DEV_MMC :
|
||||
// translate the arguments here
|
||||
|
||||
res = MMC_disk_write(buff, sector, count);
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return res;
|
||||
|
||||
case DEV_SPI_FLASH :
|
||||
// translate the arguments here
|
||||
|
||||
res = SPI_flash_write(buff, sector, count);
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return res;
|
||||
|
||||
case DEV_SD_CARD :
|
||||
// translate the arguments here
|
||||
|
||||
res = SD_Card_write(buff, sector, count);
|
||||
|
||||
// translate the reslut code here
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
return RES_PARERR;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Miscellaneous Functions */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
DRESULT disk_ioctl (
|
||||
BYTE pdrv, /* Physical drive nmuber (0..) */
|
||||
BYTE cmd, /* Control code */
|
||||
void *buff /* Buffer to send/receive control data */
|
||||
)
|
||||
{
|
||||
DRESULT res = RES_PARERR;
|
||||
|
||||
switch (pdrv) {
|
||||
case DEV_RAM :
|
||||
|
||||
// Process of the command for the RAM drive
|
||||
switch(cmd)
|
||||
{
|
||||
case CTRL_SYNC:
|
||||
res = RES_OK;
|
||||
break;
|
||||
case GET_SECTOR_SIZE:
|
||||
*(WORD*)buff = RAM_SECTOR_SIZE;
|
||||
res = RES_OK;
|
||||
break;
|
||||
case GET_BLOCK_SIZE:
|
||||
*(WORD*)buff = RAM_BLOCK_SIZE;
|
||||
res = RES_OK;
|
||||
break;
|
||||
case GET_SECTOR_COUNT:
|
||||
*(DWORD*)buff = RAM_SECTOR_COUNT;
|
||||
res = RES_OK;
|
||||
break;
|
||||
case CTRL_TRIM:
|
||||
res = RES_OK;
|
||||
break;
|
||||
default:
|
||||
res = RES_PARERR;
|
||||
break;
|
||||
}
|
||||
|
||||
return res;
|
||||
|
||||
case DEV_MMC :
|
||||
|
||||
// Process of the command for the MMC/SD card
|
||||
|
||||
return res;
|
||||
|
||||
case DEV_SPI_FLASH :
|
||||
|
||||
// Process of the command for the MMC/SD card
|
||||
switch(cmd)
|
||||
{
|
||||
case CTRL_SYNC:
|
||||
res = RES_OK;
|
||||
break;
|
||||
case GET_SECTOR_SIZE:
|
||||
*(WORD*)buff = SPI_FLASH_SECTOR_SIZE;
|
||||
res = RES_OK;
|
||||
break;
|
||||
case GET_BLOCK_SIZE:
|
||||
*(WORD*)buff = SPI_FLASH_BLOCK_SIZE;
|
||||
res = RES_OK;
|
||||
break;
|
||||
case GET_SECTOR_COUNT:
|
||||
*(DWORD*)buff = SPI_FLASH_SECTOR_COUNT;
|
||||
res = RES_OK;
|
||||
break;
|
||||
case CTRL_TRIM:
|
||||
res = RES_OK;
|
||||
break;
|
||||
default:
|
||||
res = RES_PARERR;
|
||||
break;
|
||||
}
|
||||
|
||||
return res;
|
||||
|
||||
case DEV_SD_CARD :
|
||||
|
||||
// Process of the command for the RAM drive
|
||||
switch(cmd)
|
||||
{
|
||||
case CTRL_SYNC:
|
||||
res = RES_OK;
|
||||
break;
|
||||
case GET_SECTOR_SIZE:
|
||||
*(WORD*)buff = SD_CARD_SECTOR_SIZE;
|
||||
res = RES_OK;
|
||||
break;
|
||||
case GET_BLOCK_SIZE:
|
||||
*(WORD*)buff = SD_CARD_BLOCK_SIZE;
|
||||
res = RES_OK;
|
||||
break;
|
||||
case GET_SECTOR_COUNT:
|
||||
*(DWORD*)buff = SDCard_Get_Block_count(&sdio_handle);
|
||||
res = RES_OK;
|
||||
break;
|
||||
case CTRL_TRIM:
|
||||
res = RES_OK;
|
||||
break;
|
||||
default:
|
||||
res = RES_PARERR;
|
||||
break;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
return RES_PARERR;
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
#include <string.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "heap.h"
|
||||
#include "dram_mem.h"
|
||||
|
||||
#define configTOTAL_DRAM_HEAP_SIZE ( ( 12 * 1024 ) )
|
||||
|
||||
static bool is_mem_poll_inited = false;
|
||||
|
||||
__attribute__((section("dram_section"))) static uint32_t ucHeap[ (configTOTAL_DRAM_HEAP_SIZE >> 2) + 0x10];
|
||||
|
||||
void * dram_malloc( uint32_t xWantedSize )
|
||||
{
|
||||
if (is_mem_poll_inited == false) {
|
||||
is_mem_poll_inited = true;
|
||||
heap_mem_init(HEAP_TYPE_DRAM_BLOCK, (void *)ucHeap, configTOTAL_DRAM_HEAP_SIZE);
|
||||
}
|
||||
|
||||
return heap_mem_alloc(HEAP_TYPE_DRAM_BLOCK, xWantedSize);
|
||||
}
|
||||
|
||||
void dram_free( void * pv )
|
||||
{
|
||||
heap_mem_free(pv);
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
#ifndef __BTDM_MEM_H__
|
||||
#define __BTDM_MEM_H__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
void * dram_malloc( uint32_t xWantedSize );
|
||||
void dram_free( void * pv );
|
||||
|
||||
#endif // __BTDM_MEM_H__
|
|
@ -1,191 +0,0 @@
|
|||
/*
|
||||
* This file is part of the EasyLogger Library.
|
||||
*
|
||||
* Copyright (c) 2015, Armink, <armink.ztl@gmail.com>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* 'Software'), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Function: Portable interface for each platform.
|
||||
* Created on: 2015-04-28
|
||||
*/
|
||||
|
||||
#include <elog.h>
|
||||
|
||||
#include "fr30xx.h"
|
||||
|
||||
extern UART_HandleTypeDef uart_log_handle;
|
||||
|
||||
#ifdef ELOG_ASYNC_OUTPUT_ENABLE
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "semphr.h"
|
||||
|
||||
static SemaphoreHandle_t xSemaphore_lock;
|
||||
static SemaphoreHandle_t xSemaphore_notice;
|
||||
|
||||
#else
|
||||
|
||||
static uint32_t prim;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* EasyLogger port initialize
|
||||
*
|
||||
* @return result
|
||||
*/
|
||||
ElogErrCode elog_port_init(void) {
|
||||
ElogErrCode result = ELOG_NO_ERR;
|
||||
|
||||
/* add your code here */
|
||||
#ifdef ELOG_ASYNC_OUTPUT_ENABLE
|
||||
|
||||
xSemaphore_lock = xSemaphoreCreateBinary();
|
||||
xSemaphore_notice = xSemaphoreCreateBinary();
|
||||
xSemaphoreGive(xSemaphore_lock);
|
||||
xSemaphoreGive(xSemaphore_notice);
|
||||
|
||||
#endif
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* output log port interface
|
||||
*
|
||||
* @param log output of log
|
||||
* @param size log size
|
||||
*/
|
||||
void elog_port_output(const char *log, size_t size) {
|
||||
|
||||
/* add your code here */
|
||||
uart_transmit(&uart_log_handle, (uint8_t *)log, size);
|
||||
}
|
||||
|
||||
/**
|
||||
* output lock
|
||||
*/
|
||||
void elog_port_output_lock(void) {
|
||||
|
||||
/* add your code here */
|
||||
#ifdef ELOG_ASYNC_OUTPUT_ENABLE
|
||||
xSemaphoreTake(xSemaphore_lock, portMAX_DELAY);
|
||||
#else
|
||||
prim = __get_PRIMASK();
|
||||
__disable_irq();
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* output unlock
|
||||
*/
|
||||
void elog_port_output_unlock(void) {
|
||||
|
||||
/* add your code here */
|
||||
#ifdef ELOG_ASYNC_OUTPUT_ENABLE
|
||||
xSemaphoreGive(xSemaphore_lock);
|
||||
#else
|
||||
if(!prim)
|
||||
{
|
||||
__enable_irq();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* get current time interface
|
||||
*
|
||||
* @return current time
|
||||
*/
|
||||
const char *elog_port_get_time(void) {
|
||||
|
||||
/* add your code here */
|
||||
return "2023/2/2";
|
||||
}
|
||||
|
||||
/**
|
||||
* get current process name interface
|
||||
*
|
||||
* @return current process name
|
||||
*/
|
||||
const char *elog_port_get_p_info(void) {
|
||||
|
||||
/* add your code here */
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* get current thread name interface
|
||||
*
|
||||
* @return current thread name
|
||||
*/
|
||||
const char *elog_port_get_t_info(void) {
|
||||
|
||||
/* add your code here */
|
||||
#ifdef ELOG_ASYNC_OUTPUT_ENABLE
|
||||
return "";
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef ELOG_ASYNC_OUTPUT_ENABLE
|
||||
|
||||
void elog_async_output_notice(void)
|
||||
{
|
||||
xSemaphoreGive(xSemaphore_notice);
|
||||
}
|
||||
|
||||
void async_output_task(void *arg)
|
||||
{
|
||||
size_t get_log_size = 0;
|
||||
static char poll_get_buf[ELOG_LINE_BUF_SIZE - 4];
|
||||
|
||||
while(true)
|
||||
{
|
||||
/* waiting log */
|
||||
xSemaphoreTake(xSemaphore_notice, portMAX_DELAY);
|
||||
|
||||
/* polling gets and outputs the log */
|
||||
while(true)
|
||||
{
|
||||
#ifdef ELOG_ASYNC_LINE_OUTPUT
|
||||
get_log_size = elog_async_get_line_log(poll_get_buf, sizeof(poll_get_buf));
|
||||
#else
|
||||
get_log_size = elog_async_get_log(poll_get_buf, sizeof(poll_get_buf));
|
||||
#endif
|
||||
|
||||
if (get_log_size)
|
||||
{
|
||||
elog_port_output_lock();
|
||||
elog_port_output(poll_get_buf, get_log_size);
|
||||
elog_port_output_unlock();
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -1,101 +0,0 @@
|
|||
#include "user_bt_a2dp.h"
|
||||
#include "lvgl.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "app_lvgl.h"
|
||||
#include "app_bt.h"
|
||||
#include "user_bt.h"
|
||||
|
||||
|
||||
#define BT_MUSIC_LOG printf
|
||||
|
||||
user_bt_media_t bt_media;
|
||||
|
||||
void user_bt_music_control(bt_enum_music_t control)
|
||||
{
|
||||
BtStatus status;
|
||||
|
||||
switch(control)
|
||||
{
|
||||
case BT_ENUM_MUSIC_PLAY:
|
||||
status = AVRCP_SetPanelKey(user_bt_env.dev[user_bt_env.last_active_index].rcp_chan, AVRCP_POP_PLAY, TRUE);
|
||||
break;
|
||||
|
||||
case BT_ENUM_MUSIC_PAUSE:
|
||||
status = AVRCP_SetPanelKey(user_bt_env.dev[user_bt_env.last_active_index].rcp_chan, AVRCP_POP_PAUSE, TRUE);
|
||||
break;
|
||||
|
||||
case BT_ENUM_MUSIC_PREVIOUS:
|
||||
status = AVRCP_SetPanelKey(user_bt_env.dev[user_bt_env.last_active_index].rcp_chan, AVRCP_POP_FORWARD, TRUE);
|
||||
break;
|
||||
|
||||
case BT_ENUM_MUSIC_NEXT:
|
||||
status = AVRCP_SetPanelKey(user_bt_env.dev[user_bt_env.last_active_index].rcp_chan, AVRCP_POP_BACKWARD, TRUE);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
BT_MUSIC_LOG("%s %d\r\n",__func__, status);
|
||||
}
|
||||
|
||||
void user_bt_sync_music_volume(uint8_t vol)
|
||||
{
|
||||
uint8_t buf[3];
|
||||
printf("%s %d %d\r\n", __func__, vol,__LINE__);
|
||||
buf[0] = 'E';
|
||||
buf[1] = 'E';
|
||||
buf[2] = vol * 127/ 100;
|
||||
printf("%s %d %d\r\n", __func__, __LINE__,buf[2]);
|
||||
app_at_cmd_recv_handler(buf,NULL);
|
||||
}
|
||||
|
||||
|
||||
void user_bt_set_music_playstatus(bool status)
|
||||
{
|
||||
bt_media.play_status = status;
|
||||
}
|
||||
|
||||
|
||||
bool user_bt_get_music_playstatus(void)
|
||||
{
|
||||
return bt_media.play_status;
|
||||
}
|
||||
|
||||
uint8_t user_bt_get_music_vol(void)
|
||||
{
|
||||
return bt_media.vol;
|
||||
}
|
||||
|
||||
void user_bt_set_music_vol(uint8_t vol)
|
||||
{
|
||||
bt_media.vol = vol;
|
||||
}
|
||||
|
||||
uint8_t *user_bt_get_music_songname(void)
|
||||
{
|
||||
return &bt_media.song[0];
|
||||
}
|
||||
|
||||
|
||||
void user_bt_song_lyric_notify(void)
|
||||
{
|
||||
gui_task_msg_send(MUSIC_CONTROL_EVT,NULL,0,NULL,0,NULL);
|
||||
}
|
||||
|
||||
|
||||
void user_bt_get_media_info(void)
|
||||
{
|
||||
BtStatus status;
|
||||
status = bt_get_media_info(user_bt_env.last_active_index,0x41);
|
||||
BT_MUSIC_LOG("%s %d\r\n",__func__, status);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
#ifndef __USER_BT_A2DP_H
|
||||
#define __USER_BT_A2DP_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "app_at.h"
|
||||
|
||||
|
||||
|
||||
typedef enum{
|
||||
|
||||
BT_ENUM_MUSIC_PLAY,
|
||||
BT_ENUM_MUSIC_PAUSE,
|
||||
BT_ENUM_MUSIC_PREVIOUS,
|
||||
BT_ENUM_MUSIC_NEXT,
|
||||
//BT_ENUM_MUSIC_VOLUME_INC,
|
||||
//BT_ENUM_MUSIC_VOLUME_DEC,
|
||||
|
||||
}bt_enum_music_t;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool play_status;
|
||||
uint8_t vol;
|
||||
uint16_t playlen;
|
||||
uint16_t playpos;
|
||||
uint8_t song[100];
|
||||
|
||||
}user_bt_media_t;
|
||||
extern user_bt_media_t bt_media;
|
||||
|
||||
|
||||
extern void user_bt_music_control(uint8_t control);
|
||||
extern void user_bt_sync_music_volume(uint8_t vol);
|
||||
extern void user_bt_set_music_playstatus(bool status);
|
||||
extern bool user_bt_get_music_playstatus(void);
|
||||
extern uint8_t user_bt_get_music_vol(void);
|
||||
extern void user_bt_set_music_vol(uint8_t vol);
|
||||
extern uint8_t *user_bt_get_music_songname(void);
|
||||
extern void user_bt_song_lyric_notify(void);
|
||||
extern void user_bt_get_media_info(void);
|
||||
|
||||
#endif /* __USER_BT_A2DP_H */
|
|
@ -1,197 +0,0 @@
|
|||
#include "user_bt_call.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "user_bt_common.h"
|
||||
#include "app_lvgl.h"
|
||||
#include "task.h"
|
||||
#include "timers.h"
|
||||
#include "app_bt.h"
|
||||
#include "user_bt.h"
|
||||
|
||||
#define BT_CALL_LOG printf
|
||||
|
||||
#define BT_LOG_ENABLE 1
|
||||
#if BT_LOG_ENABLE
|
||||
#define BT_LOG printf
|
||||
#else
|
||||
#define BT_LOG
|
||||
#endif
|
||||
|
||||
call_info_t bt_call;
|
||||
//bool call_flag = 0;
|
||||
uint8_t call_incoming = 0; //呼入呼出状态
|
||||
bool call_complete = 0; //接通状态
|
||||
|
||||
xTimerHandle user_bt_call_timer;
|
||||
//0:呼出,1:接通,2:静音,3:通话结束
|
||||
//4:拨出失败,5:来电显示
|
||||
uint8_t call_mode;
|
||||
|
||||
void user_set_call_mode(uint8_t mode)
|
||||
{
|
||||
call_mode = mode;
|
||||
}
|
||||
|
||||
uint8_t user_get_call_mode(void)
|
||||
{
|
||||
return call_mode;
|
||||
}
|
||||
|
||||
void bt_hf_call_outgoing(uint8_t *number, uint8_t len)
|
||||
{
|
||||
BtStatus status;
|
||||
status = bt_dial_number(user_bt_env.last_active_index,&number[1],number[0]);
|
||||
|
||||
BT_CALL_LOG("%s %d \r\n", __func__,status);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void bt_hf_call_hangup(void)
|
||||
{
|
||||
BtStatus status;
|
||||
status = bt_hang_up(user_bt_env.last_active_index);
|
||||
|
||||
BT_CALL_LOG("%s %d \r\n", __func__,status);
|
||||
}
|
||||
|
||||
|
||||
void bt_hf_call_answer(void)
|
||||
{
|
||||
BtStatus status;
|
||||
status = bt_answer_call(user_bt_env.last_active_index);
|
||||
|
||||
BT_CALL_LOG("%s %d \r\n", __func__,status);
|
||||
}
|
||||
|
||||
void user_bt_hf_mic_mute(bool mute)
|
||||
{
|
||||
if(mute)
|
||||
{
|
||||
__CODEC_SET_ADC_VOLUME(0);
|
||||
}else {
|
||||
__CODEC_SET_ADC_VOLUME(0x8000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void user_bt_hfcall_handle(uint8_t hf_call)
|
||||
{
|
||||
if(hf_call == 0) //挂断
|
||||
{
|
||||
if(call_complete)
|
||||
{
|
||||
call_complete = 0;
|
||||
gui_task_msg_send(PHONE_CALL_REJECT_EVT,NULL,0,NULL,0,NULL);
|
||||
}
|
||||
}
|
||||
else if(hf_call == 1) //接通
|
||||
{
|
||||
user_set_call_mode(HF_ENUM_CALL_CONNECTING);
|
||||
call_incoming = 0;
|
||||
call_complete = 1; //接通状态
|
||||
gui_task_msg_send(PHONE_CALL_OK_EVT,NULL,0,NULL,0,NULL);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void user_bt_callsetup_handle(uint8_t hf_callsetup)
|
||||
{
|
||||
if(hf_callsetup == 0)
|
||||
{
|
||||
if(call_incoming == 1 || call_incoming == 2) //
|
||||
{
|
||||
call_incoming = 0;
|
||||
gui_task_msg_send(PHONE_CALL_REJECT_EVT,NULL,0,NULL,0,NULL);
|
||||
}
|
||||
}
|
||||
else if(hf_callsetup == 1) /* incoming call */
|
||||
{
|
||||
|
||||
|
||||
call_incoming = 1; //来电状态置1
|
||||
user_set_call_mode(5);
|
||||
|
||||
}
|
||||
else if(hf_callsetup == 2) /* outgoing call */
|
||||
{
|
||||
|
||||
|
||||
call_incoming = 2; //呼出状态
|
||||
user_set_call_mode(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void user_bt_set_calling_num(const char *num, uint8_t len)
|
||||
{
|
||||
|
||||
bt_call.number_len = len;
|
||||
memset(&bt_call.call_namber[0], 0, sizeof(bt_call.call_namber));
|
||||
memcpy(&bt_call.call_namber[0], num, len);
|
||||
|
||||
if(call_incoming)
|
||||
{
|
||||
gui_task_msg_send(PHONE_CALL_IN_EVT,NULL,0,NULL,0,NULL);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void user_bt_get_calling_info(call_info_t * call)
|
||||
{
|
||||
#if 1
|
||||
call->number_len = bt_call.number_len;
|
||||
memset(call->call_namber,0,32);
|
||||
memcpy(call->call_namber,bt_call.call_namber,call->number_len);
|
||||
|
||||
//call->name_len = call_context[call->number_len] + 1;
|
||||
//memset(call->call_name,0,128);
|
||||
//memcpy(call->call_name, call_context+call->number_len+1, call->name_len);
|
||||
|
||||
#else
|
||||
if(call_context[0] > 0)
|
||||
{
|
||||
call->number_len = call_context[0];
|
||||
memset(call->call_namber,0,32);
|
||||
memcpy(call->call_namber,call_context+1,call->number_len);
|
||||
|
||||
call->name_len = call_context[call->number_len] + 1;
|
||||
memset(call->call_name,0,128);
|
||||
memcpy(call->call_name, call_context+call->number_len+1, call->name_len);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void user_bt_timer_call_handler( TimerHandle_t xTimer)
|
||||
{
|
||||
BT_LOG("%s \r\n",__func__);
|
||||
}
|
||||
|
||||
void user_bt_timer_call_init(void)
|
||||
{
|
||||
user_bt_call_timer = xTimerCreate("user_bt_call_timer", 100 , pdFALSE, NULL, user_bt_timer_call_handler);
|
||||
//xTimerStart(user_bt_call_timer,0);
|
||||
}
|
||||
|
||||
|
||||
void user_bt_hf_set_volume(uint8_t lev)
|
||||
{
|
||||
|
||||
if(lev == 0){
|
||||
|
||||
user_bt_set_local_volume(BT_VOL_HFP, 1);
|
||||
|
||||
}else{
|
||||
|
||||
user_bt_set_local_volume(BT_VOL_HFP, lev);
|
||||
}
|
||||
BT_LOG("%s %d \r\n", __func__, lev);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
#ifndef __USER_BT_CALL_H
|
||||
#define __USER_BT_CALL_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
#include "driver_codec.h"
|
||||
#include "app_at.h"
|
||||
#include "fr_watch.h"
|
||||
typedef struct
|
||||
{
|
||||
uint8_t num_len;
|
||||
uint8_t num[15];
|
||||
|
||||
|
||||
}user_bt_call_t;
|
||||
|
||||
//0:呼出,1:接通,2:静音,3:通话结束
|
||||
//4:拨出失败,5:来电显示
|
||||
typedef enum
|
||||
{
|
||||
HF_ENUM_OUTGOING = 0,
|
||||
HF_ENUM_CALL_CONNECTING = 1,
|
||||
HF_ENUM_INCOMING = 5,
|
||||
}call_enum_state_t;
|
||||
|
||||
//mic mute
|
||||
enum{
|
||||
ENUM_MIC_CLOSE,
|
||||
ENUM_MIC_OPEN,
|
||||
};
|
||||
|
||||
extern void bt_hf_call_outgoing(uint8_t *number, uint8_t len);
|
||||
|
||||
extern void bt_hf_call_hangup(void);
|
||||
extern void bt_hf_call_answer(void);
|
||||
extern void user_bt_set_calling_num(const char *num, uint8_t len);
|
||||
extern void user_set_call_mode(uint8_t mode);
|
||||
extern uint8_t user_get_call_mode(void);
|
||||
extern void user_bt_get_calling_info(call_info_t * call);
|
||||
|
||||
extern void user_bt_callsetup_handle(uint8_t hf_callsetup);
|
||||
extern void user_bt_hfcall_handle(uint8_t hf_call);
|
||||
|
||||
extern void user_bt_hf_mic_mute(bool mute);
|
||||
|
||||
extern void user_bt_timer_call_init(void);
|
||||
extern void user_bt_hf_mic_mute(bool mute);
|
||||
|
||||
extern void user_bt_hf_set_volume(uint8_t lev);
|
||||
|
||||
#endif /* __USER_BT_CALL_H */
|
|
@ -1,222 +0,0 @@
|
|||
#include "user_bt_common.h"
|
||||
#include "lvgl.h"
|
||||
#include "FreeRTOS.h"
|
||||
|
||||
#define BT_COMM_ENABLE 1
|
||||
#if BT_COMM_ENABLE
|
||||
#define BT_COMM_LOG printf
|
||||
#else
|
||||
#define BT_COMM_LOG
|
||||
#endif
|
||||
|
||||
user_bt_vol_t user_bt_volum;
|
||||
bool system_bt_module = 0; //0:close 1:start
|
||||
|
||||
/*
|
||||
change phone volume to local spk vol
|
||||
*/
|
||||
bool user_bt_set_local_volume(enum bt_volume_type_t type,uint16_t vol)
|
||||
{
|
||||
|
||||
uint16_t avrcp_vol,hf_vol;
|
||||
|
||||
if((type >= BT_VOL_MAX)||(vol > 0xFFFF)){
|
||||
return false;
|
||||
}
|
||||
if(type == BT_VOL_HFP){
|
||||
|
||||
if(user_bt_env.dev[user_bt_env.last_active_index].conFlags&LINK_STATUS_SCO_CONNECTED){
|
||||
if(vol == 0){
|
||||
hf_vol = 0;
|
||||
}
|
||||
else{
|
||||
hf_vol = 0 + (USER_BT_HF_VOLUME_MAX*vol)/15;
|
||||
}
|
||||
|
||||
BT_COMM_LOG("%s %d %d \r\n",__func__,vol,hf_vol);
|
||||
codec_Set_DAC_Volume(hf_vol);
|
||||
}
|
||||
}
|
||||
else if(type == BT_VOL_MEDIA){
|
||||
|
||||
if(user_bt_env.dev[user_bt_env.last_active_index].conFlags&LINK_STATUS_MEDIA_PLAYING){
|
||||
if(vol >= USER_BT_VOLUM_MAX){
|
||||
avrcp_vol = 127;
|
||||
}
|
||||
else{
|
||||
avrcp_vol = (USER_BT_VOLUM_MAX*vol)/127;
|
||||
}
|
||||
BT_COMM_LOG("%s %d %d \r\n",__func__,vol,avrcp_vol);
|
||||
codec_Set_DAC_Volume(avrcp_vol);
|
||||
}else{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else if(type == BT_VOL_TONE){
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
local change volume send to phone
|
||||
*/
|
||||
bool user_bt_set_spk_volume(enum bt_volume_type_t type,uint16_t vol)
|
||||
{
|
||||
uint16_t avrcp_vol,hf_vol;
|
||||
|
||||
if((type >= BT_VOL_MAX)||(vol > 0xFFFF)){
|
||||
return false;
|
||||
}
|
||||
if(type == BT_VOL_HFP){
|
||||
|
||||
if(user_bt_env.dev[user_bt_env.last_active_index].conFlags&LINK_STATUS_SCO_CONNECTED){
|
||||
if(vol == 0){
|
||||
hf_vol = + (USER_BT_HF_VOLUME_MAX * 1)/15;
|
||||
vol = 1;
|
||||
}
|
||||
else{
|
||||
hf_vol = 0 + (USER_BT_HF_VOLUME_MAX*vol)/15;
|
||||
}
|
||||
|
||||
BT_COMM_LOG("%s %d %d \r\n",__func__,vol,hf_vol);
|
||||
bt_report_spk_volume(user_bt_env.last_active_index,vol);
|
||||
codec_Set_DAC_Volume(hf_vol);
|
||||
}
|
||||
}
|
||||
else if(type == BT_VOL_MEDIA){
|
||||
|
||||
if(user_bt_env.dev[user_bt_env.last_active_index].conFlags&LINK_STATUS_MEDIA_PLAYING){
|
||||
if(vol == 0x3f){
|
||||
avrcp_vol = USER_BT_VOLUM_MAX;
|
||||
}
|
||||
else{
|
||||
avrcp_vol = (USER_BT_VOLUM_MAX*vol)/127;
|
||||
}
|
||||
bt_set_media_volume(user_bt_env.last_active_index, vol);
|
||||
codec_Set_DAC_Volume(avrcp_vol);
|
||||
|
||||
}else{
|
||||
|
||||
}
|
||||
}
|
||||
else if(type == BT_VOL_TONE){
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
user_bt_vol_t *user_bt_get_volume(void)
|
||||
{
|
||||
return (user_bt_vol_t *)&user_bt_volum.vol;
|
||||
}
|
||||
|
||||
uint8_t user_bt_volume_lev_convert(enum bt_volume_type_t type,uint8_t lev)
|
||||
{
|
||||
|
||||
|
||||
uint8_t vol;
|
||||
|
||||
if(type == BT_VOL_MEDIA)
|
||||
{
|
||||
vol = (lev * 127 / 100);
|
||||
}
|
||||
else if(type == BT_VOL_HFP)
|
||||
{
|
||||
vol = (lev * 15 / 100);
|
||||
}
|
||||
printf("%s %d \r\n", __func__,vol);
|
||||
return vol;
|
||||
}
|
||||
|
||||
uint8_t *user_bt_get_local_name(void)
|
||||
{
|
||||
extern uint8_t default_name[];
|
||||
return default_name;
|
||||
}
|
||||
uint8_t *user_bt_get_mac(void)
|
||||
{
|
||||
extern uint8_t bt_addr[];
|
||||
return bt_addr;
|
||||
}
|
||||
char *user_ble_get_local_name(void)
|
||||
{
|
||||
extern char local_device_name[];
|
||||
return local_device_name;
|
||||
}
|
||||
uint8_t *user_ble_get_mac(void)
|
||||
{
|
||||
extern uint8_t ble_static_addr[];
|
||||
return ble_static_addr;
|
||||
}
|
||||
|
||||
/*
|
||||
bt module enable/disable api
|
||||
system_bt_module param
|
||||
0:close
|
||||
1:start
|
||||
*/
|
||||
void user_bt_set_module(bool sat)
|
||||
{
|
||||
system_bt_module = sat;
|
||||
}
|
||||
|
||||
bool user_bt_get_module(void)
|
||||
{
|
||||
return system_bt_module;
|
||||
}
|
||||
|
||||
|
||||
void user_bt_disconnect(void)
|
||||
{
|
||||
BtStatus status;
|
||||
|
||||
status = bt_disconnect(&user_bt_env.dev[0].remote_bd, true); //强制断开bt
|
||||
BT_COMM_LOG("%s %d %d\r\n", __func__,__LINE__,status);
|
||||
}
|
||||
|
||||
void user_bt_off(void)
|
||||
{
|
||||
BtStatus status;
|
||||
|
||||
status = bt_disconnect(&user_bt_env.dev[0].remote_bd, true); //强制断开bt
|
||||
BT_COMM_LOG("%s %d %d\r\n", __func__,__LINE__,status);
|
||||
|
||||
status = bt_exit_pairing();
|
||||
|
||||
user_bt_set_module(false);
|
||||
|
||||
BT_COMM_LOG("%s %d %d\r\n", __func__,__LINE__,status);
|
||||
}
|
||||
|
||||
|
||||
void user_bt_on(void)
|
||||
{
|
||||
BtStatus status;
|
||||
|
||||
BtAccessModeInfo access_mode_nc = {
|
||||
.inqInterval = 0x800,
|
||||
.inqWindow = 0x12,
|
||||
.pageInterval = 0x800,
|
||||
.pageWindow = 0x12,
|
||||
};
|
||||
|
||||
status = bt_enter_pairing(BAM_GENERAL_ACCESSIBLE, &access_mode_nc);
|
||||
|
||||
user_bt_env.connect_times = 3;
|
||||
BT_COMM_LOG("bt reconnect addr %x %x %x %x %x %x \r\n",user_bt_env.last_dev_addr.A[0],
|
||||
user_bt_env.last_dev_addr.A[1],
|
||||
user_bt_env.last_dev_addr.A[2],
|
||||
user_bt_env.last_dev_addr.A[3],
|
||||
user_bt_env.last_dev_addr.A[4],
|
||||
user_bt_env.last_dev_addr.A[5]);
|
||||
status = bt_connect(&user_bt_env.last_dev_addr);
|
||||
|
||||
user_bt_set_module(true);
|
||||
|
||||
BT_COMM_LOG("status = %d\r\n",status);
|
||||
}
|
|
@ -1,48 +0,0 @@
|
|||
#ifndef __USER_BT_COMMON_H
|
||||
#define __USER_BT_COMMON_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
#include "driver_codec.h"
|
||||
#include "app_at.h"
|
||||
#include "user_bt.h"
|
||||
|
||||
#define USER_BT_VOLUM_MAX (0x1000)
|
||||
#define USER_BT_HF_VOLUME_MAX (0x2000)
|
||||
#define USER_BT_NAME "freq_bt"
|
||||
typedef struct
|
||||
{
|
||||
uint8_t vol;
|
||||
uint8_t lev;
|
||||
}user_bt_vol_t;
|
||||
|
||||
enum bt_volume_type_t{
|
||||
BT_VOL_HFP, //设置通话音量
|
||||
BT_VOL_MEDIA, //设置媒体音量
|
||||
BT_VOL_TONE, //设置提示音量
|
||||
BT_VOL_MAX,
|
||||
};
|
||||
|
||||
|
||||
extern void user_bt_set_volume(uint8_t vol);
|
||||
extern uint8_t user_bt_volume_lev_convert(enum bt_volume_type_t type,uint8_t lev);
|
||||
|
||||
extern uint8_t *user_bt_get_local_name(void);
|
||||
extern uint8_t *user_bt_get_mac(void);
|
||||
extern char *user_ble_get_local_name(void);
|
||||
extern uint8_t *user_ble_get_mac(void);
|
||||
|
||||
extern bool user_bt_set_spk_volume(enum bt_volume_type_t type,uint16_t vol);
|
||||
extern bool user_bt_set_local_volume(enum bt_volume_type_t type,uint16_t vol);
|
||||
|
||||
extern void user_bt_disconnect(void);
|
||||
extern void user_bt_off(void);
|
||||
extern void user_bt_on(void);
|
||||
|
||||
extern void user_bt_set_module(bool sat);
|
||||
extern bool user_bt_get_module(void);
|
||||
|
||||
|
||||
#endif /* __USER_BT_COMMON_H */
|
|
@ -1,36 +0,0 @@
|
|||
#include "user_bt_voice_recognition.h"
|
||||
#include "user_bt.h"
|
||||
#include "app_bt.h"
|
||||
|
||||
#define BT_VOICE_LOG printf
|
||||
|
||||
bool voice_active = 0;
|
||||
|
||||
void user_bt_voice_start_active(bool type)
|
||||
{
|
||||
BtStatus status;
|
||||
|
||||
if(type)
|
||||
{
|
||||
//memcpy(event->param, (void *)"CJ01", sizeof("CJ01"));
|
||||
status = bt_enable_voice_recognition(user_bt_env.last_active_index, true);
|
||||
|
||||
}else {
|
||||
//memcpy(event->param, (void *)"CJ00", sizeof("CJ01"));
|
||||
status = bt_enable_voice_recognition(user_bt_env.last_active_index, false);
|
||||
}
|
||||
|
||||
BT_VOICE_LOG("status = %d\r\n",status);
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool user_bt_get_voice_active(void)
|
||||
{
|
||||
return voice_active;
|
||||
}
|
||||
|
||||
void user_bt_set_voice_active(bool active)
|
||||
{
|
||||
voice_active = active;
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
#ifndef __USER_BT_VOICE_RECONGNITION_H
|
||||
#define __USER_BT_VOICE_RECONGNITION_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
#include "driver_codec.h"
|
||||
#include "app_at.h"
|
||||
#include "fr_watch.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "app_lvgl.h"
|
||||
#include "task.h"
|
||||
#include "timers.h"
|
||||
#include "app_task.h"
|
||||
|
||||
extern bool voice_active;
|
||||
extern void user_bt_voice_start_active(bool type);
|
||||
extern bool user_bt_get_voice_active(void);
|
||||
extern void user_bt_set_voice_active(bool active);
|
||||
|
||||
#endif /* __USER_BT_VOICE_RECONGNITION_H */
|
|
@ -1,547 +0,0 @@
|
|||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include "driver_gpio.h"
|
||||
#include "fr30xx.h"
|
||||
#include "app_task.h"
|
||||
#include "fr_device_pmu_io.h"
|
||||
#include "fr_device_button.h"
|
||||
#include "app_lvgl.h"
|
||||
|
||||
/* FreeRTOS kernel includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "timers.h"
|
||||
|
||||
|
||||
|
||||
#define BUTTON_IDX_MAX 1
|
||||
|
||||
#define BUTTON_SHORT_DURING 0x08 // x10ms
|
||||
#define BUTTON_LONG_DURING 0x14 // x100ms
|
||||
#define BUTTON_LONG_LONG_DURING 0x28 // x100ms
|
||||
#define BUTTON_MULTI_INTERVAL 0x14 // x10ms
|
||||
#define BUTTON_LONG_PRESSING_INTERVAL 0x1e // x10ms
|
||||
|
||||
uint8_t current_state = BUTTON_WORKING_STATE_IDLE;
|
||||
uint16_t button_task_id;
|
||||
xTimerHandle button_anti_shake_timer;
|
||||
xTimerHandle button_pressing_timer;
|
||||
xTimerHandle button_state_timer;
|
||||
|
||||
/* which io is enabled for button function */
|
||||
uint32_t button_io_mask = 0;
|
||||
uint32_t curr_button_before_anti_shake = 0;
|
||||
uint32_t current_pressed_button = 0;
|
||||
uint32_t last_saved_button = 0;
|
||||
uint32_t button_to_be_send = 0; //for multi click
|
||||
uint8_t pressed_cnt = 0; //for multi click
|
||||
|
||||
void button_toggle_detected(uint32_t curr_button)
|
||||
{
|
||||
if(button_io_mask != 0) {
|
||||
curr_button_before_anti_shake = curr_button & button_io_mask;
|
||||
if(xPortIsInsideInterrupt())
|
||||
xTimerStartFromISR( button_anti_shake_timer, NULL );
|
||||
else
|
||||
xTimerStart(button_anti_shake_timer, 0);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void button_int_isr(uint32_t changed_button)
|
||||
{
|
||||
uint32_t curr_button;
|
||||
|
||||
curr_button = current_pressed_button ^ changed_button;
|
||||
|
||||
struct app_task_event *event;
|
||||
event = app_task_event_alloc(APP_TASK_EVENT_BTN_TOGGLE, sizeof(uint32_t), false);
|
||||
if(event)
|
||||
{
|
||||
memcpy(event->param, (void *)&curr_button, sizeof(uint32_t));
|
||||
event->param_len = sizeof(uint32_t);
|
||||
app_task_event_post(event, false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void button_send_event(uint8_t event, uint32_t button, uint8_t cnt)
|
||||
{
|
||||
struct button_msg_t msg;
|
||||
|
||||
msg.button_index = button;
|
||||
msg.button_type = event;
|
||||
msg.button_cnt = cnt;
|
||||
|
||||
struct app_task_event *toggle_event;
|
||||
toggle_event = app_task_event_alloc(APP_TASK_EVENT_BTN_OUTPUT, sizeof(msg), false);
|
||||
if(toggle_event)
|
||||
{
|
||||
memcpy(toggle_event->param, (void *)&msg, sizeof(msg));
|
||||
toggle_event->param_len = sizeof(msg);
|
||||
app_task_event_post(toggle_event, false);
|
||||
}
|
||||
|
||||
pressed_cnt = 0;
|
||||
}
|
||||
|
||||
static void button_idle(uint8_t event)
|
||||
{
|
||||
if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
}
|
||||
|
||||
static void button_just_pressed(uint8_t event)
|
||||
{
|
||||
if(event == BUTTON_WORKING_EVENT_RELEASED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_IDLE;
|
||||
xTimerStop(button_state_timer,0);
|
||||
button_send_event(BUTTON_RELEASED, last_saved_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, (BUTTON_LONG_DURING*10-BUTTON_SHORT_DURING)*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
}
|
||||
}
|
||||
|
||||
static void button_pressed(uint8_t event)
|
||||
{
|
||||
if(event == BUTTON_WORKING_EVENT_RELEASED)
|
||||
{
|
||||
if(0/*__jump_table.button_disable_multi_click*/ & last_saved_button)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_IDLE;
|
||||
button_send_event(BUTTON_SHORT_PRESSED, last_saved_button, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
//TBD<42><44><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
current_state = BUTTON_WORKING_STATE_WAIT_MULTI;
|
||||
button_to_be_send = last_saved_button;
|
||||
pressed_cnt++;
|
||||
xTimerChangePeriod(button_state_timer,BUTTON_MULTI_INTERVAL*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
}
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_LONG_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, ((BUTTON_LONG_LONG_DURING-BUTTON_LONG_DURING)*10)*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
xTimerChangePeriod(button_pressing_timer, BUTTON_LONG_PRESSING_INTERVAL*10,0);
|
||||
xTimerStart(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_LONG_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
}
|
||||
|
||||
static void button_wait_multi(uint8_t event)
|
||||
{
|
||||
if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
|
||||
{
|
||||
if(current_pressed_button != button_to_be_send)
|
||||
{
|
||||
if(pressed_cnt > 1)
|
||||
{
|
||||
button_send_event(BUTTON_MULTI_PRESSED, button_to_be_send, pressed_cnt);
|
||||
}
|
||||
else
|
||||
{
|
||||
button_send_event(BUTTON_SHORT_PRESSED, button_to_be_send, pressed_cnt);
|
||||
}
|
||||
button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
|
||||
button_send_event(BUTTON_SHORT_PRESSED, button_to_be_send, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_IDLE;
|
||||
if(pressed_cnt > 1)
|
||||
{
|
||||
button_send_event(BUTTON_MULTI_PRESSED, button_to_be_send, pressed_cnt);
|
||||
}
|
||||
else
|
||||
{
|
||||
button_send_event(BUTTON_SHORT_PRESSED, button_to_be_send, pressed_cnt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void button_long_pressed(uint8_t event)
|
||||
{
|
||||
if(event == BUTTON_WORKING_EVENT_RELEASED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_IDLE;
|
||||
xTimerStop(button_state_timer,0);
|
||||
xTimerStop(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_LONG_RELEASED, last_saved_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
xTimerStop(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
|
||||
button_send_event(BUTTON_LONG_RELEASED, last_saved_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_LONG_LONG_PRESSED;
|
||||
button_send_event(BUTTON_LONG_LONG_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
}
|
||||
|
||||
static void button_long_long_pressed(uint8_t event)
|
||||
{
|
||||
if(event == BUTTON_WORKING_EVENT_RELEASED)
|
||||
{
|
||||
xTimerStop(button_pressing_timer,0);
|
||||
current_state = BUTTON_WORKING_STATE_IDLE;
|
||||
button_send_event(BUTTON_LONG_LONG_RELEASED, last_saved_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
xTimerStop(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
|
||||
button_send_event(BUTTON_LONG_LONG_RELEASED, last_saved_button, pressed_cnt);
|
||||
}
|
||||
}
|
||||
|
||||
static void button_comb_just_pressed(uint8_t event)
|
||||
{
|
||||
if(event == BUTTON_WORKING_EVENT_RELEASED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_IDLE;
|
||||
xTimerStop(button_state_timer,0);
|
||||
button_send_event(BUTTON_COMB_RELEASED, last_saved_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
button_send_event(BUTTON_COMB_RELEASED, last_saved_button, pressed_cnt);
|
||||
button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, (BUTTON_LONG_DURING*10-BUTTON_SHORT_DURING)*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
}
|
||||
}
|
||||
|
||||
static void button_comb_pressed(uint8_t event)
|
||||
{
|
||||
if(event == BUTTON_WORKING_EVENT_RELEASED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_IDLE;
|
||||
xTimerStop(button_state_timer,0);
|
||||
button_send_event(BUTTON_COMB_SHORT_PRESSED, last_saved_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
button_send_event(BUTTON_COMB_SHORT_PRESSED, last_saved_button, pressed_cnt);
|
||||
button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
button_send_event(BUTTON_COMB_SHORT_PRESSED, last_saved_button, pressed_cnt);
|
||||
button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_LONG_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, ((BUTTON_LONG_LONG_DURING-BUTTON_LONG_DURING)*10)*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
|
||||
xTimerChangePeriod(button_pressing_timer, BUTTON_LONG_PRESSING_INTERVAL*10,0);
|
||||
xTimerStart(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_COMB_LONG_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
}
|
||||
|
||||
static void button_comb_long_pressed(uint8_t event)
|
||||
{
|
||||
if(event == BUTTON_WORKING_EVENT_RELEASED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_IDLE;
|
||||
xTimerStop(button_state_timer,0);
|
||||
|
||||
xTimerStop(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_COMB_LONG_RELEASED, last_saved_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
xTimerStop(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_COMB_LONG_RELEASED, last_saved_button, pressed_cnt);
|
||||
button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
xTimerStop(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_COMB_LONG_RELEASED, last_saved_button, pressed_cnt);
|
||||
button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_TIME_OUT)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_LONG_LONG_PRESSED;
|
||||
button_send_event(BUTTON_COMB_LONG_LONG_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
}
|
||||
|
||||
static void button_comb_long_long_pressed(uint8_t event)
|
||||
{
|
||||
if(event == BUTTON_WORKING_EVENT_RELEASED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_IDLE;
|
||||
xTimerStop(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_COMB_LONG_LONG_RELEASED, last_saved_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_SINGLE_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
xTimerStop(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_COMB_LONG_LONG_RELEASED, last_saved_button, pressed_cnt);
|
||||
button_send_event(BUTTON_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
else if(event == BUTTON_WORKING_EVENT_COMB_PRESSED)
|
||||
{
|
||||
current_state = BUTTON_WORKING_STATE_COMB_JUST_PRESSED;
|
||||
xTimerChangePeriod(button_state_timer, BUTTON_SHORT_DURING*10,0);
|
||||
xTimerStart(button_state_timer,0);
|
||||
xTimerStop(button_pressing_timer,0);
|
||||
button_send_event(BUTTON_COMB_LONG_LONG_RELEASED, last_saved_button, pressed_cnt);
|
||||
button_send_event(BUTTON_COMB_PRESSED, current_pressed_button, pressed_cnt);
|
||||
}
|
||||
}
|
||||
|
||||
void (*const button_statemachines[BUTTON_WORKING_STATE_MAX])(uint8_t) =
|
||||
{
|
||||
button_idle,
|
||||
button_just_pressed,
|
||||
button_pressed,
|
||||
button_wait_multi,
|
||||
button_long_pressed,
|
||||
button_long_long_pressed,
|
||||
button_comb_just_pressed,
|
||||
button_comb_pressed,
|
||||
button_comb_long_pressed,
|
||||
button_comb_long_long_pressed,
|
||||
};
|
||||
|
||||
//one or more button is released or pressed
|
||||
int button_toggle_handler(uint32_t curr_button)
|
||||
{
|
||||
enum button_working_event_t event;
|
||||
|
||||
current_pressed_button = curr_button;
|
||||
|
||||
if(last_saved_button != current_pressed_button)
|
||||
{
|
||||
if(current_pressed_button == 0)
|
||||
{
|
||||
event = BUTTON_WORKING_EVENT_RELEASED;
|
||||
}
|
||||
else
|
||||
{
|
||||
if((current_pressed_button & (current_pressed_button-1)) == 0)
|
||||
{
|
||||
event = BUTTON_WORKING_EVENT_SINGLE_PRESSED;
|
||||
}
|
||||
else
|
||||
{
|
||||
event = BUTTON_WORKING_EVENT_COMB_PRESSED;
|
||||
}
|
||||
}
|
||||
|
||||
button_statemachines[current_state](event);
|
||||
|
||||
last_saved_button = current_pressed_button;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void button_timeout_handler( TimerHandle_t xTimer)
|
||||
{
|
||||
button_statemachines[current_state](BUTTON_WORKING_EVENT_TIME_OUT);
|
||||
}
|
||||
|
||||
static void button_pressing_timeout_handler( TimerHandle_t xTimer )
|
||||
{
|
||||
enum button_type_t event;
|
||||
if((current_pressed_button & (current_pressed_button - 1)) == 0)
|
||||
{
|
||||
event = BUTTON_LONG_PRESSING;
|
||||
}
|
||||
else
|
||||
{
|
||||
event = BUTTON_COMB_LONG_PRESSING;
|
||||
}
|
||||
|
||||
button_send_event(event, current_pressed_button, pressed_cnt);
|
||||
|
||||
xTimerChangePeriod(button_pressing_timer, BUTTON_LONG_PRESSING_INTERVAL*10,0);
|
||||
xTimerStart(button_pressing_timer,0);
|
||||
}
|
||||
|
||||
static void button_anti_shake_timeout_handler( TimerHandle_t xTimer )
|
||||
{
|
||||
uint32_t curr_button;
|
||||
|
||||
curr_button = ool_read16(PMU_REG_PIN_DATA);
|
||||
curr_button &= button_io_mask;
|
||||
|
||||
if(curr_button == curr_button_before_anti_shake)
|
||||
{
|
||||
curr_button ^= button_io_mask;
|
||||
|
||||
struct app_task_event *event;
|
||||
event = app_task_event_alloc(APP_TASK_EVENT_BTN_TOGGLE, sizeof(uint32_t), false);
|
||||
if(event)
|
||||
{
|
||||
memcpy(event->param, (void *)&curr_button, sizeof(uint32_t));
|
||||
event->param_len = sizeof(uint32_t);
|
||||
app_task_event_post(event, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void button_event_handler(void * param)
|
||||
{
|
||||
struct button_msg_t *button_msg;
|
||||
const char *button_type_str[] = {
|
||||
"BUTTON_PRESSED",
|
||||
"BUTTON_RELEASED",
|
||||
"BUTTON_SHORT_PRESSED",
|
||||
"BUTTON_MULTI_PRESSED",
|
||||
"BUTTON_LONG_PRESSED",
|
||||
"BUTTON_LONG_PRESSING",
|
||||
"BUTTON_LONG_RELEASED",
|
||||
"BUTTON_LONG_LONG_PRESSED",
|
||||
"BUTTON_LONG_LONG_RELEASED",
|
||||
"BUTTON_COMB_PRESSED",
|
||||
"BUTTON_COMB_RELEASED",
|
||||
"BUTTON_COMB_SHORT_PRESSED",
|
||||
"BUTTON_COMB_LONG_PRESSED",
|
||||
"BUTTON_COMB_LONG_PRESSING",
|
||||
"BUTTON_COMB_LONG_RELEASED",
|
||||
"BUTTON_COMB_LONG_LONG_PRESSED",
|
||||
"BUTTON_COMB_LONG_LONG_RELEASED",
|
||||
};
|
||||
|
||||
button_msg = (struct button_msg_t *)param;
|
||||
|
||||
printf("KEY 0x%08x, TYPE %s. %d\r\n", button_msg->button_index, button_type_str[button_msg->button_type],button_msg->button_type);
|
||||
|
||||
if(button_msg->button_type == BUTTON_SHORT_PRESSED) //short button
|
||||
{
|
||||
if(button_msg->button_index == BUTTON_PIN_NUM)
|
||||
{
|
||||
if(!gui_task_resume())
|
||||
gui_task_msg_send(BUTTON_KEY_EVT,NULL,0,NULL,0,NULL);
|
||||
}
|
||||
else if(button_msg->button_index == SOS_KEY_PIN_NUM)
|
||||
{
|
||||
// if(!gui_task_resume())
|
||||
// {
|
||||
// gui_task_msg_send(BUTTON_KEY2_EVT,NULL,0,NULL,0,NULL);
|
||||
// }
|
||||
}
|
||||
else if(button_msg->button_index == KEY1_PIN_NUM)
|
||||
{
|
||||
if(!gui_task_resume())
|
||||
{
|
||||
gui_task_msg_send(BUTTON_KEY1_EVT,NULL,0,NULL,0,NULL);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if(button_msg->button_type == BUTTON_LONG_PRESSED)//long
|
||||
{
|
||||
if(button_msg->button_index == BUTTON_PIN_NUM)
|
||||
{
|
||||
|
||||
}
|
||||
else if(button_msg->button_index == SOS_KEY_PIN_NUM)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void button_init(uint32_t enable_io)
|
||||
{
|
||||
button_io_mask = enable_io;
|
||||
|
||||
button_anti_shake_timer = xTimerCreate("button_anti_shake_timer", 10, pdFALSE, NULL, button_anti_shake_timeout_handler);
|
||||
button_pressing_timer = xTimerCreate("button_pressing_timer", BUTTON_LONG_PRESSING_INTERVAL * 10, pdFALSE, NULL, button_pressing_timeout_handler);
|
||||
button_state_timer = xTimerCreate("button_state_timer", 10 , pdFALSE, NULL, button_timeout_handler);
|
||||
|
||||
}
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
#ifndef _BUTTON_H
|
||||
#define _BUTTON_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
enum button_event_t
|
||||
{
|
||||
BUTTON_TOGGLE,
|
||||
BUTTON_PRESSED_EVENT,
|
||||
BUTTON_TIMER_TO_TIMER,
|
||||
BUTTON_PRESSING_TO_TIMER,
|
||||
BUTTON_ANTI_SHAKE_TO_TIMER,
|
||||
};
|
||||
|
||||
enum button_type_t
|
||||
{
|
||||
BUTTON_PRESSED,
|
||||
BUTTON_RELEASED,
|
||||
BUTTON_SHORT_PRESSED,
|
||||
BUTTON_MULTI_PRESSED,
|
||||
BUTTON_LONG_PRESSED,
|
||||
BUTTON_LONG_PRESSING,
|
||||
BUTTON_LONG_RELEASED,
|
||||
BUTTON_LONG_LONG_PRESSED,
|
||||
BUTTON_LONG_LONG_RELEASED,
|
||||
BUTTON_COMB_PRESSED,
|
||||
BUTTON_COMB_RELEASED,
|
||||
BUTTON_COMB_SHORT_PRESSED,
|
||||
BUTTON_COMB_LONG_PRESSED,
|
||||
BUTTON_COMB_LONG_PRESSING,
|
||||
BUTTON_COMB_LONG_RELEASED,
|
||||
BUTTON_COMB_LONG_LONG_PRESSED,
|
||||
BUTTON_COMB_LONG_LONG_RELEASED,
|
||||
};
|
||||
|
||||
enum button_working_state_t
|
||||
{
|
||||
BUTTON_WORKING_STATE_IDLE,
|
||||
BUTTON_WORKING_STATE_JUST_PRESSED,
|
||||
BUTTON_WORKING_STATE_PRESSED,
|
||||
BUTTON_WORKING_STATE_WAIT_MULTI,
|
||||
BUTTON_WORKING_STATE_LONG_PRESSED,
|
||||
BUTTON_WORKING_STATE_LONG_LONG_PRESSED,
|
||||
BUTTON_WORKING_STATE_COMB_JUST_PRESSED,
|
||||
BUTTON_WORKING_STATE_COMB_PRESSED,
|
||||
BUTTON_WORKING_STATE_COMB_LONG_PRESSED,
|
||||
BUTTON_WORKING_STATE_COMB_LONG_LONG_PRESSED,
|
||||
BUTTON_WORKING_STATE_MAX,
|
||||
};
|
||||
|
||||
enum button_working_event_t
|
||||
{
|
||||
BUTTON_WORKING_EVENT_RELEASED,
|
||||
BUTTON_WORKING_EVENT_SINGLE_PRESSED,
|
||||
BUTTON_WORKING_EVENT_COMB_PRESSED,
|
||||
BUTTON_WORKING_EVENT_TIME_OUT,
|
||||
};
|
||||
|
||||
struct button_toggle_param_t
|
||||
{
|
||||
uint32_t curr_button;
|
||||
uint32_t timestamp;
|
||||
};
|
||||
|
||||
struct button_msg_t
|
||||
{
|
||||
uint32_t button_index;
|
||||
uint8_t button_type;
|
||||
uint8_t button_cnt; // only for multi click
|
||||
};
|
||||
|
||||
void button_toggle_detected(uint32_t curr_button);
|
||||
|
||||
void button_int_isr(uint32_t changed_button);
|
||||
|
||||
void button_init(uint32_t enable_io);
|
||||
|
||||
int button_toggle_handler(uint32_t curr_button);
|
||||
void button_event_handler(void *param);
|
||||
|
||||
#endif //_BUTTON_H
|
|
@ -1,188 +0,0 @@
|
|||
#include "fr_device_charge.h"
|
||||
#include "app_lvgl.h"
|
||||
|
||||
|
||||
static uint8_t charge_status = CHARGING_IDLE;
|
||||
|
||||
|
||||
/************************************************************************************
|
||||
* @fn charge init
|
||||
*
|
||||
* @brief charge init
|
||||
*/
|
||||
void device_charge_init(void)
|
||||
{
|
||||
uint32_t timeout_count = 10;
|
||||
|
||||
/* enable charge function, and set charge current & voltage. */
|
||||
pmu_charge_enable(PMU_CHG_CUR_88mA, PMU_CHG_END_VOL_4_1);
|
||||
|
||||
#if 1
|
||||
while(timeout_count)
|
||||
{
|
||||
/* Check that the charger is connected */
|
||||
if (read_analog_status() & PMU_CHG_ACOK_STATUS_BIT)
|
||||
{ /* filter */
|
||||
//system_delay_us(100);
|
||||
|
||||
if (read_analog_status() & PMU_CHG_ACOK_STATUS_BIT)
|
||||
{ /* The charger is connected. Check out action */
|
||||
pmu_charge_monitor_en(PMU_CHARGING_OUT);
|
||||
|
||||
/* Check that the battery is full */
|
||||
pmu_battery_full_monitor_en(PMU_BATTERY_FULL);
|
||||
printf("charge config 1 \r\n");
|
||||
|
||||
charge_status = CHARGING_IN;
|
||||
charge_vbat_toggle_detected(charge_status);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{ /* filter */
|
||||
//system_delay_us(100);
|
||||
if ((read_analog_status() & PMU_CHG_ACOK_STATUS_BIT) == 0)
|
||||
{ /* The charger not connected. Check in action */
|
||||
pmu_charge_monitor_en(PMU_CHARGING_IN);
|
||||
|
||||
printf("charge config 2 \r\n");
|
||||
|
||||
charge_status = CHARGING_IDLE;
|
||||
charge_vbat_toggle_detected(charge_status);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
timeout_count--;
|
||||
if (timeout_count == 0)
|
||||
printf("ACOK status timeout");
|
||||
}
|
||||
|
||||
NVIC_EnableIRQ(PMU_IRQn);
|
||||
#endif
|
||||
//while(1);
|
||||
}
|
||||
|
||||
void PMU_Charge_Monitor_IRQHandler(void)
|
||||
{
|
||||
if (read_analog_status() & PMU_CHG_ACOK_STATUS_BIT)
|
||||
{
|
||||
//printf("charge in...\r\n");
|
||||
|
||||
/* The charger is connected. Check out action */
|
||||
pmu_charge_monitor_en(PMU_CHARGING_OUT);
|
||||
|
||||
/* Check that the battery is full */
|
||||
pmu_battery_full_monitor_en(PMU_BATTERY_FULL);
|
||||
|
||||
charge_status = CHARGING_IN;
|
||||
}
|
||||
else
|
||||
{
|
||||
//printf("charge out...\r\n");
|
||||
|
||||
/* The charger not connected. Check in action */
|
||||
pmu_charge_monitor_en(PMU_CHARGING_IN);
|
||||
|
||||
charge_status = CHARGING_OUT;
|
||||
}
|
||||
|
||||
charge_vbat_toggle_detected(charge_status);
|
||||
}
|
||||
|
||||
void PMU_Battery_Full_IRQHandler(void)
|
||||
{
|
||||
if (read_analog_status() & PMU_BATFULL_STATUS_BIT)
|
||||
{
|
||||
//printf("full...\r\n");
|
||||
|
||||
/* The battery is full. Check that the battery not full */
|
||||
pmu_battery_full_monitor_en(PMU_BATTERY_NOT_FULL);
|
||||
|
||||
charge_status = CHARGING_FULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
//printf("not full\r\n");
|
||||
|
||||
/* The battery not full. Check that the battery is full */
|
||||
pmu_battery_full_monitor_en(PMU_BATTERY_FULL);
|
||||
|
||||
charge_status = CHARGING_NOT_FULL;
|
||||
}
|
||||
|
||||
charge_vbat_toggle_detected(charge_status);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
send vbat charge status
|
||||
*/
|
||||
void charge_vbat_toggle_detected(uint8_t sat)
|
||||
{
|
||||
struct app_task_event *event;
|
||||
event = app_task_event_alloc(APP_TASK_EVENT_CHARGE_OUTPUT, sizeof(uint8_t), false);
|
||||
if(event)
|
||||
{
|
||||
memcpy(event->param, (void *)&sat, sizeof(uint8_t));
|
||||
event->param_len = sizeof(uint8_t);
|
||||
app_task_event_post(event, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void charge_event_handle(uint8_t param)
|
||||
{
|
||||
printf("%s param=%d \r\n",__func__,param);
|
||||
switch(param)
|
||||
{
|
||||
case CHARGING_IDLE:
|
||||
printf("---> CHARGING_IDLE \r\n");
|
||||
break;
|
||||
|
||||
case CHARGING_IN:
|
||||
printf("---> CHARGING_IN \r\n");
|
||||
if(gui_task_handle_is_active() == NULL)
|
||||
return;
|
||||
gui_task_resume();
|
||||
gui_task_msg_send(POWER_CHARGE_IN_EVT,NULL,0,NULL,0,NULL);
|
||||
break;
|
||||
|
||||
case CHARGING_OUT:
|
||||
printf("---> CHARGING_OUT \r\n");
|
||||
if(gui_task_handle_is_active() == NULL)
|
||||
return;
|
||||
gui_task_resume();
|
||||
gui_task_msg_send(POWER_CHARGE_OUT_EVT,NULL,0,NULL,0,NULL);
|
||||
break;
|
||||
|
||||
case CHARGING_FULL:
|
||||
printf("---> CHARGING_FULL \r\n");
|
||||
break;
|
||||
|
||||
case CHARGING_NOT_FULL:
|
||||
printf("---> CHARGING_NOT_FULL \r\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
uint8_t get_charge_status(void)
|
||||
{
|
||||
return charge_status;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
#ifndef __FR_DEVICE_CHARGE__
|
||||
#define __FR_DEVICE_CHARGE__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "fr30xx.h"
|
||||
#include "app_task.h"
|
||||
|
||||
#define read_analog_status() ool_read(PMU_REG_ANA_STATUS)
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CHARGING_IDLE = 0,
|
||||
CHARGING_IN,
|
||||
CHARGING_OUT,
|
||||
CHARGING_FULL,
|
||||
CHARGING_NOT_FULL,
|
||||
}enum_charge_type_t;
|
||||
|
||||
|
||||
|
||||
extern void device_charge_init(void);
|
||||
extern void charge_vbat_toggle_detected(uint8_t sat);
|
||||
extern void charge_event_handle(uint8_t param);
|
||||
extern uint8_t get_charge_status(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __FR_DEVICE_CHARGE__ */
|
|
@ -1,264 +0,0 @@
|
|||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include "driver_gpio.h"
|
||||
#include "fr30xx.h"
|
||||
#include "app_task.h"
|
||||
#include "fr_device_pmu_io.h"
|
||||
#include "fr_device_encode.h"
|
||||
#include "app_lvgl.h"
|
||||
|
||||
/* FreeRTOS kernel includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "timers.h"
|
||||
|
||||
extern uint8_t key_code;
|
||||
|
||||
#define ENCODE_FILO_LEN 16
|
||||
|
||||
static uint8_t encode_bit_status = 0;
|
||||
static uint8_t encode_bit_code = 0;
|
||||
|
||||
encode_type_t encode_table_filo[ENCODE_FILO_LEN];
|
||||
uint8_t encode_table_key[ENCODE_FILO_LEN];
|
||||
|
||||
uint8_t key_release_flag = 0;
|
||||
|
||||
const uint8_t encode_table_value[8][5] =
|
||||
{
|
||||
{0x01, 0x00, 0x02, 0x03, 0x01},
|
||||
{0x02, 0x03, 0x01, 0x00, 0x01},
|
||||
{0x03, 0x01, 0x00, 0x02, 0x01},
|
||||
{0x00, 0x02, 0x03, 0x01, 0x01},
|
||||
|
||||
|
||||
{0x02, 0x00, 0x01, 0x03, 0x02},
|
||||
{0x01, 0x03, 0x02, 0x00, 0x02},
|
||||
{0x03, 0x02, 0x00, 0x01, 0x02},
|
||||
{0x00, 0x01, 0x03, 0x02, 0x02},
|
||||
|
||||
};
|
||||
|
||||
uint32_t encode_last_time;
|
||||
static uint32_t get_encode_basetime(void)
|
||||
{
|
||||
uint32_t cur_base_time = portGET_RUN_TIME_COUNTER_VALUE();
|
||||
uint32_t diff;
|
||||
if(cur_base_time >= encode_last_time)
|
||||
diff = cur_base_time - encode_last_time;
|
||||
else
|
||||
diff = (((uint32_t)0xFFFFFFFF) - encode_last_time) + cur_base_time + 1;
|
||||
|
||||
encode_last_time = cur_base_time;
|
||||
return diff;
|
||||
}
|
||||
|
||||
|
||||
uint32_t encode_release_last_time;
|
||||
static uint32_t get_encode_release_basetime(void)
|
||||
{
|
||||
uint32_t cur_base_time = portGET_RUN_TIME_COUNTER_VALUE();
|
||||
uint32_t diff;
|
||||
if(cur_base_time >= encode_release_last_time)
|
||||
diff = cur_base_time - encode_release_last_time;
|
||||
else
|
||||
diff = (((uint32_t)0xFFFFFFFF) - encode_release_last_time) + cur_base_time + 1;
|
||||
|
||||
return diff;
|
||||
}
|
||||
|
||||
|
||||
void clear_encode_fifo(void)
|
||||
{
|
||||
encode_last_time = portGET_RUN_TIME_COUNTER_VALUE();
|
||||
memset(encode_table_filo,0,ENCODE_FILO_LEN*2);
|
||||
}
|
||||
|
||||
|
||||
void encode_push_key(uint8_t key_value)
|
||||
{
|
||||
uint8_t i;
|
||||
uint32_t time;
|
||||
|
||||
time = get_encode_basetime();
|
||||
if(time <= 3)
|
||||
{
|
||||
time += encode_table_filo[0].time;
|
||||
if(time > 0xff)
|
||||
time = 0xff;
|
||||
encode_table_filo[0].time = time;
|
||||
encode_table_filo[0].keyvalue = key_value;
|
||||
// printf("fiter");
|
||||
}
|
||||
else
|
||||
{
|
||||
for(i = ENCODE_FILO_LEN - 1; i > 0; i -- )
|
||||
{
|
||||
encode_table_filo[i] = encode_table_filo[i - 1];
|
||||
}
|
||||
encode_table_filo[0].keyvalue = key_value;
|
||||
|
||||
|
||||
if(time > 255)
|
||||
{
|
||||
encode_table_filo[0].time = 0xff;
|
||||
// printf("\n");
|
||||
// printf("\n");
|
||||
// printf("\n");
|
||||
// printf("\n");
|
||||
// printf("\n");
|
||||
// printf("\n");
|
||||
}
|
||||
else
|
||||
encode_table_filo[0].time = time;
|
||||
|
||||
}
|
||||
// printf("keyvlue:");
|
||||
// for(i = 0; i < 15; i ++ )
|
||||
// {
|
||||
// printf("%d/", encode_table_filo[i].keyvalue);
|
||||
// printf("%d ", encode_table_filo[i].time);
|
||||
// }
|
||||
// printf("\n");
|
||||
|
||||
}
|
||||
|
||||
|
||||
uint8_t get_encode_start(void)
|
||||
{
|
||||
uint8_t i = 0;
|
||||
while(i < ENCODE_FILO_LEN)
|
||||
{
|
||||
if(encode_table_filo[i].time == 0xff)
|
||||
{
|
||||
i ++;
|
||||
break;
|
||||
}
|
||||
i ++;
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
void encode_event_handle(uint8_t key_value)
|
||||
{
|
||||
|
||||
uint8_t len;
|
||||
uint8_t start;
|
||||
uint8_t i,j;
|
||||
|
||||
// if (get_charte_state())
|
||||
// return;
|
||||
// if (system_enter_music_flag)
|
||||
// return;
|
||||
|
||||
//printf("value %d\n", key_value);
|
||||
|
||||
start = get_encode_start();
|
||||
len = start;
|
||||
for(i = 0; i < len; i++)
|
||||
{
|
||||
encode_table_key[i] = encode_table_filo[start - 1].keyvalue;
|
||||
start --;
|
||||
}
|
||||
|
||||
if(len > 4)
|
||||
{
|
||||
j = 0;
|
||||
while(j < (len-4))
|
||||
{
|
||||
i = 0;
|
||||
while(i < 8)
|
||||
{
|
||||
if(memcmp(&encode_table_value[i][0],encode_table_key+j,4) == 0)
|
||||
{
|
||||
//if(!key_release_flag)
|
||||
{
|
||||
//os_timer_stop(&encode_release_timer);
|
||||
encode_bit_code = encode_table_value[i][4];
|
||||
//printf("code %d \n",encode_bit_code);
|
||||
key_release_flag = 1;
|
||||
|
||||
if(!gui_task_resume())
|
||||
{
|
||||
encode_release_last_time = portGET_RUN_TIME_COUNTER_VALUE();
|
||||
encode_bit_code |= 0x80;
|
||||
gui_task_msg_send(ENCODE_KEY_EVT,(void *)&encode_bit_code,1,NULL,0,NULL);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
i ++;
|
||||
}
|
||||
|
||||
j++;
|
||||
}
|
||||
|
||||
}
|
||||
else if((len >= 2) && (len <= 4))
|
||||
{
|
||||
i = 0;
|
||||
while(i < 8)
|
||||
{
|
||||
if(memcmp(&encode_table_value[i][0],encode_table_key,len) == 0)
|
||||
{
|
||||
//if(!key_release_flag)
|
||||
{
|
||||
//os_timer_stop(&encode_release_timer);
|
||||
encode_bit_code = encode_table_value[i][4];
|
||||
//printf("code %d \n",encode_bit_code);
|
||||
key_release_flag = 1;
|
||||
|
||||
if(!gui_task_resume())
|
||||
{
|
||||
encode_release_last_time = portGET_RUN_TIME_COUNTER_VALUE();
|
||||
encode_bit_code |= 0x80;
|
||||
gui_task_msg_send(ENCODE_KEY_EVT,(void *)&encode_bit_code,1,NULL,0,NULL);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
i ++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool encode_key_release(void)
|
||||
{
|
||||
if(get_encode_release_basetime() > 10)
|
||||
{
|
||||
key_code = 0;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void encode_toggle_detected(uint8_t curr_encode)
|
||||
{
|
||||
|
||||
//printf("encode %d \n",curr_encode);
|
||||
|
||||
if(encode_bit_status != curr_encode)
|
||||
{
|
||||
encode_bit_status = curr_encode;
|
||||
encode_push_key(curr_encode);
|
||||
|
||||
struct app_task_event *event;
|
||||
event = app_task_event_alloc(APP_TASK_EVENT_ENCODE_TOGGLE, sizeof(uint8_t), false);
|
||||
if(event)
|
||||
{
|
||||
memcpy(event->param, (void *)&curr_encode, sizeof(uint8_t));
|
||||
event->param_len = sizeof(uint8_t);
|
||||
app_task_event_post(event, false);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
#ifndef __FR_DEVICE_ENCODE_H__
|
||||
#define __FR_DEVICE_ENCODE_H__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t keyvalue;
|
||||
uint8_t time; //1 ms as unit
|
||||
}encode_type_t;
|
||||
|
||||
|
||||
bool encode_key_release(void);
|
||||
|
||||
void encode_toggle_detected(uint8_t curr_encode);
|
||||
void encode_event_handle(uint8_t key_value);
|
||||
|
||||
|
||||
#endif //__FR_DEVICE_ENCODE_H__
|
|
@ -1,38 +0,0 @@
|
|||
#include "fr_device_pa.h"
|
||||
|
||||
bool pa_enable_flag = false;
|
||||
|
||||
void device_pa_init(void)
|
||||
{
|
||||
GPIO_InitTypeDef gpio_config;
|
||||
|
||||
__SYSTEM_GPIOA_CLK_ENABLE();
|
||||
|
||||
gpio_config.Pin = GPIO_PIN_6;
|
||||
gpio_config.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpio_config.Pull = GPIO_PULLDOWN;
|
||||
gpio_config.Alternate = GPIO_FUNCTION_0;
|
||||
|
||||
gpio_init(GPIOA, &gpio_config);
|
||||
|
||||
pa_enable_flag = false;
|
||||
gpio_write_pin(GPIOA, GPIO_PIN_6, GPIO_PIN_CLEAR); //default:output low
|
||||
}
|
||||
|
||||
void device_pa_enable(void)
|
||||
{
|
||||
if(pa_enable_flag == false){
|
||||
printf("PA enable\r\n");
|
||||
pa_enable_flag = true;
|
||||
gpio_write_pin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET); //output high
|
||||
}
|
||||
}
|
||||
|
||||
void device_pa_disable(void)
|
||||
{
|
||||
if(pa_enable_flag == true){
|
||||
printf("PA disable\r\n");
|
||||
pa_enable_flag = false;
|
||||
gpio_write_pin(GPIOA, GPIO_PIN_6, GPIO_PIN_CLEAR); //output low
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
#ifndef __FR_DEVICE_PA__
|
||||
#define __FR_DEVICE_PA__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "fr30xx.h"
|
||||
#include "app_task.h"
|
||||
|
||||
|
||||
extern void device_pa_init(void);
|
||||
extern void device_pa_enable(void);
|
||||
extern void device_pa_disable(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __FR_DEVICE_PA__ */
|
|
@ -1,118 +0,0 @@
|
|||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "driver_gpio.h"
|
||||
#include "fr30xx.h"
|
||||
#include "app_lvgl.h"
|
||||
|
||||
#include "fr_device_pmu_io.h"
|
||||
#include "fr_device_button.h"
|
||||
#include "fr_device_encode.h"
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
|
||||
|
||||
#define BUTTON_DEBUG(fmt,arg...) printf("[BUTTON]"fmt,##arg)
|
||||
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* VARIABLES
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* EXTERN FUNCTIONS
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* FUNCTIONS
|
||||
**********************/
|
||||
|
||||
void device_pmu_io_init(void)
|
||||
{
|
||||
pmu_gpio_int_init(BUTTON_PIN_NUM, PMU_GPIO_PULL_UP, 1);
|
||||
pmu_gpio_int_init(SOS_KEY_PIN_NUM, PMU_GPIO_PULL_UP, 1);
|
||||
pmu_gpio_int_init(KEY1_PIN_NUM, PMU_GPIO_PULL_UP, 1);
|
||||
pmu_gpio_int_init(ENCONDED_A_PIN_NUM, PMU_GPIO_PULL_UP, 1);
|
||||
pmu_gpio_int_init(ENCONDED_B_PIN_NUM, PMU_GPIO_PULL_UP, 1);
|
||||
|
||||
pmu_enable_isr(PMU_GPIO_PMU_INT_MSK_BIT);
|
||||
NVIC_SetPriority(PMU_IRQn, 4);
|
||||
NVIC_EnableIRQ(PMU_IRQn);
|
||||
}
|
||||
|
||||
void PMU_GPIO_PMU_IRQHandler(void)
|
||||
{
|
||||
uint16_t data = ool_read16(PMU_REG_PIN_DATA);
|
||||
uint16_t result = ool_read16(PMU_REG_PIN_XOR_RESULT);
|
||||
/* update last value with latest data */
|
||||
ool_write16(PMU_REG_PIN_LAST_V, data);
|
||||
/* clear last XOR result */
|
||||
ool_write16(PMU_REG_PIN_XOR_CLR, result);
|
||||
|
||||
// printf("PMU IO: 0x%04x, 0x%04x\r\n", data, result);
|
||||
|
||||
if (data & PMU_PIN_9) {
|
||||
system_prevent_sleep_clear(SYSTEM_PREVENT_SLEEP_TYPE_HCI_RX);
|
||||
}
|
||||
else {
|
||||
system_prevent_sleep_set(SYSTEM_PREVENT_SLEEP_TYPE_HCI_RX);
|
||||
}
|
||||
|
||||
if (result & (ENCONDED_A_PIN_NUM | ENCONDED_B_PIN_NUM)) {
|
||||
uint8_t encode_bit_status;
|
||||
|
||||
if (!(data & ENCONDED_A_PIN_NUM))
|
||||
{
|
||||
encode_bit_status |= 0x02;
|
||||
}
|
||||
else
|
||||
{
|
||||
encode_bit_status &= 0xFD;
|
||||
}
|
||||
|
||||
if (!(data & ENCONDED_B_PIN_NUM))
|
||||
{
|
||||
encode_bit_status |= 0x01;
|
||||
}
|
||||
else
|
||||
{
|
||||
encode_bit_status &= 0xFE;
|
||||
}
|
||||
|
||||
encode_toggle_detected(encode_bit_status);
|
||||
}
|
||||
|
||||
if (result & (BUTTON_PIN_NUM | SOS_KEY_PIN_NUM | KEY1_PIN_NUM)) {
|
||||
button_toggle_detected(data);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
|
||||
#ifndef __FR_DEVICE_PMU_IO_H__
|
||||
#define __FR_DEVICE_PMU_IO_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "app_config.h"
|
||||
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
#if BOARD_SEL == BOARD_EVB_FR5090
|
||||
|
||||
#define BUTTON_PIN_NUM PMU_PIN_7
|
||||
#define SOS_KEY_PIN_NUM PMU_PIN_5
|
||||
#define KEY1_PIN_NUM PMU_PIN_4
|
||||
#define ENCONDED_A_PIN_NUM PMU_PIN_2
|
||||
#define ENCONDED_B_PIN_NUM PMU_PIN_3
|
||||
|
||||
#define PMU_IO_INTTERUPT_DEFAULT (BUTTON_PIN_NUM|SOS_KEY_PIN_NUM|KEY1_PIN_NUM|ENCONDED_A_PIN_NUM|ENCONDED_B_PIN_NUM)
|
||||
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E
|
||||
|
||||
#define BUTTON_PIN_NUM PMU_PIN_7
|
||||
#define SOS_KEY_PIN_NUM PMU_PIN_5
|
||||
#define KEY1_PIN_NUM PMU_PIN_4
|
||||
#define ENCONDED_A_PIN_NUM PMU_PIN_2
|
||||
#define ENCONDED_B_PIN_NUM PMU_PIN_3
|
||||
|
||||
#define PMU_IO_INTTERUPT_DEFAULT (BUTTON_PIN_NUM|SOS_KEY_PIN_NUM|ENCONDED_A_PIN_NUM|ENCONDED_B_PIN_NUM)
|
||||
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_CM
|
||||
|
||||
#define BUTTON_PIN_NUM PMU_PIN_4
|
||||
#define SOS_KEY_PIN_NUM PMU_PIN_5
|
||||
#define KEY1_PIN_NUM PMU_PIN_3
|
||||
#define ENCONDED_A_PIN_NUM PMU_PIN_7
|
||||
#define ENCONDED_B_PIN_NUM PMU_PIN_6
|
||||
|
||||
#define PMU_IO_INTTERUPT_DEFAULT (BUTTON_PIN_NUM|SOS_KEY_PIN_NUM|KEY1_PIN_NUM|ENCONDED_A_PIN_NUM|ENCONDED_B_PIN_NUM)
|
||||
|
||||
#elif BOARD_SEL == BOARD_EVB_FR3092E_RGB
|
||||
#define BUTTON_PIN_NUM PMU_PIN_7
|
||||
#define SOS_KEY_PIN_NUM PMU_PIN_5
|
||||
#define KEY1_PIN_NUM PMU_PIN_4
|
||||
#define ENCONDED_A_PIN_NUM PMU_PIN_2
|
||||
#define ENCONDED_B_PIN_NUM PMU_PIN_3
|
||||
|
||||
#define PMU_IO_INTTERUPT_DEFAULT (BUTTON_PIN_NUM|SOS_KEY_PIN_NUM|ENCONDED_A_PIN_NUM|ENCONDED_B_PIN_NUM)
|
||||
#else
|
||||
#error "choose correct board"
|
||||
#endif
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* VARIABLES
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
|
||||
//default Time zone
|
||||
|
||||
|
||||
/**********************
|
||||
* EXTERN FUNCTIONS
|
||||
**********************/
|
||||
|
||||
void device_pmu_io_init(void);
|
||||
|
||||
/**********************
|
||||
* FUNCTIONS
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif
|
|
@ -1,396 +0,0 @@
|
|||
|
||||
/**
|
||||
* @file fr_device_rtc.c
|
||||
*
|
||||
* @author tangzheng
|
||||
*/
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
/* Standard includes. */
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "fr30xx.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "lvgl.h"
|
||||
#include "fr_device_rtc.h"
|
||||
#include "fr_watch.h"
|
||||
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
#define RTC_DEBUG(fmt,arg...) printf("[RTC]"fmt,##arg)
|
||||
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
#define BLE_BASETIMECNT_MASK ((uint32_t)0xFFFFFFFF) //((uint32_t)0x4FFFFFF)
|
||||
|
||||
uint32_t system_rtc_tick = 0;
|
||||
uint32_t last_ke_time;
|
||||
|
||||
|
||||
/**********************
|
||||
* VARIABLES
|
||||
**********************/
|
||||
const unsigned char g_day_per_mon[MONTH_PER_YEAR] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
|
||||
|
||||
time_rtc_t rtc_time = {
|
||||
.ucYear = 2023,
|
||||
.ucMonth = 10,
|
||||
.ucDate = 1,
|
||||
.ucHour = 12,
|
||||
.ucMinute = 0,
|
||||
.ucSecond = 0,
|
||||
};
|
||||
|
||||
time_zone_t gSysTimeZone = {
|
||||
.h = 8,
|
||||
.m = 0,
|
||||
};
|
||||
|
||||
static uint32_t sys_utc_time;
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* EXTERN FUNCTIONS
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* FUNCTIONS
|
||||
**********************/
|
||||
unsigned char applib_dt_is_leap_year(unsigned short year)
|
||||
{
|
||||
if((year % 400) == 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if((year % 100) == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if((year % 4) == 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unsigned char applib_dt_last_day_of_mon(unsigned char month, unsigned short year)
|
||||
{
|
||||
if((month == 0) || (month > 12))
|
||||
{
|
||||
return g_day_per_mon[1] + applib_dt_is_leap_year(year);
|
||||
}
|
||||
|
||||
if(month != 2)
|
||||
{
|
||||
return g_day_per_mon[month - 1];
|
||||
}
|
||||
else
|
||||
{
|
||||
return g_day_per_mon[1] + applib_dt_is_leap_year(year);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unsigned int CalcWeekday(time_rtc_t time)
|
||||
{
|
||||
|
||||
char century_code, year_code, month_code, day_code;
|
||||
int week = 0;
|
||||
century_code = year_code = month_code = day_code = 0;
|
||||
if(time.ucMonth == 1 || time.ucMonth == 2)
|
||||
{
|
||||
century_code = (time.ucYear - 1) / 100;
|
||||
year_code = (time.ucYear - 1) % 100;
|
||||
month_code = time.ucMonth + 12;
|
||||
day_code = time.ucDate;
|
||||
}
|
||||
else
|
||||
{
|
||||
century_code = time.ucYear / 100;
|
||||
year_code = time.ucYear % 100;
|
||||
month_code = time.ucMonth;
|
||||
day_code = time.ucDate;
|
||||
}
|
||||
|
||||
week = year_code + year_code / 4 + century_code / 4 - 2 * century_code + 26 * (month_code + 1) / 10 + day_code - 1;
|
||||
week = week > 0 ? (week % 7) : ((week % 7) + 7);
|
||||
return week;
|
||||
|
||||
}
|
||||
|
||||
|
||||
unsigned int utc_time_to_sec(time_rtc_t* currTime)
|
||||
{
|
||||
|
||||
unsigned short i;
|
||||
unsigned int no_of_days = 0;
|
||||
int utc_time;
|
||||
|
||||
if(currTime->ucYear < UTC_BASE_YEAR)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* year */
|
||||
for(i = UTC_BASE_YEAR; i < currTime->ucYear; i++)
|
||||
{
|
||||
no_of_days += (DAY_PER_YEAR + applib_dt_is_leap_year(i));
|
||||
}
|
||||
|
||||
/* month */
|
||||
for(i = 1; i < currTime->ucMonth; i++)
|
||||
{
|
||||
no_of_days += applib_dt_last_day_of_mon((unsigned char) i, currTime->ucYear);
|
||||
}
|
||||
|
||||
/* day */
|
||||
no_of_days += (currTime->ucDate - 1);
|
||||
|
||||
|
||||
#if 0
|
||||
/* sec */
|
||||
//utc_time = (unsigned int) no_of_days * SEC_PER_DAY + (unsigned int)(currTime->ucHour * SEC_PER_HOUR +
|
||||
// currTime->ucMinute * SEC_PER_MIN + currTime->ucSecond);
|
||||
utc_time = (unsigned int) no_of_days * SEC_PER_DAY + (unsigned int)((currTime->ucHour-8) * SEC_PER_HOUR +
|
||||
currTime->ucMinute * SEC_PER_MIN + currTime->ucSecond);
|
||||
#else
|
||||
utc_time = (unsigned int) no_of_days * SEC_PER_DAY + (unsigned int)(currTime->ucHour * SEC_PER_HOUR +
|
||||
currTime->ucMinute * SEC_PER_MIN + currTime->ucSecond);
|
||||
utc_time -= (gSysTimeZone.h * 3600 + gSysTimeZone.m * 60);
|
||||
#endif
|
||||
|
||||
return utc_time;
|
||||
}
|
||||
|
||||
|
||||
void utc_sec_to_time(unsigned int utc_sec, time_rtc_t* result)
|
||||
{
|
||||
int sec, day;
|
||||
unsigned short y;
|
||||
unsigned char m;
|
||||
unsigned short d;
|
||||
//unsigned char dst;
|
||||
|
||||
#if 0
|
||||
if(daylightSaving)
|
||||
{
|
||||
utc_sec += SEC_PER_HOUR;
|
||||
}
|
||||
#endif
|
||||
|
||||
utc_sec = utc_sec + gSysTimeZone.h * 3600 + gSysTimeZone.m * 60;
|
||||
|
||||
/* hour, min, sec */
|
||||
/* hour */
|
||||
sec = utc_sec % SEC_PER_DAY;
|
||||
result->ucHour = sec / SEC_PER_HOUR;
|
||||
|
||||
/* min */
|
||||
sec %= SEC_PER_HOUR;
|
||||
result->ucMinute = sec / SEC_PER_MIN;
|
||||
|
||||
/* sec */
|
||||
result->ucSecond = sec % SEC_PER_MIN;
|
||||
|
||||
/* year, month, day */
|
||||
/* year */
|
||||
/* year */
|
||||
day = utc_sec / SEC_PER_DAY;
|
||||
for(y = UTC_BASE_YEAR; day > 0; y++)
|
||||
{
|
||||
d = (DAY_PER_YEAR + applib_dt_is_leap_year(y));
|
||||
if(day >= d)
|
||||
{
|
||||
day -= d;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result->ucYear = y;
|
||||
|
||||
for(m = 1; m < MONTH_PER_YEAR; m++)
|
||||
{
|
||||
d = applib_dt_last_day_of_mon(m, y);
|
||||
if(day >= d)
|
||||
{
|
||||
day -= d;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result->ucMonth = m;
|
||||
result->ucDate = (unsigned char)(day + 1);
|
||||
|
||||
//result->DayIndex = applib_dt_dayindex(result->ncYear, result->ucMonth, result->ucDate);
|
||||
}
|
||||
|
||||
|
||||
unsigned char system_time_set_time_zone(time_zone_t set)
|
||||
{
|
||||
if(gSysTimeZone.h == set.h && gSysTimeZone.m == set.m)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
gSysTimeZone = set;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
void system_time_set(time_rtc_t set)
|
||||
{
|
||||
rtc_time = set;
|
||||
}
|
||||
|
||||
|
||||
time_rtc_t *system_time_get(void)
|
||||
{
|
||||
return &rtc_time;
|
||||
}
|
||||
|
||||
|
||||
time_zone_t *system_time_get_timeZone(void)
|
||||
{
|
||||
return &gSysTimeZone;
|
||||
}
|
||||
|
||||
//date & time
|
||||
bool CalcDoYear(uint16_t ucYear)
|
||||
{
|
||||
if((ucYear % 400 == 0)
|
||||
||((ucYear % 4 == 0) && (ucYear % 100 != 0)))
|
||||
{
|
||||
return 1; //run nian
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t CalcMaxDate(time_rtc_t time)
|
||||
{
|
||||
uint8_t dates;
|
||||
switch(time.ucMonth)
|
||||
{
|
||||
case 1:
|
||||
case 3:
|
||||
case 5:
|
||||
case 7:
|
||||
case 8:
|
||||
case 10:
|
||||
case 12:
|
||||
dates = 31;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if(CalcDoYear(time.ucYear))
|
||||
dates = 29; //run nian
|
||||
else
|
||||
dates = 28;
|
||||
break;
|
||||
case 4:
|
||||
case 6:
|
||||
case 9:
|
||||
case 11:
|
||||
dates = 30;
|
||||
break;
|
||||
}
|
||||
|
||||
return dates;
|
||||
}
|
||||
|
||||
|
||||
uint32_t system_get_curr_time(void)
|
||||
{
|
||||
return portGET_RUN_TIME_COUNTER_VALUE();
|
||||
//return system_rtc_tick;
|
||||
}
|
||||
|
||||
|
||||
static uint32_t get_sys_ke_basetime(void)
|
||||
{
|
||||
uint32_t cur_base_time = system_get_curr_time();
|
||||
uint32_t diff;
|
||||
if(cur_base_time >= last_ke_time)
|
||||
diff = cur_base_time - last_ke_time;
|
||||
else
|
||||
diff = (BLE_BASETIMECNT_MASK - last_ke_time) + cur_base_time + 1;
|
||||
|
||||
return diff;
|
||||
}
|
||||
|
||||
void dev_rtc_time_init(void)
|
||||
{
|
||||
|
||||
sys_utc_time = utc_time_to_sec(&rtc_time);
|
||||
|
||||
last_ke_time = system_get_curr_time();
|
||||
|
||||
}
|
||||
|
||||
unsigned int get_sys_utc_time(void)
|
||||
{
|
||||
return sys_utc_time;
|
||||
}
|
||||
|
||||
void fr_system_update_utc_time(time_rtc_t *cur_time)
|
||||
{
|
||||
sys_utc_time = utc_time_to_sec(cur_time);
|
||||
}
|
||||
|
||||
void rtc_running(void)
|
||||
{
|
||||
|
||||
uint32_t diff = get_sys_ke_basetime();
|
||||
if( diff > 1000 )
|
||||
{
|
||||
uint32_t temp_time_value=0;
|
||||
temp_time_value = diff / 1000;
|
||||
last_ke_time += temp_time_value*1000;
|
||||
//if( last_ke_time > BLE_BASETIMECNT_MASK)
|
||||
// last_ke_time -= (BLE_BASETIMECNT_MASK+1);
|
||||
|
||||
sys_utc_time += temp_time_value;
|
||||
|
||||
utc_sec_to_time(sys_utc_time,&sync_cm3_data.time);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
/**
|
||||
* @file fr_device_rtc.h
|
||||
*
|
||||
* @author tangzheng
|
||||
*/
|
||||
|
||||
#ifndef __FR_DEVICE_RTC_H__
|
||||
#define __FR_DEVICE_RTC_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
|
||||
typedef struct {
|
||||
signed char h;
|
||||
signed char m;
|
||||
}time_zone_t;
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* VARIABLES
|
||||
**********************/
|
||||
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
#define UTC_BASE_YEAR 1970
|
||||
#define MONTH_PER_YEAR 12
|
||||
#define DAY_PER_YEAR 365
|
||||
#define SEC_PER_DAY 86400
|
||||
#define SEC_PER_HOUR 3600
|
||||
#define SEC_PER_MIN 60
|
||||
|
||||
//default Time zone
|
||||
#define DEFAULT_TIME_ZONE {8, 00}
|
||||
|
||||
/**********************
|
||||
* EXTERN FUNCTIONS
|
||||
**********************/
|
||||
extern void rtc_running(void);
|
||||
extern void dev_rtc_time_init(void);
|
||||
extern unsigned int get_sys_utc_time(void);
|
||||
|
||||
/**********************
|
||||
* FUNCTIONS
|
||||
**********************/
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif
|
|
@ -1,386 +0,0 @@
|
|||
#include "fr_device_vbat.h"
|
||||
#include "fr_device_charge.h"
|
||||
#include "fr_watch.h"
|
||||
|
||||
uint16_t CH_Data[10];
|
||||
uint8_t Bat_voltage = 0;
|
||||
bool bat_filo_init_flag = false;
|
||||
/************************************************************************************
|
||||
* @fn adc vbat start
|
||||
*
|
||||
* @brief adc vbat start
|
||||
*/
|
||||
void device_vbat_init(enum_ADC_Demo_t fe_demo)
|
||||
{
|
||||
adc_InitConfig_t ADC_Config;
|
||||
|
||||
__SYSTEM_ADC_CLK_ENABLE();
|
||||
|
||||
pmu_adc_power_ctrl(true);
|
||||
pmu_vbe_power_ctrl(true);
|
||||
|
||||
switch(0)
|
||||
{
|
||||
case ADC_SOFTWARE_TRIGGER_MODE:
|
||||
{
|
||||
ADC_Config.ADC_Reference = ADC_REF_IOLDO;
|
||||
ADC_Config.ADC_TriggerMode = ADC_SOFTWARE_TRIGGER;
|
||||
|
||||
#if 0
|
||||
adc_set_channel_maping(0, ADC_CHANNEL_MAP_PMU_P4);
|
||||
adc_set_channel_maping(1, ADC_CHANNEL_MAP_PMU_P5);
|
||||
adc_set_channel_maping(2, ADC_CHANNEL_MAP_PMU_P6);
|
||||
adc_set_channel_maping(3, ADC_CHANNEL_MAP_PMU_P7);
|
||||
adc_set_channel_maping(4, ADC_CHANNEL_MAP_VABT);
|
||||
adc_set_channel_maping(5, ADC_CHANNEL_MAP_VBE);
|
||||
#else
|
||||
adc_set_channel_maping(4, ADC_CHANNEL_MAP_VBAT);
|
||||
#endif
|
||||
|
||||
adc_init(ADC_Config);
|
||||
|
||||
adc_soft_trigger_convert(4);
|
||||
while(!adc_get_channel_valid_status(4));
|
||||
|
||||
uint16_t adc_result = adc_get_channel_data(4);
|
||||
uint16_t vbat_vol = adc_result * 4 * 3300 / 1023;
|
||||
|
||||
//init filo
|
||||
if(!bat_filo_init_flag)
|
||||
{
|
||||
battery_value_fifo_init(vbat_vol);
|
||||
bat_filo_init_flag = true;
|
||||
}
|
||||
|
||||
//transform to precentage
|
||||
//Bat_voltage = transform_battery(vbat_vol);
|
||||
Bat_voltage = battery_value_fifo_inc(transform_battery(vbat_vol));
|
||||
|
||||
sync_cm3_data.battery.battery_value = Bat_voltage;
|
||||
|
||||
printf("adc %d vol %d prec %d \r\n",adc_result,vbat_vol,Bat_voltage);
|
||||
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
#if 0
|
||||
case ADC_HARDWARE_TRIGGER_LOOP_MODE:
|
||||
{
|
||||
ADC_Config.ADC_Reference = ADC_REF_IOLDO;
|
||||
ADC_Config.ADC_TriggerMode = ADC_HARDWARE_TRIGGER;
|
||||
ADC_Config.HardTriggerConfig.ADC_Channel_Max = 6;
|
||||
ADC_Config.HardTriggerConfig.ADC_Convert_Mode = ADC_LOOP_MODE;
|
||||
|
||||
adc_init(ADC_Config);
|
||||
|
||||
adc_set_channel_maping(0, ADC_CHANNEL_MAP_PMU_P4);
|
||||
adc_set_channel_maping(1, ADC_CHANNEL_MAP_PMU_P5);
|
||||
adc_set_channel_maping(2, ADC_CHANNEL_MAP_PMU_P6);
|
||||
adc_set_channel_maping(3, ADC_CHANNEL_MAP_PMU_P7);
|
||||
adc_set_channel_maping(4, ADC_CHANNEL_MAP_VABT);
|
||||
adc_set_channel_maping(5, ADC_CHANNEL_MAP_VBE);
|
||||
|
||||
adc_convert_start();
|
||||
|
||||
while(1)
|
||||
{
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
if (adc_get_channel_valid_status(i))
|
||||
{
|
||||
CH_Data[i] = adc_get_channel_data(i);
|
||||
printf("Channel:%d, DATA:%d\r\n", i, CH_Data[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}break;
|
||||
|
||||
case ADC_HARDWARE_TRIGGER_IT_MODE:
|
||||
{
|
||||
ADC_Config.ADC_Reference = ADC_REF_IOLDO;
|
||||
ADC_Config.ADC_TriggerMode = ADC_HARDWARE_TRIGGER;
|
||||
ADC_Config.HardTriggerConfig.ADC_Channel_Max = 6;
|
||||
ADC_Config.HardTriggerConfig.ADC_Convert_Mode = ADC_LOOP_MODE;
|
||||
|
||||
adc_init(ADC_Config);
|
||||
|
||||
adc_set_channel_maping(0, ADC_CHANNEL_MAP_PMU_P4);
|
||||
adc_set_channel_maping(1, ADC_CHANNEL_MAP_PMU_P5);
|
||||
adc_set_channel_maping(2, ADC_CHANNEL_MAP_PMU_P6);
|
||||
adc_set_channel_maping(3, ADC_CHANNEL_MAP_PMU_P7);
|
||||
adc_set_channel_maping(4, ADC_CHANNEL_MAP_VABT);
|
||||
adc_set_channel_maping(5, ADC_CHANNEL_MAP_VBE);
|
||||
|
||||
adc_convert_start_IT();
|
||||
|
||||
NVIC_EnableIRQ(ADC_IRQn);
|
||||
|
||||
while(1);
|
||||
}break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
get vbat voltage
|
||||
*/
|
||||
uint16_t device_get_vbat(void)
|
||||
{
|
||||
return Bat_voltage;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
adc vbat event handle
|
||||
*/
|
||||
void adc_vbat_event_handle(void)
|
||||
{
|
||||
device_vbat_init(ADC_SOFTWARE_TRIGGER_MODE);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
adc vbat start detect
|
||||
*/
|
||||
void adc_vbat_start_detect(void)
|
||||
{
|
||||
struct app_task_event *event;
|
||||
event = app_task_event_alloc(APP_TASK_EVENT_ADC_VBAT_DETECT, 0, false);
|
||||
if(event)
|
||||
{
|
||||
//memcpy(event->param, (void *)&curr_button, sizeof(uint32_t));
|
||||
//event->param_len = sizeof(uint32_t);
|
||||
app_task_event_post(event, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
adc isr
|
||||
*/
|
||||
void adc_irq(void)
|
||||
{
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
if (adc_get_channel_valid_status(i))
|
||||
{
|
||||
//printf("int channel: %d, DATA:%d\r\n", i, adc_get_channel_data(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
const uint16_t g_battery_table[] =
|
||||
{
|
||||
//0-10 //3405
|
||||
3405,
|
||||
3410,
|
||||
3415,
|
||||
3420,
|
||||
3425,
|
||||
3430,
|
||||
3435,
|
||||
3440,
|
||||
3446,
|
||||
3452,
|
||||
|
||||
//10-20 //3458
|
||||
3458,
|
||||
3464,
|
||||
3470,
|
||||
3476,
|
||||
3482,
|
||||
3488,
|
||||
3494,
|
||||
3500,
|
||||
3506,
|
||||
3512,
|
||||
|
||||
//20-30 //3519
|
||||
3516,
|
||||
3520,
|
||||
3524,
|
||||
3528,
|
||||
3532,
|
||||
3536,
|
||||
3540,
|
||||
3544,
|
||||
3548,
|
||||
3552,
|
||||
|
||||
//30-40 //3555
|
||||
3556,
|
||||
3560,
|
||||
3564,
|
||||
3568,
|
||||
3572,
|
||||
3576,
|
||||
3579,
|
||||
3582,
|
||||
3585,
|
||||
3588,
|
||||
|
||||
//40-50 //3590
|
||||
3591,
|
||||
3594,
|
||||
3597,
|
||||
3602,
|
||||
3605,
|
||||
3608,
|
||||
3611,
|
||||
3614,
|
||||
3617,
|
||||
3620,
|
||||
|
||||
// 3800 --> 50% //3623
|
||||
//50-60
|
||||
3623,
|
||||
3627,
|
||||
3631,
|
||||
3635,
|
||||
3639,
|
||||
3643,
|
||||
3647,
|
||||
3652,
|
||||
3657,
|
||||
3662,
|
||||
|
||||
// 3844
|
||||
//60-70 //3667
|
||||
3667,
|
||||
3673,
|
||||
3679,
|
||||
3685,
|
||||
3691,
|
||||
3697,
|
||||
3703,
|
||||
3710,
|
||||
3717,
|
||||
3724,
|
||||
// 3920
|
||||
//70-80 //3731
|
||||
3731,
|
||||
3739,
|
||||
3747,
|
||||
3755,
|
||||
3763,
|
||||
3771,
|
||||
3779,
|
||||
3787,
|
||||
3795,
|
||||
3803,
|
||||
//3980
|
||||
//80-90 //3812
|
||||
3811,
|
||||
3819,
|
||||
3827,
|
||||
3835,
|
||||
3843,
|
||||
3851,
|
||||
3859,
|
||||
3867,
|
||||
3875,
|
||||
3883,
|
||||
//4040
|
||||
//90-100 //3830
|
||||
3900,
|
||||
3915,
|
||||
3930,
|
||||
3945,
|
||||
3960,
|
||||
3975,
|
||||
3990,
|
||||
4005,
|
||||
4020,
|
||||
4050,
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
uint8_t transform_battery(uint16_t battery_value)
|
||||
{
|
||||
uint8_t i = 100;
|
||||
|
||||
while(i > 0)
|
||||
{
|
||||
if(battery_value >= g_battery_table[i - 1])
|
||||
{
|
||||
break;
|
||||
}
|
||||
i --;
|
||||
}
|
||||
|
||||
return i;
|
||||
|
||||
}
|
||||
|
||||
#define BATTERY_FIFO_MAX 20
|
||||
uint8_t battery_detect_fifo[BATTERY_FIFO_MAX];
|
||||
|
||||
void battery_value_fifo_init(uint16_t value)
|
||||
{
|
||||
uint8_t voltage = transform_battery(value);
|
||||
|
||||
for(uint8_t i = 0; i < BATTERY_FIFO_MAX; i ++ )
|
||||
{
|
||||
battery_detect_fifo[i] = voltage;
|
||||
}
|
||||
|
||||
Bat_voltage = voltage;
|
||||
}
|
||||
|
||||
uint8_t battery_value_fifo_inc(uint8_t value)
|
||||
{
|
||||
|
||||
for(uint8_t i = 0; i < (BATTERY_FIFO_MAX - 1); i ++ )
|
||||
{
|
||||
battery_detect_fifo[(BATTERY_FIFO_MAX - 1) - i] = battery_detect_fifo[(BATTERY_FIFO_MAX - 2) - i];
|
||||
}
|
||||
battery_detect_fifo[0] = value;
|
||||
|
||||
uint32_t battery_total = 0;
|
||||
for(uint8_t i = 0; i < BATTERY_FIFO_MAX; i ++ )
|
||||
{
|
||||
battery_total += battery_detect_fifo[i];
|
||||
}
|
||||
|
||||
uint8_t averages = battery_total / BATTERY_FIFO_MAX;
|
||||
|
||||
if(get_charge_status() == CHARGING_IN)
|
||||
{
|
||||
return averages;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(averages > Bat_voltage)
|
||||
{
|
||||
return Bat_voltage;
|
||||
}
|
||||
else
|
||||
{
|
||||
return averages;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
#ifndef __FR_DEVICE_BATTERY__
|
||||
#define __FR_DEVICE_BATTERY__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "fr30xx.h"
|
||||
#include "app_task.h"
|
||||
/* ADC demo select */
|
||||
typedef enum
|
||||
{
|
||||
ADC_SOFTWARE_TRIGGER_MODE,
|
||||
ADC_HARDWARE_TRIGGER_LOOP_MODE,
|
||||
ADC_HARDWARE_TRIGGER_IT_MODE,
|
||||
}enum_ADC_Demo_t;
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
|
||||
extern void device_vbat_init(enum_ADC_Demo_t fe_demo);
|
||||
extern void adc_vbat_event_handle(void);
|
||||
extern void adc_vbat_start_detect(void);
|
||||
|
||||
extern uint8_t transform_battery(uint16_t battery_value);
|
||||
extern uint8_t battery_value_fifo_inc(uint8_t value);
|
||||
extern void battery_value_fifo_init(uint16_t value);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __FR_DEVICE_BATTERY__ */
|
|
@ -1,514 +0,0 @@
|
|||
/**
|
||||
*********************************************************************************************************
|
||||
* @file lfs_port.c
|
||||
* @brief
|
||||
* @details
|
||||
* @author tang zheng
|
||||
* @date 2022-08-27
|
||||
* @version v0.1
|
||||
* *********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
#include "fr30xx.h"
|
||||
#include "lfs_port.h"
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "queue.h"
|
||||
#include "semphr.h"
|
||||
|
||||
#define ACCESS_EXTERN_FLASH_WIDTH_32BITS 1
|
||||
|
||||
lfs_t lfs;
|
||||
|
||||
QueueHandle_t lfs_semaphore;
|
||||
|
||||
|
||||
volatile bool lfs_flash_read_dma_int = true;
|
||||
|
||||
void lfs_flash_read_callback(void)
|
||||
{
|
||||
lfs_flash_read_dma_int = false;
|
||||
}
|
||||
|
||||
|
||||
static int lfs_custom_flash_read(const struct lfs_config *c, lfs_block_t block,
|
||||
lfs_off_t off, void *buffer, lfs_size_t size)
|
||||
{
|
||||
|
||||
#ifdef LFS_EXT_FLASH
|
||||
|
||||
//IC_W25Qxx_Read_Data((uint8_t *)buffer, LFS_FLASH_START_ADRRESS+(block * c->block_size), size);
|
||||
//IC_W25Qxx_Read_Dual_Output((uint8_t *)buffer, LFS_FLASH_START_ADRRESS+(block * c->block_size), size);
|
||||
#if ACCESS_EXTERN_FLASH_WIDTH_32BITS == 0
|
||||
IC_W25Qxx_Read_Quad_Output((uint8_t *)buffer, LFS_FLASH_START_ADRRESS+(block * c->block_size), size);
|
||||
#else
|
||||
assert((size & 0x03) == 0);
|
||||
assert(((uint32_t)buffer & 0x03) == 0);
|
||||
__SPI_DISABLE(spi_flash_handle.SPIx);
|
||||
__SPI_DATA_FRAME_SIZE(spi_flash_handle.SPIx, SPI_FRAME_SIZE_32BIT);
|
||||
__SPI_RX_ENDIAN_SET(spi_flash_handle.SPIx, TX_RX_Endian_1234);
|
||||
IC_W25Qxx_Read_Quad_Output((uint8_t *)buffer, LFS_FLASH_START_ADRRESS+(block * c->block_size), size>>2);
|
||||
__SPI_DISABLE(spi_flash_handle.SPIx);
|
||||
__SPI_DATA_FRAME_SIZE(spi_flash_handle.SPIx, SPI_FRAME_SIZE_8BIT);
|
||||
__SPI_RX_ENDIAN_SET(spi_flash_handle.SPIx, TX_RX_Endian_4321);
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
//printf("E ................\r\n");
|
||||
lfs_flash_read_dma_int = true;
|
||||
IC_W25Qxx_Set_Read_Callback(lfs_flash_read_callback);
|
||||
//IC_W25Qxx_Read_Dual_Output_DMA((uint8_t *)buffer, LFS_FLASH_START_ADRRESS+(block * c->block_size), size);
|
||||
IC_W25Qxx_Read_Quad_Output_DMA((uint8_t *)buffer, LFS_FLASH_START_ADRRESS+(block * c->block_size), size);
|
||||
while(lfs_flash_read_dma_int)
|
||||
{
|
||||
vTaskDelay(1);
|
||||
printf("f w \r\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
lfs_flash_read_dma_int = true;
|
||||
IC_W25Qxx_Set_Read_Callback(lfs_flash_read_callback);
|
||||
//IC_W25Qxx_Read_Data_IT
|
||||
//IC_W25Qxx_Read_Dual_Output_IT
|
||||
//IC_W25Qxx_Read_Quad_Output_IT
|
||||
IC_W25Qxx_Read_Quad_Output_IT((uint8_t *)buffer, LFS_FLASH_START_ADRRESS+(block * c->block_size), size);
|
||||
while(lfs_flash_read_dma_int)
|
||||
{
|
||||
//vTaskDelay(1);
|
||||
printf("f w \r\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#else
|
||||
|
||||
flash_read(LFS_FLASH_START_ADRRESS+(block * c->block_size)+off,size,(uint8_t *)buffer);
|
||||
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int lfs_custom_flash_write(const struct lfs_config *c, lfs_block_t block,
|
||||
lfs_off_t off, const void *buffer, lfs_size_t size)
|
||||
{
|
||||
|
||||
#ifdef LFS_EXT_FLASH
|
||||
|
||||
//IC_W25Qxx_PageProgram((uint8_t *)buffer, LFS_FLASH_START_ADRRESS+(block * c->block_size), size);
|
||||
IC_W25Qxx_PageProgram_Quad((uint8_t *)buffer, LFS_FLASH_START_ADRRESS+(block * c->block_size), size);
|
||||
|
||||
#else
|
||||
|
||||
flash_write(LFS_FLASH_START_ADRRESS+(block * c->block_size)+off,size,(uint8_t *)buffer);
|
||||
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int lfs_custom_flash_erase(const struct lfs_config *c, lfs_block_t block)
|
||||
{
|
||||
|
||||
#ifdef LFS_EXT_FLASH
|
||||
|
||||
IC_W25Qxx_EraseSector(LFS_FLASH_START_ADRRESS+(block * c->block_size));
|
||||
|
||||
#else
|
||||
|
||||
flash_erase(LFS_FLASH_START_ADRRESS+(block * c->block_size), HAL_FLASH_BLOCK_4K);
|
||||
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int lfs_custom_flash_sync(const struct lfs_config *c)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t lfs_free_size(void)
|
||||
{
|
||||
int16_t block;
|
||||
|
||||
block=LFS_FLASH_SIZE/HAL_FLASH_BLOCK_4K-lfs_fs_size(&lfs);
|
||||
|
||||
if(block >= 0)
|
||||
{
|
||||
return block*HAL_FLASH_BLOCK_4K;
|
||||
}
|
||||
else
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
int lfs_port_lock(const struct lfs_config *c)
|
||||
{
|
||||
|
||||
uint32_t time_out_counter = 0;
|
||||
|
||||
while(xSemaphoreTake( lfs_semaphore, 0 ) != pdPASS)
|
||||
{
|
||||
vTaskDelay(1);
|
||||
time_out_counter ++;
|
||||
if(time_out_counter >= 1000)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
// if( xSemaphoreTake( lfs_semaphore, 0 ) != pdPASS )
|
||||
// {
|
||||
// return -1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// return 0;
|
||||
// }
|
||||
}
|
||||
|
||||
int lfs_port_unlock(const struct lfs_config *c)
|
||||
{
|
||||
|
||||
if( xSemaphoreGive( lfs_semaphore ) != pdPASS )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int extern_flash_lock(void)
|
||||
{
|
||||
|
||||
if( xSemaphoreTake( lfs_semaphore, 0 ) != pdPASS )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
int extern_flash_unlock(void)
|
||||
{
|
||||
|
||||
if( xSemaphoreGive( lfs_semaphore ) != pdPASS )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void extern_flash_read(uint8_t *Buffer, uint32_t flash_Address, uint32_t Length)
|
||||
{
|
||||
while(extern_flash_lock())
|
||||
{
|
||||
vTaskDelay(1);
|
||||
}
|
||||
|
||||
//IC_W25Qxx_Read_Quad_Output(Buffer, (flash_Address & 0x3fffffff), Length);
|
||||
|
||||
// while (Length) {
|
||||
// uint32_t read_length;
|
||||
// read_length = Length > 64 ? 64 : Length;
|
||||
// IC_W25Qxx_Read_Quad_Output(Buffer, (flash_Address & 0x3fffffff), read_length);
|
||||
// Buffer += read_length;
|
||||
// flash_Address += read_length;
|
||||
// Length -= read_length;
|
||||
// }
|
||||
|
||||
//DMA
|
||||
#if ACCESS_EXTERN_FLASH_WIDTH_32BITS == 0
|
||||
lfs_flash_read_dma_int = true;
|
||||
IC_W25Qxx_Set_Read_Callback(lfs_flash_read_callback);
|
||||
IC_W25Qxx_Read_Quad_Output_DMA(Buffer, (flash_Address & 0x3fffffff), Length);
|
||||
while(lfs_flash_read_dma_int)
|
||||
{
|
||||
vTaskDelay(1);
|
||||
}
|
||||
#else
|
||||
__SPI_DISABLE(spi_flash_handle.SPIx);
|
||||
__SPI_DATA_FRAME_SIZE(spi_flash_handle.SPIx, SPI_FRAME_SIZE_32BIT);
|
||||
__SPI_RX_ENDIAN_SET(spi_flash_handle.SPIx, TX_RX_Endian_1234);
|
||||
while (Length) {
|
||||
#define MAX_READ_FRAME_SIZE (64*4*1)
|
||||
uint32_t single_length;
|
||||
if (Length >= MAX_READ_FRAME_SIZE) {
|
||||
single_length = MAX_READ_FRAME_SIZE;
|
||||
|
||||
lfs_flash_read_dma_int = true;
|
||||
IC_W25Qxx_Set_Read_Callback(lfs_flash_read_callback);
|
||||
IC_W25Qxx_Read_Quad_Output_DMA(Buffer, (flash_Address & 0x3fffffff), single_length>>2);
|
||||
while(lfs_flash_read_dma_int)
|
||||
{
|
||||
// vTaskDelay(1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
single_length = Length & (~0x03);
|
||||
if (single_length) {
|
||||
lfs_flash_read_dma_int = true;
|
||||
IC_W25Qxx_Set_Read_Callback(lfs_flash_read_callback);
|
||||
IC_W25Qxx_Read_Quad_Output_DMA(Buffer, (flash_Address & 0x3fffffff), single_length>>2);
|
||||
while(lfs_flash_read_dma_int)
|
||||
{
|
||||
// vTaskDelay(1);
|
||||
}
|
||||
Buffer += single_length;
|
||||
flash_Address += single_length;
|
||||
Length -= single_length;
|
||||
}
|
||||
single_length = Length;
|
||||
if (single_length) {
|
||||
uint32_t value;
|
||||
IC_W25Qxx_Read_Quad_Output((void *)&value, (flash_Address & 0x3fffffff), sizeof(uint32_t)>>2);
|
||||
memcpy(Buffer, (void *)&value, single_length);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Buffer += single_length;
|
||||
flash_Address += single_length;
|
||||
Length -= single_length;
|
||||
}
|
||||
__SPI_DISABLE(spi_flash_handle.SPIx);
|
||||
__SPI_DATA_FRAME_SIZE(spi_flash_handle.SPIx, SPI_FRAME_SIZE_8BIT);
|
||||
__SPI_RX_ENDIAN_SET(spi_flash_handle.SPIx, TX_RX_Endian_4321);
|
||||
#endif
|
||||
|
||||
extern_flash_unlock();
|
||||
}
|
||||
|
||||
#if 0
|
||||
void extern_flash_write(uint8_t *Buffer, uint32_t flash_Address, uint32_t Length)
|
||||
{
|
||||
while(extern_flash_lock())
|
||||
{
|
||||
vTaskDelay(1);
|
||||
}
|
||||
//IC_W25Qxx_PageProgram_Quad((uint8_t *)Buffer, (flash_Address & 0x3fffffff), Length);
|
||||
IC_W25Qxx_PageProgram((uint8_t *)Buffer, (flash_Address & 0x3fffffff), Length);
|
||||
extern_flash_unlock();
|
||||
}
|
||||
#endif
|
||||
void extern_flash_write(uint8_t *Buffer, uint32_t flash_Address, uint32_t Length)
|
||||
{
|
||||
while(extern_flash_lock())
|
||||
{
|
||||
vTaskDelay(1);
|
||||
}
|
||||
uint32_t Page_aligned=0;
|
||||
Page_aligned=256-(flash_Address%256);
|
||||
if(Length<=Page_aligned)
|
||||
Page_aligned=Length;
|
||||
while(1)
|
||||
{
|
||||
IC_W25Qxx_PageProgram(Buffer,flash_Address,Page_aligned);
|
||||
if(Length==Page_aligned)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
Buffer+=Page_aligned;
|
||||
flash_Address+=Page_aligned;
|
||||
Length-=Page_aligned;
|
||||
if(Length>256)
|
||||
Page_aligned=256;
|
||||
else
|
||||
Page_aligned=Length;
|
||||
}
|
||||
vTaskDelay(1);
|
||||
};
|
||||
extern_flash_unlock();
|
||||
}
|
||||
|
||||
|
||||
void extern_flash_erase(uint32_t flash_Address)
|
||||
{
|
||||
while(extern_flash_lock())
|
||||
{
|
||||
vTaskDelay(1);
|
||||
}
|
||||
|
||||
IC_W25Qxx_EraseSector(flash_Address & 0x3fffffff);
|
||||
|
||||
extern_flash_unlock();
|
||||
}
|
||||
void extern_flash_erase_ex(uint32_t flash_Address,uint32_t len)
|
||||
{
|
||||
while(extern_flash_lock())
|
||||
{
|
||||
vTaskDelay(1);
|
||||
}
|
||||
for (uint32_t i = 0; i < len; i += 4096)
|
||||
{
|
||||
IC_W25Qxx_EraseSector((flash_Address+i) & 0x3fffffff);
|
||||
vTaskDelay(1);
|
||||
}
|
||||
extern_flash_unlock();
|
||||
}
|
||||
|
||||
// configuration of the filesystem is provided by this struct
|
||||
static const struct lfs_config cfg = {
|
||||
// block device operations
|
||||
.read = lfs_custom_flash_read,
|
||||
.prog = lfs_custom_flash_write,
|
||||
.erase = lfs_custom_flash_erase,
|
||||
.sync = lfs_custom_flash_sync,
|
||||
|
||||
//thread safe
|
||||
.lock = lfs_port_lock,
|
||||
.unlock = lfs_port_unlock,
|
||||
|
||||
|
||||
#if 1
|
||||
// block device configuration
|
||||
.read_size = 256,
|
||||
.prog_size = 256,
|
||||
.block_size = HAL_FLASH_BLOCK_4K,
|
||||
.block_count = LFS_FLASH_SIZE/HAL_FLASH_BLOCK_4K, //1M
|
||||
.block_cycles = 100,
|
||||
.cache_size = 256,
|
||||
.lookahead_size = 128,
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
.read_size = 16,
|
||||
.prog_size = 16,
|
||||
.block_size = HAL_FLASH_BLOCK_4K,
|
||||
|
||||
.block_count = LFS_FLASH_SIZE/HAL_FLASH_BLOCK_4K, //100K
|
||||
|
||||
.cache_size = 16,
|
||||
.lookahead_size = 16,
|
||||
.block_cycles = 500,
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
static int lfs_port_traverse_cb(void *data, lfs_block_t block)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void lfs_custom_init(void)
|
||||
{
|
||||
|
||||
//create semaphroe for littlefs lock
|
||||
lfs_semaphore = xQueueGenericCreate(( UBaseType_t ) 1,
|
||||
semSEMAPHORE_QUEUE_ITEM_LENGTH,
|
||||
queueQUEUE_TYPE_BINARY_SEMAPHORE);
|
||||
|
||||
xSemaphoreGive( lfs_semaphore );
|
||||
|
||||
|
||||
|
||||
int err = lfs_mount(&lfs, &cfg);
|
||||
// reformat if we can't mount the filesystem
|
||||
// this should only happen on the first boot
|
||||
if (err)
|
||||
{
|
||||
lfs_format(&lfs, &cfg);
|
||||
err = lfs_mount(&lfs, &cfg);
|
||||
printf("lfs mount result:%d\r\n", err);
|
||||
}
|
||||
|
||||
if(lfs_fs_traverse(&lfs, lfs_port_traverse_cb, NULL))
|
||||
{
|
||||
printf("lfs traverse fail \r\n");
|
||||
lfs_format(&lfs, &cfg);
|
||||
err = lfs_mount(&lfs, &cfg);
|
||||
}
|
||||
|
||||
//printf("lfs fs size %d Byte %d\r\n",lfs_free_size(),lfs_fs_size(&lfs)*4096);
|
||||
// lfs_larger_test();
|
||||
}
|
||||
|
||||
void lfs_custom_format(void)
|
||||
{
|
||||
lfs_format(&lfs, &cfg);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void lfs_custom_test(void)
|
||||
{
|
||||
lfs_file_t file;
|
||||
|
||||
// read current count
|
||||
uint32_t boot_count = 0;
|
||||
lfs_file_open(&lfs, &file, "boot_count", LFS_O_RDWR | LFS_O_CREAT);
|
||||
lfs_file_read(&lfs, &file, &boot_count, sizeof(boot_count));
|
||||
printf("boot_count %d\r\n",boot_count);
|
||||
|
||||
// update boot count
|
||||
boot_count += 1;
|
||||
lfs_file_rewind(&lfs, &file);
|
||||
lfs_file_write(&lfs, &file, &boot_count, sizeof(boot_count));
|
||||
|
||||
//printf("lfs fs size %d Byte %d\r\n",lfs_free_size(),lfs_fs_size(&lfs)*4096);
|
||||
|
||||
// remember the storage is not updated until the file is closed successfully
|
||||
lfs_file_close(&lfs, &file);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void lfs_custom_test_write_file(void)
|
||||
{
|
||||
|
||||
lfs_file_t file;
|
||||
|
||||
// read current count
|
||||
uint8_t str[] = "abcdefj12321321asdfkjlfalsjdfksajflqwpojdkfjqpwjklsdflq;wfqwefqweqw";
|
||||
lfs_file_open(&lfs, &file, "img", LFS_O_RDWR | LFS_O_CREAT);
|
||||
lfs_file_write(&lfs, &file, str, sizeof(str));
|
||||
|
||||
//printf("lfs fs size %d Byte %d\r\n",lfs_free_size(),lfs_fs_size(&lfs)*4096);
|
||||
|
||||
// remember the storage is not updated until the file is closed successfully
|
||||
lfs_file_close(&lfs, &file);
|
||||
|
||||
}
|
||||
|
||||
|
||||
uint8_t testbuff[256];
|
||||
|
||||
void lfs_custom_test_read_file(void)
|
||||
{
|
||||
lfs_file_t file;
|
||||
|
||||
lfs_file_open(&lfs, &file, "img", LFS_O_RDONLY);
|
||||
lfs_file_read(&lfs, &file, testbuff, 256);
|
||||
printf("file: %s\r\n",testbuff);
|
||||
|
||||
|
||||
|
||||
//printf("lfs fs size %d Byte %d\r\n",lfs_free_size(),lfs_fs_size(&lfs)*4096);
|
||||
|
||||
// remember the storage is not updated until the file is closed successfully
|
||||
lfs_file_close(&lfs, &file);
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
|
||||
/**
|
||||
*********************************************************************************************************
|
||||
* @file lfs_port.h
|
||||
* @brief
|
||||
* @details
|
||||
* @author tang zheng
|
||||
* @date 2022-08-27
|
||||
* @version v0.1
|
||||
* *********************************************************************************************************
|
||||
*/
|
||||
|
||||
#include "lfs.h"
|
||||
|
||||
|
||||
#define LFS_EXT_FLASH 1
|
||||
|
||||
#ifdef LFS_EXT_FLASH
|
||||
#include "IC_W25Qxx.h"
|
||||
|
||||
#define LFS_FLASH_START_ADRRESS 0xFC0000 //#define LFS_FLASH_START_ADRRESS 0xF80000
|
||||
#define LFS_FLASH_SIZE 0x040000
|
||||
#define HAL_FLASH_BLOCK_4K 0x1000
|
||||
|
||||
#else
|
||||
|
||||
#define FR5090_BUS_START_ADDRESS 0x08000000
|
||||
#define LFS_FLASH_START_ADRRESS FR5090_BUS_START_ADDRESS + 0x40000
|
||||
#define LFS_FLASH_SIZE 0x20000
|
||||
#define HAL_FLASH_BLOCK_4K 0x1000
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
extern lfs_t lfs;
|
||||
|
||||
void lfs_custom_init(void);
|
||||
int32_t lfs_free_size(void);
|
||||
void lfs_custom_test(void);
|
||||
|
||||
void lfs_custom_test_write_file(void);
|
||||
void lfs_custom_test_read_file(void);
|
||||
|
||||
|
||||
void extern_flash_read(uint8_t *Buffer, uint32_t flash_Address, uint32_t Length);
|
||||
void extern_flash_write(uint8_t *Buffer, uint32_t flash_Address, uint32_t Length);
|
||||
void extern_flash_erase(uint32_t flash_Address);
|
||||
void extern_flash_erase_ex(uint32_t flash_Address,uint32_t len);
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,139 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 128 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_128px.c --bpp 4 --size 128 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a -r 0x25 -r 0x47 -r 0x4F
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_128PX
|
||||
#define NUMBER_HARMONYOS_BPP4_128PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_128PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
static const uint16_t unicode_list_0[] = {
|
||||
0x0, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe,
|
||||
0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x22,
|
||||
0x2a
|
||||
};
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 37, .range_length = 43, .glyph_id_start = 1,
|
||||
.unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 17, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Pair left and right glyphs for kerning*/
|
||||
static const uint8_t kern_pair_glyph_ids[] =
|
||||
{
|
||||
4, 2,
|
||||
4, 3,
|
||||
4, 4,
|
||||
4, 16,
|
||||
4, 17,
|
||||
16, 2,
|
||||
16, 3,
|
||||
17, 3,
|
||||
17, 4
|
||||
};
|
||||
|
||||
/* Kerning between the respective left and right glyphs
|
||||
* 4.4 format which needs to scaled with `kern_scale`*/
|
||||
static const int8_t kern_pair_values[] =
|
||||
{
|
||||
-37, -119, -77, -31, -31, 1, 15, -36,
|
||||
-30
|
||||
};
|
||||
|
||||
/*Collect the kern pair's data in one place*/
|
||||
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
|
||||
{
|
||||
.glyph_ids = kern_pair_glyph_ids,
|
||||
.values = kern_pair_values,
|
||||
.pair_cnt = 9,
|
||||
.glyph_ids_size = 0
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_128px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_128px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_pairs,
|
||||
.kern_scale = 39,
|
||||
.cmap_num = 1,
|
||||
.bpp = 4,
|
||||
.kern_classes = 0,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_128px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_128px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 98, /*The maximum line height required by the font*/
|
||||
.base_line = 2, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -10,
|
||||
.underline_thickness = 6,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_128PX*/
|
||||
|
|
@ -1,996 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 12 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_12px.c --bpp 4 --size 12 -r 0x20-0x7f
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_12PX
|
||||
#define NUMBER_HARMONYOS_BPP4_12PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_12PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
||||
/* U+0020 " " */
|
||||
|
||||
/* U+0021 "!" */
|
||||
0x2f, 0x12, 0xf0, 0x1f, 0x1, 0xf0, 0x1f, 0x0,
|
||||
0xf0, 0xe, 0x0, 0x20, 0x1a, 0x2, 0xe1,
|
||||
|
||||
/* U+0022 "\"" */
|
||||
0x25, 0x16, 0x5b, 0x3d, 0x5b, 0x3d, 0x4b, 0x3c,
|
||||
|
||||
/* U+0023 "#" */
|
||||
0x0, 0x1f, 0x2, 0xf0, 0x0, 0x4d, 0x5, 0xc0,
|
||||
0x0, 0x7a, 0x8, 0xa0, 0xf, 0xff, 0xff, 0xfc,
|
||||
0x3, 0xe6, 0x3f, 0x52, 0x3, 0xe0, 0x4e, 0x0,
|
||||
0xdf, 0xff, 0xff, 0xf0, 0x2b, 0x93, 0xc8, 0x30,
|
||||
0xd, 0x40, 0xe3, 0x0, 0xf, 0x11, 0xf0, 0x0,
|
||||
|
||||
/* U+0024 "$" */
|
||||
0x0, 0x7, 0x10, 0x0, 0x0, 0xf2, 0x0, 0x2,
|
||||
0xaf, 0xb3, 0x1, 0xec, 0xfd, 0xf1, 0x5e, 0xf,
|
||||
0x2b, 0x35, 0xf1, 0xf2, 0x0, 0xc, 0xef, 0x30,
|
||||
0x0, 0x7, 0xff, 0x80, 0x0, 0xf, 0x7f, 0x66,
|
||||
0x70, 0xf2, 0xb8, 0x5f, 0x5f, 0x5e, 0x50, 0x8f,
|
||||
0xff, 0xa0, 0x0, 0x1f, 0x30, 0x0, 0x0, 0xf2,
|
||||
0x0,
|
||||
|
||||
/* U+0025 "%" */
|
||||
0x1c, 0xf6, 0x0, 0x8c, 0x0, 0x9a, 0x4f, 0x11,
|
||||
0xf4, 0x0, 0xb5, 0xd, 0x38, 0xb0, 0x0, 0xa8,
|
||||
0x1f, 0x3f, 0x30, 0x0, 0x2e, 0xf8, 0x9b, 0x0,
|
||||
0x0, 0x0, 0x12, 0xf2, 0x0, 0x0, 0x0, 0xa,
|
||||
0xa1, 0xbe, 0x80, 0x0, 0x2f, 0x29, 0xb3, 0xe4,
|
||||
0x0, 0xb9, 0x9, 0xa1, 0xd4, 0x3, 0xf1, 0x1,
|
||||
0xce, 0x90,
|
||||
|
||||
/* U+0026 "&" */
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xef, 0x70,
|
||||
0x0, 0x3, 0xf6, 0x6f, 0x30, 0x0, 0x5f, 0x0,
|
||||
0xf4, 0x0, 0x1, 0xf9, 0xcb, 0x0, 0x0, 0x1c,
|
||||
0xfa, 0x4, 0x90, 0xd, 0xb8, 0xe2, 0x8b, 0x6,
|
||||
0xf0, 0xa, 0xdd, 0x60, 0x7e, 0x0, 0xd, 0xf1,
|
||||
0x3, 0xf7, 0x25, 0xff, 0x90, 0x6, 0xdf, 0xd5,
|
||||
0x3f, 0x60,
|
||||
|
||||
/* U+0027 "'" */
|
||||
0x25, 0x5b, 0x5b, 0x4b,
|
||||
|
||||
/* U+0028 "(" */
|
||||
0x0, 0x3, 0x0, 0x9, 0x90, 0x3, 0xf1, 0x0,
|
||||
0xa9, 0x0, 0xe, 0x50, 0x1, 0xf2, 0x0, 0x3f,
|
||||
0x10, 0x2, 0xf1, 0x0, 0x1f, 0x30, 0x0, 0xd6,
|
||||
0x0, 0x9, 0xb0, 0x0, 0x2f, 0x20, 0x0, 0x7b,
|
||||
0x0,
|
||||
|
||||
/* U+0029 ")" */
|
||||
0x21, 0x0, 0x5d, 0x0, 0xc, 0x70, 0x5, 0xe0,
|
||||
0x1, 0xf3, 0x0, 0xe5, 0x0, 0xd7, 0x0, 0xd6,
|
||||
0x0, 0xe5, 0x1, 0xf2, 0x6, 0xd0, 0xd, 0x60,
|
||||
0x7b, 0x0,
|
||||
|
||||
/* U+002A "*" */
|
||||
0x0, 0xd1, 0x6, 0xcd, 0x9a, 0x9, 0xfc, 0x6,
|
||||
0xcd, 0xaa, 0x0, 0xd1, 0x10, 0x0, 0x0,
|
||||
|
||||
/* U+002B "+" */
|
||||
0x0, 0x5, 0x0, 0x0, 0x1, 0xf0, 0x0, 0x0,
|
||||
0x1f, 0x0, 0x6, 0xff, 0xff, 0xf6, 0x13, 0x4f,
|
||||
0x33, 0x10, 0x1, 0xf0, 0x0, 0x0, 0x1f, 0x0,
|
||||
0x0,
|
||||
|
||||
/* U+002C "," */
|
||||
0xa, 0x21, 0xe6, 0x8, 0x43, 0x90, 0x0, 0x0,
|
||||
|
||||
/* U+002D "-" */
|
||||
0x4f, 0xff, 0xf2, 0x2, 0x22, 0x20,
|
||||
|
||||
/* U+002E "." */
|
||||
0x1a, 0x2, 0xe1,
|
||||
|
||||
/* U+002F "/" */
|
||||
0x0, 0xb, 0x80, 0x1, 0xf2, 0x0, 0x5d, 0x0,
|
||||
0xb, 0x80, 0x0, 0xf2, 0x0, 0x5d, 0x0, 0xa,
|
||||
0x80, 0x0, 0xf3, 0x0, 0x5d, 0x0, 0xa, 0x80,
|
||||
0x0,
|
||||
|
||||
/* U+0030 "0" */
|
||||
0x2, 0xcf, 0xc1, 0x0, 0xcc, 0x5d, 0xb0, 0x2f,
|
||||
0x30, 0x4f, 0x25, 0xf0, 0x0, 0xf5, 0x6f, 0x0,
|
||||
0xf, 0x66, 0xf0, 0x0, 0xf6, 0x5f, 0x0, 0xf,
|
||||
0x52, 0xf3, 0x4, 0xf2, 0xc, 0xc5, 0xdc, 0x0,
|
||||
0x2c, 0xfc, 0x10,
|
||||
|
||||
/* U+0031 "1" */
|
||||
0x3, 0xdb, 0x7f, 0xeb, 0xb4, 0x9b, 0x0, 0x9b,
|
||||
0x0, 0x9b, 0x0, 0x9b, 0x0, 0x9b, 0x0, 0x9b,
|
||||
0x0, 0x9b, 0x0, 0x9b,
|
||||
|
||||
/* U+0032 "2" */
|
||||
0x3, 0xcf, 0xc2, 0x1, 0xea, 0x5d, 0xc0, 0x2b,
|
||||
0x0, 0x5f, 0x0, 0x0, 0x6, 0xf0, 0x0, 0x0,
|
||||
0xda, 0x0, 0x0, 0x8f, 0x20, 0x0, 0x5f, 0x50,
|
||||
0x0, 0x2f, 0x80, 0x0, 0x1d, 0xd4, 0x44, 0x16,
|
||||
0xff, 0xff, 0xf5,
|
||||
|
||||
/* U+0033 "3" */
|
||||
0x4, 0xdf, 0xc2, 0x1, 0xf9, 0x5d, 0xc0, 0x17,
|
||||
0x0, 0x6f, 0x0, 0x0, 0x1c, 0xc0, 0x0, 0x7f,
|
||||
0xf3, 0x0, 0x1, 0x4c, 0xe0, 0x0, 0x0, 0x2f,
|
||||
0x42, 0x90, 0x2, 0xf4, 0x2f, 0x94, 0xbe, 0x0,
|
||||
0x4d, 0xfc, 0x30,
|
||||
|
||||
/* U+0034 "4" */
|
||||
0x0, 0x9, 0xc0, 0x0, 0x1, 0xf5, 0x0, 0x0,
|
||||
0x7e, 0x0, 0x0, 0xe, 0x70, 0x0, 0x5, 0xf1,
|
||||
0x97, 0x0, 0xc9, 0xb, 0x90, 0x3f, 0x20, 0xb9,
|
||||
0x8, 0xff, 0xff, 0xfc, 0x13, 0x33, 0xca, 0x20,
|
||||
0x0, 0xb, 0x90,
|
||||
|
||||
/* U+0035 "5" */
|
||||
0x7, 0xff, 0xfe, 0x0, 0x9b, 0x33, 0x30, 0xa,
|
||||
0x90, 0x0, 0x0, 0xc7, 0x0, 0x0, 0xe, 0xef,
|
||||
0xd3, 0x0, 0xe8, 0x4b, 0xe0, 0x0, 0x0, 0x2f,
|
||||
0x30, 0x30, 0x2, 0xf3, 0xf, 0x94, 0xce, 0x0,
|
||||
0x4d, 0xfc, 0x20,
|
||||
|
||||
/* U+0036 "6" */
|
||||
0x0, 0x8, 0xd0, 0x0, 0x2, 0xf5, 0x0, 0x0,
|
||||
0xad, 0x0, 0x0, 0x3f, 0x50, 0x0, 0xb, 0xff,
|
||||
0xe5, 0x2, 0xfa, 0x49, 0xf2, 0x4f, 0x10, 0xf,
|
||||
0x64, 0xf1, 0x0, 0xf6, 0xe, 0xb5, 0xaf, 0x10,
|
||||
0x2c, 0xfd, 0x40,
|
||||
|
||||
/* U+0037 "7" */
|
||||
0x5f, 0xff, 0xff, 0x41, 0x33, 0x37, 0xf1, 0x0,
|
||||
0x0, 0xab, 0x0, 0x0, 0xf, 0x50, 0x0, 0x5,
|
||||
0xf0, 0x0, 0x0, 0xba, 0x0, 0x0, 0x1f, 0x40,
|
||||
0x0, 0x7, 0xe0, 0x0, 0x0, 0xc9, 0x0, 0x0,
|
||||
0x2f, 0x40, 0x0,
|
||||
|
||||
/* U+0038 "8" */
|
||||
0x3, 0xcf, 0xc2, 0x0, 0xeb, 0x4b, 0xd0, 0x1f,
|
||||
0x30, 0x3f, 0x0, 0xe9, 0x19, 0xd0, 0x4, 0xff,
|
||||
0xf4, 0x1, 0xea, 0x4a, 0xe0, 0x5f, 0x0, 0xf,
|
||||
0x56, 0xf0, 0x0, 0xf5, 0x2f, 0xa4, 0xaf, 0x10,
|
||||
0x4d, 0xfd, 0x40,
|
||||
|
||||
/* U+0039 "9" */
|
||||
0x4, 0xdf, 0xc2, 0x1, 0xfa, 0x5c, 0xd0, 0x6f,
|
||||
0x0, 0x2f, 0x37, 0xe0, 0x1, 0xf4, 0x3f, 0x71,
|
||||
0x9f, 0x10, 0x8f, 0xff, 0xb0, 0x0, 0x16, 0xf2,
|
||||
0x0, 0x0, 0xca, 0x0, 0x0, 0x5f, 0x10, 0x0,
|
||||
0xd, 0x80, 0x0,
|
||||
|
||||
/* U+003A ":" */
|
||||
0x1e, 0x30, 0xa2, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xa1, 0x1e, 0x30,
|
||||
|
||||
/* U+003B ";" */
|
||||
0xd, 0x40, 0x93, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xa3, 0xe, 0x80, 0x75, 0x2a, 0x0, 0x0,
|
||||
|
||||
/* U+003C "<" */
|
||||
0x0, 0x0, 0x29, 0x50, 0x3, 0xaf, 0xb2, 0x2c,
|
||||
0xfa, 0x30, 0x5, 0xfc, 0x30, 0x0, 0x3, 0xaf,
|
||||
0xb4, 0x0, 0x0, 0x29, 0xf5, 0x0, 0x0, 0x1,
|
||||
0x20,
|
||||
|
||||
/* U+003D "=" */
|
||||
0x6f, 0xff, 0xff, 0x61, 0x33, 0x33, 0x31, 0x0,
|
||||
0x0, 0x0, 0x6, 0xff, 0xff, 0xf6, 0x13, 0x33,
|
||||
0x33, 0x10,
|
||||
|
||||
/* U+003E ">" */
|
||||
0x59, 0x20, 0x0, 0x2, 0xcf, 0xa3, 0x0, 0x0,
|
||||
0x3a, 0xfb, 0x20, 0x0, 0x3c, 0xf5, 0x4, 0xbf,
|
||||
0xa3, 0x6, 0xf9, 0x20, 0x0, 0x21, 0x0, 0x0,
|
||||
0x0,
|
||||
|
||||
/* U+003F "?" */
|
||||
0x1, 0xbf, 0xe5, 0x0, 0xcc, 0x5a, 0xf2, 0x6,
|
||||
0x10, 0x2f, 0x30, 0x0, 0x9, 0xd0, 0x0, 0x8,
|
||||
0xd1, 0x0, 0x1, 0xf2, 0x0, 0x0, 0x1f, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x10, 0x0,
|
||||
0x1, 0xe3, 0x0,
|
||||
|
||||
/* U+0040 "@" */
|
||||
0x0, 0x4, 0xbd, 0xec, 0x60, 0x0, 0x0, 0x8e,
|
||||
0x73, 0x36, 0xdb, 0x0, 0x6, 0xd1, 0x0, 0x0,
|
||||
0xc, 0x80, 0xe, 0x30, 0x9f, 0xc9, 0x82, 0xe0,
|
||||
0x3d, 0x6, 0xe4, 0x6f, 0x80, 0xd3, 0x5a, 0xb,
|
||||
0x80, 0xb, 0x80, 0xb5, 0x6a, 0xb, 0x70, 0xa,
|
||||
0x80, 0xc4, 0x4c, 0x7, 0xc1, 0x2e, 0xa1, 0xf1,
|
||||
0xf, 0x20, 0xbf, 0xe5, 0xef, 0x80, 0x8, 0xb0,
|
||||
0x1, 0x0, 0x1, 0x0, 0x0, 0xcc, 0x40, 0x4,
|
||||
0x70, 0x0, 0x0, 0x8, 0xef, 0xfe, 0x70, 0x0,
|
||||
0x0, 0x0, 0x1, 0x10, 0x0, 0x0,
|
||||
|
||||
/* U+0041 "A" */
|
||||
0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0xff, 0x10,
|
||||
0x0, 0x0, 0x5c, 0xc7, 0x0, 0x0, 0xb, 0x77,
|
||||
0xd0, 0x0, 0x1, 0xf2, 0x2f, 0x20, 0x0, 0x6d,
|
||||
0x0, 0xc8, 0x0, 0xb, 0xff, 0xff, 0xd0, 0x1,
|
||||
0xf5, 0x33, 0x4f, 0x30, 0x6d, 0x0, 0x0, 0xc9,
|
||||
0xc, 0x80, 0x0, 0x7, 0xe0,
|
||||
|
||||
/* U+0042 "B" */
|
||||
0xff, 0xfe, 0xa1, 0xf, 0x73, 0x5d, 0xb0, 0xf4,
|
||||
0x0, 0x6f, 0xf, 0x40, 0x1c, 0xc0, 0xff, 0xff,
|
||||
0xf4, 0xf, 0x62, 0x3a, 0xf2, 0xf4, 0x0, 0xf,
|
||||
0x6f, 0x40, 0x0, 0xf6, 0xf7, 0x34, 0xaf, 0x2f,
|
||||
0xff, 0xfc, 0x40,
|
||||
|
||||
/* U+0043 "C" */
|
||||
0x0, 0x4c, 0xfd, 0x60, 0x5, 0xf9, 0x58, 0xf5,
|
||||
0xe, 0x90, 0x0, 0x63, 0x4f, 0x20, 0x0, 0x0,
|
||||
0x6f, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0,
|
||||
0x4f, 0x20, 0x0, 0x0, 0xe, 0x90, 0x0, 0x62,
|
||||
0x5, 0xf9, 0x58, 0xf5, 0x0, 0x4c, 0xfd, 0x60,
|
||||
|
||||
/* U+0044 "D" */
|
||||
0xff, 0xfe, 0x81, 0x0, 0xf7, 0x46, 0xed, 0x0,
|
||||
0xf4, 0x0, 0x1e, 0x80, 0xf4, 0x0, 0x7, 0xe0,
|
||||
0xf4, 0x0, 0x5, 0xf0, 0xf4, 0x0, 0x5, 0xf0,
|
||||
0xf4, 0x0, 0x7, 0xe0, 0xf4, 0x0, 0x1e, 0x80,
|
||||
0xf7, 0x46, 0xed, 0x0, 0xff, 0xfe, 0x91, 0x0,
|
||||
|
||||
/* U+0045 "E" */
|
||||
0xff, 0xff, 0xf8, 0xf7, 0x44, 0x42, 0xf4, 0x0,
|
||||
0x0, 0xf5, 0x0, 0x0, 0xff, 0xff, 0xf1, 0xf7,
|
||||
0x33, 0x30, 0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0,
|
||||
0xf7, 0x44, 0x42, 0xff, 0xff, 0xfa,
|
||||
|
||||
/* U+0046 "F" */
|
||||
0xff, 0xff, 0xf8, 0xf7, 0x44, 0x42, 0xf4, 0x0,
|
||||
0x0, 0xf4, 0x0, 0x0, 0xf5, 0x0, 0x0, 0xff,
|
||||
0xff, 0xf1, 0xf7, 0x33, 0x30, 0xf4, 0x0, 0x0,
|
||||
0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0,
|
||||
|
||||
/* U+0047 "G" */
|
||||
0x0, 0x3c, 0xfe, 0x80, 0x4, 0xfa, 0x57, 0xf9,
|
||||
0xe, 0x90, 0x0, 0x44, 0x3f, 0x20, 0x0, 0x0,
|
||||
0x6f, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x2f, 0xff,
|
||||
0x3f, 0x20, 0x3, 0x7f, 0xe, 0xa0, 0x0, 0x5f,
|
||||
0x4, 0xfb, 0x55, 0xcd, 0x0, 0x3b, 0xfe, 0xa1,
|
||||
|
||||
/* U+0048 "H" */
|
||||
0xf4, 0x0, 0x3, 0xf0, 0xf4, 0x0, 0x3, 0xf0,
|
||||
0xf4, 0x0, 0x3, 0xf0, 0xf5, 0x0, 0x4, 0xf0,
|
||||
0xff, 0xff, 0xff, 0xf0, 0xf7, 0x33, 0x36, 0xf0,
|
||||
0xf4, 0x0, 0x3, 0xf0, 0xf4, 0x0, 0x3, 0xf0,
|
||||
0xf4, 0x0, 0x3, 0xf0, 0xf4, 0x0, 0x3, 0xf0,
|
||||
|
||||
/* U+0049 "I" */
|
||||
0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4,
|
||||
0xf4, 0xf4,
|
||||
|
||||
/* U+004A "J" */
|
||||
0x0, 0x7, 0xd0, 0x0, 0x7d, 0x0, 0x7, 0xd0,
|
||||
0x0, 0x7d, 0x0, 0x7, 0xd0, 0x0, 0x7d, 0x0,
|
||||
0x7, 0xd2, 0x0, 0x8b, 0xda, 0x5e, 0x73, 0xdf,
|
||||
0xa0,
|
||||
|
||||
/* U+004B "K" */
|
||||
0xf4, 0x0, 0x1e, 0x90, 0xf4, 0x0, 0xcc, 0x0,
|
||||
0xf4, 0xa, 0xd1, 0x0, 0xf4, 0x6f, 0x20, 0x0,
|
||||
0xf8, 0xfc, 0x0, 0x0, 0xff, 0xaf, 0x60, 0x0,
|
||||
0xfa, 0x9, 0xe1, 0x0, 0xf4, 0x0, 0xeb, 0x0,
|
||||
0xf4, 0x0, 0x4f, 0x50, 0xf4, 0x0, 0xa, 0xe1,
|
||||
|
||||
/* U+004C "L" */
|
||||
0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf4, 0x0,
|
||||
0x0, 0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf4,
|
||||
0x0, 0x0, 0xf4, 0x0, 0x0, 0xf4, 0x0, 0x0,
|
||||
0xf7, 0x44, 0x42, 0xff, 0xff, 0xf8,
|
||||
|
||||
/* U+004D "M" */
|
||||
0xf5, 0x0, 0x0, 0xd, 0x6f, 0xe0, 0x0, 0x6,
|
||||
0xf6, 0xff, 0x70, 0x0, 0xef, 0x6f, 0x9f, 0x10,
|
||||
0x8c, 0xd6, 0xf3, 0xc9, 0x1f, 0x3d, 0x6f, 0x33,
|
||||
0xfb, 0xa0, 0xd6, 0xf3, 0xa, 0xf1, 0xd, 0x6f,
|
||||
0x30, 0x14, 0x0, 0xd6, 0xf3, 0x0, 0x0, 0xd,
|
||||
0x6f, 0x30, 0x0, 0x0, 0xd6,
|
||||
|
||||
/* U+004E "N" */
|
||||
0xf6, 0x0, 0x4, 0xff, 0xe1, 0x0, 0x4f, 0xfe,
|
||||
0xa0, 0x4, 0xff, 0x6f, 0x40, 0x4f, 0xf3, 0x9d,
|
||||
0x4, 0xff, 0x30, 0xe8, 0x4f, 0xf3, 0x5, 0xf6,
|
||||
0xff, 0x30, 0xa, 0xff, 0xf3, 0x0, 0x1f, 0xff,
|
||||
0x30, 0x0, 0x6f,
|
||||
|
||||
/* U+004F "O" */
|
||||
0x0, 0x4c, 0xfd, 0x70, 0x0, 0x5f, 0x95, 0x7f,
|
||||
0x90, 0xe, 0x90, 0x0, 0x5f, 0x24, 0xf2, 0x0,
|
||||
0x0, 0xe7, 0x6f, 0x0, 0x0, 0xb, 0x96, 0xf0,
|
||||
0x0, 0x0, 0xb9, 0x4f, 0x20, 0x0, 0xe, 0x70,
|
||||
0xe9, 0x0, 0x5, 0xf2, 0x5, 0xf9, 0x57, 0xf8,
|
||||
0x0, 0x5, 0xcf, 0xd7, 0x0,
|
||||
|
||||
/* U+0050 "P" */
|
||||
0xff, 0xfe, 0x80, 0xf, 0x73, 0x6f, 0x90, 0xf4,
|
||||
0x0, 0x7e, 0xf, 0x40, 0x6, 0xf0, 0xf4, 0x3,
|
||||
0xdb, 0xf, 0xff, 0xfc, 0x10, 0xf7, 0x31, 0x0,
|
||||
0xf, 0x40, 0x0, 0x0, 0xf4, 0x0, 0x0, 0xf,
|
||||
0x40, 0x0, 0x0,
|
||||
|
||||
/* U+0051 "Q" */
|
||||
0x0, 0x4c, 0xfd, 0x70, 0x0, 0x5, 0xf9, 0x57,
|
||||
0xf8, 0x0, 0xe, 0x90, 0x0, 0x5f, 0x20, 0x4f,
|
||||
0x20, 0x0, 0xe, 0x70, 0x6f, 0x0, 0x0, 0xb,
|
||||
0x90, 0x6f, 0x0, 0x0, 0xb, 0x90, 0x4f, 0x20,
|
||||
0x0, 0xe, 0x70, 0xe, 0x90, 0x0, 0x5f, 0x20,
|
||||
0x5, 0xf9, 0x57, 0xf9, 0x0, 0x0, 0x5c, 0xff,
|
||||
0xd0, 0x0, 0x0, 0x0, 0x3, 0xeb, 0x0, 0x0,
|
||||
0x0, 0x0, 0x2d, 0xc1,
|
||||
|
||||
/* U+0052 "R" */
|
||||
0xff, 0xfe, 0x80, 0xf, 0x73, 0x6f, 0x90, 0xf4,
|
||||
0x0, 0x7e, 0xf, 0x40, 0x6, 0xf0, 0xf4, 0x3,
|
||||
0xdb, 0xf, 0xff, 0xfc, 0x10, 0xf7, 0x3d, 0x90,
|
||||
0xf, 0x40, 0x4f, 0x40, 0xf4, 0x0, 0xad, 0xf,
|
||||
0x40, 0x1, 0xe8,
|
||||
|
||||
/* U+0053 "S" */
|
||||
0x5, 0xdf, 0xd6, 0x2, 0xf9, 0x48, 0xf4, 0x6f,
|
||||
0x0, 0x6, 0x15, 0xf6, 0x0, 0x0, 0x9, 0xfe,
|
||||
0x81, 0x0, 0x2, 0x8e, 0xe2, 0x0, 0x0, 0x1e,
|
||||
0x98, 0x80, 0x0, 0xc9, 0x5f, 0x95, 0x7f, 0x50,
|
||||
0x5d, 0xfd, 0x60,
|
||||
|
||||
/* U+0054 "T" */
|
||||
0xef, 0xff, 0xff, 0xd3, 0x46, 0xf5, 0x43, 0x0,
|
||||
0x2f, 0x20, 0x0, 0x2, 0xf2, 0x0, 0x0, 0x2f,
|
||||
0x20, 0x0, 0x2, 0xf2, 0x0, 0x0, 0x2f, 0x20,
|
||||
0x0, 0x2, 0xf2, 0x0, 0x0, 0x2f, 0x20, 0x0,
|
||||
0x2, 0xf2, 0x0,
|
||||
|
||||
/* U+0055 "U" */
|
||||
0x1f, 0x30, 0x0, 0x5f, 0x1f, 0x30, 0x0, 0x5f,
|
||||
0x1f, 0x30, 0x0, 0x5f, 0x1f, 0x30, 0x0, 0x5f,
|
||||
0x1f, 0x30, 0x0, 0x5f, 0x1f, 0x30, 0x0, 0x5f,
|
||||
0xf, 0x40, 0x0, 0x6e, 0xd, 0x90, 0x0, 0xbb,
|
||||
0x6, 0xf8, 0x59, 0xf4, 0x0, 0x6d, 0xfd, 0x50,
|
||||
|
||||
/* U+0056 "V" */
|
||||
0xcb, 0x0, 0x0, 0x7d, 0x6, 0xf0, 0x0, 0xc,
|
||||
0x80, 0x1f, 0x50, 0x1, 0xf3, 0x0, 0xba, 0x0,
|
||||
0x6d, 0x0, 0x5, 0xf0, 0xb, 0x80, 0x0, 0xf,
|
||||
0x50, 0xf3, 0x0, 0x0, 0xaa, 0x5d, 0x0, 0x0,
|
||||
0x4, 0xfb, 0x80, 0x0, 0x0, 0xe, 0xf3, 0x0,
|
||||
0x0, 0x0, 0x9d, 0x0, 0x0,
|
||||
|
||||
/* U+0057 "W" */
|
||||
0xc9, 0x0, 0xb, 0x90, 0x0, 0xb8, 0x7d, 0x0,
|
||||
0xf, 0xd0, 0x0, 0xf4, 0x3f, 0x10, 0x3f, 0xf2,
|
||||
0x3, 0xf0, 0xe, 0x60, 0x7a, 0xd6, 0x7, 0xb0,
|
||||
0xa, 0xa0, 0xb6, 0x9a, 0xb, 0x70, 0x5, 0xe0,
|
||||
0xf2, 0x4f, 0xf, 0x20, 0x1, 0xf7, 0xd0, 0xf,
|
||||
0x7e, 0x0, 0x0, 0xce, 0x90, 0xb, 0xea, 0x0,
|
||||
0x0, 0x8f, 0x50, 0x7, 0xf5, 0x0, 0x0, 0x3f,
|
||||
0x10, 0x3, 0xf1, 0x0,
|
||||
|
||||
/* U+0058 "X" */
|
||||
0x7f, 0x20, 0x0, 0xd9, 0xd, 0xb0, 0x8, 0xe0,
|
||||
0x3, 0xf5, 0x2f, 0x50, 0x0, 0x9e, 0xcb, 0x0,
|
||||
0x0, 0xe, 0xf1, 0x0, 0x0, 0x1f, 0xf2, 0x0,
|
||||
0x0, 0xac, 0xbc, 0x0, 0x4, 0xf2, 0x2f, 0x60,
|
||||
0xe, 0x80, 0x8, 0xf1, 0x8e, 0x0, 0x0, 0xda,
|
||||
|
||||
/* U+0059 "Y" */
|
||||
0xad, 0x0, 0x2, 0xf4, 0x2f, 0x60, 0x9, 0xc0,
|
||||
0x9, 0xe0, 0x2f, 0x40, 0x1, 0xf8, 0xac, 0x0,
|
||||
0x0, 0x7f, 0xf3, 0x0, 0x0, 0xe, 0xb0, 0x0,
|
||||
0x0, 0xc, 0x80, 0x0, 0x0, 0xc, 0x80, 0x0,
|
||||
0x0, 0xc, 0x80, 0x0, 0x0, 0xc, 0x80, 0x0,
|
||||
|
||||
/* U+005A "Z" */
|
||||
0x5f, 0xff, 0xff, 0x81, 0x44, 0x49, 0xf2, 0x0,
|
||||
0x0, 0xe8, 0x0, 0x0, 0x7e, 0x10, 0x0, 0x1f,
|
||||
0x60, 0x0, 0x9, 0xd0, 0x0, 0x2, 0xf4, 0x0,
|
||||
0x0, 0xbb, 0x0, 0x0, 0x4f, 0x74, 0x44, 0x3b,
|
||||
0xff, 0xff, 0xfb,
|
||||
|
||||
/* U+005B "[" */
|
||||
0x0, 0x0, 0xff, 0xf0, 0xf6, 0x30, 0xf3, 0x0,
|
||||
0xf3, 0x0, 0xf3, 0x0, 0xf3, 0x0, 0xf3, 0x0,
|
||||
0xf3, 0x0, 0xf3, 0x0, 0xf3, 0x0, 0xf4, 0x0,
|
||||
0xff, 0xf0, 0x33, 0x30,
|
||||
|
||||
/* U+005C "\\" */
|
||||
0xa8, 0x0, 0x5, 0xd0, 0x0, 0xf, 0x30, 0x0,
|
||||
0xa8, 0x0, 0x5, 0xd0, 0x0, 0xf, 0x20, 0x0,
|
||||
0xb8, 0x0, 0x5, 0xd0, 0x0, 0x1f, 0x20, 0x0,
|
||||
0xb8,
|
||||
|
||||
/* U+005D "]" */
|
||||
0x0, 0x0, 0xcf, 0xf4, 0x23, 0xf4, 0x0, 0xf4,
|
||||
0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4,
|
||||
0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4, 0x0, 0xf4,
|
||||
0xcf, 0xf4, 0x23, 0x30,
|
||||
|
||||
/* U+005E "^" */
|
||||
0x0, 0xdb, 0x0, 0x3, 0xff, 0x10, 0xa, 0x9a,
|
||||
0x80, 0x1f, 0x24, 0xe0, 0x7c, 0x0, 0xd5,
|
||||
|
||||
/* U+005F "_" */
|
||||
0xff, 0xff, 0xf3, 0x22, 0x22, 0x20,
|
||||
|
||||
/* U+0060 "`" */
|
||||
0xe, 0x40, 0x4, 0xc0,
|
||||
|
||||
/* U+0061 "a" */
|
||||
0x4, 0xdf, 0xa1, 0xe, 0x73, 0xd9, 0x1, 0x0,
|
||||
0x7c, 0x6, 0xcd, 0xdd, 0x4f, 0x42, 0x8d, 0x5e,
|
||||
0x10, 0xbd, 0x9, 0xed, 0x9d,
|
||||
|
||||
/* U+0062 "b" */
|
||||
0x2f, 0x10, 0x0, 0x2, 0xf1, 0x0, 0x0, 0x2f,
|
||||
0x10, 0x0, 0x2, 0xf6, 0xee, 0x70, 0x2f, 0xd5,
|
||||
0x7f, 0x52, 0xf4, 0x0, 0x9b, 0x2f, 0x20, 0x7,
|
||||
0xd2, 0xf4, 0x0, 0x9b, 0x2f, 0xd4, 0x6f, 0x52,
|
||||
0xf5, 0xee, 0x80,
|
||||
|
||||
/* U+0063 "c" */
|
||||
0x2, 0xcf, 0xc2, 0xe, 0xa4, 0xa8, 0x5f, 0x0,
|
||||
0x0, 0x7d, 0x0, 0x0, 0x5f, 0x0, 0x0, 0xe,
|
||||
0xa4, 0xa8, 0x3, 0xcf, 0xc2,
|
||||
|
||||
/* U+0064 "d" */
|
||||
0x0, 0x0, 0xb, 0x70, 0x0, 0x0, 0xb7, 0x0,
|
||||
0x0, 0xb, 0x70, 0x3d, 0xf9, 0xb7, 0x1e, 0xa4,
|
||||
0xaf, 0x75, 0xf0, 0x0, 0xe7, 0x7d, 0x0, 0xc,
|
||||
0x75, 0xe0, 0x0, 0xe7, 0x1e, 0x81, 0x8f, 0x70,
|
||||
0x3d, 0xfa, 0xa7,
|
||||
|
||||
/* U+0065 "e" */
|
||||
0x3, 0xcf, 0xc2, 0x0, 0xea, 0x3b, 0xc0, 0x5f,
|
||||
0x0, 0x2f, 0x27, 0xfe, 0xee, 0xf3, 0x5e, 0x11,
|
||||
0x11, 0x0, 0xe9, 0x37, 0xa0, 0x3, 0xcf, 0xd4,
|
||||
0x0,
|
||||
|
||||
/* U+0066 "f" */
|
||||
0x0, 0x0, 0x0, 0x1c, 0xf7, 0x9, 0xc4, 0x20,
|
||||
0xb8, 0x0, 0xdf, 0xff, 0x22, 0xc9, 0x20, 0xb,
|
||||
0x80, 0x0, 0xb8, 0x0, 0xb, 0x80, 0x0, 0xb8,
|
||||
0x0, 0xb, 0x80, 0x0,
|
||||
|
||||
/* U+0067 "g" */
|
||||
0x3, 0xdf, 0x9a, 0x71, 0xea, 0x4a, 0xf7, 0x5f,
|
||||
0x0, 0xe, 0x77, 0xd0, 0x0, 0xc7, 0x5e, 0x0,
|
||||
0xe, 0x71, 0xea, 0x49, 0xf7, 0x3, 0xdf, 0x9c,
|
||||
0x70, 0x10, 0x0, 0xe5, 0x1f, 0x74, 0x9f, 0x10,
|
||||
0x5d, 0xfc, 0x30,
|
||||
|
||||
/* U+0068 "h" */
|
||||
0x2f, 0x10, 0x0, 0x2, 0xf1, 0x0, 0x0, 0x2f,
|
||||
0x10, 0x0, 0x2, 0xf7, 0xee, 0x50, 0x2f, 0xd5,
|
||||
0x9f, 0x12, 0xf3, 0x0, 0xf3, 0x2f, 0x10, 0xf,
|
||||
0x42, 0xf1, 0x0, 0xf4, 0x2f, 0x10, 0xf, 0x42,
|
||||
0xf1, 0x0, 0xf4,
|
||||
|
||||
/* U+0069 "i" */
|
||||
0x2e, 0x21, 0xa1, 0x0, 0x2, 0xf1, 0x2f, 0x12,
|
||||
0xf1, 0x2f, 0x12, 0xf1, 0x2f, 0x12, 0xf1,
|
||||
|
||||
/* U+006A "j" */
|
||||
0x0, 0x2e, 0x10, 0x1, 0xa0, 0x0, 0x0, 0x0,
|
||||
0x2, 0xf1, 0x0, 0x2f, 0x10, 0x2, 0xf1, 0x0,
|
||||
0x2f, 0x10, 0x2, 0xf1, 0x0, 0x2f, 0x10, 0x2,
|
||||
0xf1, 0x0, 0x2f, 0x10, 0x59, 0xe0, 0x4e, 0xe4,
|
||||
0x0,
|
||||
|
||||
/* U+006B "k" */
|
||||
0x2f, 0x10, 0x0, 0x2, 0xf1, 0x0, 0x0, 0x2f,
|
||||
0x10, 0x0, 0x2, 0xf1, 0x9, 0xd0, 0x2f, 0x15,
|
||||
0xe2, 0x2, 0xf4, 0xf4, 0x0, 0x2f, 0xef, 0x50,
|
||||
0x2, 0xfa, 0x8e, 0x10, 0x2f, 0x20, 0xd9, 0x2,
|
||||
0xf1, 0x4, 0xf3,
|
||||
|
||||
/* U+006C "l" */
|
||||
0x2f, 0x12, 0xf1, 0x2f, 0x12, 0xf1, 0x2f, 0x12,
|
||||
0xf1, 0x2f, 0x12, 0xf1, 0x2f, 0x12, 0xf1,
|
||||
|
||||
/* U+006D "m" */
|
||||
0x2f, 0x7f, 0xd3, 0xaf, 0xa0, 0x2f, 0xa2, 0xcf,
|
||||
0x63, 0xf5, 0x2f, 0x20, 0x7e, 0x0, 0xb8, 0x2f,
|
||||
0x10, 0x6d, 0x0, 0xa8, 0x2f, 0x10, 0x6d, 0x0,
|
||||
0xa8, 0x2f, 0x10, 0x6d, 0x0, 0xa8, 0x2f, 0x10,
|
||||
0x6d, 0x0, 0xa8,
|
||||
|
||||
/* U+006E "n" */
|
||||
0x2f, 0x6e, 0xe5, 0x2, 0xfb, 0x27, 0xf1, 0x2f,
|
||||
0x30, 0xf, 0x32, 0xf1, 0x0, 0xf4, 0x2f, 0x10,
|
||||
0xf, 0x42, 0xf1, 0x0, 0xf4, 0x2f, 0x10, 0xf,
|
||||
0x40,
|
||||
|
||||
/* U+006F "o" */
|
||||
0x2, 0xbf, 0xc3, 0x0, 0xeb, 0x49, 0xf1, 0x5f,
|
||||
0x0, 0xe, 0x77, 0xd0, 0x0, 0xb9, 0x5f, 0x0,
|
||||
0xd, 0x70, 0xea, 0x49, 0xf1, 0x2, 0xcf, 0xc3,
|
||||
0x0,
|
||||
|
||||
/* U+0070 "p" */
|
||||
0x2f, 0x6e, 0xe7, 0x2, 0xfc, 0x24, 0xf5, 0x2f,
|
||||
0x40, 0x9, 0xb2, 0xf2, 0x0, 0x7d, 0x2f, 0x40,
|
||||
0x9, 0xb2, 0xfd, 0x56, 0xf5, 0x2f, 0x6e, 0xe8,
|
||||
0x2, 0xf1, 0x0, 0x0, 0x2f, 0x10, 0x0, 0x2,
|
||||
0xf1, 0x0, 0x0,
|
||||
|
||||
/* U+0071 "q" */
|
||||
0x3, 0xdf, 0x9a, 0x71, 0xea, 0x4a, 0xf7, 0x5f,
|
||||
0x0, 0xe, 0x77, 0xd0, 0x0, 0xc7, 0x5f, 0x0,
|
||||
0xe, 0x71, 0xea, 0x4a, 0xf7, 0x3, 0xdf, 0x9c,
|
||||
0x70, 0x0, 0x0, 0xb7, 0x0, 0x0, 0xb, 0x70,
|
||||
0x0, 0x0, 0xb7,
|
||||
|
||||
/* U+0072 "r" */
|
||||
0x2f, 0x7f, 0x82, 0xfb, 0x21, 0x2f, 0x30, 0x2,
|
||||
0xf1, 0x0, 0x2f, 0x10, 0x2, 0xf1, 0x0, 0x2f,
|
||||
0x10, 0x0,
|
||||
|
||||
/* U+0073 "s" */
|
||||
0x8, 0xee, 0x60, 0x5e, 0x46, 0xd0, 0x6f, 0x40,
|
||||
0x0, 0x8, 0xee, 0x60, 0x0, 0x6, 0xf1, 0x8b,
|
||||
0x36, 0xf1, 0x1b, 0xfe, 0x60,
|
||||
|
||||
/* U+0074 "t" */
|
||||
0xd, 0x60, 0x0, 0xd6, 0x0, 0xef, 0xff, 0x32,
|
||||
0xd7, 0x20, 0xd, 0x60, 0x0, 0xd6, 0x0, 0xd,
|
||||
0x60, 0x0, 0xbb, 0x41, 0x3, 0xdf, 0x50,
|
||||
|
||||
/* U+0075 "u" */
|
||||
0x3f, 0x0, 0x1f, 0x33, 0xf0, 0x1, 0xf3, 0x3f,
|
||||
0x0, 0x1f, 0x33, 0xf0, 0x1, 0xf3, 0x2f, 0x10,
|
||||
0x2f, 0x30, 0xf8, 0x2b, 0xf3, 0x5, 0xee, 0x7f,
|
||||
0x30,
|
||||
|
||||
/* U+0076 "v" */
|
||||
0xba, 0x0, 0x2f, 0x15, 0xf0, 0x7, 0xb0, 0xe,
|
||||
0x50, 0xd5, 0x0, 0x9b, 0x2f, 0x0, 0x3, 0xf8,
|
||||
0xa0, 0x0, 0xd, 0xf4, 0x0, 0x0, 0x7e, 0x0,
|
||||
0x0,
|
||||
|
||||
/* U+0077 "w" */
|
||||
0xb8, 0x0, 0xd7, 0x0, 0xe4, 0x6d, 0x1, 0xfc,
|
||||
0x2, 0xe0, 0x1f, 0x26, 0xcf, 0x17, 0xa0, 0xc,
|
||||
0x7a, 0x5c, 0x5c, 0x40, 0x6, 0xce, 0x17, 0xbf,
|
||||
0x0, 0x1, 0xfb, 0x2, 0xfa, 0x0, 0x0, 0xc6,
|
||||
0x0, 0xc5, 0x0,
|
||||
|
||||
/* U+0078 "x" */
|
||||
0x9d, 0x0, 0xab, 0x0, 0xe8, 0x5f, 0x10, 0x4,
|
||||
0xfe, 0x60, 0x0, 0xc, 0xe0, 0x0, 0x4, 0xfe,
|
||||
0x60, 0x0, 0xd7, 0x6f, 0x10, 0x9d, 0x0, 0xbb,
|
||||
0x0,
|
||||
|
||||
/* U+0079 "y" */
|
||||
0xca, 0x0, 0x1f, 0x25, 0xf0, 0x7, 0xc0, 0xf,
|
||||
0x50, 0xc6, 0x0, 0x9b, 0x1f, 0x10, 0x3, 0xf8,
|
||||
0xb0, 0x0, 0xd, 0xf5, 0x0, 0x0, 0x7f, 0x0,
|
||||
0x0, 0x9, 0x90, 0x0, 0x45, 0xf3, 0x0, 0xb,
|
||||
0xf8, 0x0, 0x0,
|
||||
|
||||
/* U+007A "z" */
|
||||
0x6f, 0xff, 0xf2, 0x1, 0x1b, 0xb0, 0x0, 0x4f,
|
||||
0x20, 0x0, 0xe7, 0x0, 0x8, 0xd0, 0x0, 0x2f,
|
||||
0x62, 0x20, 0x9f, 0xff, 0xf5,
|
||||
|
||||
/* U+007B "{" */
|
||||
0x0, 0x0, 0x0, 0x8, 0xf5, 0x2, 0xf7, 0x10,
|
||||
0x3f, 0x0, 0x4, 0xf0, 0x0, 0x4f, 0x0, 0x1a,
|
||||
0xd0, 0x9, 0xf4, 0x0, 0x3b, 0xc0, 0x0, 0x4f,
|
||||
0x0, 0x4, 0xf0, 0x0, 0x3f, 0x30, 0x0, 0xcf,
|
||||
0x50, 0x0, 0x21,
|
||||
|
||||
/* U+007C "|" */
|
||||
0x12, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c,
|
||||
0x6c, 0x6c, 0x6c, 0x6c, 0x6c,
|
||||
|
||||
/* U+007D "}" */
|
||||
0x0, 0x0, 0xb, 0xd3, 0x0, 0x2c, 0xb0, 0x0,
|
||||
0x7d, 0x0, 0x6, 0xd0, 0x0, 0x6e, 0x0, 0x3,
|
||||
0xf5, 0x0, 0xb, 0xf2, 0x3, 0xf7, 0x0, 0x6e,
|
||||
0x0, 0x6, 0xd0, 0x0, 0x9c, 0x0, 0xcf, 0x60,
|
||||
0x2, 0x10, 0x0,
|
||||
|
||||
/* U+007E "~" */
|
||||
0x0, 0x0, 0x0, 0x0, 0xaf, 0x91, 0xe3, 0x3e,
|
||||
0x1b, 0xfc, 0x1, 0x20, 0x2, 0x0
|
||||
};
|
||||
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
|
||||
{.bitmap_index = 0, .adv_w = 52, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 0, .adv_w = 47, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 15, .adv_w = 72, .box_w = 4, .box_h = 4, .ofs_x = 0, .ofs_y = 7},
|
||||
{.bitmap_index = 23, .adv_w = 127, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 63, .adv_w = 111, .box_w = 7, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 112, .adv_w = 153, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 162, .adv_w = 138, .box_w = 9, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 212, .adv_w = 39, .box_w = 2, .box_h = 4, .ofs_x = 0, .ofs_y = 7},
|
||||
{.bitmap_index = 216, .adv_w = 69, .box_w = 5, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 249, .adv_w = 69, .box_w = 4, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 275, .adv_w = 84, .box_w = 5, .box_h = 6, .ofs_x = 0, .ofs_y = 4},
|
||||
{.bitmap_index = 290, .adv_w = 111, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 2},
|
||||
{.bitmap_index = 315, .adv_w = 49, .box_w = 3, .box_h = 5, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 323, .adv_w = 94, .box_w = 6, .box_h = 2, .ofs_x = 0, .ofs_y = 3},
|
||||
{.bitmap_index = 329, .adv_w = 46, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 332, .adv_w = 77, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 357, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 392, .adv_w = 111, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 412, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 447, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 482, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 517, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 552, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 587, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 622, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 657, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 692, .adv_w = 51, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 703, .adv_w = 53, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 718, .adv_w = 111, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 743, .adv_w = 111, .box_w = 7, .box_h = 5, .ofs_x = 0, .ofs_y = 2},
|
||||
{.bitmap_index = 761, .adv_w = 111, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 786, .adv_w = 86, .box_w = 7, .box_h = 10, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 821, .adv_w = 188, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 899, .adv_w = 131, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 944, .adv_w = 127, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 979, .adv_w = 127, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1019, .adv_w = 139, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1059, .adv_w = 115, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1089, .adv_w = 109, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1119, .adv_w = 136, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1159, .adv_w = 145, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1199, .adv_w = 53, .box_w = 2, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1209, .adv_w = 92, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1234, .adv_w = 134, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1274, .adv_w = 110, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1304, .adv_w = 167, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1349, .adv_w = 143, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1384, .adv_w = 148, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1429, .adv_w = 117, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1464, .adv_w = 148, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 1524, .adv_w = 126, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1559, .adv_w = 111, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1594, .adv_w = 112, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1629, .adv_w = 142, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1669, .adv_w = 130, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1714, .adv_w = 188, .box_w = 12, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1774, .adv_w = 130, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1814, .adv_w = 122, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1854, .adv_w = 112, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1889, .adv_w = 68, .box_w = 4, .box_h = 14, .ofs_x = 1, .ofs_y = -2},
|
||||
{.bitmap_index = 1917, .adv_w = 77, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1942, .adv_w = 68, .box_w = 4, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 1970, .adv_w = 94, .box_w = 6, .box_h = 5, .ofs_x = 0, .ofs_y = 5},
|
||||
{.bitmap_index = 1985, .adv_w = 84, .box_w = 6, .box_h = 2, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 1991, .adv_w = 61, .box_w = 4, .box_h = 2, .ofs_x = 0, .ofs_y = 8},
|
||||
{.bitmap_index = 1995, .adv_w = 106, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2016, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2051, .adv_w = 95, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2072, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2107, .adv_w = 106, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2132, .adv_w = 69, .box_w = 5, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2160, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 2195, .adv_w = 113, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2230, .adv_w = 48, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2245, .adv_w = 48, .box_w = 5, .box_h = 13, .ofs_x = -2, .ofs_y = -3},
|
||||
{.bitmap_index = 2278, .adv_w = 104, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2313, .adv_w = 48, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2328, .adv_w = 165, .box_w = 10, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2363, .adv_w = 113, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2388, .adv_w = 114, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2413, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 2448, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 2483, .adv_w = 75, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2501, .adv_w = 88, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2522, .adv_w = 74, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2545, .adv_w = 113, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2570, .adv_w = 102, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2595, .adv_w = 152, .box_w = 10, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2630, .adv_w = 98, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2655, .adv_w = 103, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 2690, .adv_w = 92, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2711, .adv_w = 74, .box_w = 5, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 2746, .adv_w = 38, .box_w = 2, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 2759, .adv_w = 74, .box_w = 5, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 2794, .adv_w = 111, .box_w = 7, .box_h = 4, .ofs_x = 0, .ofs_y = 3}
|
||||
};
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Map glyph_ids to kern left classes*/
|
||||
static const uint8_t kern_left_class_mapping[] =
|
||||
{
|
||||
0, 0, 0, 1, 0, 0, 0, 0,
|
||||
1, 2, 3, 0, 4, 0, 4, 0,
|
||||
5, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 4,
|
||||
6, 7, 8, 9, 10, 7, 11, 12,
|
||||
13, 14, 14, 15, 16, 17, 14, 14,
|
||||
7, 18, 0, 19, 20, 21, 15, 5,
|
||||
22, 23, 24, 25, 2, 8, 3, 0,
|
||||
0, 0, 26, 27, 28, 29, 30, 31,
|
||||
32, 26, 0, 33, 34, 29, 26, 26,
|
||||
27, 27, 0, 35, 36, 37, 32, 38,
|
||||
38, 39, 38, 40, 2, 0, 3, 4
|
||||
};
|
||||
|
||||
/*Map glyph_ids to kern right classes*/
|
||||
static const uint8_t kern_right_class_mapping[] =
|
||||
{
|
||||
0, 1, 0, 2, 0, 0, 0, 0,
|
||||
2, 0, 3, 0, 4, 5, 4, 5,
|
||||
6, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 4, 0, 0,
|
||||
7, 8, 6, 9, 8, 9, 9, 9,
|
||||
8, 9, 9, 10, 9, 9, 9, 9,
|
||||
8, 9, 8, 9, 11, 12, 13, 14,
|
||||
15, 16, 17, 18, 0, 14, 3, 0,
|
||||
5, 0, 19, 20, 21, 21, 21, 22,
|
||||
21, 20, 0, 23, 20, 20, 24, 24,
|
||||
21, 0, 21, 24, 25, 26, 27, 28,
|
||||
28, 29, 30, 31, 0, 0, 3, 4
|
||||
};
|
||||
|
||||
/*Kern values between classes*/
|
||||
static const int8_t kern_class_values[] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 0, 3, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 4, 0, 4, 4,
|
||||
2, 0, 3, 0, 0, 13, 0, 0,
|
||||
3, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 5, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -10, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -8, 3, 4, -8,
|
||||
-27, -18, 4, -7, 0, -23, -2, 4,
|
||||
0, 0, 0, 0, 0, 0, -15, 0,
|
||||
-14, -5, 0, -9, -11, -1, -9, -9,
|
||||
-11, -9, -10, 0, 0, 0, -6, -19,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -4, 0, 0, -8, -7,
|
||||
0, 0, 0, -7, 0, -6, 0, -7,
|
||||
-4, -7, -11, -4, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -8, -22, 0, -12, 5, 0, -13,
|
||||
-7, 0, 0, 0, -16, -3, -18, -13,
|
||||
0, -21, 4, 0, 0, -2, 0, 0,
|
||||
0, 0, 0, 0, -8, 0, -8, 0,
|
||||
0, -2, 0, 0, 0, -3, 0, 0,
|
||||
0, 3, 0, -7, 0, -9, -3, 0,
|
||||
-11, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
2, 0, -6, 4, 0, 6, -3, 0,
|
||||
0, 0, 1, 0, -1, 0, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -4, 0, -4, 0, 0, 0,
|
||||
0, 0, 2, 0, 2, -2, 0, 2,
|
||||
0, 0, 0, -2, 0, 0, -2, 0,
|
||||
-2, 0, -2, -3, 0, 0, -2, -2,
|
||||
-2, -4, -2, -4, 0, -2, 5, 0,
|
||||
1, -25, -11, 8, -1, 0, -27, 0,
|
||||
4, 0, 0, 0, 0, 0, 0, -8,
|
||||
0, -5, -2, 0, -3, 0, -2, 0,
|
||||
-4, -7, -4, -5, 0, 0, 0, 0,
|
||||
3, 0, 2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, -6, -3,
|
||||
0, 0, 0, -6, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -8, 0, 0, -21, 3, 0, -1,
|
||||
-11, -3, 0, -3, 0, -5, 0, 0,
|
||||
0, 0, 0, -6, 0, -7, -8, 0,
|
||||
-3, -3, -8, -8, -13, -7, -13, 0,
|
||||
-10, -20, 0, -17, 5, 0, -14, -9,
|
||||
0, 3, -2, -25, -8, -28, -21, 0,
|
||||
-34, 0, -1, 0, -4, -4, 0, 0,
|
||||
0, -5, -5, -18, 0, -18, 0, -2,
|
||||
2, 0, 2, -28, -16, 3, 0, 0,
|
||||
-31, 0, 0, 0, -1, -1, -5, 0,
|
||||
-6, -6, 0, -6, 0, 0, 0, 0,
|
||||
0, 0, 2, 0, 2, 0, 0, -2,
|
||||
0, -2, 7, 0, -1, -2, 0, 0,
|
||||
1, -2, -2, -5, -3, 0, -9, 0,
|
||||
0, 0, -2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 2, 0, 0, 0, 4,
|
||||
0, 0, -3, 0, 0, -4, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -6, 6, 0, -15,
|
||||
-22, -16, 7, -6, 0, -27, 0, 4,
|
||||
0, 4, 4, 0, 0, 0, -23, 0,
|
||||
-21, -9, 0, -18, -21, -6, -17, -20,
|
||||
-21, -20, -17, -2, 3, 0, -5, -15,
|
||||
-13, 0, -4, 0, -14, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, -15, 0, -12,
|
||||
-3, 0, -8, -9, 0, -7, -4, -6,
|
||||
-4, -7, 0, 0, 4, -18, 2, 0,
|
||||
2, -7, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -5, 0, -7, 0,
|
||||
0, -3, -3, -6, -6, -12, 0, -12,
|
||||
0, -6, 3, 4, -14, -26, -21, 2,
|
||||
-11, 0, -26, -5, 0, 0, 0, 0,
|
||||
0, 0, 0, -22, 0, -21, -10, 0,
|
||||
-16, -18, -7, -15, -14, -13, -14, -15,
|
||||
0, 0, 2, -9, 4, 0, 2, -5,
|
||||
0, 0, -2, 0, 0, 0, 0, 0,
|
||||
0, 0, -1, 0, -3, 0, 0, 0,
|
||||
0, 0, 0, -6, 0, -6, 0, 0,
|
||||
-8, 0, 0, 0, 0, -6, 0, 0,
|
||||
0, 0, -17, 0, -14, -13, -2, -19,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -2, 0, -2, 0, 0, -10,
|
||||
0, -2, -6, 0, -8, 0, 0, 0,
|
||||
0, -21, 0, -14, -12, -7, -21, 0,
|
||||
-2, 0, 0, -2, 0, 0, 0, -1,
|
||||
0, -4, -5, -4, -4, 0, 1, 0,
|
||||
3, 5, 0, -2, 0, 0, 0, 0,
|
||||
-15, 0, -10, -7, 3, -15, 0, 0,
|
||||
0, -1, 2, 0, 0, 0, 4, 0,
|
||||
0, 1, 0, 3, 0, 0, 3, 0,
|
||||
0, 0, 2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -1, 0, 3, -1,
|
||||
0, -5, 0, 0, 0, 0, -14, 0,
|
||||
-12, -9, -3, -18, 0, 0, 0, 0,
|
||||
0, 0, 0, 2, 0, 0, 0, -1,
|
||||
0, 0, 0, 9, 0, -1, -15, 0,
|
||||
9, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -5, 0, -5, 0,
|
||||
0, 0, 0, 3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -5,
|
||||
0, 0, 0, 0, -18, 0, -9, -8,
|
||||
0, -16, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 8, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -4,
|
||||
0, 0, -5, 5, 0, -9, 0, 0,
|
||||
0, 0, -18, 0, -12, -11, 0, -16,
|
||||
0, -6, 0, -4, 0, 0, 0, -2,
|
||||
0, -2, 0, 0, 0, 0, 0, 5,
|
||||
0, 2, -21, -9, -6, 0, 0, -23,
|
||||
0, 0, 0, -8, 0, -10, -14, 0,
|
||||
-8, 0, -6, 0, 0, 0, -1, 6,
|
||||
0, 0, 0, 0, 0, 0, -6, 0,
|
||||
0, 0, 0, -6, 0, 0, 0, 0,
|
||||
-19, 0, -14, -10, -1, -20, 0, 0,
|
||||
0, 0, 0, 0, 0, 2, 0, 0,
|
||||
-2, 0, -2, 2, 0, -1, 2, 0,
|
||||
5, 0, -5, 0, 0, 0, 0, -13,
|
||||
0, -9, 0, 0, -13, 0, 0, 0,
|
||||
-2, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -17,
|
||||
-8, -5, 0, 0, -15, 0, -20, 0,
|
||||
-9, -4, -12, -14, 0, -4, 0, -4,
|
||||
0, 0, 0, -2, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -4, 2, 0,
|
||||
-8, 0, 0, 0, 0, -21, 0, -11,
|
||||
-6, 0, -13, 0, -3, 0, -5, 0,
|
||||
0, 0, 0, 2, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 2, 0, -6,
|
||||
0, 0, 0, 0, -19, 0, -11, -6,
|
||||
0, -14, 0, -3, 0, -4, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
|
||||
/*Collect the kern class' data in one place*/
|
||||
static const lv_font_fmt_txt_kern_classes_t kern_classes =
|
||||
{
|
||||
.class_pair_values = kern_class_values,
|
||||
.left_class_mapping = kern_left_class_mapping,
|
||||
.right_class_mapping = kern_right_class_mapping,
|
||||
.left_class_cnt = 40,
|
||||
.right_class_cnt = 31,
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = glyph_bitmap,
|
||||
.glyph_dsc = glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_classes,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 1,
|
||||
.bpp = 4,
|
||||
.kern_classes = 1,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_12px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_12px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 15, /*The maximum line height required by the font*/
|
||||
.base_line = 3, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -1,
|
||||
.underline_thickness = 1,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_12PX*/
|
||||
|
|
@ -1,309 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 12 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_12px.c --bpp 4 --size 12 -r 0x20-0x7f
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_12PX
|
||||
#define NUMBER_HARMONYOS_BPP4_12PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_12PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Map glyph_ids to kern left classes*/
|
||||
static const uint8_t kern_left_class_mapping[] =
|
||||
{
|
||||
0, 0, 0, 1, 0, 0, 0, 0,
|
||||
1, 2, 3, 0, 4, 0, 4, 0,
|
||||
5, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 4,
|
||||
6, 7, 8, 9, 10, 7, 11, 12,
|
||||
13, 14, 14, 15, 16, 17, 14, 14,
|
||||
7, 18, 0, 19, 20, 21, 15, 5,
|
||||
22, 23, 24, 25, 2, 8, 3, 0,
|
||||
0, 0, 26, 27, 28, 29, 30, 31,
|
||||
32, 26, 0, 33, 34, 29, 26, 26,
|
||||
27, 27, 0, 35, 36, 37, 32, 38,
|
||||
38, 39, 38, 40, 2, 0, 3, 4
|
||||
};
|
||||
|
||||
/*Map glyph_ids to kern right classes*/
|
||||
static const uint8_t kern_right_class_mapping[] =
|
||||
{
|
||||
0, 1, 0, 2, 0, 0, 0, 0,
|
||||
2, 0, 3, 0, 4, 5, 4, 5,
|
||||
6, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 4, 0, 0,
|
||||
7, 8, 6, 9, 8, 9, 9, 9,
|
||||
8, 9, 9, 10, 9, 9, 9, 9,
|
||||
8, 9, 8, 9, 11, 12, 13, 14,
|
||||
15, 16, 17, 18, 0, 14, 3, 0,
|
||||
5, 0, 19, 20, 21, 21, 21, 22,
|
||||
21, 20, 0, 23, 20, 20, 24, 24,
|
||||
21, 0, 21, 24, 25, 26, 27, 28,
|
||||
28, 29, 30, 31, 0, 0, 3, 4
|
||||
};
|
||||
|
||||
/*Kern values between classes*/
|
||||
static const int8_t kern_class_values[] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 0, 3, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 4, 0, 4, 4,
|
||||
2, 0, 3, 0, 0, 13, 0, 0,
|
||||
3, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 5, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -10, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -8, 3, 4, -8,
|
||||
-27, -18, 4, -7, 0, -23, -2, 4,
|
||||
0, 0, 0, 0, 0, 0, -15, 0,
|
||||
-14, -5, 0, -9, -11, -1, -9, -9,
|
||||
-11, -9, -10, 0, 0, 0, -6, -19,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -4, 0, 0, -8, -7,
|
||||
0, 0, 0, -7, 0, -6, 0, -7,
|
||||
-4, -7, -11, -4, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -8, -22, 0, -12, 5, 0, -13,
|
||||
-7, 0, 0, 0, -16, -3, -18, -13,
|
||||
0, -21, 4, 0, 0, -2, 0, 0,
|
||||
0, 0, 0, 0, -8, 0, -8, 0,
|
||||
0, -2, 0, 0, 0, -3, 0, 0,
|
||||
0, 3, 0, -7, 0, -9, -3, 0,
|
||||
-11, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
2, 0, -6, 4, 0, 6, -3, 0,
|
||||
0, 0, 1, 0, -1, 0, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -4, 0, -4, 0, 0, 0,
|
||||
0, 0, 2, 0, 2, -2, 0, 2,
|
||||
0, 0, 0, -2, 0, 0, -2, 0,
|
||||
-2, 0, -2, -3, 0, 0, -2, -2,
|
||||
-2, -4, -2, -4, 0, -2, 5, 0,
|
||||
1, -25, -11, 8, -1, 0, -27, 0,
|
||||
4, 0, 0, 0, 0, 0, 0, -8,
|
||||
0, -5, -2, 0, -3, 0, -2, 0,
|
||||
-4, -7, -4, -5, 0, 0, 0, 0,
|
||||
3, 0, 2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, -6, -3,
|
||||
0, 0, 0, -6, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -8, 0, 0, -21, 3, 0, -1,
|
||||
-11, -3, 0, -3, 0, -5, 0, 0,
|
||||
0, 0, 0, -6, 0, -7, -8, 0,
|
||||
-3, -3, -8, -8, -13, -7, -13, 0,
|
||||
-10, -20, 0, -17, 5, 0, -14, -9,
|
||||
0, 3, -2, -25, -8, -28, -21, 0,
|
||||
-34, 0, -1, 0, -4, -4, 0, 0,
|
||||
0, -5, -5, -18, 0, -18, 0, -2,
|
||||
2, 0, 2, -28, -16, 3, 0, 0,
|
||||
-31, 0, 0, 0, -1, -1, -5, 0,
|
||||
-6, -6, 0, -6, 0, 0, 0, 0,
|
||||
0, 0, 2, 0, 2, 0, 0, -2,
|
||||
0, -2, 7, 0, -1, -2, 0, 0,
|
||||
1, -2, -2, -5, -3, 0, -9, 0,
|
||||
0, 0, -2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 2, 0, 0, 0, 4,
|
||||
0, 0, -3, 0, 0, -4, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -6, 6, 0, -15,
|
||||
-22, -16, 7, -6, 0, -27, 0, 4,
|
||||
0, 4, 4, 0, 0, 0, -23, 0,
|
||||
-21, -9, 0, -18, -21, -6, -17, -20,
|
||||
-21, -20, -17, -2, 3, 0, -5, -15,
|
||||
-13, 0, -4, 0, -14, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, -15, 0, -12,
|
||||
-3, 0, -8, -9, 0, -7, -4, -6,
|
||||
-4, -7, 0, 0, 4, -18, 2, 0,
|
||||
2, -7, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -5, 0, -7, 0,
|
||||
0, -3, -3, -6, -6, -12, 0, -12,
|
||||
0, -6, 3, 4, -14, -26, -21, 2,
|
||||
-11, 0, -26, -5, 0, 0, 0, 0,
|
||||
0, 0, 0, -22, 0, -21, -10, 0,
|
||||
-16, -18, -7, -15, -14, -13, -14, -15,
|
||||
0, 0, 2, -9, 4, 0, 2, -5,
|
||||
0, 0, -2, 0, 0, 0, 0, 0,
|
||||
0, 0, -1, 0, -3, 0, 0, 0,
|
||||
0, 0, 0, -6, 0, -6, 0, 0,
|
||||
-8, 0, 0, 0, 0, -6, 0, 0,
|
||||
0, 0, -17, 0, -14, -13, -2, -19,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -2, 0, -2, 0, 0, -10,
|
||||
0, -2, -6, 0, -8, 0, 0, 0,
|
||||
0, -21, 0, -14, -12, -7, -21, 0,
|
||||
-2, 0, 0, -2, 0, 0, 0, -1,
|
||||
0, -4, -5, -4, -4, 0, 1, 0,
|
||||
3, 5, 0, -2, 0, 0, 0, 0,
|
||||
-15, 0, -10, -7, 3, -15, 0, 0,
|
||||
0, -1, 2, 0, 0, 0, 4, 0,
|
||||
0, 1, 0, 3, 0, 0, 3, 0,
|
||||
0, 0, 2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -1, 0, 3, -1,
|
||||
0, -5, 0, 0, 0, 0, -14, 0,
|
||||
-12, -9, -3, -18, 0, 0, 0, 0,
|
||||
0, 0, 0, 2, 0, 0, 0, -1,
|
||||
0, 0, 0, 9, 0, -1, -15, 0,
|
||||
9, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -5, 0, -5, 0,
|
||||
0, 0, 0, 3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -5,
|
||||
0, 0, 0, 0, -18, 0, -9, -8,
|
||||
0, -16, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 8, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -4,
|
||||
0, 0, -5, 5, 0, -9, 0, 0,
|
||||
0, 0, -18, 0, -12, -11, 0, -16,
|
||||
0, -6, 0, -4, 0, 0, 0, -2,
|
||||
0, -2, 0, 0, 0, 0, 0, 5,
|
||||
0, 2, -21, -9, -6, 0, 0, -23,
|
||||
0, 0, 0, -8, 0, -10, -14, 0,
|
||||
-8, 0, -6, 0, 0, 0, -1, 6,
|
||||
0, 0, 0, 0, 0, 0, -6, 0,
|
||||
0, 0, 0, -6, 0, 0, 0, 0,
|
||||
-19, 0, -14, -10, -1, -20, 0, 0,
|
||||
0, 0, 0, 0, 0, 2, 0, 0,
|
||||
-2, 0, -2, 2, 0, -1, 2, 0,
|
||||
5, 0, -5, 0, 0, 0, 0, -13,
|
||||
0, -9, 0, 0, -13, 0, 0, 0,
|
||||
-2, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -17,
|
||||
-8, -5, 0, 0, -15, 0, -20, 0,
|
||||
-9, -4, -12, -14, 0, -4, 0, -4,
|
||||
0, 0, 0, -2, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -4, 2, 0,
|
||||
-8, 0, 0, 0, 0, -21, 0, -11,
|
||||
-6, 0, -13, 0, -3, 0, -5, 0,
|
||||
0, 0, 0, 2, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 2, 0, -6,
|
||||
0, 0, 0, 0, -19, 0, -11, -6,
|
||||
0, -14, 0, -3, 0, -4, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
|
||||
/*Collect the kern class' data in one place*/
|
||||
static const lv_font_fmt_txt_kern_classes_t kern_classes =
|
||||
{
|
||||
.class_pair_values = kern_class_values,
|
||||
.left_class_mapping = kern_left_class_mapping,
|
||||
.right_class_mapping = kern_right_class_mapping,
|
||||
.left_class_cnt = 40,
|
||||
.right_class_cnt = 31,
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_12px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_12px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_classes,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 1,
|
||||
.bpp = 4,
|
||||
.kern_classes = 1,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_12px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_12px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 15, /*The maximum line height required by the font*/
|
||||
.base_line = 3, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -1,
|
||||
.underline_thickness = 1,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_12PX*/
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,309 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 16 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_16px.c --bpp 4 --size 16 -r 0x20-0x7f
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_16PX
|
||||
#define NUMBER_HARMONYOS_BPP4_16PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_16PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Map glyph_ids to kern left classes*/
|
||||
static const uint8_t kern_left_class_mapping[] =
|
||||
{
|
||||
0, 0, 0, 1, 0, 0, 0, 0,
|
||||
1, 2, 3, 0, 4, 0, 4, 0,
|
||||
5, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 4,
|
||||
6, 7, 8, 9, 10, 7, 11, 12,
|
||||
13, 14, 14, 15, 16, 17, 14, 14,
|
||||
7, 18, 0, 19, 20, 21, 15, 5,
|
||||
22, 23, 24, 25, 2, 8, 3, 0,
|
||||
0, 0, 26, 27, 28, 29, 30, 31,
|
||||
32, 26, 0, 33, 34, 29, 26, 26,
|
||||
27, 27, 0, 35, 36, 37, 32, 38,
|
||||
38, 39, 38, 40, 2, 0, 3, 4
|
||||
};
|
||||
|
||||
/*Map glyph_ids to kern right classes*/
|
||||
static const uint8_t kern_right_class_mapping[] =
|
||||
{
|
||||
0, 1, 0, 2, 0, 0, 0, 0,
|
||||
2, 0, 3, 0, 4, 5, 4, 5,
|
||||
6, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 4, 0, 0,
|
||||
7, 8, 6, 9, 8, 9, 9, 9,
|
||||
8, 9, 9, 10, 9, 9, 9, 9,
|
||||
8, 9, 8, 9, 11, 12, 13, 14,
|
||||
15, 16, 17, 18, 0, 14, 3, 0,
|
||||
5, 0, 19, 20, 21, 21, 21, 22,
|
||||
21, 20, 0, 23, 20, 20, 24, 24,
|
||||
21, 0, 21, 24, 25, 26, 27, 28,
|
||||
28, 29, 30, 31, 0, 0, 3, 4
|
||||
};
|
||||
|
||||
/*Kern values between classes*/
|
||||
static const int8_t kern_class_values[] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 5, 0, 5, 5,
|
||||
3, 0, 4, 0, 0, 18, 0, 0,
|
||||
5, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 6, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -14, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -10, 5, 5, -11,
|
||||
-36, -24, 6, -9, 0, -31, -3, 5,
|
||||
0, 0, 0, 0, 0, 0, -19, 0,
|
||||
-19, -6, 0, -12, -15, -2, -12, -12,
|
||||
-14, -12, -14, 0, 0, 0, -8, -26,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -6, 0, 0, -11, -9,
|
||||
0, 0, 0, -9, 0, -8, 0, -9,
|
||||
-5, -9, -14, -6, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -10, -30, 0, -16, 7, 0, -17,
|
||||
-9, 0, 0, 0, -22, -4, -24, -18,
|
||||
0, -28, 5, 0, 0, -3, 0, 0,
|
||||
0, 0, 0, 0, -11, 0, -11, 0,
|
||||
0, -3, 0, 0, 0, -4, 0, 0,
|
||||
0, 4, 0, -9, 0, -12, -4, 0,
|
||||
-15, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
3, 0, -8, 6, 0, 8, -4, 0,
|
||||
0, 0, 1, 0, -1, 0, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -6, 0, -6, 0, 0, 0,
|
||||
0, 0, 3, 0, 3, -3, 0, 3,
|
||||
0, 0, 0, -3, 0, 0, -3, 0,
|
||||
-3, 0, -3, -4, 0, 0, -2, -3,
|
||||
-2, -5, -2, -5, 0, -3, 7, 0,
|
||||
2, -34, -15, 10, -1, 0, -36, 0,
|
||||
6, 0, 0, 0, 0, 0, 0, -10,
|
||||
0, -7, -2, 0, -5, 0, -3, 0,
|
||||
-6, -9, -6, -6, 0, 0, 0, 0,
|
||||
5, 0, 3, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 2, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, -8, -4,
|
||||
0, 0, 0, -8, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -10, 0, 0, -28, 5, 0, -2,
|
||||
-15, -4, 0, -4, 0, -7, 0, 0,
|
||||
0, 0, 0, -7, 0, -9, -10, 0,
|
||||
-4, -4, -10, -11, -17, -9, -17, 0,
|
||||
-13, -26, 0, -23, 7, 0, -18, -12,
|
||||
0, 4, -2, -34, -11, -38, -28, 0,
|
||||
-46, 0, -2, 0, -5, -5, 0, -1,
|
||||
0, -7, -7, -24, 0, -24, 0, -3,
|
||||
3, 0, 3, -37, -21, 4, 0, 0,
|
||||
-41, 0, 0, 0, -1, -1, -6, 0,
|
||||
-8, -8, 0, -8, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 3, 0, 0, -3,
|
||||
0, -2, 10, 0, -1, -3, 0, 0,
|
||||
2, -3, -3, -7, -5, 0, -13, 0,
|
||||
0, 0, -3, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 2, 0, 0, 0, 6,
|
||||
0, 0, -4, 0, 0, -6, 2, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -8, 8, 0, -20,
|
||||
-29, -22, 9, -8, 0, -36, 0, 6,
|
||||
0, 5, 5, 0, 0, 0, -30, 0,
|
||||
-28, -12, 0, -24, -28, -8, -23, -27,
|
||||
-27, -27, -22, -3, 5, 0, -6, -20,
|
||||
-18, 0, -5, 0, -19, -1, 5, 0,
|
||||
0, 0, 0, 0, 0, -20, 0, -16,
|
||||
-4, 0, -11, -12, 0, -9, -6, -8,
|
||||
-6, -9, 0, 0, 5, -24, 3, 0,
|
||||
3, -9, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -6, 0, -9, 0,
|
||||
0, -4, -5, -8, -8, -16, 0, -16,
|
||||
0, -8, 4, 5, -18, -35, -28, 2,
|
||||
-14, 0, -35, -6, 0, 0, 0, 0,
|
||||
0, 0, 0, -29, 0, -27, -13, 0,
|
||||
-22, -24, -9, -20, -19, -18, -19, -20,
|
||||
0, 0, 3, -12, 5, 0, 3, -7,
|
||||
0, 0, -3, 0, 0, 0, 0, 0,
|
||||
0, 0, -1, 0, -4, 0, 0, 0,
|
||||
0, 0, 0, -8, 0, -8, 0, 0,
|
||||
-10, 0, -1, 0, 0, -8, 0, 0,
|
||||
0, 0, -22, 0, -19, -17, -2, -26,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -3, 0, -3, 0, 0, -13,
|
||||
0, -3, -8, 0, -10, 0, 0, 0,
|
||||
0, -28, 0, -19, -16, -9, -27, 0,
|
||||
-3, 0, 0, -2, 0, 0, 0, -1,
|
||||
0, -5, -6, -5, -6, 0, 1, 0,
|
||||
5, 6, 0, -3, 0, 0, 0, 0,
|
||||
-20, 0, -13, -9, 5, -20, 0, 1,
|
||||
0, -1, 3, 0, 0, 0, 6, 0,
|
||||
0, 2, 0, 4, 0, 0, 4, 0,
|
||||
0, 0, 3, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -1, 0, 4, -1,
|
||||
0, -6, 0, 0, 0, 0, -18, 0,
|
||||
-17, -13, -4, -24, 0, 0, 0, 0,
|
||||
0, 0, 0, 3, 0, 0, -1, -2,
|
||||
-1, 0, 0, 12, 0, -2, -20, 0,
|
||||
12, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -7, 0, -6, 1,
|
||||
0, 0, 0, 4, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -7,
|
||||
0, 0, 0, 0, -24, 0, -12, -11,
|
||||
0, -22, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 11, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -6,
|
||||
0, 0, -7, 6, 0, -12, 0, 0,
|
||||
0, 0, -24, 0, -16, -14, 0, -22,
|
||||
0, -7, 0, -6, 0, 0, 0, -3,
|
||||
0, -2, 0, 0, 0, 0, 0, 6,
|
||||
0, 2, -28, -12, -7, 0, 0, -30,
|
||||
0, 0, 0, -11, 0, -13, -19, 0,
|
||||
-11, 0, -8, 0, 0, 0, -2, 7,
|
||||
0, 0, 0, 0, 0, 0, -7, 0,
|
||||
0, 0, 0, -8, 0, 0, 0, 0,
|
||||
-26, 0, -18, -13, -1, -27, 0, 0,
|
||||
0, 0, 0, 0, 0, 2, 0, 0,
|
||||
-2, 0, -2, 3, 0, -2, 3, -1,
|
||||
7, 0, -6, 0, 0, 0, 0, -18,
|
||||
0, -12, 0, -1, -17, 0, 0, 0,
|
||||
-2, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -23,
|
||||
-11, -7, 0, 0, -20, 0, -27, 0,
|
||||
-12, -6, -16, -19, 0, -5, 0, -5,
|
||||
0, 0, 0, -3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -5, 2, 0,
|
||||
-10, 0, 0, 0, 0, -27, 0, -14,
|
||||
-8, 0, -18, 0, -4, 0, -6, 0,
|
||||
0, 0, 0, 3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 3, 0, -8,
|
||||
0, 0, 0, 0, -25, 0, -14, -8,
|
||||
0, -19, 0, -4, 0, -6, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
|
||||
/*Collect the kern class' data in one place*/
|
||||
static const lv_font_fmt_txt_kern_classes_t kern_classes =
|
||||
{
|
||||
.class_pair_values = kern_class_values,
|
||||
.left_class_mapping = kern_left_class_mapping,
|
||||
.right_class_mapping = kern_right_class_mapping,
|
||||
.left_class_cnt = 40,
|
||||
.right_class_cnt = 31,
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_16px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_16px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_classes,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 1,
|
||||
.bpp = 4,
|
||||
.kern_classes = 1,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_16px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_16px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 19, /*The maximum line height required by the font*/
|
||||
.base_line = 4, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -1,
|
||||
.underline_thickness = 1,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_16PX*/
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 180 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_180px.c --bpp 4 --size 180 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_180PX
|
||||
#define NUMBER_HARMONYOS_BPP4_180PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_180PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 45, .range_length = 14, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Pair left and right glyphs for kerning*/
|
||||
static const uint8_t kern_pair_glyph_ids[] =
|
||||
{
|
||||
3, 1,
|
||||
3, 2,
|
||||
3, 3
|
||||
};
|
||||
|
||||
/* Kerning between the respective left and right glyphs
|
||||
* 4.4 format which needs to scaled with `kern_scale`*/
|
||||
static const int8_t kern_pair_values[] =
|
||||
{
|
||||
-37, -119, -77
|
||||
};
|
||||
|
||||
/*Collect the kern pair's data in one place*/
|
||||
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
|
||||
{
|
||||
.glyph_ids = kern_pair_glyph_ids,
|
||||
.values = kern_pair_values,
|
||||
.pair_cnt = 3,
|
||||
.glyph_ids_size = 0
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_180px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_180px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_pairs,
|
||||
.kern_scale = 55,
|
||||
.cmap_num = 1,
|
||||
.bpp = 4,
|
||||
.kern_classes = 0,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_180px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_180px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 137, /*The maximum line height required by the font*/
|
||||
.base_line = 2, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -13,
|
||||
.underline_thickness = 9,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_180PX*/
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,315 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 20 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_20px.c --bpp 4 --size 20 -r 0x00-0x7f
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_20PX
|
||||
#define NUMBER_HARMONYOS_BPP4_20PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_20PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 0, .range_length = 1, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 32, .range_length = 95, .glyph_id_start = 2,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Map glyph_ids to kern left classes*/
|
||||
static const uint8_t kern_left_class_mapping[] =
|
||||
{
|
||||
0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 1, 2, 3, 0, 4, 0, 4,
|
||||
0, 5, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
4, 6, 7, 8, 9, 10, 7, 11,
|
||||
12, 13, 14, 14, 15, 16, 17, 14,
|
||||
14, 7, 18, 0, 19, 20, 21, 15,
|
||||
5, 22, 23, 24, 25, 2, 8, 3,
|
||||
0, 0, 0, 26, 27, 28, 29, 30,
|
||||
31, 32, 26, 0, 33, 34, 29, 26,
|
||||
26, 27, 27, 0, 35, 36, 37, 32,
|
||||
38, 38, 39, 38, 40, 2, 0, 3,
|
||||
4
|
||||
};
|
||||
|
||||
/*Map glyph_ids to kern right classes*/
|
||||
static const uint8_t kern_right_class_mapping[] =
|
||||
{
|
||||
0, 0, 1, 0, 2, 0, 0, 0,
|
||||
0, 2, 0, 3, 0, 4, 5, 4,
|
||||
5, 6, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 4, 0,
|
||||
0, 7, 8, 6, 9, 8, 9, 9,
|
||||
9, 8, 9, 9, 10, 9, 9, 9,
|
||||
9, 8, 9, 8, 9, 11, 12, 13,
|
||||
14, 15, 16, 17, 18, 0, 14, 3,
|
||||
0, 5, 0, 19, 20, 21, 21, 21,
|
||||
22, 21, 20, 0, 23, 20, 20, 24,
|
||||
24, 21, 0, 21, 24, 25, 26, 27,
|
||||
28, 28, 29, 30, 31, 0, 0, 3,
|
||||
4
|
||||
};
|
||||
|
||||
/*Kern values between classes*/
|
||||
static const int8_t kern_class_values[] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 0, 5, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 6, 0, 6, 6,
|
||||
3, 0, 4, 0, 0, 22, 0, 0,
|
||||
6, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 8, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -17, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -13, 6, 6, -14,
|
||||
-45, -29, 7, -12, 0, -39, -3, 6,
|
||||
0, 0, 0, 0, 0, 0, -24, 0,
|
||||
-24, -8, 0, -15, -19, -2, -15, -14,
|
||||
-18, -14, -17, 0, 0, 0, -11, -32,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -7, 0, 0, -14, -12,
|
||||
0, 0, 0, -12, 0, -10, 0, -12,
|
||||
-6, -11, -18, -7, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -13, -37, 0, -20, 8, 0, -22,
|
||||
-12, 0, 0, 0, -27, -5, -29, -22,
|
||||
0, -36, 7, 0, 0, -4, 0, 0,
|
||||
0, 0, 0, 0, -14, 0, -14, 0,
|
||||
0, -4, 0, 0, 0, -5, 0, 0,
|
||||
0, 4, 0, -11, 0, -14, -5, 0,
|
||||
-18, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
3, 0, -10, 7, 0, 11, -5, 0,
|
||||
0, 0, 2, 0, -1, 0, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -7, 0, -7, 0, 0, 0,
|
||||
0, 0, 3, 0, 4, -3, 0, 4,
|
||||
0, 0, 0, -4, 0, 0, -4, 0,
|
||||
-3, 0, -4, -4, 0, 0, -3, -3,
|
||||
-3, -7, -3, -7, 0, -3, 8, 0,
|
||||
2, -42, -19, 13, -2, 0, -44, 0,
|
||||
7, 0, 0, 0, 0, 0, 0, -13,
|
||||
0, -9, -3, 0, -6, 0, -4, 0,
|
||||
-7, -12, -7, -8, 0, 0, 0, 0,
|
||||
6, 0, 4, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 2, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, -10, -5,
|
||||
0, 0, 0, -10, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -13, 0, 0, -35, 6, 0, -2,
|
||||
-19, -5, 0, -5, 0, -8, 0, 0,
|
||||
0, 0, 0, -9, 0, -11, -13, 0,
|
||||
-5, -5, -13, -13, -21, -11, -21, 0,
|
||||
-16, -33, 0, -29, 8, 0, -23, -15,
|
||||
0, 5, -3, -42, -14, -47, -35, 0,
|
||||
-57, 0, -2, 0, -6, -6, 0, -1,
|
||||
0, -9, -8, -30, 0, -30, 0, -3,
|
||||
3, 0, 4, -46, -26, 5, 0, 0,
|
||||
-51, 0, 0, 0, -1, -2, -8, 0,
|
||||
-10, -11, 0, -10, 0, 0, 0, 0,
|
||||
0, 0, 4, 0, 4, 0, 0, -4,
|
||||
0, -3, 12, 0, -1, -3, 0, 0,
|
||||
2, -4, -4, -9, -6, 0, -16, 0,
|
||||
0, 0, -4, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 3, 0, 0, 0, 7,
|
||||
0, 0, -5, 0, 0, -7, 2, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -10, 10, 0, -26,
|
||||
-36, -27, 12, -10, 0, -45, 0, 7,
|
||||
0, 6, 6, 0, 0, 0, -38, 0,
|
||||
-36, -14, 0, -29, -36, -11, -28, -34,
|
||||
-34, -34, -28, -3, 6, 0, -8, -25,
|
||||
-22, 0, -6, 0, -23, -1, 6, 0,
|
||||
0, 0, 0, 0, 0, -25, 0, -20,
|
||||
-5, 0, -14, -15, 0, -11, -7, -11,
|
||||
-7, -11, 0, 0, 6, -29, 3, 0,
|
||||
4, -11, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -8, 0, -11, 0,
|
||||
0, -5, -6, -10, -10, -20, 0, -20,
|
||||
0, -10, 4, 6, -23, -44, -36, 3,
|
||||
-18, 0, -44, -8, 0, 0, 0, 0,
|
||||
0, 0, 0, -36, 0, -34, -16, 0,
|
||||
-27, -30, -11, -25, -24, -22, -24, -25,
|
||||
0, 0, 3, -15, 6, 0, 3, -9,
|
||||
0, 0, -3, 0, 0, 0, 0, 0,
|
||||
0, 0, -2, 0, -5, 0, 0, 0,
|
||||
0, 0, 0, -11, 0, -11, 0, 0,
|
||||
-13, 0, -1, 0, 0, -10, 0, 0,
|
||||
0, 0, -28, 0, -24, -21, -3, -32,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -4, 0, -4, 0, 0, -16,
|
||||
0, -3, -10, 0, -13, 0, 0, 0,
|
||||
0, -36, 0, -24, -20, -11, -34, 0,
|
||||
-3, 0, 0, -3, 0, 0, 0, -2,
|
||||
0, -7, -8, -7, -7, 0, 1, 0,
|
||||
6, 8, 0, -4, 0, 0, 0, 0,
|
||||
-25, 0, -17, -11, 6, -25, 0, 1,
|
||||
0, -1, 4, 0, 0, 0, 7, 0,
|
||||
0, 2, 0, 4, 0, 0, 4, 0,
|
||||
0, 0, 4, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -2, 0, 5, -1,
|
||||
0, -8, 0, 0, 0, 0, -23, 0,
|
||||
-21, -16, -4, -29, 0, 0, 0, 0,
|
||||
0, 0, 0, 4, 0, 0, -1, -2,
|
||||
-1, 0, 0, 15, 0, -2, -25, 0,
|
||||
14, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -9, 0, -8, 1,
|
||||
0, 0, 0, 4, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -9,
|
||||
0, 0, 0, 0, -29, 0, -15, -14,
|
||||
0, -27, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 4, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 13, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -7,
|
||||
0, 0, -9, 8, 0, -15, 0, 0,
|
||||
0, 0, -29, 0, -20, -18, 0, -27,
|
||||
0, -9, 0, -7, 0, 0, 0, -4,
|
||||
0, -3, 0, 0, 0, 0, 0, 8,
|
||||
0, 3, -35, -15, -9, 0, 0, -38,
|
||||
0, 0, 0, -14, 0, -16, -24, 0,
|
||||
-13, 0, -11, 0, 0, 0, -2, 9,
|
||||
0, 0, 0, 0, 0, 0, -9, 0,
|
||||
0, 0, 0, -10, 0, 0, 0, 0,
|
||||
-32, 0, -23, -16, -1, -34, 0, 0,
|
||||
0, 0, 0, 0, 0, 3, 0, 0,
|
||||
-3, 0, -3, 4, 0, -2, 3, -1,
|
||||
9, 0, -8, 0, 0, 0, 0, -22,
|
||||
0, -15, 0, -1, -22, 0, 0, 0,
|
||||
-3, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -29,
|
||||
-14, -9, 0, 0, -26, 0, -34, 0,
|
||||
-14, -7, -20, -24, 0, -6, 0, -7,
|
||||
0, 0, 0, -3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -6, 3, 0,
|
||||
-13, 0, 0, 0, 0, -34, 0, -18,
|
||||
-11, 0, -22, 0, -5, 0, -8, 0,
|
||||
0, 0, 0, 4, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 3, 0, -10,
|
||||
0, 0, 0, 0, -31, 0, -18, -10,
|
||||
0, -24, 0, -5, 0, -7, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
|
||||
/*Collect the kern class' data in one place*/
|
||||
static const lv_font_fmt_txt_kern_classes_t kern_classes =
|
||||
{
|
||||
.class_pair_values = kern_class_values,
|
||||
.left_class_mapping = kern_left_class_mapping,
|
||||
.right_class_mapping = kern_right_class_mapping,
|
||||
.left_class_cnt = 40,
|
||||
.right_class_cnt = 31,
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_20px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_20px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_classes,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 2,
|
||||
.bpp = 4,
|
||||
.kern_classes = 1,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_20px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_20px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 23, /*The maximum line height required by the font*/
|
||||
.base_line = 5, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -1,
|
||||
.underline_thickness = 1,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_20PX*/
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,295 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 36 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font D:\code\lv_font_conv\lv_font_convert_tools\HarmonyOS_Sans_SC_Medium.ttf -o D:\code\lv_font_conv\lv_font_convert_tools\Number_HarmonyOS_bpp4_36px.c --bpp 4 --size 36 --symbols ¡æ¨H%:-GOQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm/.+ -r 0x25-0x3A
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_36PX
|
||||
#define NUMBER_HARMONYOS_BPP4_36PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_36PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
static const uint16_t unicode_list_3[] = {
|
||||
0x0, 0x6
|
||||
};
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 37, .range_length = 22, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 65, .range_length = 26, .glyph_id_start = 23,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 97, .range_length = 26, .glyph_id_start = 49,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 8451, .range_length = 7, .glyph_id_start = 75,
|
||||
.unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 2, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Map glyph_ids to kern left classes*/
|
||||
static const uint8_t kern_left_class_mapping[] =
|
||||
{
|
||||
0, 0, 0, 0, 1, 2, 0, 0,
|
||||
0, 0, 0, 3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 4,
|
||||
5, 6, 7, 8, 9, 10, 0, 0,
|
||||
11, 12, 13, 0, 0, 7, 14, 0,
|
||||
15, 16, 17, 11, 3, 18, 19, 20,
|
||||
21, 22, 23, 24, 25, 26, 27, 28,
|
||||
22, 0, 29, 30, 25, 22, 22, 23,
|
||||
23, 0, 31, 32, 33, 28, 34, 34,
|
||||
35, 34, 36, 6, 9
|
||||
};
|
||||
|
||||
/*Map glyph_ids to kern right classes*/
|
||||
static const uint8_t kern_right_class_mapping[] =
|
||||
{
|
||||
0, 0, 0, 1, 0, 2, 0, 3,
|
||||
4, 3, 4, 5, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 5,
|
||||
6, 7, 6, 6, 6, 7, 6, 6,
|
||||
8, 6, 6, 6, 6, 7, 6, 7,
|
||||
6, 9, 10, 11, 12, 13, 14, 15,
|
||||
16, 17, 18, 19, 19, 19, 20, 19,
|
||||
18, 0, 21, 18, 18, 22, 22, 19,
|
||||
0, 19, 22, 23, 24, 25, 26, 26,
|
||||
27, 28, 29, 0, 0
|
||||
};
|
||||
|
||||
/*Kern values between classes*/
|
||||
static const int8_t kern_class_values[] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 12, 0, 12, 12, 6,
|
||||
0, 8, 0, 0, 40, 0, 0, 10,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 14, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 10, 12, -25, -82, -53, 0,
|
||||
-21, -70, -6, 11, 0, 0, 0, 0,
|
||||
0, 0, -44, 0, -43, -14, 0, -28,
|
||||
-34, -4, -28, -26, -32, -26, -31, -67,
|
||||
0, -36, 15, 0, 0, -21, 0, 0,
|
||||
-48, -9, -53, -40, 0, -64, 12, 0,
|
||||
0, -6, 0, 0, 0, 0, 0, 0,
|
||||
-25, 0, -25, 0, -7, 0, 0, 0,
|
||||
-9, 0, 0, 8, 0, -20, 0, -26,
|
||||
-9, 0, -33, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 6, 0, -18, 13, 0, 0, -9,
|
||||
0, 0, 3, 0, -2, 0, 0, -2,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -13, 0, -13, 0, -13, 0,
|
||||
0, -25, -21, 0, 0, -21, 0, -18,
|
||||
0, -21, -12, -20, -32, -13, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 6, 0,
|
||||
0, -6, 6, 0, 0, 0, -6, 0,
|
||||
0, -7, 0, -6, 0, -6, -8, 0,
|
||||
0, -5, -6, -5, -12, -5, -12, 0,
|
||||
15, 0, 3, -75, -33, 0, -3, -80,
|
||||
0, 13, 0, 0, 0, 0, 0, 0,
|
||||
-23, 0, -16, -5, 0, -10, 0, -7,
|
||||
0, -13, -21, -13, -14, 0, 0, 1,
|
||||
10, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -17, -9, 0,
|
||||
0, -17, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -63, 10, 0, -9, -33, 0, -9,
|
||||
0, -15, 0, 0, 0, 0, 0, -17,
|
||||
0, -20, -24, 0, -9, -9, -24, -24,
|
||||
-39, -20, -39, 0, -59, 0, -52, 15,
|
||||
0, 0, -28, 10, -5, -75, -25, -85,
|
||||
-63, 0, -103, 0, -4, 0, -12, -11,
|
||||
0, -1, 1, -16, -15, -55, 0, -55,
|
||||
0, 6, 0, 7, -83, -47, 0, 0,
|
||||
-92, 0, 0, 0, -2, -3, -14, 0,
|
||||
-17, -19, 0, -17, 0, 0, 0, 0,
|
||||
0, 0, 6, 0, 6, 0, -6, 0,
|
||||
-5, 22, 0, 0, -6, 0, 4, -7,
|
||||
-7, -16, -10, 0, -28, 0, 0, 0,
|
||||
-7, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 13, 0, 0, -9, 0,
|
||||
0, -13, 3, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
17, 0, -46, -66, -48, 0, -18, -81,
|
||||
0, 13, 0, 11, 12, 0, 0, 0,
|
||||
-69, 0, -64, -26, 0, -53, -64, -19,
|
||||
-51, -61, -62, -61, -50, 10, 0, -14,
|
||||
-44, -40, 0, -12, -42, -1, 12, 0,
|
||||
0, 0, 0, 0, 0, -44, 0, -36,
|
||||
-9, 0, -25, -26, 0, -20, -13, -19,
|
||||
-13, -20, 0, 12, -53, 6, 0, 0,
|
||||
-20, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -14, 0, -20, 0, 0, -10,
|
||||
-10, -18, -18, -35, 0, -35, 0, 8,
|
||||
12, -41, -79, -64, 0, -32, -79, -14,
|
||||
0, 0, 0, 0, 0, 0, 0, -65,
|
||||
0, -62, -29, 0, -49, -54, -20, -45,
|
||||
-43, -40, -43, -44, 0, 6, -26, 12,
|
||||
0, 0, -16, 0, -6, 0, 0, 0,
|
||||
0, 0, 0, 0, -3, 0, -9, 0,
|
||||
0, 0, 0, 0, 0, -19, 0, -19,
|
||||
0, -24, 0, -1, 0, 0, 0, 0,
|
||||
0, 0, -50, 0, -43, -38, -5, -58,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-1, 0, -7, 0, -7, 0, -29, 0,
|
||||
-6, -18, 0, 0, 0, 0, 0, -64,
|
||||
0, -43, -36, -20, -62, 0, -6, 0,
|
||||
0, -5, 0, 0, 0, -3, 0, -12,
|
||||
-14, -12, -13, 2, 0, 10, 14, 0,
|
||||
0, 0, 0, 0, -45, 0, -30, -20,
|
||||
10, -44, 0, 1, 0, -2, 7, 0,
|
||||
0, 0, 13, 0, 0, 4, 0, 8,
|
||||
0, 8, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -3, 0, 9,
|
||||
-2, 0, 0, 0, 0, 0, -41, 0,
|
||||
-37, -28, -8, -53, 0, 0, 0, 0,
|
||||
0, 0, 0, 6, 0, 0, -1, -4,
|
||||
-1, 0, 27, 0, -4, -44, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -16, 0, -14, 1, 0, 0,
|
||||
0, 8, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-53, 0, -28, -25, 0, -49, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 7, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
24, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -16, 14, 0, 0, 0,
|
||||
0, 0, -53, 0, -35, -32, 0, -49,
|
||||
0, -17, 0, -13, 0, 0, 0, -6,
|
||||
0, -5, 0, 0, 0, 0, 14, 0,
|
||||
5, -62, -27, 0, 0, -68, 0, 0,
|
||||
0, -25, 0, -29, -43, 0, -24, 0,
|
||||
-19, 0, 0, 0, -3, 17, 0, 0,
|
||||
0, 0, 0, -17, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -58, 0, -41, -29,
|
||||
-2, -60, 0, 0, 0, 0, 0, 0,
|
||||
0, 5, 0, 0, -5, 0, -5, 7,
|
||||
-4, 6, -1, 16, 0, 0, 0, 0,
|
||||
0, -40, 0, -27, 0, -1, -39, 0,
|
||||
0, 0, -5, 0, 0, 0, 0, 0,
|
||||
0, -1, 0, 0, 0, 0, 0, 0,
|
||||
-52, -25, 0, 0, -46, 0, -61, 0,
|
||||
-26, -13, -35, -43, 0, -11, 0, -12,
|
||||
0, 0, 0, -6, 0, 0, 0, 0,
|
||||
0, -1, 0, 0, -12, 5, 0, 0,
|
||||
0, 0, 0, -62, 0, -32, -19, 0,
|
||||
-40, 0, -9, 0, -14, 0, 0, 0,
|
||||
0, 7, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 6, 0, 0, 0, 0, 0,
|
||||
-56, 0, -32, -18, 0, -43, 0, -9,
|
||||
0, -13, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0
|
||||
};
|
||||
|
||||
|
||||
/*Collect the kern class' data in one place*/
|
||||
static const lv_font_fmt_txt_kern_classes_t kern_classes =
|
||||
{
|
||||
.class_pair_values = kern_class_values,
|
||||
.left_class_mapping = kern_left_class_mapping,
|
||||
.right_class_mapping = kern_right_class_mapping,
|
||||
.left_class_cnt = 36,
|
||||
.right_class_cnt = 29,
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_36px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_36px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_classes,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 4,
|
||||
.bpp = 4,
|
||||
.kern_classes = 1,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_36px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_36px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 39, /*The maximum line height required by the font*/
|
||||
.base_line = 8, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -3,
|
||||
.underline_thickness = 2,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_36PX*/
|
||||
|
|
@ -1,751 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 44 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_44px.c --bpp 4 --size 44 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a -r 0x25
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_44PX
|
||||
#define NUMBER_HARMONYOS_BPP4_44PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_44PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
||||
/* U+0025 "%" */
|
||||
0x0, 0x0, 0x0, 0x46, 0x75, 0x20, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xb2,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
|
||||
0x40, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xff,
|
||||
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff,
|
||||
0xff, 0xa0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0,
|
||||
0xbf, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x6, 0xff,
|
||||
0xff, 0x92, 0x26, 0xef, 0xff, 0xc0, 0x0, 0x0,
|
||||
0x0, 0x4f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
|
||||
0xcf, 0xff, 0x80, 0x0, 0x2, 0xff, 0xff, 0x20,
|
||||
0x0, 0x0, 0xd, 0xff, 0xfd, 0x0, 0x0, 0x0,
|
||||
0x0, 0xf, 0xff, 0xf0, 0x0, 0x0, 0xa, 0xff,
|
||||
0xf6, 0x0, 0x0, 0x7, 0xff, 0xff, 0x40, 0x0,
|
||||
0x0, 0x0, 0x1, 0xff, 0xfe, 0x0, 0x0, 0x0,
|
||||
0x7f, 0xff, 0x70, 0x0, 0x2, 0xff, 0xff, 0xa0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf0, 0x0,
|
||||
0x0, 0x8, 0xff, 0xf7, 0x0, 0x0, 0xbf, 0xff,
|
||||
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff,
|
||||
0x40, 0x0, 0x0, 0xdf, 0xff, 0x40, 0x0, 0x4f,
|
||||
0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9,
|
||||
0xff, 0xfd, 0x20, 0x0, 0x9f, 0xff, 0xe0, 0x0,
|
||||
0xd, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x2f, 0xff, 0xff, 0xcb, 0xef, 0xff, 0xf8,
|
||||
0x0, 0x7, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xfc, 0x0, 0x2, 0xff, 0xff, 0xa0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff,
|
||||
0xff, 0xfa, 0x0, 0x0, 0xbf, 0xff, 0xf1, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17,
|
||||
0xce, 0xfd, 0xa4, 0x0, 0x0, 0x4f, 0xff, 0xf7,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff,
|
||||
0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8,
|
||||
0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x2, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0xbf, 0xff, 0xf1, 0x0, 0x0, 0x37,
|
||||
0x99, 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf7, 0x0, 0x3,
|
||||
0xdf, 0xff, 0xff, 0xfc, 0x20, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xfd, 0x0,
|
||||
0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff,
|
||||
0x40, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
|
||||
0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff,
|
||||
0xff, 0xa0, 0x0, 0xbf, 0xff, 0xe5, 0x1, 0x6f,
|
||||
0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xbf, 0xff, 0xf1, 0x0, 0x1f, 0xff, 0xf4, 0x0,
|
||||
0x0, 0x5f, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x4f, 0xff, 0xf7, 0x0, 0x4, 0xff, 0xfc,
|
||||
0x0, 0x0, 0x0, 0xef, 0xff, 0x20, 0x0, 0x0,
|
||||
0x0, 0x0, 0xd, 0xff, 0xfd, 0x0, 0x0, 0x6f,
|
||||
0xff, 0x90, 0x0, 0x0, 0xb, 0xff, 0xf4, 0x0,
|
||||
0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x30, 0x0,
|
||||
0x5, 0xff, 0xfb, 0x0, 0x0, 0x0, 0xdf, 0xff,
|
||||
0x30, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xa0,
|
||||
0x0, 0x0, 0x3f, 0xff, 0xf1, 0x0, 0x0, 0x2f,
|
||||
0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
|
||||
0xf1, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xb0, 0x0,
|
||||
0x1c, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x4f,
|
||||
0xff, 0xf7, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff,
|
||||
0xea, 0xbf, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
|
||||
0xd, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xa,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0,
|
||||
0x0, 0x8, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
|
||||
0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0x70, 0x0,
|
||||
0x0, 0x0, 0x2, 0xff, 0xff, 0xa0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x3, 0x9d, 0xfe, 0xd8, 0x20,
|
||||
0x0, 0x0,
|
||||
|
||||
/* U+002D "-" */
|
||||
0x3b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
|
||||
0x95, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xfd, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xfd,
|
||||
|
||||
/* U+002E "." */
|
||||
0x2, 0xab, 0x70, 0x1, 0xef, 0xff, 0xa0, 0x6f,
|
||||
0xff, 0xff, 0x17, 0xff, 0xff, 0xf1, 0x2f, 0xff,
|
||||
0xfc, 0x0, 0x4d, 0xfa, 0x10,
|
||||
|
||||
/* U+002F "/" */
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff,
|
||||
0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef,
|
||||
0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4,
|
||||
0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xa, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0xf, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x6f, 0xff, 0xf1, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xcf, 0xff, 0xa0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0x40, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xfe, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf8,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff,
|
||||
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
|
||||
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
|
||||
0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x6, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0xc, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x2f, 0xff, 0xf4, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x8f, 0xff, 0xe0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0x80, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x20,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xfc,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff,
|
||||
0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f,
|
||||
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xdf, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x3, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x9, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0xe, 0xff, 0xf8, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x5f, 0xff, 0xf2, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xc0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0x60,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff,
|
||||
0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f,
|
||||
0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
|
||||
/* U+0030 "0" */
|
||||
0x0, 0x0, 0x0, 0x0, 0x46, 0x77, 0x52, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f, 0xff,
|
||||
0xff, 0xff, 0xd5, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0,
|
||||
0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xfc, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff,
|
||||
0xfe, 0xcd, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0,
|
||||
0xaf, 0xff, 0xff, 0x60, 0x0, 0x2a, 0xff, 0xff,
|
||||
0xf3, 0x0, 0x2, 0xff, 0xff, 0xf4, 0x0, 0x0,
|
||||
0x0, 0xbf, 0xff, 0xfb, 0x0, 0x9, 0xff, 0xff,
|
||||
0x90, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0x20,
|
||||
0xe, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0xa,
|
||||
0xff, 0xff, 0x70, 0x3f, 0xff, 0xfd, 0x0, 0x0,
|
||||
0x0, 0x0, 0x4, 0xff, 0xff, 0xc0, 0x6f, 0xff,
|
||||
0xf9, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff,
|
||||
0xf0, 0x8f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0xef, 0xff, 0xf2, 0xbf, 0xff, 0xf4, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf4, 0xdf,
|
||||
0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
|
||||
0xff, 0xf6, 0xdf, 0xff, 0xf1, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x9f, 0xff, 0xf7, 0xef, 0xff, 0xf1,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf7,
|
||||
0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x8f, 0xff, 0xf8, 0xff, 0xff, 0xf1, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x8f, 0xff, 0xf8, 0xef, 0xff,
|
||||
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff,
|
||||
0xf7, 0xdf, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x9f, 0xff, 0xf6, 0xcf, 0xff, 0xf3, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xf5, 0xaf,
|
||||
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf,
|
||||
0xff, 0xf3, 0x7f, 0xff, 0xf7, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0xff, 0xff, 0xf0, 0x5f, 0xff, 0xfb,
|
||||
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xe0,
|
||||
0x1f, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x6,
|
||||
0xff, 0xff, 0x90, 0xb, 0xff, 0xff, 0x50, 0x0,
|
||||
0x0, 0x0, 0xc, 0xff, 0xff, 0x40, 0x6, 0xff,
|
||||
0xff, 0xd0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff,
|
||||
0x0, 0x0, 0xef, 0xff, 0xfa, 0x0, 0x0, 0x3,
|
||||
0xef, 0xff, 0xf7, 0x0, 0x0, 0x6f, 0xff, 0xff,
|
||||
0xd6, 0x45, 0x9f, 0xff, 0xff, 0xe0, 0x0, 0x0,
|
||||
0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x40, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x8,
|
||||
0xff, 0xff, 0xff, 0xff, 0xfd, 0x30, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x17, 0xce, 0xff, 0xda, 0x50,
|
||||
0x0, 0x0, 0x0,
|
||||
|
||||
/* U+0031 "1" */
|
||||
0x0, 0x0, 0x0, 0x0, 0x4d, 0xff, 0xf6, 0x0,
|
||||
0x0, 0x0, 0x2b, 0xff, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x19, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x7, 0xef,
|
||||
0xff, 0xff, 0xff, 0xf6, 0x4, 0xdf, 0xff, 0xff,
|
||||
0xff, 0xff, 0xf6, 0xaf, 0xff, 0xff, 0xfe, 0xcf,
|
||||
0xff, 0xf6, 0xdf, 0xff, 0xff, 0x91, 0x6f, 0xff,
|
||||
0xf6, 0xdf, 0xff, 0xb2, 0x0, 0x6f, 0xff, 0xf6,
|
||||
0xdf, 0xd4, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0xb6,
|
||||
0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0,
|
||||
0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
|
||||
0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f,
|
||||
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
|
||||
0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6,
|
||||
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0,
|
||||
0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0,
|
||||
0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
|
||||
0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f,
|
||||
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
|
||||
0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6,
|
||||
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0,
|
||||
0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x0, 0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0,
|
||||
0x0, 0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0,
|
||||
0x6f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f,
|
||||
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
|
||||
0xf6, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf6,
|
||||
|
||||
/* U+0032 "2" */
|
||||
0x0, 0x0, 0x0, 0x0, 0x46, 0x77, 0x52, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xaf, 0xff,
|
||||
0xff, 0xff, 0xd6, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0,
|
||||
0x0, 0x0, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xfe, 0x20, 0x0, 0x0, 0xdf, 0xff, 0xff,
|
||||
0xfd, 0xce, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x9,
|
||||
0xff, 0xff, 0xf8, 0x10, 0x0, 0x3c, 0xff, 0xff,
|
||||
0xf6, 0x0, 0x1f, 0xff, 0xff, 0x40, 0x0, 0x0,
|
||||
0x0, 0xcf, 0xff, 0xfc, 0x0, 0x7f, 0xff, 0xf6,
|
||||
0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0x10,
|
||||
0x4d, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xe,
|
||||
0xff, 0xff, 0x30, 0x0, 0x6e, 0x50, 0x0, 0x0,
|
||||
0x0, 0x0, 0xb, 0xff, 0xff, 0x40, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff,
|
||||
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xd, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x2f, 0xff, 0xff, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff,
|
||||
0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x3, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xb0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
|
||||
0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x9, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0x90, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff,
|
||||
0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x4f, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x3, 0xff, 0xff, 0xfd, 0x10, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xff,
|
||||
0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
|
||||
0xdf, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0xc, 0xff, 0xff, 0xf4, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff,
|
||||
0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
|
||||
0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x8f, 0xff, 0xff, 0x80, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xfa,
|
||||
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x5f,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xf4, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xf4, 0xcf, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4,
|
||||
0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xf4,
|
||||
|
||||
/* U+0033 "3" */
|
||||
0x0, 0x0, 0x0, 0x0, 0x15, 0x67, 0x75, 0x20,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xdf,
|
||||
0xff, 0xff, 0xff, 0xd6, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
|
||||
0x20, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x2f,
|
||||
0xff, 0xff, 0xfe, 0xcb, 0xdf, 0xff, 0xff, 0xfd,
|
||||
0x0, 0x0, 0xb, 0xff, 0xff, 0xe5, 0x0, 0x0,
|
||||
0x2c, 0xff, 0xff, 0xf5, 0x0, 0x3, 0xff, 0xff,
|
||||
0xd1, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xb0,
|
||||
0x0, 0x7f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0,
|
||||
0x4f, 0xff, 0xfe, 0x0, 0x0, 0x4d, 0xf8, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xf0, 0x0,
|
||||
0x0, 0x6, 0x20, 0x0, 0x0, 0x0, 0x0, 0xf,
|
||||
0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x3, 0xff, 0xff, 0xd0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff,
|
||||
0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x7f, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x25, 0xcf, 0xff, 0xff, 0x80,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff,
|
||||
0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xc, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff,
|
||||
0xfe, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x1, 0x23, 0x59, 0xff, 0xff,
|
||||
0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x1, 0xaf, 0xff, 0xff, 0x30, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff,
|
||||
0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x2, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff,
|
||||
0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0xdf, 0xff, 0xf2, 0x0, 0x8, 0xe0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0x20,
|
||||
0x6e, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x3,
|
||||
0xff, 0xff, 0xf0, 0xd, 0xff, 0xff, 0x40, 0x0,
|
||||
0x0, 0x0, 0x0, 0xbf, 0xff, 0xfc, 0x0, 0x7f,
|
||||
0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x9f, 0xff,
|
||||
0xff, 0x60, 0x0, 0xdf, 0xff, 0xff, 0xd7, 0x32,
|
||||
0x37, 0xdf, 0xff, 0xff, 0xd0, 0x0, 0x2, 0xef,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2,
|
||||
0x0, 0x0, 0x2, 0xdf, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xe3, 0x0, 0x0, 0x0, 0x0, 0x7e,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x91, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x5, 0xad, 0xef, 0xfd, 0xa6,
|
||||
0x10, 0x0, 0x0, 0x0,
|
||||
|
||||
/* U+0034 "4" */
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
|
||||
0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x7, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff,
|
||||
0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x8f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xe1,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x9, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xfe, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xaf, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xd0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
|
||||
0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x4f, 0xff, 0xfb, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf,
|
||||
0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x6, 0xff, 0xff, 0xa0, 0x0, 0x13,
|
||||
0x33, 0x31, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff,
|
||||
0xff, 0x20, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x0, 0x0, 0x7f, 0xff, 0xf9, 0x0, 0x0, 0x4f,
|
||||
0xff, 0xf6, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff,
|
||||
0xf1, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x0, 0x8, 0xff, 0xff, 0x70, 0x0, 0x0, 0x4f,
|
||||
0xff, 0xf6, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xfe,
|
||||
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x0, 0xaf, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x4f,
|
||||
0xff, 0xf6, 0x0, 0x0, 0x3, 0xff, 0xff, 0xd0,
|
||||
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
|
||||
0xb, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x4f,
|
||||
0xff, 0xf6, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x6f, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
|
||||
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
|
||||
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
|
||||
0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, 0x0, 0x0,
|
||||
|
||||
/* U+0035 "5" */
|
||||
0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xf9, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x7,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9,
|
||||
0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xf9, 0x0, 0x0, 0xb, 0xff, 0xfd,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xd, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xf, 0xff, 0xf8, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff,
|
||||
0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x4f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf1, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f,
|
||||
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0xaf, 0xff, 0xd4, 0x9d, 0xff, 0xeb,
|
||||
0x71, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0,
|
||||
0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc,
|
||||
0x10, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xc0, 0x0, 0x2, 0xff, 0xff,
|
||||
0xfd, 0x74, 0x24, 0x8f, 0xff, 0xff, 0xf8, 0x0,
|
||||
0x4, 0xff, 0xff, 0x80, 0x0, 0x0, 0x1, 0xdf,
|
||||
0xff, 0xff, 0x10, 0x0, 0x4c, 0xf8, 0x0, 0x0,
|
||||
0x0, 0x0, 0x1f, 0xff, 0xff, 0x70, 0x0, 0x0,
|
||||
0x30, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff,
|
||||
0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x3, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xf0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,
|
||||
0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x40,
|
||||
0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xe0,
|
||||
0x0, 0x3c, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x7,
|
||||
0xff, 0xff, 0xa0, 0x9, 0xff, 0xfc, 0x0, 0x0,
|
||||
0x0, 0x0, 0x1e, 0xff, 0xff, 0x50, 0xa, 0xff,
|
||||
0xff, 0xa0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xfe,
|
||||
0x0, 0x3, 0xff, 0xff, 0xfd, 0x73, 0x24, 0x8e,
|
||||
0xff, 0xff, 0xf5, 0x0, 0x0, 0x8f, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, 0x0,
|
||||
0x9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
|
||||
0x0, 0x0, 0x0, 0x0, 0x5d, 0xff, 0xff, 0xff,
|
||||
0xff, 0xfd, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x5a, 0xdf, 0xff, 0xd9, 0x40, 0x0, 0x0, 0x0,
|
||||
|
||||
/* U+0036 "6" */
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff,
|
||||
0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x4f, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xef, 0xff, 0xf4, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff,
|
||||
0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x3f, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xcf, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
|
||||
0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x2f, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xbf, 0xff, 0xf8, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff,
|
||||
0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x1e, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x9f, 0xff, 0xf8, 0x1, 0x10,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
|
||||
0xfd, 0xff, 0xff, 0xc7, 0x10, 0x0, 0x0, 0x0,
|
||||
0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6,
|
||||
0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0xef, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0,
|
||||
0x7, 0xff, 0xff, 0xff, 0x83, 0x0, 0x27, 0xff,
|
||||
0xff, 0xff, 0x40, 0xe, 0xff, 0xff, 0xe2, 0x0,
|
||||
0x0, 0x0, 0x2d, 0xff, 0xff, 0xd0, 0x3f, 0xff,
|
||||
0xff, 0x30, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
|
||||
0xf4, 0x7f, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0xaf, 0xff, 0xf8, 0x9f, 0xff, 0xf7, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfb, 0xaf,
|
||||
0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f,
|
||||
0xff, 0xfc, 0x9f, 0xff, 0xf5, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x4f, 0xff, 0xfc, 0x8f, 0xff, 0xf7,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfa,
|
||||
0x4f, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xcf, 0xff, 0xf7, 0xf, 0xff, 0xff, 0x50, 0x0,
|
||||
0x0, 0x0, 0x4, 0xff, 0xff, 0xf2, 0x8, 0xff,
|
||||
0xff, 0xf4, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff,
|
||||
0xa0, 0x1, 0xef, 0xff, 0xff, 0xb5, 0x33, 0x5a,
|
||||
0xff, 0xff, 0xff, 0x20, 0x0, 0x3f, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0,
|
||||
0x3, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x50, 0x0, 0x0, 0x0, 0x1a, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xb2, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x27, 0xbe, 0xff, 0xec, 0x82, 0x0, 0x0, 0x0,
|
||||
|
||||
/* U+0037 "7" */
|
||||
0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xf0, 0x9f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x9f, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xf0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x50, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff,
|
||||
0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x5f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf2, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff,
|
||||
0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x9, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xfe, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f,
|
||||
0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0xdf, 0xff, 0xf2, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xb0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
|
||||
0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x1f, 0xff, 0xfe, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf8,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xef, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x5, 0xff, 0xff, 0xb0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff,
|
||||
0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x2f, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x9f, 0xff, 0xf8, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff,
|
||||
0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x6, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0x40, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff,
|
||||
0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0xaf, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xf1, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff,
|
||||
0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0xd, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xfd, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf,
|
||||
0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
|
||||
/* U+0038 "8" */
|
||||
0x0, 0x0, 0x0, 0x1, 0x46, 0x77, 0x63, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xbf, 0xff,
|
||||
0xff, 0xff, 0xe9, 0x10, 0x0, 0x0, 0x0, 0x0,
|
||||
0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0,
|
||||
0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0x60, 0x0, 0x0, 0x9f, 0xff, 0xff,
|
||||
0xea, 0x88, 0xbf, 0xff, 0xff, 0xf2, 0x0, 0x3,
|
||||
0xff, 0xff, 0xf9, 0x0, 0x0, 0x2, 0xdf, 0xff,
|
||||
0xfa, 0x0, 0x9, 0xff, 0xff, 0xa0, 0x0, 0x0,
|
||||
0x0, 0x1f, 0xff, 0xff, 0x0, 0xc, 0xff, 0xff,
|
||||
0x30, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x30,
|
||||
0xd, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x6,
|
||||
0xff, 0xff, 0x40, 0xc, 0xff, 0xff, 0x20, 0x0,
|
||||
0x0, 0x0, 0x7, 0xff, 0xff, 0x30, 0x9, 0xff,
|
||||
0xff, 0x60, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff,
|
||||
0x0, 0x3, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0,
|
||||
0x7f, 0xff, 0xfa, 0x0, 0x0, 0x9f, 0xff, 0xfe,
|
||||
0x72, 0x0, 0x3a, 0xff, 0xff, 0xe2, 0x0, 0x0,
|
||||
0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x30, 0x0, 0x0, 0x0, 0x6e, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xc2, 0x0, 0x0, 0x0, 0x0, 0x8f,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0x0, 0x0,
|
||||
0x0, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0x80, 0x0, 0x1, 0xdf, 0xff, 0xff, 0x94,
|
||||
0x23, 0x5b, 0xff, 0xff, 0xf7, 0x0, 0xa, 0xff,
|
||||
0xff, 0xd1, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff,
|
||||
0x30, 0x3f, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x0,
|
||||
0x6, 0xff, 0xff, 0xb0, 0x8f, 0xff, 0xf8, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xf1, 0xcf,
|
||||
0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f,
|
||||
0xff, 0xf5, 0xef, 0xff, 0xf1, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x7f, 0xff, 0xf7, 0xff, 0xff, 0xf1,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf7,
|
||||
0xef, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x9f, 0xff, 0xf6, 0xbf, 0xff, 0xf7, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xdf, 0xff, 0xf4, 0x7f, 0xff,
|
||||
0xfe, 0x10, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff,
|
||||
0xf0, 0x1f, 0xff, 0xff, 0xc1, 0x0, 0x0, 0x0,
|
||||
0x4f, 0xff, 0xff, 0x90, 0x8, 0xff, 0xff, 0xff,
|
||||
0x84, 0x23, 0x5b, 0xff, 0xff, 0xfe, 0x10, 0x0,
|
||||
0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xf5, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x6e,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x49, 0xce, 0xff, 0xeb, 0x82,
|
||||
0x0, 0x0, 0x0,
|
||||
|
||||
/* U+0039 "9" */
|
||||
0x0, 0x0, 0x0, 0x0, 0x14, 0x67, 0x75, 0x20,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xcf,
|
||||
0xff, 0xff, 0xff, 0xd6, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x2c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd,
|
||||
0x30, 0x0, 0x0, 0x0, 0x3e, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x1e,
|
||||
0xff, 0xff, 0xff, 0xcb, 0xcf, 0xff, 0xff, 0xff,
|
||||
0x30, 0x0, 0xb, 0xff, 0xff, 0xf8, 0x10, 0x0,
|
||||
0x7, 0xff, 0xff, 0xfd, 0x0, 0x4, 0xff, 0xff,
|
||||
0xf6, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xf5,
|
||||
0x0, 0xaf, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0,
|
||||
0x8, 0xff, 0xff, 0xb0, 0xe, 0xff, 0xff, 0x30,
|
||||
0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0x1,
|
||||
0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xdf, 0xff, 0xf2, 0x2f, 0xff, 0xfe, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0x32, 0xff,
|
||||
0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf,
|
||||
0xff, 0xf3, 0x1f, 0xff, 0xff, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0xe, 0xff, 0xff, 0x20, 0xef, 0xff,
|
||||
0xf5, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
|
||||
0xf0, 0xa, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0,
|
||||
0x0, 0xbf, 0xff, 0xfb, 0x0, 0x4f, 0xff, 0xff,
|
||||
0xa0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0x60,
|
||||
0x0, 0xbf, 0xff, 0xff, 0xd5, 0x10, 0x14, 0xbf,
|
||||
0xff, 0xff, 0xe0, 0x0, 0x1, 0xef, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0,
|
||||
0x3, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xfd, 0x0, 0x0, 0x0, 0x1, 0xbf, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0,
|
||||
0x0, 0x39, 0xef, 0xff, 0xfe, 0xff, 0xff, 0xa0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x11,
|
||||
0xef, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xaf, 0xff, 0xf7, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff,
|
||||
0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0xd, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x90,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2,
|
||||
0xff, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xcf, 0xff, 0xf5, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff,
|
||||
0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x1f, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0x80,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5,
|
||||
0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xef, 0xff, 0xf4, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0,
|
||||
|
||||
/* U+003A ":" */
|
||||
0x0, 0x26, 0x50, 0x0, 0x4f, 0xff, 0xd1, 0xd,
|
||||
0xff, 0xff, 0x80, 0xff, 0xff, 0xfa, 0xc, 0xff,
|
||||
0xff, 0x70, 0x2e, 0xff, 0xb0, 0x0, 0x3, 0x20,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x5, 0xa9, 0x20, 0x7,
|
||||
0xff, 0xff, 0x20, 0xef, 0xff, 0xf9, 0xf, 0xff,
|
||||
0xff, 0xa0, 0xaf, 0xff, 0xf5, 0x0, 0xae, 0xd6,
|
||||
0x0
|
||||
};
|
||||
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
|
||||
{.bitmap_index = 0, .adv_w = 562, .box_w = 35, .box_h = 33, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 578, .adv_w = 344, .box_w = 17, .box_h = 4, .ofs_x = 2, .ofs_y = 11},
|
||||
{.bitmap_index = 612, .adv_w = 170, .box_w = 7, .box_h = 6, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 633, .adv_w = 284, .box_w = 18, .box_h = 32, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 921, .adv_w = 408, .box_w = 22, .box_h = 33, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 1284, .adv_w = 408, .box_w = 14, .box_h = 32, .ofs_x = 4, .ofs_y = 0},
|
||||
{.bitmap_index = 1508, .adv_w = 408, .box_w = 22, .box_h = 33, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 1871, .adv_w = 408, .box_w = 23, .box_h = 33, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2251, .adv_w = 408, .box_w = 24, .box_h = 32, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2635, .adv_w = 408, .box_w = 22, .box_h = 32, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2987, .adv_w = 408, .box_w = 22, .box_h = 32, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3339, .adv_w = 408, .box_w = 22, .box_h = 32, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3691, .adv_w = 408, .box_w = 22, .box_h = 33, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 4054, .adv_w = 408, .box_w = 23, .box_h = 33, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 4434, .adv_w = 187, .box_w = 7, .box_h = 23, .ofs_x = 2, .ofs_y = 0}
|
||||
};
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Pair left and right glyphs for kerning*/
|
||||
static const uint8_t kern_pair_glyph_ids[] =
|
||||
{
|
||||
4, 2,
|
||||
4, 3,
|
||||
4, 4
|
||||
};
|
||||
|
||||
/* Kerning between the respective left and right glyphs
|
||||
* 4.4 format which needs to scaled with `kern_scale`*/
|
||||
static const int8_t kern_pair_values[] =
|
||||
{
|
||||
-31, -100, -65
|
||||
};
|
||||
|
||||
/*Collect the kern pair's data in one place*/
|
||||
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
|
||||
{
|
||||
.glyph_ids = kern_pair_glyph_ids,
|
||||
.values = kern_pair_values,
|
||||
.pair_cnt = 3,
|
||||
.glyph_ids_size = 0
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = glyph_bitmap,
|
||||
.glyph_dsc = glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_pairs,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 2,
|
||||
.bpp = 4,
|
||||
.kern_classes = 0,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_44px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_44px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 33, /*The maximum line height required by the font*/
|
||||
.base_line = 0, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -3,
|
||||
.underline_thickness = 2,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_44PX*/
|
||||
|
|
@ -1,132 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 44 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_44px.c --bpp 4 --size 44 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a -r 0x25
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_44PX
|
||||
#define NUMBER_HARMONYOS_BPP4_44PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_44PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Pair left and right glyphs for kerning*/
|
||||
static const uint8_t kern_pair_glyph_ids[] =
|
||||
{
|
||||
4, 2,
|
||||
4, 3,
|
||||
4, 4
|
||||
};
|
||||
|
||||
/* Kerning between the respective left and right glyphs
|
||||
* 4.4 format which needs to scaled with `kern_scale`*/
|
||||
static const int8_t kern_pair_values[] =
|
||||
{
|
||||
-31, -100, -65
|
||||
};
|
||||
|
||||
/*Collect the kern pair's data in one place*/
|
||||
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
|
||||
{
|
||||
.glyph_ids = kern_pair_glyph_ids,
|
||||
.values = kern_pair_values,
|
||||
.pair_cnt = 3,
|
||||
.glyph_ids_size = 0
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_44px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_44px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_pairs,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 2,
|
||||
.bpp = 4,
|
||||
.kern_classes = 0,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_44px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_44px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 33, /*The maximum line height required by the font*/
|
||||
.base_line = 0, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -3,
|
||||
.underline_thickness = 2,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_44PX*/
|
||||
|
|
@ -1,132 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 46 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_46px.c --bpp 4 --size 46 -r 0x30-0x39 -r 0x2d-0x2f -r 0x25 -r 0x3a
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_46PX
|
||||
#define NUMBER_HARMONYOS_BPP4_46PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_46PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Pair left and right glyphs for kerning*/
|
||||
static const uint8_t kern_pair_glyph_ids[] =
|
||||
{
|
||||
4, 2,
|
||||
4, 3,
|
||||
4, 4
|
||||
};
|
||||
|
||||
/* Kerning between the respective left and right glyphs
|
||||
* 4.4 format which needs to scaled with `kern_scale`*/
|
||||
static const int8_t kern_pair_values[] =
|
||||
{
|
||||
-32, -105, -68
|
||||
};
|
||||
|
||||
/*Collect the kern pair's data in one place*/
|
||||
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
|
||||
{
|
||||
.glyph_ids = kern_pair_glyph_ids,
|
||||
.values = kern_pair_values,
|
||||
.pair_cnt = 3,
|
||||
.glyph_ids_size = 0
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_46px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_46px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_pairs,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 2,
|
||||
.bpp = 4,
|
||||
.kern_classes = 0,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_46px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_46px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 36, /*The maximum line height required by the font*/
|
||||
.base_line = 1, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -3,
|
||||
.underline_thickness = 2,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_46PX*/
|
||||
|
|
@ -1,132 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 50 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_50px.c --bpp 4 --size 50 -r 0x30-0x39 -r 0x2d-0x2f -r 0x25 -r 0x3a
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_50PX
|
||||
#define NUMBER_HARMONYOS_BPP4_50PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_50PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Pair left and right glyphs for kerning*/
|
||||
static const uint8_t kern_pair_glyph_ids[] =
|
||||
{
|
||||
4, 2,
|
||||
4, 3,
|
||||
4, 4
|
||||
};
|
||||
|
||||
/* Kerning between the respective left and right glyphs
|
||||
* 4.4 format which needs to scaled with `kern_scale`*/
|
||||
static const int8_t kern_pair_values[] =
|
||||
{
|
||||
-35, -114, -74
|
||||
};
|
||||
|
||||
/*Collect the kern pair's data in one place*/
|
||||
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
|
||||
{
|
||||
.glyph_ids = kern_pair_glyph_ids,
|
||||
.values = kern_pair_values,
|
||||
.pair_cnt = 3,
|
||||
.glyph_ids_size = 0
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_50px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_50px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_pairs,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 2,
|
||||
.bpp = 4,
|
||||
.kern_classes = 0,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_50px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_50px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 39, /*The maximum line height required by the font*/
|
||||
.base_line = 1, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -4,
|
||||
.underline_thickness = 3,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_50PX*/
|
||||
|
|
@ -1,132 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 62 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_62px.c --bpp 4 --size 62 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a -r 0x25
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_62PX
|
||||
#define NUMBER_HARMONYOS_BPP4_62PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_62PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Pair left and right glyphs for kerning*/
|
||||
static const uint8_t kern_pair_glyph_ids[] =
|
||||
{
|
||||
4, 2,
|
||||
4, 3,
|
||||
4, 4
|
||||
};
|
||||
|
||||
/* Kerning between the respective left and right glyphs
|
||||
* 4.4 format which needs to scaled with `kern_scale`*/
|
||||
static const int8_t kern_pair_values[] =
|
||||
{
|
||||
-37, -119, -77
|
||||
};
|
||||
|
||||
/*Collect the kern pair's data in one place*/
|
||||
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
|
||||
{
|
||||
.glyph_ids = kern_pair_glyph_ids,
|
||||
.values = kern_pair_values,
|
||||
.pair_cnt = 3,
|
||||
.glyph_ids_size = 0
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_62px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_62px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_pairs,
|
||||
.kern_scale = 19,
|
||||
.cmap_num = 2,
|
||||
.bpp = 4,
|
||||
.kern_classes = 0,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_62px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_62px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 47, /*The maximum line height required by the font*/
|
||||
.base_line = 1, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -5,
|
||||
.underline_thickness = 3,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_62PX*/
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,132 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 80 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_80px.c --bpp 4 --size 80 -r 0x30-0x39 -r 0x2d-0x2f -r 0x25 -r 0x3a
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_80PX
|
||||
#define NUMBER_HARMONYOS_BPP4_80PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_80PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Pair left and right glyphs for kerning*/
|
||||
static const uint8_t kern_pair_glyph_ids[] =
|
||||
{
|
||||
4, 2,
|
||||
4, 3,
|
||||
4, 4
|
||||
};
|
||||
|
||||
/* Kerning between the respective left and right glyphs
|
||||
* 4.4 format which needs to scaled with `kern_scale`*/
|
||||
static const int8_t kern_pair_values[] =
|
||||
{
|
||||
-36, -116, -75
|
||||
};
|
||||
|
||||
/*Collect the kern pair's data in one place*/
|
||||
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
|
||||
{
|
||||
.glyph_ids = kern_pair_glyph_ids,
|
||||
.values = kern_pair_values,
|
||||
.pair_cnt = 3,
|
||||
.glyph_ids_size = 0
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_80px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_80px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_pairs,
|
||||
.kern_scale = 25,
|
||||
.cmap_num = 2,
|
||||
.bpp = 4,
|
||||
.kern_classes = 0,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_80px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_80px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 62, /*The maximum line height required by the font*/
|
||||
.base_line = 1, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -6,
|
||||
.underline_thickness = 4,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_80PX*/
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,132 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Size: 92 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --format lvgl --font HarmonyOS_Sans_SC_Medium.ttf -o Number_HarmonyOS_bpp4_92px.c --bpp 4 --size 92 -r 0x30-0x39 -r 0x2d-0x2f -r 0x3a -r 0x25
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef NUMBER_HARMONYOS_BPP4_92PX
|
||||
#define NUMBER_HARMONYOS_BPP4_92PX 1
|
||||
#endif
|
||||
|
||||
#if NUMBER_HARMONYOS_BPP4_92PX
|
||||
|
||||
/*-----------------
|
||||
* BITMAPS
|
||||
*----------------*/
|
||||
|
||||
/*Store the image of the glyphs*/
|
||||
#include "bin_font.h"
|
||||
|
||||
/*---------------------
|
||||
* GLYPH DESCRIPTION
|
||||
*--------------------*/
|
||||
|
||||
|
||||
/*---------------------
|
||||
* CHARACTER MAPPING
|
||||
*--------------------*/
|
||||
|
||||
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 45, .range_length = 14, .glyph_id_start = 2,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
}
|
||||
};
|
||||
|
||||
/*-----------------
|
||||
* KERNING
|
||||
*----------------*/
|
||||
|
||||
|
||||
/*Pair left and right glyphs for kerning*/
|
||||
static const uint8_t kern_pair_glyph_ids[] =
|
||||
{
|
||||
4, 2,
|
||||
4, 3,
|
||||
4, 4
|
||||
};
|
||||
|
||||
/* Kerning between the respective left and right glyphs
|
||||
* 4.4 format which needs to scaled with `kern_scale`*/
|
||||
static const int8_t kern_pair_values[] =
|
||||
{
|
||||
-37, -119, -77
|
||||
};
|
||||
|
||||
/*Collect the kern pair's data in one place*/
|
||||
static const lv_font_fmt_txt_kern_pair_t kern_pairs =
|
||||
{
|
||||
.glyph_ids = kern_pair_glyph_ids,
|
||||
.values = kern_pair_values,
|
||||
.pair_cnt = 3,
|
||||
.glyph_ids_size = 0
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
* ALL CUSTOM DATA
|
||||
*--------------------*/
|
||||
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
/*Store all the custom data of the font*/
|
||||
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#else
|
||||
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
#endif
|
||||
.glyph_bitmap = Number_HarmonyOS_bpp4_92px_glyph_bitmap,
|
||||
.glyph_dsc = Number_HarmonyOS_bpp4_92px_glyph_dsc,
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_pairs,
|
||||
.kern_scale = 28,
|
||||
.cmap_num = 2,
|
||||
.bpp = 4,
|
||||
.kern_classes = 0,
|
||||
.bitmap_format = 0,
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
.cache = &cache
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/*-----------------
|
||||
* PUBLIC FONT
|
||||
*----------------*/
|
||||
|
||||
/*Initialize a public general font descriptor*/
|
||||
#if LVGL_VERSION_MAJOR >= 8
|
||||
const lv_font_t Number_HarmonyOS_bpp4_92px = {
|
||||
#else
|
||||
lv_font_t Number_HarmonyOS_bpp4_92px = {
|
||||
#endif
|
||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||
.line_height = 70, /*The maximum line height required by the font*/
|
||||
.base_line = 1, /*Baseline measured from the bottom of the line*/
|
||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||
.subpx = LV_FONT_SUBPX_NONE,
|
||||
#endif
|
||||
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||
.underline_position = -7,
|
||||
.underline_thickness = 5,
|
||||
#endif
|
||||
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /*#if NUMBER_HARMONYOS_BPP4_92PX*/
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -1,282 +0,0 @@
|
|||
#if 1
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
#ifndef LV_ATTRIBUTE_IMG_BATT_FULL_GREN
|
||||
#define LV_ATTRIBUTE_IMG_BATT_FULL_GREN
|
||||
#endif
|
||||
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_BATT_FULL_GREN uint8_t batt_full_gren_map[] = {
|
||||
#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8
|
||||
/*Pixel format: Alpha 8 bit, Red: 3 bit, Green: 3 bit, Blue: 2 bit*/
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x24, 0x44, 0x24, 0x51, 0x25, 0x42, 0x25, 0x44, 0x25, 0x44, 0x25, 0x44, 0x25, 0x42, 0x24, 0x5d, 0x24, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 0x24, 0x61, 0x00, 0x1f, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x1a, 0x00, 0x40, 0x24, 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, 0x49, 0x0a, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xff, 0x02, 0xdb, 0x60, 0xff, 0x71, 0xff, 0x66, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xfb, 0x77, 0x8e, 0x87, 0xb2, 0x61, 0xfb, 0x61, 0xdb, 0x61, 0xdb, 0x61, 0xfb, 0x61, 0xd7, 0x61, 0x8e, 0x6c, 0x92, 0x81, 0xff, 0x67, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x64, 0xff, 0x64, 0xff, 0x67, 0xd7, 0x71, 0xb7, 0x40, 0x00, 0x00,
|
||||
0xff, 0x02, 0xff, 0xba, 0xff, 0xff, 0xdf, 0xff, 0xdf, 0xf4, 0xdf, 0xec, 0xdf, 0xeb, 0xdf, 0xec, 0xdf, 0xec, 0xdf, 0xec, 0xdf, 0xe5, 0xff, 0xdf, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xe8, 0xff, 0xe1, 0xdf, 0xeb, 0xdf, 0xec, 0xdf, 0xec, 0xdf, 0xec, 0xdf, 0xec, 0xdf, 0xef, 0xbf, 0xf3, 0xdf, 0xfa, 0xfb, 0xf0, 0xff, 0x6f,
|
||||
0xff, 0x72, 0x9a, 0xff, 0x31, 0xf7, 0x15, 0xfc, 0x15, 0xfc, 0x19, 0xfb, 0x19, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x9e, 0xfb, 0x9f, 0xfb, 0x9e, 0xfb, 0x9e, 0xfb, 0xbf, 0xfb, 0x7e, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfb, 0x1d, 0xfc, 0x1d, 0xf7, 0x3d, 0xf9, 0x9a, 0xe0,
|
||||
0xbb, 0xde, 0x0c, 0xff, 0x10, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x9e, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf7,
|
||||
0x31, 0xf6, 0x10, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf4,
|
||||
0x11, 0xf2, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf0, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf1, 0x11, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x11, 0xf2, 0x10, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xf2,
|
||||
0x55, 0xf1, 0x0c, 0xff, 0x15, 0xff, 0x15, 0xff, 0x19, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x3d, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x9e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xfe,
|
||||
0xff, 0xbb, 0x31, 0xff, 0x10, 0xff, 0x14, 0xff, 0x18, 0xff, 0x19, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x9e, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0x9f, 0xff, 0xbf, 0xff, 0x7e, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x1d, 0xff, 0x59, 0xd9,
|
||||
0xff, 0x3e, 0xdb, 0xff, 0x76, 0xfe, 0x76, 0xe7, 0x56, 0xd9, 0x56, 0xcb, 0x7a, 0xc6, 0x7a, 0xc8, 0x7a, 0xc8, 0x5a, 0xc8, 0x7a, 0xc8, 0x9a, 0xc8, 0xbb, 0xc8, 0x9a, 0xc8, 0x9a, 0xc8, 0xbb, 0xc8, 0x9a, 0xc8, 0x5a, 0xc8, 0x5a, 0xc8, 0x7a, 0xc8, 0x7a, 0xc8, 0x7a, 0xc8, 0x7a, 0xc8, 0x7a, 0xc7, 0x7a, 0xc9, 0x5a, 0xcd, 0x5a, 0xd2, 0x59, 0xd3, 0x55, 0xeb, 0xb7, 0xa9,
|
||||
0x00, 0x00, 0xff, 0x6e, 0xff, 0xcc, 0xfb, 0xbe, 0xfb, 0xa7, 0xfb, 0x99, 0xfb, 0x95, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x96, 0xfb, 0x97, 0xf7, 0x9b, 0xf7, 0xa1, 0xd7, 0xb1, 0xd7, 0xa7, 0xff, 0x36,
|
||||
#endif
|
||||
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0
|
||||
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit*/
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe4, 0x20, 0x44, 0x04, 0x21, 0x51, 0x04, 0x21, 0x42, 0x04, 0x21, 0x44, 0x04, 0x21, 0x44, 0x04, 0x21, 0x44, 0x04, 0x21, 0x42, 0xe4, 0x20, 0x5d, 0xe4, 0x20, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 0xc3, 0x18, 0x61, 0x41, 0x08, 0x1f, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x1a, 0x61, 0x08, 0x40, 0xe3, 0x18, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x31, 0x0a, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x02, 0x18, 0xce, 0x60, 0xdd, 0xee, 0x71, 0x7f, 0xff, 0x66, 0x3e, 0xff, 0x63, 0x1e, 0xff, 0x63, 0x1e, 0xff, 0x63, 0xfe, 0xfe, 0x63, 0xff, 0xff, 0x63, 0x1a, 0xde, 0x77, 0x2e, 0x73, 0x87, 0x72, 0x9c, 0x61, 0x3a, 0xd6, 0x61, 0xd9, 0xcd, 0x61, 0xd8, 0xcd, 0x61, 0x1a, 0xd6, 0x61, 0x98, 0xcd, 0x61, 0x70, 0x8b, 0x6c, 0x91, 0x8b, 0x81, 0xfe, 0xfe, 0x67, 0xdf, 0xff, 0x63, 0xdd, 0xf6, 0x63, 0xfe, 0xfe, 0x63, 0xfe, 0xfe, 0x64, 0xfe, 0xf6, 0x64, 0x3f, 0xff, 0x67, 0x17, 0xbd, 0x71, 0x35, 0xad, 0x40, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0x02, 0xff, 0xff, 0xba, 0x5d, 0xef, 0xff, 0xb8, 0xc6, 0xff, 0xb8, 0xbe, 0xf4, 0xd8, 0xc6, 0xec, 0xf9, 0xbe, 0xeb, 0xf8, 0xc6, 0xec, 0xf8, 0xc6, 0xec, 0xf8, 0xbe, 0xec, 0x9b, 0xd7, 0xe5, 0xff, 0xf7, 0xdf, 0xff, 0xf7, 0xec, 0xdd, 0xef, 0xec, 0xdd, 0xef, 0xec, 0xde, 0xef, 0xec, 0xdd, 0xe7, 0xec, 0xfc, 0xdf, 0xec, 0xfe, 0xe7, 0xe8, 0xfd, 0xe7, 0xe1, 0x7a, 0xcf, 0xeb, 0xf8, 0xbe, 0xec, 0x19, 0xc7, 0xec, 0x19, 0xc7, 0xec, 0xf8, 0xc6, 0xec, 0xd8, 0xbe, 0xef, 0xb7, 0xb6, 0xf3, 0xf8, 0xbe, 0xfa, 0x5a, 0xde, 0xf0, 0xdf, 0xfe, 0x6f,
|
||||
0xff, 0xff, 0x72, 0x91, 0x7d, 0xff, 0x85, 0x1c, 0xf7, 0xc4, 0x04, 0xfc, 0x66, 0x05, 0xfc, 0xe6, 0x05, 0xfb, 0x87, 0x06, 0xfb, 0xe7, 0x06, 0xfb, 0x48, 0x0f, 0xfb, 0x87, 0x07, 0xfb, 0x89, 0x17, 0xfb, 0xd4, 0x87, 0xfb, 0xd5, 0x8f, 0xfb, 0xd4, 0x87, 0xfb, 0xd4, 0x87, 0xfb, 0xd5, 0x97, 0xfb, 0xb2, 0x6f, 0xfb, 0x87, 0x07, 0xfb, 0x88, 0x07, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x0f, 0xfb, 0x88, 0x07, 0xfb, 0x88, 0x07, 0xfc, 0xa8, 0x07, 0xf7, 0x09, 0x27, 0xf9, 0x13, 0x8e, 0xe0,
|
||||
0x14, 0x9e, 0xde, 0x20, 0x03, 0xff, 0x42, 0x04, 0xff, 0x05, 0x05, 0xff, 0x86, 0x05, 0xff, 0x06, 0x06, 0xff, 0x87, 0x06, 0xff, 0x07, 0x07, 0xff, 0x68, 0x07, 0xff, 0xa7, 0x07, 0xff, 0xc9, 0x0f, 0xff, 0xf4, 0x87, 0xff, 0xf5, 0x97, 0xff, 0xf4, 0x8f, 0xff, 0xf4, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xf2, 0x6f, 0xff, 0xa7, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xa8, 0x07, 0xff, 0xc8, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xa7, 0x07, 0xf7,
|
||||
0x26, 0x14, 0xf6, 0xa2, 0x03, 0xff, 0xa6, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x17, 0xff, 0xa8, 0x0f, 0xf4,
|
||||
0x04, 0x04, 0xf2, 0x05, 0x04, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf0, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x25, 0x0c, 0xf1, 0x04, 0x04, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0x04, 0x0c, 0xf2, 0xe4, 0x03, 0xff, 0x85, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xf2,
|
||||
0xcc, 0x4c, 0xf1, 0x60, 0x03, 0xff, 0xa6, 0x0c, 0xff, 0x06, 0x0d, 0xff, 0x87, 0x0d, 0xff, 0x07, 0x0e, 0xff, 0x88, 0x0e, 0xff, 0x08, 0x0f, 0xff, 0x69, 0x0f, 0xff, 0xa8, 0x07, 0xff, 0xaa, 0x17, 0xff, 0xd4, 0x87, 0xff, 0xd5, 0x97, 0xff, 0xd5, 0x8f, 0xff, 0xd5, 0x8f, 0xff, 0xf6, 0x9f, 0xff, 0xd2, 0x77, 0xff, 0xa8, 0x0f, 0xff, 0xa8, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x0f, 0xff, 0xa9, 0x17, 0xff, 0xc9, 0x0f, 0xff, 0xe8, 0x07, 0xfe,
|
||||
0x1c, 0xe7, 0xbb, 0x05, 0x14, 0xff, 0x00, 0x04, 0xff, 0xe3, 0x04, 0xff, 0xa4, 0x05, 0xff, 0x44, 0x06, 0xff, 0xc5, 0x06, 0xff, 0x46, 0x07, 0xff, 0xc6, 0x07, 0xff, 0xe5, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xf4, 0x7f, 0xff, 0xf5, 0x8f, 0xff, 0xf4, 0x87, 0xff, 0xf4, 0x87, 0xff, 0xf6, 0x97, 0xff, 0xf2, 0x6f, 0xff, 0xe6, 0x07, 0xff, 0xe6, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe7, 0x07, 0xff, 0xe6, 0x07, 0xff, 0x4b, 0x36, 0xd9,
|
||||
0xff, 0xff, 0x3e, 0x79, 0xc6, 0xff, 0x2f, 0x75, 0xfe, 0x2d, 0x5d, 0xe7, 0x2d, 0x55, 0xd9, 0x4d, 0x55, 0xcb, 0xad, 0x55, 0xc6, 0xee, 0x55, 0xc8, 0x2e, 0x56, 0xc8, 0x2d, 0x4e, 0xc8, 0x2e, 0x5e, 0xc8, 0x53, 0x96, 0xc8, 0x54, 0x9e, 0xc8, 0x54, 0x96, 0xc8, 0x54, 0x96, 0xc8, 0x54, 0x9e, 0xc8, 0x53, 0x86, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc8, 0x2e, 0x56, 0xc7, 0x2e, 0x56, 0xc9, 0x0d, 0x4e, 0xcd, 0xcc, 0x45, 0xd2, 0xcc, 0x45, 0xd3, 0xaa, 0x44, 0xeb, 0xb5, 0xac, 0xa9,
|
||||
0x00, 0x00, 0x00, 0xdf, 0xff, 0x6e, 0xde, 0xf6, 0xcc, 0x7c, 0xee, 0xbe, 0x1b, 0xe6, 0xa7, 0xfb, 0xe5, 0x99, 0xfb, 0xe5, 0x95, 0xfb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xb9, 0xcd, 0x96, 0xb8, 0xcd, 0x96, 0xb9, 0xcd, 0x96, 0xb9, 0xcd, 0x96, 0xb8, 0xcd, 0x96, 0xb9, 0xd5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xdb, 0xe5, 0x96, 0xbb, 0xe5, 0x97, 0x9a, 0xdd, 0x9b, 0x59, 0xdd, 0xa1, 0xd7, 0xc4, 0xb1, 0xf7, 0xc4, 0xa7, 0xbf, 0xff, 0x36,
|
||||
#endif
|
||||
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP != 0
|
||||
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit BUT the 2 color bytes are swapped*/
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0xe4, 0x44, 0x21, 0x04, 0x51, 0x21, 0x04, 0x42, 0x21, 0x04, 0x44, 0x21, 0x04, 0x44, 0x21, 0x04, 0x44, 0x21, 0x04, 0x42, 0x20, 0xe4, 0x5d, 0x20, 0xe4, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc2, 0x20, 0x18, 0xc3, 0x61, 0x08, 0x41, 0x1f, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x1a, 0x08, 0x61, 0x40, 0x18, 0xe3, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0xa6, 0x0a, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x02, 0xce, 0x18, 0x60, 0xee, 0xdd, 0x71, 0xff, 0x7f, 0x66, 0xff, 0x3e, 0x63, 0xff, 0x1e, 0x63, 0xff, 0x1e, 0x63, 0xfe, 0xfe, 0x63, 0xff, 0xff, 0x63, 0xde, 0x1a, 0x77, 0x73, 0x2e, 0x87, 0x9c, 0x72, 0x61, 0xd6, 0x3a, 0x61, 0xcd, 0xd9, 0x61, 0xcd, 0xd8, 0x61, 0xd6, 0x1a, 0x61, 0xcd, 0x98, 0x61, 0x8b, 0x70, 0x6c, 0x8b, 0x91, 0x81, 0xfe, 0xfe, 0x67, 0xff, 0xdf, 0x63, 0xf6, 0xdd, 0x63, 0xfe, 0xfe, 0x63, 0xfe, 0xfe, 0x64, 0xf6, 0xfe, 0x64, 0xff, 0x3f, 0x67, 0xbd, 0x17, 0x71, 0xad, 0x35, 0x40, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0x02, 0xff, 0xff, 0xba, 0xef, 0x5d, 0xff, 0xc6, 0xb8, 0xff, 0xbe, 0xb8, 0xf4, 0xc6, 0xd8, 0xec, 0xbe, 0xf9, 0xeb, 0xc6, 0xf8, 0xec, 0xc6, 0xf8, 0xec, 0xbe, 0xf8, 0xec, 0xd7, 0x9b, 0xe5, 0xf7, 0xff, 0xdf, 0xf7, 0xff, 0xec, 0xef, 0xdd, 0xec, 0xef, 0xdd, 0xec, 0xef, 0xde, 0xec, 0xe7, 0xdd, 0xec, 0xdf, 0xfc, 0xec, 0xe7, 0xfe, 0xe8, 0xe7, 0xfd, 0xe1, 0xcf, 0x7a, 0xeb, 0xbe, 0xf8, 0xec, 0xc7, 0x19, 0xec, 0xc7, 0x19, 0xec, 0xc6, 0xf8, 0xec, 0xbe, 0xd8, 0xef, 0xb6, 0xb7, 0xf3, 0xbe, 0xf8, 0xfa, 0xde, 0x5a, 0xf0, 0xfe, 0xdf, 0x6f,
|
||||
0xff, 0xff, 0x72, 0x7d, 0x91, 0xff, 0x1c, 0x85, 0xf7, 0x04, 0xc4, 0xfc, 0x05, 0x66, 0xfc, 0x05, 0xe6, 0xfb, 0x06, 0x87, 0xfb, 0x06, 0xe7, 0xfb, 0x0f, 0x48, 0xfb, 0x07, 0x87, 0xfb, 0x17, 0x89, 0xfb, 0x87, 0xd4, 0xfb, 0x8f, 0xd5, 0xfb, 0x87, 0xd4, 0xfb, 0x87, 0xd4, 0xfb, 0x97, 0xd5, 0xfb, 0x6f, 0xb2, 0xfb, 0x07, 0x87, 0xfb, 0x07, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x0f, 0x88, 0xfb, 0x07, 0x88, 0xfb, 0x07, 0x88, 0xfc, 0x07, 0xa8, 0xf7, 0x27, 0x09, 0xf9, 0x8e, 0x13, 0xe0,
|
||||
0x9e, 0x14, 0xde, 0x03, 0x20, 0xff, 0x04, 0x42, 0xff, 0x05, 0x05, 0xff, 0x05, 0x86, 0xff, 0x06, 0x06, 0xff, 0x06, 0x87, 0xff, 0x07, 0x07, 0xff, 0x07, 0x68, 0xff, 0x07, 0xa7, 0xff, 0x0f, 0xc9, 0xff, 0x87, 0xf4, 0xff, 0x97, 0xf5, 0xff, 0x8f, 0xf4, 0xff, 0x8f, 0xf4, 0xff, 0x9f, 0xf6, 0xff, 0x6f, 0xf2, 0xff, 0x07, 0xa7, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xa8, 0xff, 0x07, 0xc8, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xa7, 0xf7,
|
||||
0x14, 0x26, 0xf6, 0x03, 0xa2, 0xff, 0x0c, 0xa6, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x17, 0xa9, 0xff, 0x0f, 0xa8, 0xf4,
|
||||
0x04, 0x04, 0xf2, 0x04, 0x05, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf0, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x25, 0xf1, 0x04, 0x04, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x0c, 0x04, 0xf2, 0x03, 0xe4, 0xff, 0x0c, 0x85, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xf2,
|
||||
0x4c, 0xcc, 0xf1, 0x03, 0x60, 0xff, 0x0c, 0xa6, 0xff, 0x0d, 0x06, 0xff, 0x0d, 0x87, 0xff, 0x0e, 0x07, 0xff, 0x0e, 0x88, 0xff, 0x0f, 0x08, 0xff, 0x0f, 0x69, 0xff, 0x07, 0xa8, 0xff, 0x17, 0xaa, 0xff, 0x87, 0xd4, 0xff, 0x97, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x8f, 0xd5, 0xff, 0x9f, 0xf6, 0xff, 0x77, 0xd2, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa8, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x0f, 0xa9, 0xff, 0x17, 0xa9, 0xff, 0x0f, 0xc9, 0xff, 0x07, 0xe8, 0xfe,
|
||||
0xe7, 0x1c, 0xbb, 0x14, 0x05, 0xff, 0x04, 0x00, 0xff, 0x04, 0xe3, 0xff, 0x05, 0xa4, 0xff, 0x06, 0x44, 0xff, 0x06, 0xc5, 0xff, 0x07, 0x46, 0xff, 0x07, 0xc6, 0xff, 0x07, 0xe5, 0xff, 0x07, 0xe7, 0xff, 0x7f, 0xf4, 0xff, 0x8f, 0xf5, 0xff, 0x87, 0xf4, 0xff, 0x87, 0xf4, 0xff, 0x97, 0xf6, 0xff, 0x6f, 0xf2, 0xff, 0x07, 0xe6, 0xff, 0x07, 0xe6, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe7, 0xff, 0x07, 0xe6, 0xff, 0x36, 0x4b, 0xd9,
|
||||
0xff, 0xff, 0x3e, 0xc6, 0x79, 0xff, 0x75, 0x2f, 0xfe, 0x5d, 0x2d, 0xe7, 0x55, 0x2d, 0xd9, 0x55, 0x4d, 0xcb, 0x55, 0xad, 0xc6, 0x55, 0xee, 0xc8, 0x56, 0x2e, 0xc8, 0x4e, 0x2d, 0xc8, 0x5e, 0x2e, 0xc8, 0x96, 0x53, 0xc8, 0x9e, 0x54, 0xc8, 0x96, 0x54, 0xc8, 0x96, 0x54, 0xc8, 0x9e, 0x54, 0xc8, 0x86, 0x53, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc8, 0x56, 0x2e, 0xc7, 0x56, 0x2e, 0xc9, 0x4e, 0x0d, 0xcd, 0x45, 0xcc, 0xd2, 0x45, 0xcc, 0xd3, 0x44, 0xaa, 0xeb, 0xac, 0xb5, 0xa9,
|
||||
0x00, 0x00, 0x00, 0xff, 0xdf, 0x6e, 0xf6, 0xde, 0xcc, 0xee, 0x7c, 0xbe, 0xe6, 0x1b, 0xa7, 0xe5, 0xfb, 0x99, 0xe5, 0xfb, 0x95, 0xe5, 0xfb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xcd, 0xb9, 0x96, 0xcd, 0xb8, 0x96, 0xcd, 0xb9, 0x96, 0xcd, 0xb9, 0x96, 0xcd, 0xb8, 0x96, 0xd5, 0xb9, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xdb, 0x96, 0xe5, 0xbb, 0x97, 0xdd, 0x9a, 0x9b, 0xdd, 0x59, 0xa1, 0xc4, 0xd7, 0xb1, 0xc4, 0xf7, 0xa7, 0xff, 0xbf, 0x36,
|
||||
#endif
|
||||
#if LV_COLOR_DEPTH == 32
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1e, 0x1e, 0x1e, 0x44, 0x1f, 0x1f, 0x1f, 0x51, 0x22, 0x22, 0x22, 0x42, 0x21, 0x21, 0x21, 0x44, 0x21, 0x21, 0x21, 0x44, 0x21, 0x21, 0x21, 0x44, 0x22, 0x22, 0x22, 0x42, 0x1e, 0x1e, 0x1e, 0x5d, 0x1e, 0x1e, 0x1e, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x17, 0x17, 0x20, 0x1a, 0x1a, 0x1a, 0x61, 0x08, 0x08, 0x08, 0x1f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1a, 0x0b, 0x0b, 0x0b, 0x40, 0x1c, 0x1c, 0x1c, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x0a, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0x02, 0xc4, 0xbf, 0xc7, 0x60, 0xe8, 0xda, 0xec, 0x71, 0xfa, 0xeb, 0xff, 0x66, 0xf2, 0xe5, 0xf9, 0x63, 0xf2, 0xe2, 0xf9, 0x63, 0xf2, 0xe0, 0xf7, 0x63, 0xf2, 0xdd, 0xf7, 0x63, 0xff, 0xff, 0xff, 0x63, 0xd2, 0xc0, 0xd8, 0x77, 0x71, 0x66, 0x73, 0x87, 0x93, 0x8b, 0x95, 0x61, 0xcd, 0xc5, 0xd2, 0x61, 0xc5, 0xba, 0xc7, 0x61, 0xc2, 0xb8, 0xc5, 0x61, 0xcd, 0xc2, 0xd2, 0x61, 0xc2, 0xb0, 0xca, 0x61, 0x81, 0x6e, 0x88, 0x6c, 0x86, 0x72, 0x8c, 0x81, 0xf0, 0xde, 0xf7, 0x67, 0xff, 0xf7, 0xff, 0x63, 0xec, 0xda, 0xf4, 0x63, 0xf2, 0xdd, 0xf7, 0x63, 0xf2, 0xdd, 0xf7, 0x64, 0xef, 0xdb, 0xf4, 0x64, 0xfa, 0xe6, 0xff, 0x67, 0xb6, 0xa2, 0xbb, 0x71, 0xab, 0xa3, 0xab, 0x40, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0x02, 0xff, 0xfd, 0xff, 0xba, 0xea, 0xea, 0xea, 0xff, 0xc3, 0xd6, 0xc0, 0xff, 0xc2, 0xd5, 0xbb, 0xf4, 0xc3, 0xd8, 0xbd, 0xec, 0xc5, 0xdb, 0xbc, 0xeb, 0xc4, 0xdd, 0xbd, 0xec, 0xc4, 0xdd, 0xbd, 0xec, 0xc2, 0xdc, 0xb7, 0xec, 0xd9, 0xf1, 0xd0, 0xe5, 0xf9, 0xfe, 0xf3, 0xdf, 0xf8, 0xff, 0xf4, 0xec, 0xea, 0xf8, 0xe6, 0xec, 0xeb, 0xf9, 0xe8, 0xec, 0xed, 0xf9, 0xea, 0xec, 0xe8, 0xf8, 0xe1, 0xec, 0xe1, 0xfc, 0xd9, 0xec, 0xed, 0xff, 0xe3, 0xe8, 0xea, 0xff, 0xe1, 0xe1, 0xd2, 0xeb, 0xc8, 0xeb, 0xc1, 0xdb, 0xb8, 0xec, 0xc5, 0xdf, 0xbd, 0xec, 0xc5, 0xdf, 0xbd, 0xec, 0xc4, 0xde, 0xbd, 0xec, 0xc2, 0xda, 0xb7, 0xef, 0xb7, 0xd5, 0xaf, 0xf3, 0xc0, 0xdb, 0xb9, 0xfa, 0xd4, 0xc7, 0xd8, 0xf0, 0xf5, 0xda, 0xff, 0x6f,
|
||||
0xff, 0xff, 0xff, 0x72, 0x8a, 0xb1, 0x79, 0xff, 0x2c, 0x8f, 0x18, 0xf7, 0x22, 0x99, 0x00, 0xfc, 0x2d, 0xae, 0x01, 0xfc, 0x32, 0xbe, 0x03, 0xfb, 0x37, 0xcf, 0x03, 0xfb, 0x3c, 0xde, 0x04, 0xfb, 0x40, 0xea, 0x05, 0xfb, 0x39, 0xf1, 0x00, 0xfb, 0x49, 0xf2, 0x0d, 0xfb, 0x9d, 0xf8, 0x7d, 0xfb, 0xa6, 0xf7, 0x8c, 0xfb, 0x9f, 0xf7, 0x82, 0xfb, 0x9f, 0xf7, 0x82, 0xfb, 0xac, 0xf8, 0x93, 0xfb, 0x8e, 0xf6, 0x6a, 0xfb, 0x3c, 0xf1, 0x00, 0xfb, 0x3d, 0xf1, 0x00, 0xfb, 0x43, 0xf1, 0x05, 0xfb, 0x42, 0xf1, 0x05, 0xfb, 0x42, 0xf1, 0x05, 0xfb, 0x42, 0xf1, 0x05, 0xfb, 0x42, 0xf1, 0x05, 0xfb, 0x42, 0xf1, 0x05, 0xfb, 0x42, 0xf0, 0x04, 0xfb, 0x3f, 0xf1, 0x02, 0xfc, 0x3d, 0xf3, 0x02, 0xf7, 0x4b, 0xe1, 0x1e, 0xf9, 0x98, 0xc1, 0x8a, 0xe0,
|
||||
0xa3, 0xbf, 0x98, 0xde, 0x00, 0x66, 0x00, 0xff, 0x12, 0x87, 0x00, 0xff, 0x2a, 0xa0, 0x00, 0xff, 0x2d, 0xb0, 0x00, 0xff, 0x31, 0xc1, 0x00, 0xff, 0x36, 0xd2, 0x00, 0xff, 0x3c, 0xe1, 0x01, 0xff, 0x3f, 0xee, 0x02, 0xff, 0x39, 0xf6, 0x00, 0xff, 0x47, 0xf7, 0x0a, 0xff, 0x9f, 0xfc, 0x7f, 0xff, 0xaa, 0xfc, 0x8e, 0xff, 0xa3, 0xfc, 0x85, 0xff, 0xa3, 0xfc, 0x85, 0xff, 0xb0, 0xfd, 0x95, 0xff, 0x90, 0xfb, 0x6c, 0xff, 0x3c, 0xf6, 0x00, 0xff, 0x3d, 0xf6, 0x00, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x41, 0xf6, 0x02, 0xff, 0x42, 0xf6, 0x03, 0xff, 0x43, 0xf7, 0x03, 0xff, 0x36, 0xff, 0x00, 0xff, 0x3c, 0xf6, 0x00, 0xf7,
|
||||
0x30, 0x83, 0x13, 0xf6, 0x0f, 0x76, 0x00, 0xff, 0x2d, 0x93, 0x08, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x4a, 0xf3, 0x0e, 0xff, 0x43, 0xf5, 0x05, 0xf4,
|
||||
0x23, 0x81, 0x03, 0xf2, 0x26, 0x80, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2c, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2c, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb1, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x2b, 0x85, 0x0c, 0xf0, 0x22, 0x7e, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x28, 0x84, 0x08, 0xf1, 0x24, 0x7f, 0x02, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe1, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0b, 0xf2,
|
||||
0x24, 0x80, 0x05, 0xf2, 0x1f, 0x7e, 0x01, 0xff, 0x2b, 0x92, 0x07, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x47, 0xf4, 0x0a, 0xf2,
|
||||
0x5e, 0x99, 0x49, 0xf1, 0x00, 0x6d, 0x00, 0xff, 0x2d, 0x93, 0x06, 0xff, 0x30, 0xa1, 0x08, 0xff, 0x35, 0xb2, 0x09, 0xff, 0x39, 0xc2, 0x0a, 0xff, 0x3e, 0xd2, 0x0a, 0xff, 0x43, 0xe0, 0x0b, 0xff, 0x46, 0xed, 0x0c, 0xff, 0x40, 0xf4, 0x02, 0xff, 0x4e, 0xf5, 0x14, 0xff, 0xa1, 0xfa, 0x83, 0xff, 0xac, 0xfa, 0x91, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xa5, 0xfa, 0x88, 0xff, 0xb1, 0xfb, 0x98, 0xff, 0x93, 0xf9, 0x71, 0xff, 0x43, 0xf4, 0x06, 0xff, 0x44, 0xf4, 0x07, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf4, 0x0c, 0xff, 0x48, 0xf3, 0x0d, 0xff, 0x49, 0xf7, 0x0c, 0xff, 0x3f, 0xff, 0x00, 0xfe,
|
||||
0xe2, 0xe2, 0xdf, 0xbb, 0x27, 0x7f, 0x12, 0xff, 0x00, 0x80, 0x00, 0xff, 0x15, 0x9c, 0x00, 0xff, 0x1f, 0xb3, 0x00, 0xff, 0x24, 0xc7, 0x00, 0xff, 0x29, 0xd9, 0x00, 0xff, 0x2f, 0xea, 0x00, 0xff, 0x33, 0xf9, 0x00, 0xff, 0x2c, 0xff, 0x00, 0xff, 0x3c, 0xff, 0x00, 0xff, 0x9f, 0xff, 0x7b, 0xff, 0xac, 0xff, 0x8c, 0xff, 0xa4, 0xff, 0x81, 0xff, 0xa4, 0xff, 0x81, 0xff, 0xb2, 0xff, 0x94, 0xff, 0x8e, 0xff, 0x66, 0xff, 0x2f, 0xff, 0x00, 0xff, 0x30, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x35, 0xff, 0x00, 0xff, 0x37, 0xff, 0x00, 0xff, 0x39, 0xff, 0x00, 0xff, 0x39, 0xff, 0x00, 0xff, 0x34, 0xff, 0x00, 0xff, 0x59, 0xca, 0x31, 0xd9,
|
||||
0xff, 0xff, 0xff, 0x3e, 0xc8, 0xcb, 0xc3, 0xff, 0x75, 0xa4, 0x6f, 0xfe, 0x66, 0xa3, 0x57, 0xe7, 0x66, 0xa4, 0x4f, 0xd9, 0x65, 0xa9, 0x4d, 0xcb, 0x6a, 0xb5, 0x51, 0xc6, 0x6d, 0xbc, 0x51, 0xc8, 0x6e, 0xc3, 0x51, 0xc8, 0x6c, 0xc5, 0x4c, 0xc8, 0x72, 0xc6, 0x55, 0xc8, 0x9c, 0xc9, 0x8d, 0xc8, 0xa1, 0xc9, 0x95, 0xc8, 0x9f, 0xc9, 0x90, 0xc8, 0x9f, 0xc9, 0x90, 0xc8, 0xa4, 0xc9, 0x97, 0xc8, 0x96, 0xc9, 0x84, 0xc8, 0x6d, 0xc5, 0x4f, 0xc8, 0x6d, 0xc5, 0x50, 0xc8, 0x70, 0xc5, 0x51, 0xc8, 0x70, 0xc5, 0x51, 0xc8, 0x70, 0xc5, 0x51, 0xc8, 0x70, 0xc5, 0x51, 0xc8, 0x70, 0xc6, 0x53, 0xc7, 0x6e, 0xc4, 0x51, 0xc9, 0x68, 0xbf, 0x4a, 0xcd, 0x62, 0xb9, 0x44, 0xd2, 0x5e, 0xb7, 0x3d, 0xd3, 0x54, 0x93, 0x41, 0xeb, 0xa5, 0x93, 0xac, 0xa9,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xff, 0x6e, 0xed, 0xd9, 0xf1, 0xcc, 0xe4, 0xce, 0xea, 0xbe, 0xda, 0xc1, 0xe1, 0xa7, 0xd5, 0xbc, 0xdf, 0x99, 0xd9, 0xbc, 0xe3, 0x95, 0xd7, 0xbb, 0xe3, 0x96, 0xd6, 0xb7, 0xe2, 0x96, 0xd7, 0xb7, 0xe3, 0x96, 0xd6, 0xb7, 0xe0, 0x96, 0xc5, 0xb5, 0xcc, 0x96, 0xc3, 0xb5, 0xc8, 0x96, 0xc5, 0xb5, 0xca, 0x96, 0xc5, 0xb5, 0xca, 0x96, 0xc3, 0xb5, 0xc8, 0x96, 0xc8, 0xb5, 0xcf, 0x96, 0xd7, 0xb7, 0xe3, 0x96, 0xd7, 0xb7, 0xe3, 0x96, 0xd6, 0xb7, 0xe2, 0x96, 0xd6, 0xb7, 0xe2, 0x96, 0xd6, 0xb7, 0xe2, 0x96, 0xd6, 0xb7, 0xe2, 0x96, 0xd7, 0xb7, 0xe3, 0x96, 0xd6, 0xb6, 0xe0, 0x97, 0xcf, 0xb0, 0xda, 0x9b, 0xca, 0xa9, 0xd5, 0xa1, 0xb8, 0x97, 0xc3, 0xb1, 0xb8, 0x9b, 0xc1, 0xa7, 0xfa, 0xf5, 0xfa, 0x36,
|
||||
#endif
|
||||
};
|
||||
|
||||
const lv_img_dsc_t batt_full_gren = {
|
||||
.header.always_zero = 0,
|
||||
.header.w = 30,
|
||||
.header.h = 62,
|
||||
.data_size = 1860 * LV_IMG_PX_SIZE_ALPHA_BYTE,
|
||||
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
|
||||
.data = batt_full_gren_map,
|
||||
};
|
|
@ -1,282 +0,0 @@
|
|||
#if 1
|
||||
#include "lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
#ifndef LV_ATTRIBUTE_IMG_BATT_FULL_YELLOW
|
||||
#define LV_ATTRIBUTE_IMG_BATT_FULL_YELLOW
|
||||
#endif
|
||||
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_BATT_FULL_YELLOW uint8_t batt_full_yellow_map[] = {
|
||||
#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8
|
||||
/*Pixel format: Alpha 8 bit, Red: 3 bit, Green: 3 bit, Blue: 2 bit*/
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x24, 0x44, 0x24, 0x51, 0x25, 0x42, 0x25, 0x44, 0x25, 0x44, 0x25, 0x44, 0x25, 0x42, 0x24, 0x5d, 0x24, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 0x24, 0x61, 0x00, 0x1f, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x1a, 0x00, 0x40, 0x24, 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, 0x49, 0x0a, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xff, 0x02, 0xdb, 0x60, 0xff, 0x71, 0xff, 0x66, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xdb, 0x77, 0x6e, 0x87, 0x92, 0x61, 0xdb, 0x61, 0xdb, 0x61, 0xdb, 0x61, 0xdb, 0x61, 0xbb, 0x61, 0x72, 0x6c, 0x92, 0x81, 0xff, 0x67, 0xff, 0x63, 0xff, 0x63, 0xff, 0x63, 0xff, 0x64, 0xff, 0x64, 0xff, 0x67, 0xb7, 0x71, 0xb7, 0x40, 0x00, 0x00,
|
||||
0xff, 0x02, 0xff, 0xba, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf4, 0xff, 0xec, 0xff, 0xeb, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xe5, 0xff, 0xdf, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xe8, 0xff, 0xe1, 0xff, 0xeb, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xec, 0xff, 0xef, 0xfb, 0xf3, 0xff, 0xfa, 0xdb, 0xf0, 0xff, 0x6f,
|
||||
0xff, 0x72, 0xd6, 0xff, 0x90, 0xf7, 0xb0, 0xfc, 0xb0, 0xfc, 0xd4, 0xfb, 0xd4, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xfe, 0xfb, 0xfe, 0xfb, 0xfe, 0xfb, 0xfe, 0xfb, 0xfe, 0xfb, 0xfe, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfb, 0xf8, 0xfc, 0xf8, 0xf7, 0xf8, 0xf9, 0xda, 0xe0,
|
||||
0xda, 0xde, 0x68, 0xff, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf7,
|
||||
0x8c, 0xf6, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf4,
|
||||
0x8c, 0xf2, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf0, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf1, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0x8c, 0xf2, 0x8c, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xf2,
|
||||
0xb1, 0xf1, 0x68, 0xff, 0xb0, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xfe,
|
||||
0xff, 0xbb, 0x8c, 0xff, 0x8c, 0xff, 0xb0, 0xff, 0xd0, 0xff, 0xd4, 0xff, 0xf4, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xfc, 0xff, 0xf8, 0xff, 0xd5, 0xd9,
|
||||
0xff, 0x3e, 0xdb, 0xff, 0xb6, 0xfe, 0xb5, 0xe7, 0xb5, 0xd9, 0xb5, 0xcb, 0xd5, 0xc6, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xda, 0xc8, 0xda, 0xc8, 0xda, 0xc8, 0xda, 0xc8, 0xda, 0xc8, 0xda, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc8, 0xd5, 0xc7, 0xd5, 0xc9, 0xd5, 0xcd, 0xd5, 0xd2, 0xd5, 0xd3, 0xb1, 0xeb, 0xb7, 0xa9,
|
||||
0x00, 0x00, 0xff, 0x6e, 0xff, 0xcc, 0xdf, 0xbe, 0xdb, 0xa7, 0xdb, 0x99, 0xdb, 0x95, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x96, 0xdb, 0x97, 0xbb, 0x9b, 0xbb, 0xa1, 0xb7, 0xb1, 0xb7, 0xa7, 0xff, 0x36,
|
||||
#endif
|
||||
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0
|
||||
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit*/
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe4, 0x20, 0x44, 0x04, 0x21, 0x51, 0x04, 0x21, 0x42, 0x04, 0x21, 0x44, 0x04, 0x21, 0x44, 0x04, 0x21, 0x44, 0x04, 0x21, 0x42, 0xe4, 0x20, 0x5d, 0xe4, 0x20, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 0xc3, 0x18, 0x61, 0x41, 0x08, 0x1f, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x1a, 0x61, 0x08, 0x40, 0xe3, 0x18, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x31, 0x0a, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x02, 0x19, 0xc6, 0x60, 0x1d, 0xdf, 0x71, 0x9f, 0xef, 0x66, 0x5f, 0xef, 0x63, 0x5f, 0xe7, 0x63, 0x3f, 0xe7, 0x63, 0x1f, 0xe7, 0x63, 0xff, 0xff, 0x63, 0x3b, 0xc6, 0x77, 0x4e, 0x6b, 0x87, 0x73, 0x8c, 0x61, 0x5a, 0xce, 0x61, 0xf9, 0xbd, 0x61, 0xf9, 0xbd, 0x61, 0x3a, 0xc6, 0x61, 0x99, 0xb5, 0x61, 0xb1, 0x73, 0x6c, 0xd1, 0x73, 0x81, 0x3f, 0xe7, 0x67, 0xff, 0xff, 0x63, 0x1e, 0xdf, 0x63, 0x1f, 0xe7, 0x63, 0x1f, 0xe7, 0x64, 0x1e, 0xdf, 0x64, 0x7f, 0xef, 0x67, 0x38, 0xa5, 0x71, 0x35, 0xa5, 0x40, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0x02, 0xff, 0xff, 0xba, 0x5d, 0xef, 0xff, 0x98, 0xde, 0xff, 0x97, 0xde, 0xf4, 0x98, 0xde, 0xec, 0xb7, 0xde, 0xeb, 0xd8, 0xe6, 0xec, 0xd8, 0xe6, 0xec, 0xb7, 0xde, 0xec, 0x5a, 0xf7, 0xe5, 0xfe, 0xff, 0xdf, 0xfe, 0xff, 0xec, 0xbd, 0xff, 0xec, 0xbd, 0xff, 0xec, 0xdd, 0xff, 0xec, 0xbc, 0xff, 0xec, 0xbb, 0xff, 0xec, 0xfc, 0xff, 0xe8, 0xfc, 0xff, 0xe1, 0x39, 0xef, 0xeb, 0xb7, 0xde, 0xec, 0xd8, 0xe6, 0xec, 0xd8, 0xe6, 0xec, 0xd8, 0xe6, 0xec, 0xb7, 0xde, 0xef, 0x76, 0xde, 0xf3, 0xb7, 0xde, 0xfa, 0x5b, 0xce, 0xf0, 0x1f, 0xdf, 0x6f,
|
||||
0xff, 0xff, 0x72, 0x2f, 0xb5, 0xff, 0xa3, 0x93, 0xf7, 0xc0, 0x9b, 0xfc, 0x40, 0xb4, 0xfc, 0xc0, 0xc4, 0xfb, 0x20, 0xd5, 0xfb, 0x80, 0xe5, 0xfb, 0xe1, 0xed, 0xfb, 0x00, 0xf6, 0xfb, 0x22, 0xf6, 0xfb, 0x10, 0xff, 0xfb, 0x11, 0xff, 0xfb, 0x10, 0xff, 0xfb, 0x10, 0xff, 0xfb, 0x32, 0xff, 0xfb, 0xed, 0xfe, 0xfb, 0x00, 0xf6, 0xfb, 0x00, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x21, 0xf6, 0xfb, 0x00, 0xf6, 0xfb, 0x00, 0xf6, 0xfc, 0x20, 0xf6, 0xf7, 0xc4, 0xe5, 0xf9, 0xb1, 0xc5, 0xe0,
|
||||
0xd3, 0xc5, 0xde, 0x20, 0x6a, 0xff, 0x40, 0x8b, 0xff, 0x00, 0xa4, 0xff, 0x60, 0xb4, 0xff, 0xc0, 0xc4, 0xff, 0x40, 0xd5, 0xff, 0xa0, 0xe5, 0xff, 0x00, 0xf6, 0xff, 0x20, 0xfe, 0xff, 0x41, 0xfe, 0xff, 0x30, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0x0d, 0xff, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x20, 0xfe, 0xff, 0x40, 0xfe, 0xff, 0x20, 0xfe, 0xf7,
|
||||
0x62, 0x83, 0xf6, 0xe0, 0x7a, 0xff, 0xc1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x22, 0xf6, 0xff, 0x21, 0xfe, 0xf4,
|
||||
0x40, 0x83, 0xf2, 0x40, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x61, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf0, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x61, 0x8b, 0xf1, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x41, 0x83, 0xf2, 0x20, 0x83, 0xff, 0xa1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xf2,
|
||||
0x49, 0x9c, 0xf1, 0x60, 0x72, 0xff, 0xc1, 0x93, 0xff, 0x21, 0xa4, 0xff, 0x81, 0xb4, 0xff, 0xe1, 0xc4, 0xff, 0x41, 0xd5, 0xff, 0xa1, 0xe5, 0xff, 0x01, 0xf6, 0xff, 0x20, 0xf6, 0xff, 0x42, 0xfe, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0xee, 0xfe, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x21, 0xf6, 0xff, 0x22, 0xf6, 0xff, 0x41, 0xfe, 0xff, 0x60, 0xfe, 0xfe,
|
||||
0x1c, 0xe7, 0xbb, 0x42, 0x83, 0xff, 0xe0, 0x82, 0xff, 0xc0, 0x9b, 0xff, 0x60, 0xb4, 0xff, 0xe0, 0xcc, 0xff, 0x40, 0xdd, 0xff, 0xc0, 0xed, 0xff, 0x20, 0xfe, 0xff, 0x40, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x6f, 0xff, 0xff, 0x91, 0xff, 0xff, 0x70, 0xff, 0xff, 0x70, 0xff, 0xff, 0x92, 0xff, 0xff, 0x4d, 0xff, 0xff, 0x40, 0xfe, 0xff, 0x40, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x80, 0xfe, 0xff, 0x60, 0xfe, 0xff, 0x66, 0xcd, 0xd9,
|
||||
0xff, 0xff, 0x3e, 0x58, 0xce, 0xff, 0xce, 0xa4, 0xfe, 0x8b, 0xa4, 0xe7, 0x8a, 0xa4, 0xd9, 0xca, 0xac, 0xcb, 0x0a, 0xbd, 0xc6, 0x4a, 0xbd, 0xc8, 0x6a, 0xc5, 0xc8, 0x69, 0xcd, 0xc8, 0x8b, 0xcd, 0xc8, 0xf2, 0xcd, 0xc8, 0x13, 0xce, 0xc8, 0xf2, 0xcd, 0xc8, 0xf2, 0xcd, 0xc8, 0x13, 0xce, 0xc8, 0xf0, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x6a, 0xcd, 0xc8, 0x8a, 0xcd, 0xc7, 0x6a, 0xc5, 0xc9, 0x49, 0xc5, 0xcd, 0x08, 0xbd, 0xd2, 0x08, 0xbd, 0xd3, 0x28, 0x94, 0xeb, 0xd5, 0x94, 0xa9,
|
||||
0x00, 0x00, 0x00, 0xdf, 0xff, 0x6e, 0xfe, 0xde, 0xcc, 0xbd, 0xd6, 0xbe, 0x5c, 0xc6, 0xa7, 0x3c, 0xbe, 0x99, 0x3c, 0xbe, 0x95, 0x1c, 0xbe, 0x96, 0x1c, 0xbe, 0x96, 0x1c, 0xbe, 0x96, 0xfc, 0xbd, 0x96, 0xd9, 0xbd, 0x96, 0xd9, 0xbd, 0x96, 0xd9, 0xbd, 0x96, 0xd9, 0xbd, 0x96, 0xd9, 0xbd, 0x96, 0xfa, 0xbd, 0x96, 0x1c, 0xbe, 0x96, 0x1c, 0xbe, 0x96, 0xfc, 0xbd, 0x96, 0xfc, 0xbd, 0x96, 0xfc, 0xbd, 0x96, 0xfc, 0xbd, 0x96, 0x1c, 0xbe, 0x96, 0xfc, 0xb5, 0x97, 0xdb, 0xb5, 0x9b, 0x9b, 0xad, 0xa1, 0xf8, 0x9c, 0xb1, 0x38, 0x9d, 0xa7, 0xbf, 0xff, 0x36,
|
||||
#endif
|
||||
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP != 0
|
||||
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit BUT the 2 color bytes are swapped*/
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0xe4, 0x44, 0x21, 0x04, 0x51, 0x21, 0x04, 0x42, 0x21, 0x04, 0x44, 0x21, 0x04, 0x44, 0x21, 0x04, 0x44, 0x21, 0x04, 0x42, 0x20, 0xe4, 0x5d, 0x20, 0xe4, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc2, 0x20, 0x18, 0xc3, 0x61, 0x08, 0x41, 0x1f, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x21, 0x00, 0x00, 0x1a, 0x08, 0x61, 0x40, 0x18, 0xe3, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0xa6, 0x0a, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x02, 0xc6, 0x19, 0x60, 0xdf, 0x1d, 0x71, 0xef, 0x9f, 0x66, 0xef, 0x5f, 0x63, 0xe7, 0x5f, 0x63, 0xe7, 0x3f, 0x63, 0xe7, 0x1f, 0x63, 0xff, 0xff, 0x63, 0xc6, 0x3b, 0x77, 0x6b, 0x4e, 0x87, 0x8c, 0x73, 0x61, 0xce, 0x5a, 0x61, 0xbd, 0xf9, 0x61, 0xbd, 0xf9, 0x61, 0xc6, 0x3a, 0x61, 0xb5, 0x99, 0x61, 0x73, 0xb1, 0x6c, 0x73, 0xd1, 0x81, 0xe7, 0x3f, 0x67, 0xff, 0xff, 0x63, 0xdf, 0x1e, 0x63, 0xe7, 0x1f, 0x63, 0xe7, 0x1f, 0x64, 0xdf, 0x1e, 0x64, 0xef, 0x7f, 0x67, 0xa5, 0x38, 0x71, 0xa5, 0x35, 0x40, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0x02, 0xff, 0xff, 0xba, 0xef, 0x5d, 0xff, 0xde, 0x98, 0xff, 0xde, 0x97, 0xf4, 0xde, 0x98, 0xec, 0xde, 0xb7, 0xeb, 0xe6, 0xd8, 0xec, 0xe6, 0xd8, 0xec, 0xde, 0xb7, 0xec, 0xf7, 0x5a, 0xe5, 0xff, 0xfe, 0xdf, 0xff, 0xfe, 0xec, 0xff, 0xbd, 0xec, 0xff, 0xbd, 0xec, 0xff, 0xdd, 0xec, 0xff, 0xbc, 0xec, 0xff, 0xbb, 0xec, 0xff, 0xfc, 0xe8, 0xff, 0xfc, 0xe1, 0xef, 0x39, 0xeb, 0xde, 0xb7, 0xec, 0xe6, 0xd8, 0xec, 0xe6, 0xd8, 0xec, 0xe6, 0xd8, 0xec, 0xde, 0xb7, 0xef, 0xde, 0x76, 0xf3, 0xde, 0xb7, 0xfa, 0xce, 0x5b, 0xf0, 0xdf, 0x1f, 0x6f,
|
||||
0xff, 0xff, 0x72, 0xb5, 0x2f, 0xff, 0x93, 0xa3, 0xf7, 0x9b, 0xc0, 0xfc, 0xb4, 0x40, 0xfc, 0xc4, 0xc0, 0xfb, 0xd5, 0x20, 0xfb, 0xe5, 0x80, 0xfb, 0xed, 0xe1, 0xfb, 0xf6, 0x00, 0xfb, 0xf6, 0x22, 0xfb, 0xff, 0x10, 0xfb, 0xff, 0x11, 0xfb, 0xff, 0x10, 0xfb, 0xff, 0x10, 0xfb, 0xff, 0x32, 0xfb, 0xfe, 0xed, 0xfb, 0xf6, 0x00, 0xfb, 0xf6, 0x00, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x21, 0xfb, 0xf6, 0x00, 0xfb, 0xf6, 0x00, 0xfc, 0xf6, 0x20, 0xf7, 0xe5, 0xc4, 0xf9, 0xc5, 0xb1, 0xe0,
|
||||
0xc5, 0xd3, 0xde, 0x6a, 0x20, 0xff, 0x8b, 0x40, 0xff, 0xa4, 0x00, 0xff, 0xb4, 0x60, 0xff, 0xc4, 0xc0, 0xff, 0xd5, 0x40, 0xff, 0xe5, 0xa0, 0xff, 0xf6, 0x00, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x41, 0xff, 0xff, 0x30, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xff, 0x0d, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x40, 0xff, 0xfe, 0x20, 0xf7,
|
||||
0x83, 0x62, 0xf6, 0x7a, 0xe0, 0xff, 0x93, 0xc1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x22, 0xff, 0xfe, 0x21, 0xf4,
|
||||
0x83, 0x40, 0xf2, 0x83, 0x40, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x61, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf0, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x8b, 0x61, 0xf1, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x83, 0x41, 0xf2, 0x83, 0x20, 0xff, 0x93, 0xa1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xf2,
|
||||
0x9c, 0x49, 0xf1, 0x72, 0x60, 0xff, 0x93, 0xc1, 0xff, 0xa4, 0x21, 0xff, 0xb4, 0x81, 0xff, 0xc4, 0xe1, 0xff, 0xd5, 0x41, 0xff, 0xe5, 0xa1, 0xff, 0xf6, 0x01, 0xff, 0xf6, 0x20, 0xff, 0xfe, 0x42, 0xff, 0xff, 0x10, 0xff, 0xff, 0x32, 0xff, 0xff, 0x31, 0xff, 0xff, 0x31, 0xff, 0xff, 0x53, 0xff, 0xfe, 0xee, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x21, 0xff, 0xf6, 0x22, 0xff, 0xfe, 0x41, 0xff, 0xfe, 0x60, 0xfe,
|
||||
0xe7, 0x1c, 0xbb, 0x83, 0x42, 0xff, 0x82, 0xe0, 0xff, 0x9b, 0xc0, 0xff, 0xb4, 0x60, 0xff, 0xcc, 0xe0, 0xff, 0xdd, 0x40, 0xff, 0xed, 0xc0, 0xff, 0xfe, 0x20, 0xff, 0xfe, 0x40, 0xff, 0xfe, 0x60, 0xff, 0xff, 0x6f, 0xff, 0xff, 0x91, 0xff, 0xff, 0x70, 0xff, 0xff, 0x70, 0xff, 0xff, 0x92, 0xff, 0xff, 0x4d, 0xff, 0xfe, 0x40, 0xff, 0xfe, 0x40, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x60, 0xff, 0xfe, 0x80, 0xff, 0xfe, 0x60, 0xff, 0xcd, 0x66, 0xd9,
|
||||
0xff, 0xff, 0x3e, 0xce, 0x58, 0xff, 0xa4, 0xce, 0xfe, 0xa4, 0x8b, 0xe7, 0xa4, 0x8a, 0xd9, 0xac, 0xca, 0xcb, 0xbd, 0x0a, 0xc6, 0xbd, 0x4a, 0xc8, 0xc5, 0x6a, 0xc8, 0xcd, 0x69, 0xc8, 0xcd, 0x8b, 0xc8, 0xcd, 0xf2, 0xc8, 0xce, 0x13, 0xc8, 0xcd, 0xf2, 0xc8, 0xcd, 0xf2, 0xc8, 0xce, 0x13, 0xc8, 0xcd, 0xf0, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x6a, 0xc8, 0xcd, 0x8a, 0xc7, 0xc5, 0x6a, 0xc9, 0xc5, 0x49, 0xcd, 0xbd, 0x08, 0xd2, 0xbd, 0x08, 0xd3, 0x94, 0x28, 0xeb, 0x94, 0xd5, 0xa9,
|
||||
0x00, 0x00, 0x00, 0xff, 0xdf, 0x6e, 0xde, 0xfe, 0xcc, 0xd6, 0xbd, 0xbe, 0xc6, 0x5c, 0xa7, 0xbe, 0x3c, 0x99, 0xbe, 0x3c, 0x95, 0xbe, 0x1c, 0x96, 0xbe, 0x1c, 0x96, 0xbe, 0x1c, 0x96, 0xbd, 0xfc, 0x96, 0xbd, 0xd9, 0x96, 0xbd, 0xd9, 0x96, 0xbd, 0xd9, 0x96, 0xbd, 0xd9, 0x96, 0xbd, 0xd9, 0x96, 0xbd, 0xfa, 0x96, 0xbe, 0x1c, 0x96, 0xbe, 0x1c, 0x96, 0xbd, 0xfc, 0x96, 0xbd, 0xfc, 0x96, 0xbd, 0xfc, 0x96, 0xbd, 0xfc, 0x96, 0xbe, 0x1c, 0x96, 0xb5, 0xfc, 0x97, 0xb5, 0xdb, 0x9b, 0xad, 0x9b, 0xa1, 0x9c, 0xf8, 0xb1, 0x9d, 0x38, 0xa7, 0xff, 0xbf, 0x36,
|
||||
#endif
|
||||
#if LV_COLOR_DEPTH == 32
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1e, 0x1e, 0x1e, 0x44, 0x1f, 0x1f, 0x1f, 0x51, 0x22, 0x22, 0x22, 0x42, 0x21, 0x21, 0x21, 0x44, 0x21, 0x21, 0x21, 0x44, 0x21, 0x21, 0x21, 0x44, 0x22, 0x22, 0x22, 0x42, 0x1e, 0x1e, 0x1e, 0x5d, 0x1e, 0x1e, 0x1e, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x17, 0x17, 0x20, 0x1a, 0x1a, 0x1a, 0x61, 0x08, 0x08, 0x08, 0x1f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1a, 0x0b, 0x0b, 0x0b, 0x40, 0x1c, 0x1c, 0x1c, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x0a, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0x02, 0xc7, 0xbf, 0xbf, 0x60, 0xec, 0xdf, 0xda, 0x71, 0xff, 0xf0, 0xeb, 0x66, 0xf9, 0xe7, 0xe5, 0x63, 0xf9, 0xe7, 0xe2, 0x63, 0xf7, 0xe5, 0xe0, 0x63, 0xf7, 0xe2, 0xdd, 0x63, 0xff, 0xff, 0xff, 0x63, 0xd8, 0xc5, 0xc0, 0x77, 0x73, 0x69, 0x66, 0x87, 0x95, 0x8d, 0x8b, 0x61, 0xd2, 0xc7, 0xc5, 0x61, 0xc7, 0xbd, 0xba, 0x61, 0xc5, 0xbd, 0xba, 0x61, 0xd2, 0xc5, 0xc2, 0x61, 0xca, 0xb2, 0xb0, 0x61, 0x88, 0x73, 0x6e, 0x6c, 0x8c, 0x78, 0x72, 0x81, 0xf7, 0xe3, 0xde, 0x67, 0xff, 0xfc, 0xf7, 0x63, 0xf4, 0xe0, 0xda, 0x63, 0xf7, 0xe2, 0xdd, 0x63, 0xf7, 0xe2, 0xdd, 0x64, 0xf4, 0xe0, 0xdb, 0x64, 0xff, 0xeb, 0xe6, 0x67, 0xbd, 0xa6, 0xa2, 0x71, 0xab, 0xa3, 0xa3, 0x40, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0x02, 0xff, 0xff, 0xfd, 0xba, 0xea, 0xea, 0xea, 0xff, 0xc0, 0xd1, 0xd6, 0xff, 0xbb, 0xcf, 0xd5, 0xf4, 0xbd, 0xd2, 0xd8, 0xec, 0xbc, 0xd4, 0xdb, 0xeb, 0xbd, 0xd7, 0xdd, 0xec, 0xbd, 0xd7, 0xdd, 0xec, 0xb7, 0xd4, 0xdc, 0xec, 0xd0, 0xea, 0xf1, 0xe5, 0xf3, 0xfe, 0xfe, 0xdf, 0xf4, 0xff, 0xff, 0xec, 0xe6, 0xf5, 0xf8, 0xec, 0xe8, 0xf6, 0xf9, 0xec, 0xea, 0xf7, 0xf9, 0xec, 0xe2, 0xf4, 0xf8, 0xec, 0xd9, 0xf6, 0xfc, 0xec, 0xe3, 0xff, 0xff, 0xe8, 0xe1, 0xfd, 0xff, 0xe1, 0xc8, 0xe4, 0xeb, 0xeb, 0xb8, 0xd3, 0xdb, 0xec, 0xbd, 0xd9, 0xdf, 0xec, 0xbd, 0xd9, 0xdf, 0xec, 0xbd, 0xd8, 0xde, 0xec, 0xb8, 0xd4, 0xda, 0xef, 0xaf, 0xcc, 0xd5, 0xf3, 0xb9, 0xd4, 0xdb, 0xfa, 0xd8, 0xca, 0xc7, 0xf0, 0xff, 0xe1, 0xda, 0x6f,
|
||||
0xff, 0xff, 0xff, 0x72, 0x79, 0xa6, 0xb1, 0xff, 0x18, 0x73, 0x8f, 0xf7, 0x00, 0x7a, 0x99, 0xfc, 0x01, 0x8a, 0xad, 0xfc, 0x03, 0x99, 0xbe, 0xfb, 0x03, 0xa5, 0xcf, 0xfb, 0x04, 0xb2, 0xde, 0xfb, 0x05, 0xbc, 0xea, 0xfb, 0x00, 0xc1, 0xf1, 0xfb, 0x0d, 0xc5, 0xf2, 0xfb, 0x7d, 0xdf, 0xf8, 0xfb, 0x8c, 0xe2, 0xf7, 0xfb, 0x82, 0xdf, 0xf7, 0xfb, 0x82, 0xdf, 0xf7, 0xfb, 0x93, 0xe3, 0xf8, 0xfb, 0x6a, 0xdb, 0xf6, 0xfb, 0x00, 0xc2, 0xf1, 0xfb, 0x00, 0xc2, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x05, 0xc3, 0xf1, 0xfb, 0x04, 0xc2, 0xf0, 0xfb, 0x02, 0xc2, 0xf1, 0xfc, 0x02, 0xc4, 0xf3, 0xf7, 0x1e, 0xb9, 0xe1, 0xf9, 0x8a, 0xb6, 0xc1, 0xe0,
|
||||
0x98, 0xb8, 0xbf, 0xde, 0x00, 0x46, 0x66, 0xff, 0x00, 0x68, 0x87, 0xff, 0x00, 0x80, 0xa0, 0xff, 0x00, 0x8d, 0xb0, 0xff, 0x00, 0x9a, 0xc1, 0xff, 0x00, 0xa8, 0xd2, 0xff, 0x01, 0xb4, 0xe1, 0xff, 0x02, 0xc0, 0xee, 0xff, 0x00, 0xc3, 0xf6, 0xff, 0x0a, 0xc7, 0xf7, 0xff, 0x7f, 0xe3, 0xfc, 0xff, 0x8e, 0xe6, 0xfc, 0xff, 0x85, 0xe4, 0xfc, 0xff, 0x85, 0xe4, 0xfc, 0xff, 0x95, 0xe8, 0xfd, 0xff, 0x6c, 0xdf, 0xfb, 0xff, 0x00, 0xc4, 0xf6, 0xff, 0x00, 0xc4, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc5, 0xf6, 0xff, 0x02, 0xc6, 0xf6, 0xff, 0x03, 0xc6, 0xf6, 0xff, 0x03, 0xc6, 0xf7, 0xff, 0x00, 0xca, 0xff, 0xff, 0x00, 0xc5, 0xf6, 0xf7,
|
||||
0x13, 0x6d, 0x83, 0xf6, 0x00, 0x5b, 0x76, 0xff, 0x08, 0x78, 0x93, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0e, 0xc6, 0xf3, 0xff, 0x05, 0xc5, 0xf5, 0xf4,
|
||||
0x03, 0x69, 0x81, 0xf2, 0x02, 0x67, 0x80, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x66, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x66, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9e, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x66, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xab, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x0c, 0x6e, 0x85, 0xf0, 0x02, 0x65, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x08, 0x6b, 0x85, 0xf1, 0x02, 0x66, 0x7f, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0b, 0xc6, 0xf4, 0xf2,
|
||||
0x05, 0x68, 0x80, 0xf2, 0x01, 0x64, 0x7e, 0xff, 0x07, 0x76, 0x92, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb2, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe1, 0xff, 0x0c, 0xc0, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0a, 0xc6, 0xf4, 0xf2,
|
||||
0x49, 0x88, 0x99, 0xf1, 0x00, 0x4e, 0x6d, 0xff, 0x06, 0x78, 0x93, 0xff, 0x08, 0x83, 0xa1, 0xff, 0x09, 0x90, 0xb1, 0xff, 0x0a, 0x9d, 0xc2, 0xff, 0x0a, 0xaa, 0xd2, 0xff, 0x0b, 0xb6, 0xe0, 0xff, 0x0c, 0xc1, 0xed, 0xff, 0x02, 0xc4, 0xf4, 0xff, 0x14, 0xc8, 0xf5, 0xff, 0x83, 0xe2, 0xfa, 0xff, 0x91, 0xe5, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x88, 0xe3, 0xfa, 0xff, 0x98, 0xe7, 0xfb, 0xff, 0x71, 0xde, 0xf9, 0xff, 0x06, 0xc5, 0xf4, 0xff, 0x07, 0xc5, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0c, 0xc6, 0xf4, 0xff, 0x0d, 0xc5, 0xf3, 0xff, 0x0c, 0xc8, 0xf7, 0xff, 0x00, 0xcd, 0xff, 0xfe,
|
||||
0xdf, 0xe2, 0xe2, 0xbb, 0x12, 0x68, 0x7f, 0xff, 0x00, 0x5e, 0x80, 0xff, 0x00, 0x78, 0x9c, 0xff, 0x00, 0x8b, 0xb3, 0xff, 0x00, 0x9b, 0xc7, 0xff, 0x00, 0xaa, 0xd9, 0xff, 0x00, 0xb8, 0xea, 0xff, 0x00, 0xc4, 0xf9, 0xff, 0x00, 0xc8, 0xff, 0xff, 0x00, 0xcd, 0xff, 0xff, 0x7b, 0xec, 0xff, 0xff, 0x8c, 0xf0, 0xff, 0xff, 0x81, 0xed, 0xff, 0xff, 0x81, 0xed, 0xff, 0xff, 0x94, 0xf2, 0xff, 0xff, 0x66, 0xe7, 0xff, 0xff, 0x00, 0xca, 0xff, 0xff, 0x00, 0xca, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcb, 0xff, 0xff, 0x00, 0xcd, 0xff, 0xff, 0x00, 0xce, 0xff, 0xff, 0x00, 0xd2, 0xff, 0xff, 0x00, 0xcd, 0xff, 0xff, 0x31, 0xab, 0xca, 0xd9,
|
||||
0xff, 0xff, 0xff, 0x3e, 0xc3, 0xca, 0xcb, 0xff, 0x6f, 0x97, 0xa4, 0xfe, 0x57, 0x92, 0xa3, 0xe7, 0x4f, 0x92, 0xa4, 0xd9, 0x4d, 0x97, 0xa9, 0xcb, 0x51, 0xa0, 0xb5, 0xc6, 0x51, 0xa8, 0xbc, 0xc8, 0x51, 0xac, 0xc3, 0xc8, 0x4c, 0xad, 0xc5, 0xc8, 0x55, 0xaf, 0xc6, 0xc8, 0x8d, 0xbc, 0xc9, 0xc8, 0x95, 0xbf, 0xc9, 0xc8, 0x90, 0xbd, 0xc9, 0xc8, 0x90, 0xbd, 0xc9, 0xc8, 0x97, 0xc0, 0xc9, 0xc8, 0x84, 0xbb, 0xc9, 0xc8, 0x4f, 0xae, 0xc5, 0xc8, 0x50, 0xae, 0xc5, 0xc8, 0x51, 0xae, 0xc5, 0xc8, 0x51, 0xae, 0xc5, 0xc8, 0x51, 0xae, 0xc5, 0xc8, 0x51, 0xae, 0xc5, 0xc8, 0x53, 0xaf, 0xc6, 0xc7, 0x51, 0xad, 0xc4, 0xc9, 0x4a, 0xa7, 0xbf, 0xcd, 0x44, 0xa2, 0xb9, 0xd2, 0x3d, 0xa0, 0xb7, 0xd3, 0x41, 0x83, 0x93, 0xeb, 0xac, 0x98, 0x93, 0xa9,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xfa, 0xf8, 0x6e, 0xf1, 0xde, 0xd9, 0xcc, 0xea, 0xd5, 0xce, 0xbe, 0xe1, 0xc9, 0xc1, 0xa7, 0xdf, 0xc3, 0xbc, 0x99, 0xe1, 0xc4, 0xbc, 0x95, 0xe3, 0xc1, 0xbb, 0x96, 0xe2, 0xc1, 0xb7, 0x96, 0xe3, 0xc0, 0xb7, 0x96, 0xe0, 0xbe, 0xb7, 0x96, 0xcc, 0xb9, 0xb5, 0x96, 0xc8, 0xb9, 0xb5, 0x96, 0xca, 0xb9, 0xb5, 0x96, 0xca, 0xb9, 0xb5, 0x96, 0xc8, 0xb9, 0xb5, 0x96, 0xcf, 0xbb, 0xb5, 0x96, 0xe3, 0xc0, 0xb7, 0x96, 0xe3, 0xc0, 0xb7, 0x96, 0xe2, 0xbe, 0xb7, 0x96, 0xe2, 0xbe, 0xb7, 0x96, 0xe2, 0xbe, 0xb7, 0x96, 0xe2, 0xbe, 0xb7, 0x96, 0xe3, 0xc0, 0xb7, 0x96, 0xe0, 0xbe, 0xb4, 0x97, 0xda, 0xb8, 0xb0, 0x9b, 0xd5, 0xb2, 0xa9, 0xa1, 0xc3, 0x9e, 0x95, 0xb1, 0xc1, 0xa3, 0x9b, 0xa7, 0xfa, 0xf5, 0xf5, 0x36,
|
||||
#endif
|
||||
};
|
||||
|
||||
const lv_img_dsc_t batt_full_yellow = {
|
||||
.header.always_zero = 0,
|
||||
.header.w = 30,
|
||||
.header.h = 62,
|
||||
.data_size = 1860 * LV_IMG_PX_SIZE_ALPHA_BYTE,
|
||||
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
|
||||
.data = batt_full_yellow_map,
|
||||
};
|
|
@ -1,18 +0,0 @@
|
|||
#ifndef BIN_OFFSETS_H
|
||||
#define BIN_OFFSETS_H
|
||||
|
||||
#define Number_HarmonyOS_bpp4_20px_glyph_bitmap (const uint8_t *)0xa02000
|
||||
#define Number_HarmonyOS_bpp4_20px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa02af8
|
||||
#define Number_HarmonyOS_bpp4_12px_glyph_bitmap (const uint8_t *)0xa02000
|
||||
#define Number_HarmonyOS_bpp4_12px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa02af8
|
||||
#define Number_HarmonyOS_bpp4_16px_glyph_bitmap (const uint8_t *)0xa030f8
|
||||
#define Number_HarmonyOS_bpp4_16px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa04264
|
||||
#define Number_HarmonyOS_bpp4_36px_glyph_bitmap (const uint8_t *)0xa04864
|
||||
#define Number_HarmonyOS_bpp4_36px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa08cba
|
||||
#define Number_HarmonyOS_bpp4_44px_glyph_bitmap (const uint8_t *)0xa0918a
|
||||
#define Number_HarmonyOS_bpp4_44px_glyph_dsc (const lv_font_fmt_txt_glyph_dsc_t *)0xa0a32d
|
||||
#define TOTAL_SIZE 10527789
|
||||
|
||||
|
||||
|
||||
#endif
|
|
@ -1,337 +0,0 @@
|
|||
#include "lvgl.h"
|
||||
#include "img_def.h"
|
||||
#include "lv_common_function.h"
|
||||
|
||||
static lv_timer_t *refresh_timer=NULL;
|
||||
|
||||
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_20px);
|
||||
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_16px);
|
||||
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_12px);
|
||||
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_36px);
|
||||
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_44px);
|
||||
LV_FONT_DECLARE(Number_HarmonyOS_bpp4_92px);
|
||||
|
||||
#define LV_FONT_SMALL_NUMBER_20PX &Number_HarmonyOS_bpp4_20px
|
||||
#define LV_FONT_SMALL_NUMBER_16PX &Number_HarmonyOS_bpp4_16px
|
||||
#define LV_FONT_SMALL_NUMBER_12PX &Number_HarmonyOS_bpp4_12px
|
||||
#define LV_FONT_BIG_NUMBER_44PX &Number_HarmonyOS_bpp4_44px
|
||||
#define LV_FONT_MEDIUM_NUMBER_36PX &Number_HarmonyOS_bpp4_36px
|
||||
#define LV_FONT_BIG_NUMBER_92PX &Number_HarmonyOS_bpp4_92px
|
||||
void fr_lv_86box_page1_func(lv_obj_t *parent, lv_point_t *top)
|
||||
{
|
||||
if(!lv_obj_is_valid(parent))
|
||||
return;
|
||||
UI_PARENT_INIT(parent);
|
||||
|
||||
lv_obj_t *btn_obj1 = lv_obj_create(parent);
|
||||
lv_obj_set_size(btn_obj1,114,114);
|
||||
lv_obj_set_style_pad_all(btn_obj1,0,0);
|
||||
lv_obj_set_style_border_width(btn_obj1, 0, 0);
|
||||
lv_obj_set_style_bg_color(btn_obj1,lv_color_make(0, 0, 0),0);
|
||||
lv_obj_set_pos(btn_obj1,50,311);
|
||||
|
||||
lv_obj_t *btn_obj2 = lv_obj_create(parent);
|
||||
lv_obj_set_size(btn_obj2,114,114);
|
||||
lv_obj_set_style_pad_all(btn_obj2,0,0);
|
||||
lv_obj_set_style_border_width(btn_obj2, 0, 0);
|
||||
lv_obj_set_style_bg_color(btn_obj2,lv_color_make(0, 0, 0),0);
|
||||
lv_obj_set_pos(btn_obj2,184,311);
|
||||
|
||||
|
||||
lv_obj_t *btn_obj3 = lv_obj_create(parent);
|
||||
lv_obj_set_size(btn_obj3,114,114);
|
||||
lv_obj_set_style_pad_all(btn_obj3,0,0);
|
||||
lv_obj_set_style_border_width(btn_obj3, 0, 0);
|
||||
lv_obj_set_style_bg_color(btn_obj3,lv_color_make(0, 0, 0),0);
|
||||
lv_obj_set_pos(btn_obj3,318,311);
|
||||
|
||||
lv_obj_t *left_img = lv_img_create(btn_obj1);//1
|
||||
lv_img_set_src(left_img,IMG_TILEVIEW_1);
|
||||
lv_obj_align(left_img,LV_ALIGN_CENTER,0,0);
|
||||
|
||||
lv_obj_t *left_img2 = lv_img_create(btn_obj1);//1
|
||||
lv_img_set_src(left_img2,IMG_TILEVIEW_GO_HOME);
|
||||
lv_obj_align(left_img2,LV_ALIGN_CENTER,0,-20);
|
||||
|
||||
|
||||
lv_obj_t *mid_img = lv_img_create(btn_obj2);//1
|
||||
lv_img_set_src(mid_img,IMG_TILEVIEW_2);
|
||||
lv_obj_align(mid_img,LV_ALIGN_CENTER,0,0);
|
||||
|
||||
lv_obj_t *mid_img2 = lv_img_create(btn_obj2);//1
|
||||
lv_img_set_src(mid_img2,IMG_TILEVIEW_LEAVE_HOME);
|
||||
lv_obj_align(mid_img2,LV_ALIGN_CENTER,0,-20);
|
||||
|
||||
lv_obj_t *right_img = lv_img_create(btn_obj3);//1
|
||||
lv_img_set_src(right_img,IMG_TILEVIEW_3);
|
||||
lv_obj_align(right_img,LV_ALIGN_CENTER,0,0);
|
||||
|
||||
lv_obj_t *right_img2 = lv_img_create(btn_obj3);//1
|
||||
lv_img_set_src(right_img2,IMG_TILEVIEW_MORE);
|
||||
lv_obj_align(right_img2,LV_ALIGN_CENTER,0,-20);
|
||||
|
||||
|
||||
lv_obj_t * left_lab = lv_label_create(btn_obj1);//6
|
||||
lv_obj_set_style_text_color(left_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(left_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text(left_lab,"回家");
|
||||
lv_obj_align(left_lab,LV_ALIGN_CENTER,0,20);
|
||||
|
||||
lv_obj_t * mid_lab = lv_label_create(btn_obj2);//6
|
||||
lv_obj_set_style_text_color(mid_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(mid_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text(mid_lab,"离家");
|
||||
lv_obj_align(mid_lab,LV_ALIGN_CENTER,0,20);
|
||||
|
||||
|
||||
lv_obj_t * right_lab = lv_label_create(btn_obj3);//6
|
||||
lv_obj_set_style_text_color(right_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(right_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text(right_lab,"更多");
|
||||
lv_obj_align(right_lab,LV_ALIGN_CENTER,0,20);
|
||||
|
||||
lv_obj_t * hour_lab = lv_label_create(parent);//6
|
||||
lv_obj_set_style_text_color(hour_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(hour_lab,LV_FONT_BIG_NUMBER_92PX,0);
|
||||
lv_label_set_text_fmt(hour_lab,"%02d:%02d",10,12);
|
||||
lv_obj_set_pos(hour_lab,48,78);
|
||||
|
||||
lv_obj_t *weather_img = lv_img_create(parent);//1
|
||||
lv_img_set_src(weather_img,IMG_WEATHER);
|
||||
lv_obj_set_pos(weather_img,353,79);
|
||||
|
||||
lv_obj_t * temp_lab = lv_label_create(parent);//6
|
||||
lv_obj_set_style_text_color(temp_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(temp_lab,LV_FONT_MEDIUM_NUMBER_36PX,0);
|
||||
lv_label_set_text_fmt(temp_lab,"%02d",26);
|
||||
lv_obj_set_pos(temp_lab,372,140);
|
||||
|
||||
lv_obj_t * date_lab = lv_label_create(parent);//6
|
||||
lv_obj_set_style_text_color(date_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(date_lab,LV_FONT_MEDIUM_NUMBER_36PX,0);
|
||||
lv_label_set_text_fmt(date_lab,"%d月%d日",11,17);
|
||||
lv_obj_set_pos(date_lab,59,178);
|
||||
|
||||
lv_obj_t * week_lab = lv_label_create(parent);//6
|
||||
lv_obj_set_style_text_color(week_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(week_lab,LV_FONT_MEDIUM_NUMBER_36PX,0);
|
||||
lv_label_set_text(week_lab,"星期二");
|
||||
lv_obj_set_pos(week_lab,228,178);
|
||||
|
||||
lv_obj_t *ico_img1 = lv_img_create(parent);//2
|
||||
lv_img_set_src(ico_img1,IMG_HUMIDITY);
|
||||
lv_obj_set_pos(ico_img1,64,252);
|
||||
|
||||
lv_obj_t * humi_lab = lv_label_create(parent);//6
|
||||
lv_obj_set_style_text_color(humi_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(humi_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text_fmt(humi_lab,"湿度 %d%%",60);
|
||||
lv_obj_set_pos(humi_lab,85,252);
|
||||
|
||||
lv_obj_t *ico_img2 = lv_img_create(parent);//2
|
||||
lv_img_set_src(ico_img2,IMG_AIR);
|
||||
lv_obj_set_pos(ico_img2,242,252);
|
||||
|
||||
lv_obj_t * kq_lab = lv_label_create(parent);//6
|
||||
lv_obj_set_style_text_color(kq_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(kq_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text_fmt(kq_lab,"空气质量 %d",30);
|
||||
lv_obj_set_pos(kq_lab,262,252);
|
||||
}
|
||||
|
||||
|
||||
void fr_lv_86box_page2_func(lv_obj_t *parent, lv_point_t *top)
|
||||
{
|
||||
if(!lv_obj_is_valid(parent))
|
||||
return;
|
||||
UI_PARENT_INIT(parent);
|
||||
|
||||
lv_obj_t *card_obj1 = lv_obj_create(parent);
|
||||
lv_obj_set_size(card_obj1,104,107);
|
||||
lv_obj_set_style_pad_all(card_obj1,0,0);
|
||||
lv_obj_set_style_border_width(card_obj1, 0, 0);
|
||||
lv_obj_set_style_bg_color(card_obj1,lv_color_make(0, 0, 0),0);
|
||||
lv_obj_set_pos(card_obj1,32,42);
|
||||
|
||||
lv_obj_t *card_obj2 = lv_obj_create(parent);
|
||||
lv_obj_set_size(card_obj2,104,107);
|
||||
lv_obj_set_style_pad_all(card_obj2,0,0);
|
||||
lv_obj_set_style_border_width(card_obj2, 0, 0);
|
||||
lv_obj_set_style_bg_color(card_obj2,lv_color_make(0, 0, 0),0);
|
||||
lv_obj_set_pos(card_obj2,148,42);
|
||||
|
||||
lv_obj_t *card_obj3 = lv_obj_create(parent);
|
||||
lv_obj_set_size(card_obj3,174,154);
|
||||
lv_obj_set_style_pad_all(card_obj3,0,0);
|
||||
lv_obj_set_style_border_width(card_obj3, 0, 0);
|
||||
lv_obj_set_style_bg_color(card_obj3,lv_color_make(0, 0, 0),0);
|
||||
lv_obj_set_pos(card_obj3,273,42);
|
||||
|
||||
lv_obj_t *card_obj4 = lv_obj_create(parent);
|
||||
lv_obj_set_size(card_obj4,222,120);
|
||||
lv_obj_set_style_pad_all(card_obj4,0,0);
|
||||
lv_obj_set_style_border_width(card_obj4, 0, 0);
|
||||
lv_obj_set_style_bg_color(card_obj4,lv_color_make(0, 0, 0),0);
|
||||
lv_obj_set_pos(card_obj4,32,166);
|
||||
|
||||
lv_obj_t *card_obj5 = lv_obj_create(parent);
|
||||
lv_obj_set_size(card_obj5,222,120);
|
||||
lv_obj_set_style_pad_all(card_obj5,0,0);
|
||||
lv_obj_set_style_border_width(card_obj5, 0, 0);
|
||||
lv_obj_set_style_bg_color(card_obj5,lv_color_make(0, 0, 0),0);
|
||||
lv_obj_set_pos(card_obj5,32,304);
|
||||
|
||||
lv_obj_t *card_obj6 = lv_obj_create(parent);
|
||||
lv_obj_set_size(card_obj6,173,210);
|
||||
lv_obj_set_style_pad_all(card_obj6,0,0);
|
||||
lv_obj_set_style_border_width(card_obj6, 0, 0);
|
||||
lv_obj_set_style_bg_color(card_obj6,lv_color_make(0, 0, 0),0);
|
||||
lv_obj_set_pos(card_obj6,273,214);
|
||||
|
||||
lv_obj_t *card1_img = lv_img_create(card_obj1);//1
|
||||
lv_img_set_src(card1_img,IMG_TILEVIEW2_LEAVE_HOME);
|
||||
lv_obj_align(card1_img,LV_ALIGN_CENTER,0,0);
|
||||
|
||||
lv_obj_t *card2_img = lv_img_create(card_obj2);//1
|
||||
lv_img_set_src(card2_img,IMG_TILEVIEW2_GO_HOME);
|
||||
lv_obj_align(card2_img,LV_ALIGN_CENTER,0,0);
|
||||
|
||||
lv_obj_t *card3_img = lv_img_create(card_obj3);//1
|
||||
lv_img_set_src(card3_img,IMG_TILEVIEW2_CURTAIN0);
|
||||
lv_obj_align(card3_img,LV_ALIGN_CENTER,0,0);
|
||||
|
||||
lv_obj_t *card4_img = lv_img_create(card_obj4);//1
|
||||
lv_img_set_src(card4_img,IMG_TILEVIEW2_LIVING_ROOM);
|
||||
lv_obj_align(card4_img,LV_ALIGN_CENTER,0,0);
|
||||
|
||||
lv_obj_t *card5_img = lv_img_create(card_obj5);//1
|
||||
lv_img_set_src(card5_img,IMG_TILEVIEW2_RESTAURANT);
|
||||
lv_obj_align(card5_img,LV_ALIGN_CENTER,0,0);
|
||||
|
||||
lv_obj_t *card6_img = lv_img_create(card_obj6);//1
|
||||
lv_img_set_src(card6_img,IMG_TILEVIEW2_AIR_CONDITIONER_BOTTOM_1);
|
||||
lv_obj_align(card6_img,LV_ALIGN_TOP_LEFT,0,0);
|
||||
lv_obj_t *card6_img2 = lv_img_create(card_obj6);//1
|
||||
lv_img_set_src(card6_img2,IMG_TILEVIEW2_AIR_CONDITIONER_BOTTOM_2);
|
||||
lv_obj_align_to(card6_img2,card6_img,LV_ALIGN_OUT_BOTTOM_LEFT,0,0);
|
||||
|
||||
|
||||
lv_obj_t * left_lab = lv_label_create(card_obj1);//6
|
||||
lv_obj_set_style_text_color(left_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(left_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text(left_lab,"回家");
|
||||
lv_obj_align(left_lab,LV_ALIGN_CENTER,0,20);
|
||||
|
||||
lv_obj_t * mid_lab = lv_label_create(card_obj2);//6
|
||||
lv_obj_set_style_text_color(mid_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(mid_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text(mid_lab,"离家");
|
||||
lv_obj_align(mid_lab,LV_ALIGN_CENTER,0,20);
|
||||
|
||||
lv_obj_t *mid_img2 = lv_img_create(card_obj1);//1
|
||||
lv_img_set_src(mid_img2,IMG_TILEVIEW_LEAVE_HOME);
|
||||
lv_obj_align(mid_img2,LV_ALIGN_CENTER,0,-20);
|
||||
|
||||
lv_obj_t *left_img2 = lv_img_create(card_obj2);//1
|
||||
lv_img_set_src(left_img2,IMG_TILEVIEW_GO_HOME);
|
||||
lv_obj_align(left_img2,LV_ALIGN_CENTER,0,-20);
|
||||
|
||||
lv_obj_t *right_img2 = lv_img_create(card_obj3);//1
|
||||
lv_img_set_src(right_img2,IMG_TILEVIEW2_CURTAIN_1);
|
||||
lv_obj_align(right_img2,LV_ALIGN_TOP_RIGHT,-20,30);
|
||||
lv_obj_t * cl_lab = lv_label_create(card_obj3);//6
|
||||
lv_obj_set_style_text_color(cl_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(cl_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text(cl_lab,"窗帘");
|
||||
lv_obj_align(cl_lab,LV_ALIGN_TOP_LEFT,30,30);
|
||||
|
||||
lv_obj_t* bar1 = lv_slider_create(card_obj3);
|
||||
lv_obj_remove_style(bar1, NULL, LV_PART_KNOB);
|
||||
lv_obj_set_style_radius(bar1,30,LV_PART_MAIN);
|
||||
lv_obj_set_style_radius(bar1,0,LV_PART_INDICATOR);
|
||||
lv_obj_set_style_bg_color(bar1,lv_color_hex(0xFFFFFF),LV_PART_INDICATOR);
|
||||
lv_obj_set_size(bar1, LV_PCT(75), LV_PCT(20));
|
||||
lv_obj_align(bar1, LV_ALIGN_CENTER, 0, 10);//
|
||||
lv_bar_set_mode(bar1, LV_BAR_MODE_SYMMETRICAL);
|
||||
lv_bar_set_range(bar1, 0, 100);
|
||||
lv_bar_set_value(bar1, 100, LV_ANIM_OFF);
|
||||
|
||||
|
||||
lv_obj_t * kt_lab = lv_label_create(card_obj4);//6
|
||||
lv_obj_set_style_text_color(kt_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(kt_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text(kt_lab,"客厅灯");
|
||||
lv_obj_align(kt_lab,LV_ALIGN_TOP_LEFT,30,30);
|
||||
|
||||
lv_obj_t *kt_img = lv_img_create(card_obj4);//1
|
||||
lv_img_set_src(kt_img,IMG_TILEVIEW2_LIVING_ROOM_LIGHT);
|
||||
lv_obj_align(kt_img,LV_ALIGN_TOP_RIGHT,-20,20);
|
||||
|
||||
lv_obj_t * sw = lv_switch_create(card_obj4);
|
||||
lv_obj_set_size(sw,40,21);
|
||||
lv_obj_align(sw,LV_ALIGN_TOP_LEFT,20,80);
|
||||
lv_obj_set_style_bg_color(sw, lv_color_make(204,204,204), LV_PART_MAIN);
|
||||
// lv_obj_set_style_bg_color(sw, lv_color_hex(0x00ff00), LV_PART_INDICATOR | LV_STATE_CHECKED);
|
||||
lv_obj_set_style_bg_color(sw, lv_color_hex(0xffffff), LV_PART_KNOB);
|
||||
lv_obj_add_state(sw, LV_STATE_DEFAULT);
|
||||
//lv_obj_add_event_cb(sw, sw_event_cb, LV_EVENT_VALUE_CHANGED, label);
|
||||
|
||||
|
||||
lv_obj_t * ct_lab = lv_label_create(card_obj5);
|
||||
lv_obj_set_style_text_color(ct_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(ct_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text(ct_lab,"餐厅灯");
|
||||
lv_obj_align(ct_lab,LV_ALIGN_TOP_LEFT,30,30);
|
||||
|
||||
lv_obj_t *ct_img = lv_img_create(card_obj5);//1
|
||||
lv_img_set_src(ct_img,IMG_TILEVIEW2_LIVING_ROOM_LIGHT);
|
||||
lv_obj_align(ct_img,LV_ALIGN_TOP_RIGHT,-20,20);
|
||||
|
||||
lv_obj_t * ct_sw = lv_switch_create(card_obj5);
|
||||
lv_obj_set_size(ct_sw,40,21);
|
||||
lv_obj_align(ct_sw,LV_ALIGN_TOP_LEFT,20,80);
|
||||
lv_obj_set_style_bg_color(ct_sw, lv_color_make(204,204,204), LV_PART_MAIN);
|
||||
lv_obj_set_style_bg_color(ct_sw, lv_color_hex(0xffffff), LV_PART_KNOB);
|
||||
lv_obj_add_state(ct_sw, LV_STATE_CHECKED);
|
||||
|
||||
|
||||
lv_obj_t * kongt_lab = lv_label_create(card_obj6);
|
||||
lv_obj_set_style_text_color(kongt_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(kongt_lab,LV_FONT_SMALL_NUMBER_20PX,0);
|
||||
lv_label_set_text(kongt_lab,"空调");
|
||||
lv_obj_align(kongt_lab,LV_ALIGN_TOP_LEFT,30,30);
|
||||
|
||||
lv_obj_t * kt_sw = lv_switch_create(card_obj6);
|
||||
lv_obj_set_size(kt_sw,40,21);
|
||||
lv_obj_align(kt_sw,LV_ALIGN_TOP_RIGHT,-30,30);
|
||||
lv_obj_set_style_bg_color(kt_sw, lv_color_make(204,204,204), LV_PART_MAIN);
|
||||
lv_obj_set_style_bg_color(kt_sw, lv_color_hex(0xffffff), LV_PART_KNOB);
|
||||
lv_obj_add_state(kt_sw, LV_STATE_DEFAULT);
|
||||
|
||||
|
||||
lv_obj_t * temp_lab = lv_label_create(card_obj6);
|
||||
lv_obj_set_style_text_color(temp_lab,lv_color_make(255, 255, 255),0);
|
||||
lv_obj_set_style_text_font(temp_lab,LV_FONT_MEDIUM_NUMBER_36PX,0);
|
||||
lv_label_set_text(temp_lab,"26℃");
|
||||
lv_obj_align(temp_lab,LV_ALIGN_CENTER,0,0);
|
||||
|
||||
|
||||
lv_obj_t *left_kt_img = lv_img_create(card_obj6);//1
|
||||
lv_img_set_src(left_kt_img,IMG_TILEVWE2_PREV_BUTTON);
|
||||
lv_obj_align_to(left_kt_img,temp_lab,LV_ALIGN_OUT_LEFT_MID,-20,0);
|
||||
|
||||
lv_obj_t *right_kt_img = lv_img_create(card_obj6);//1
|
||||
lv_img_set_src(right_kt_img,IMG_TILEVIEW2_NEXT);
|
||||
lv_obj_align_to(right_kt_img,temp_lab,LV_ALIGN_OUT_RIGHT_MID,+20,0);
|
||||
|
||||
lv_obj_t *bt1_img = lv_img_create(card_obj6);//1
|
||||
lv_img_set_src(bt1_img,IMG_TILEVIEW2_BUTTON_ONE);
|
||||
lv_obj_align(bt1_img,LV_ALIGN_BOTTOM_LEFT,20,-20);
|
||||
|
||||
lv_obj_t *bt2_img = lv_img_create(card_obj6);//1
|
||||
lv_img_set_src(bt2_img,IMG_TILEVIEW2_BUTTON_TWO);
|
||||
lv_obj_align(bt2_img,LV_ALIGN_BOTTOM_LEFT,60,-20);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
#ifndef __FR_LV_APP_PAGE_H__
|
||||
#define __FR_LV_APP_PAGE_H__
|
||||
|
||||
|
||||
void fr_lv_alarm_setting_func(lv_obj_t *parent, lv_point_t *top); // 闹钟首页设置
|
||||
void fr_lv_alarm_upper_limit_func(lv_obj_t *parent, lv_point_t *top); // 闹钟添加到上限
|
||||
void fr_lv_alarm_repeat_func(lv_obj_t *parent, lv_point_t *top) ;//设置闹钟重复日期
|
||||
void fr_lv_alarm_edit_func(lv_obj_t *parent, lv_point_t *top); // 闹钟编辑界面
|
||||
void fr_lv_del_alarm_hint_func(lv_obj_t *parent, lv_point_t *top) ;//删除闹钟提示
|
||||
void fr_lv_alarm_bell_func(lv_obj_t *parent, lv_point_t *top);//闹钟响铃提示
|
||||
|
||||
void fr_lv_app_downkey_func(lv_obj_t *parent, lv_point_t *top);//下键设置列表
|
||||
void fr_lv_app_exercise_func(lv_obj_t *parent, lv_point_t *top);//每日活动/运动界面
|
||||
void fr_lv_blood_oxygen_measure_func(lv_obj_t *parent, lv_point_t *top); //血氧测量主界面
|
||||
void fr_lv_blood_oxygen_show_func(lv_obj_t *parent, lv_point_t *top); //血氧测量完成显示
|
||||
void fr_lv_blood_pressure_measure_func(lv_obj_t *parent, lv_point_t *top) ;//血压测量完成显示
|
||||
void fr_lv_blood_sugar_measure_func(lv_obj_t *parent, lv_point_t *top) ;//血糖测量界面
|
||||
|
||||
void fr_lv_body_temperature_display_func(lv_obj_t *parent, lv_point_t *top); //体温测量显示
|
||||
void fr_lv_body_temperature_func(lv_obj_t *parent, lv_point_t *top) ;//体温测量主页
|
||||
void fr_lv_body_temperature_warn_func(lv_obj_t *parent, lv_point_t *top);//体温过高警告
|
||||
|
||||
void fr_lv_breath_training_home_func(lv_obj_t *parent, lv_point_t *top) ;// 呼吸训练主界面
|
||||
void fr_lv_breath_setting_func(lv_obj_t *parent, lv_point_t *top) ;//呼吸训练设置目标
|
||||
void fr_lv_breath_training_finish_func(lv_obj_t *parent, lv_point_t *top); // 呼吸训练完成显示
|
||||
void fr_lv_breath_training_display_func(lv_obj_t *parent, lv_point_t *top); // 呼吸训练动画显示
|
||||
|
||||
void fr_lv_bright_time_func(lv_obj_t *parent, lv_point_t *top) ;// 亮屏时长设置
|
||||
void fr_lv_bright_home_func(lv_obj_t *parent, lv_point_t *top) ;// 亮度&时长调节主页面
|
||||
void fr_lv_bright_adjust_func(lv_obj_t *parent, lv_point_t *top);//亮度调节字页面
|
||||
|
||||
void fr_lv_dial_preview_func(lv_obj_t* parent,lv_point_t *top);/*表盘预览界面*/
|
||||
void fr_lv_screen_off_dial_func(lv_obj_t *parent, lv_point_t *top) ;//熄屏表盘设置
|
||||
void fr_lv_theme_select_func(lv_obj_t *parent, lv_point_t *top) ;// 风格主题选择界面
|
||||
void fr_lv_raise_wake_hint_func(lv_obj_t *parent, lv_point_t *top);//开启抬腕亮屏设置
|
||||
void fr_lv_effective_time_home_func(lv_obj_t *parent, lv_point_t *top); //生效时间主页
|
||||
void fr_lv_dorp_down_func(lv_obj_t *parent, lv_point_t *top);//主页下拉菜单
|
||||
|
||||
void fr_lv_pressure_emotion_func(lv_obj_t *parent, lv_point_t *top) ;//情绪测量
|
||||
void fr_lv_app_exercise_classify_list_func(lv_obj_t *parent, lv_point_t *top);//运动分类列表
|
||||
void fr_lv_app_exercise_default_list_func(lv_obj_t *parent, lv_point_t *top);//默认运动列表
|
||||
void fr_lv_exercise_detection_func(lv_obj_t *parent, lv_point_t *top) ;// 运动识别界面
|
||||
void fr_lv_exercise_detection_hint_func(lv_obj_t *parent, lv_point_t *top) ;//运动识别提示界面
|
||||
void fr_lv_exercise_over_hint_func(lv_obj_t *parent, lv_point_t *top);// 运动结束提示
|
||||
void fr_lv_exercise_distance_short_hint_func(lv_obj_t *parent, lv_point_t *top);//距离过短提示
|
||||
void fr_lv_exercise_time_short_hint_func(lv_obj_t *parent, lv_point_t *top);//时间过短提示
|
||||
void fr_lv_exercise_long_info_func(lv_obj_t *parent, lv_point_t *top);//运动长信息界面
|
||||
void fr_lv_exercise_short_info_func(lv_obj_t *parent, lv_point_t *top);//运动短信息界面 根据实际需要显示的信息选择
|
||||
void fr_lv_exercise_record_func_ex(lv_obj_t *parent, lv_point_t *top) ;//运动记录长页面
|
||||
void fr_lv_exercise_record_func(lv_obj_t *parent, lv_point_t *top) ;//运动记录短页面
|
||||
void fr_lv_exercise_app_disc_func(lv_obj_t *parent, lv_point_t *top);//app断开提示
|
||||
void fr_lv_bluetooth_connect_succ_func(lv_obj_t *parent, lv_point_t *top);//蓝牙连接成功提示
|
||||
void fr_lv_bluetooth_connect_fail_func(lv_obj_t *parent, lv_point_t *top);//蓝牙连接失败提示
|
||||
void fr_lv_exercise_start_func(lv_obj_t *parent, lv_point_t *top);//运动开始倒计时
|
||||
void fr_lv_exercise_sub_list_func(lv_obj_t *parent, lv_point_t *top);//运动选项子类列表 总共7个子类列表
|
||||
void fr_lv_exercise_start_hint_func(lv_obj_t *parent, lv_point_t *top);//运动开始提示设置
|
||||
void fr_lv_target_setting_func(lv_obj_t *parent, lv_point_t *top);//运动目标设置时间卡路里公里
|
||||
void fr_lv_select_target_func(lv_obj_t *parent, lv_point_t *top);//运动设置项选择
|
||||
void fr_lv_target_setting_func_ex(lv_obj_t *parent, lv_point_t *top);//运动目标设置 距离
|
||||
|
||||
void fr_lv_female_health_func(lv_obj_t *parent, lv_point_t *top);//女性健康页面
|
||||
void fr_lv_find_phone_display_func(lv_obj_t *parent, lv_point_t *top); // 查找手机动画显示
|
||||
void fr_lv_flashlight_func(lv_obj_t *parent, lv_point_t *top); // 手电筒
|
||||
void fr_lv_heart_rate_list_func(lv_obj_t *parent, lv_point_t *top);//心率列表
|
||||
void fr_lv_heart_rate_curve_func(lv_obj_t *parent, lv_point_t *top); //心率监测曲线
|
||||
void fr_lv_heart_rate_quietness_func(lv_obj_t *parent, lv_point_t *top); //静息心率
|
||||
void fr_lv_heart_rate_warning_func(lv_obj_t *parent, lv_point_t *top); //心率预警
|
||||
void fr_lv_alarm_close_hint_func(lv_obj_t *parent, lv_point_t *top); // 闹钟关闭提醒
|
||||
void fr_lv_alarm_resound_hint_func(lv_obj_t *parent, lv_point_t *top) ;// 闹钟十分钟后再响提醒
|
||||
void fr_lv_sedentary_hint_func(lv_obj_t *parent, lv_point_t *top); // 久坐提醒
|
||||
void fr_lv_target_finish_hint_func(lv_obj_t *parent, lv_point_t *top); // 目标达成提示界面
|
||||
void fr_lv_low_battery_func(lv_obj_t *parent, lv_point_t *top) ;// 低电量提醒
|
||||
void fr_lv_power_saving_mode_func(lv_obj_t *parent, lv_point_t *top); // 省电模式是否开启
|
||||
void fr_lv_poweroff_hint_func(lv_obj_t *parent, lv_point_t *top); // 关机提醒
|
||||
void fr_lv_dev_bind_hint_func(lv_obj_t *parent, lv_point_t *top) ;// 绑定状态显示
|
||||
void fr_lv_dev_bind_func(lv_obj_t *parent, lv_point_t *top);//是否绑定选择
|
||||
void fr_lv_home_short_menu_func(lv_obj_t *parent, lv_point_t *top);//主页快捷菜单
|
||||
void fr_lv_language_setting_func(lv_obj_t *parent, lv_point_t *top);//语言设置
|
||||
void fr_lv_list_menu_func(lv_obj_t *parent, lv_point_t *top); //长列表菜单
|
||||
void fr_lv_arc_list_func(lv_obj_t *parent, lv_point_t *top); //弧形列表菜单
|
||||
void fr_lv_main_clock0_func(lv_obj_t *parent, lv_point_t *top);//主时钟表盘界面
|
||||
void fr_lv_main_clock1_func(lv_obj_t *parent, lv_point_t *top);//主时钟表盘界面
|
||||
void fr_lv_main_clock2_func(lv_obj_t *parent, lv_point_t *top);//主时钟表盘界面
|
||||
void fr_lv_main_clock3_func(lv_obj_t *parent, lv_point_t *top);//主时钟表盘界面
|
||||
void fr_lv_main_clock4_func(lv_obj_t *parent, lv_point_t *top);//主时钟表盘界面
|
||||
void fr_lv_main_clock5_func(lv_obj_t *parent, lv_point_t *top);//主时钟表盘界面
|
||||
void fr_lv_message_hint_page_func(lv_obj_t *parent, lv_point_t *top);//消息主界面
|
||||
void fr_lv_message_details_page_func(lv_obj_t *parent, lv_point_t *top); //显示对应消息条目详情
|
||||
void fr_lv_not_disturb_func(lv_obj_t *parent, lv_point_t *top) ;// 勿扰设置
|
||||
void fr_lv_not_disturb_hint_func(lv_obj_t *parent, lv_point_t *top);//开启勿扰模式提示
|
||||
void fr_lv_offscreen_dial_func(lv_obj_t *parent, lv_point_t *top); //熄屏表盘
|
||||
void fr_lv_ota_firmware_func(lv_obj_t *parent, lv_point_t *top); // ota界面
|
||||
void fr_lv_ota_result_func(lv_obj_t *parent, lv_point_t *top); // 升级结束显示
|
||||
void fr_lv_add_cards_page_func(lv_obj_t *parent, lv_point_t *top);//主页添加主题提示界面
|
||||
void fr_lv_themepage_select_func(lv_obj_t *parent, lv_point_t *top);//主页主题选择设置界面
|
||||
void fr_lv_password_home_func(lv_obj_t *parent, lv_point_t *top);//锁屏 密码主界面
|
||||
void fr_lv_password_succ_hint_func(lv_obj_t *parent, lv_point_t *top);//密码修改成功提示界面
|
||||
void fr_lv_password_input_func(lv_obj_t *parent, lv_point_t *top) ;//密码输入提示界面
|
||||
void fr_lv_about_page_func(lv_obj_t *parent, lv_point_t *top) ;//关于界面
|
||||
void fr_lv_pressure_measure_func(lv_obj_t *parent, lv_point_t *top) ;//压力测量完成显示
|
||||
void fr_lv_qrcode_page_func(lv_obj_t *parent, lv_point_t *top);//二维码
|
||||
void fr_lv_respiratory_rate_func(lv_obj_t *parent, lv_point_t *top); //呼吸率测量
|
||||
void fr_lv_set_time_select_func(lv_obj_t *parent, lv_point_t *top); //时间设置选择页面
|
||||
void fr_lv_date_select_func(lv_obj_t *parent, lv_point_t *top) ;// 日期设置选择 页面
|
||||
void fr_lv_setting_list_func(lv_obj_t *parent, lv_point_t *top); //默认设置列表
|
||||
void fr_lv_dial_theme_setting_func(lv_obj_t *parent, lv_point_t *top); //表盘主题设置
|
||||
void fr_lv_more_list_func(lv_obj_t *parent, lv_point_t *top);//更多设置列表
|
||||
void fr_lv_sleep_page_func(lv_obj_t *parent, lv_point_t *top); //睡眠主界面
|
||||
void fr_lv_soundvibration_home_func(lv_obj_t *parent, lv_point_t *top); // 声音与振动主页面
|
||||
void fr_lv_sound_adjust_func(lv_obj_t *parent, lv_point_t *top); // 声音音量调节子界面
|
||||
void fr_lv_vibration_select_func(lv_obj_t *parent, lv_point_t *top); // 振动强度选择 页面
|
||||
void fr_lv_stop_watch_func(lv_obj_t *parent, lv_point_t *top); // 秒表
|
||||
void fr_lv_system_menu_func(lv_obj_t *parent, lv_point_t *top) ; //系统菜单
|
||||
void fr_lv_system_menu_hint_func(lv_obj_t *parent, lv_point_t *top);//重启 关机 恢复出厂设置 提示页面
|
||||
void fr_lv_time_date_home_func(lv_obj_t *parent, lv_point_t *top); // 时间与日期主界面
|
||||
void fr_lv_universal_time_func(lv_obj_t *parent, lv_point_t *top); //世界时间主界面
|
||||
void fr_lv_add_city_func(lv_obj_t *parent, lv_point_t *top); //添加城市界面
|
||||
void fr_lv_del_city_hint_func(lv_obj_t *parent, lv_point_t *top);//是否删除当前城市
|
||||
void fr_lv_wear_detection_func(lv_obj_t *parent, lv_point_t *top); //佩戴检测
|
||||
void fr_lv_wear_detection_func_ex(lv_obj_t *parent, lv_point_t *top); //佩戴提醒
|
||||
void fr_lv_weather_report_func(lv_obj_t *parent, lv_point_t *top); //天气预报界面
|
||||
void fr_lv_voice_assistant_func(lv_obj_t *parent, lv_point_t *top);//语音助手界面
|
||||
void fr_lv_power_ctrl_func(lv_obj_t *parent, lv_point_t *top); // 电源控制界面
|
||||
void fr_lv_exercise_main_info_func(lv_obj_t *parent,lv_point_t *top);//运动信息显示界面
|
||||
void fr_lv_app_circle_func(lv_obj_t *parent,lv_point_t *top);//单圆样式界面
|
||||
void fr_lv_app_dia_func(lv_obj_t *parent,lv_point_t *top);//电话相关界面
|
||||
void fr_lv_app_dial_phone_book(lv_obj_t *parent,lv_point_t *top);//电话本界面
|
||||
void fr_lv_app_dial_call_history(lv_obj_t *parent,lv_point_t *top);//通话记录界面
|
||||
void fr_lv_app_dial_dial(lv_obj_t *parent,lv_point_t *top);//拨号盘界面
|
||||
|
||||
void fr_lv_timer_count_start_func(lv_obj_t *parent, lv_point_t *top);//计时器开始界面
|
||||
void fr_lv_timer_custom_func(lv_obj_t *parent, lv_point_t *top);//自定义计数参数界面
|
||||
void fr_lv_app_timer_func(lv_obj_t *parent, lv_point_t *top);//计时器界面
|
||||
void fr_lv_photograph_func(lv_obj_t *parent, lv_point_t *top);//点击拍照界面
|
||||
void fr_lv_app_calculator(lv_obj_t *parent, lv_point_t *top);//计算器界面
|
||||
void fr_lv_app_music_control_func(lv_obj_t *parent, lv_point_t *top);//音乐界面
|
||||
void fr_lv_screensaver_func(lv_obj_t *parent, lv_point_t *top) ;
|
||||
void fr_lv_flexible_msg_func(lv_obj_t *parent, lv_point_t *top);//灵动岛消息
|
||||
void fr_flexible_msg_set_type(uint8_t type);
|
||||
#endif
|
||||
|
|
@ -1,224 +0,0 @@
|
|||
#include "lvgl.h"
|
||||
#include "fr_lv_public_func.h"
|
||||
#include "lv_user_sqlist.h"
|
||||
|
||||
|
||||
#define PAGE_MAX_LENGTH 15
|
||||
#define CUSTOM_UI_ARRY_NUMBER 12
|
||||
|
||||
SqlistType_t page_list;
|
||||
ElemType_t page_sqlist_space[PAGE_MAX_LENGTH]={0};
|
||||
|
||||
/*
|
||||
page_list define:
|
||||
0:ui_clock_group,
|
||||
1-(PAGE_MAX_LENGTH-1):custom_ui_arry
|
||||
*/
|
||||
extern void fr_load_watch_face_from_ext_flash(lv_obj_t *parent,void *arg);
|
||||
|
||||
|
||||
static const ui_func custom_ui_arry[CUSTOM_UI_ARRY_NUMBER]=
|
||||
{
|
||||
fr_lv_add_cards_page_func,
|
||||
//---------------------------
|
||||
fr_lv_app_exercise_func,
|
||||
fr_lv_sleep_page_func,
|
||||
fr_lv_weather_report_func,
|
||||
fr_lv_pressure_measure_func,
|
||||
fr_lv_heart_rate_list_func,
|
||||
fr_lv_blood_oxygen_measure_func,
|
||||
fr_lv_blood_pressure_measure_func,
|
||||
fr_lv_app_exercise_default_list_func,
|
||||
//---------------------------
|
||||
fr_lv_pressure_emotion_func,
|
||||
fr_lv_respiratory_rate_func,
|
||||
fr_lv_body_temperature_display_func,
|
||||
//fr_load_watch_face_from_ext_flash,
|
||||
//---------------------------
|
||||
};
|
||||
static LV_ATTRIBUTE_LARGE_CONST const ui_func ui_clock_group[] =
|
||||
{
|
||||
fr_lv_main_clock2_func,
|
||||
fr_lv_main_clock1_func,
|
||||
fr_lv_main_clock0_func,
|
||||
fr_lv_main_clock3_func,
|
||||
fr_lv_main_clock4_func,
|
||||
fr_lv_main_clock5_func,
|
||||
NULL, //*entry_main
|
||||
};
|
||||
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
|
||||
uint8_t fr_ui_watchface_total(void)
|
||||
{
|
||||
return sizeof(ui_clock_group) / 4;
|
||||
}
|
||||
ui_func fr_ui_get_watchface(void)
|
||||
{
|
||||
uint8_t ui_face_id = fr_system_get_watch_face();
|
||||
ui_func func = ui_clock_group[ui_face_id];
|
||||
return func;
|
||||
}
|
||||
void fr_lv_custom_page_set_watch_face(uint8_t watch_face_id)
|
||||
{
|
||||
watch_face_id |= 0xc0;
|
||||
lv_user_list_replace(&page_list,0,watch_face_id);
|
||||
}
|
||||
bool fr_lv_is_ui_index_in_list(uint8_t custom_ui_arry_index)
|
||||
{
|
||||
custom_ui_arry_index |= 0x80;
|
||||
uint8_t elem_id = lv_user_list_get_elem_id(&page_list,custom_ui_arry_index);
|
||||
if(elem_id != 0xff)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
bool fr_lv_custom_page_add(uint8_t custom_ui_arry_index)
|
||||
{
|
||||
custom_ui_arry_index |= 0x80;
|
||||
uint8_t elem_id = lv_user_list_get_elem_id(&page_list,custom_ui_arry_index);
|
||||
if( elem_id == 0xff)
|
||||
{
|
||||
printf("add elem!!\r\n");
|
||||
//列表中无该元素,则添加
|
||||
//放在添加页面之前,添加页面永远在最后
|
||||
uint8_t len = lv_user_list_get_sqlist_length(&page_list);
|
||||
if(len == 0)
|
||||
lv_user_list_insert(&page_list,len,custom_ui_arry_index);
|
||||
else
|
||||
lv_user_list_insert(&page_list,len-1,custom_ui_arry_index);
|
||||
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
bool fr_lv_custom_page_delete(uint8_t custom_ui_arry_index)
|
||||
{
|
||||
custom_ui_arry_index |= 0x80;
|
||||
uint8_t elem_id = lv_user_list_get_elem_id(&page_list,custom_ui_arry_index);
|
||||
if(elem_id != 0xff)
|
||||
{
|
||||
lv_user_list_delete(&page_list,elem_id);
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t fr_lv_get_custom_page_length(void)
|
||||
{
|
||||
return page_list.length;
|
||||
}
|
||||
uint8_t *fr_lv_get_custom_page_data(void)
|
||||
{
|
||||
return (uint8_t *)page_list.data;
|
||||
}
|
||||
|
||||
ui_func fr_lv_get_prev_custom_page(uint8_t index)
|
||||
{
|
||||
ElemType_t prev_page = lv_user_list_get_prev_elem(&page_list,index);
|
||||
if((prev_page & 0xc0) == 0xc0)
|
||||
{
|
||||
prev_page &= 0x3f;
|
||||
return ui_clock_group[prev_page];
|
||||
}
|
||||
else
|
||||
{
|
||||
prev_page &= 0x7f;
|
||||
return custom_ui_arry[prev_page];
|
||||
}
|
||||
}
|
||||
ui_func fr_lv_get_next_custom_page(uint8_t index)
|
||||
{
|
||||
ElemType_t next_page = lv_user_list_get_next_elem(&page_list,index);
|
||||
if((next_page & 0xc0) == 0xc0)
|
||||
{
|
||||
next_page &= 0x3f;
|
||||
return ui_clock_group[next_page];
|
||||
}
|
||||
else
|
||||
{
|
||||
next_page &= 0x7f;
|
||||
return custom_ui_arry[next_page];
|
||||
}
|
||||
}
|
||||
ui_func fr_lv_get_cur_custom_page(uint8_t index)
|
||||
{
|
||||
ElemType_t cur_page = lv_user_list_get_cur_elem(&page_list,index);
|
||||
if((cur_page&0xc0) == 0xc0)
|
||||
{
|
||||
cur_page &= 0x3f;
|
||||
return ui_clock_group[cur_page];
|
||||
}
|
||||
else
|
||||
{
|
||||
cur_page &= 0x7f;
|
||||
return custom_ui_arry[cur_page];
|
||||
}
|
||||
}
|
||||
uint8_t splist_get_elem_number(void)
|
||||
{
|
||||
uint8_t len = 0;
|
||||
uint8_t *custom_mode = fr_system_get_custom_page_mode();
|
||||
for (uint8_t i = 0; i < CUSTOM_ID_ARRY_NUMBER; i++)
|
||||
{
|
||||
if ((custom_mode[i] != 0) && (custom_mode[i] <= CUSTOM_ID_ARRY_NUMBER))
|
||||
{
|
||||
len++;
|
||||
}
|
||||
}
|
||||
return len;
|
||||
}
|
||||
//--
|
||||
ui_func get_prior_element(uint8_t index)
|
||||
{
|
||||
return fr_lv_get_prev_custom_page(index);
|
||||
}
|
||||
ui_func get_next_element(uint8_t index)
|
||||
{
|
||||
return fr_lv_get_next_custom_page(index);
|
||||
}
|
||||
ui_func get_cur_element(uint8_t index)
|
||||
{
|
||||
return fr_lv_get_cur_custom_page(index);
|
||||
}
|
||||
//---
|
||||
void page_list_traverser(void)
|
||||
{
|
||||
ListTraverse(&page_list);
|
||||
}
|
||||
void fr_lv_custom_page_init(void)
|
||||
{
|
||||
page_list.data = page_sqlist_space;
|
||||
page_list.length = 0;
|
||||
//----------------------------------
|
||||
uint8_t elem_len = splist_get_elem_number();
|
||||
if (elem_len == 0) // list is empty;
|
||||
{
|
||||
//clock0 and fr_lv_add_cards_page_func
|
||||
fr_lv_custom_page_add(0);
|
||||
fr_lv_custom_page_add(1);
|
||||
fr_lv_custom_page_set_watch_face(0);
|
||||
//---------------------------------
|
||||
fr_lv_custom_page_add(1);
|
||||
fr_lv_custom_page_add(2);
|
||||
fr_lv_custom_page_add(3);
|
||||
fr_lv_custom_page_add(4);
|
||||
fr_system_set_custom_page_mode();
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t *custom_mode = fr_system_get_custom_page_mode();
|
||||
for (uint8_t i = 0; i < elem_len; i++)
|
||||
{
|
||||
fr_lv_custom_page_add(custom_mode[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue