Compare commits
10 Commits
4aa0daf463
...
4abbf3abea
| Author | SHA1 | Date | |
|---|---|---|---|
| 4abbf3abea | |||
| 3aeeff52eb | |||
| b232a0d8e1 | |||
| ad170a8aa7 | |||
| ef55ef2519 | |||
| 430f1c90fd | |||
| 1fea5e284d | |||
| 1375e82550 | |||
| 2beca08042 | |||
| a543836df4 |
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,2 +1,8 @@
|
||||
build/
|
||||
managed_components/
|
||||
build_slave/
|
||||
CMakeFiles/
|
||||
esp-idf/
|
||||
gdbinit/
|
||||
sdkconfig
|
||||
sdkconfig.old
|
||||
|
||||
23
.vscode/launch.json
vendored
23
.vscode/launch.json
vendored
@ -16,7 +16,28 @@
|
||||
"name": "Debug LVGL demo with gdb",
|
||||
"type": "cppdbg",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/bin/rgb_lcd",
|
||||
"program": "${workspaceFolder}/build/rgb_lcd",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"stopAtEntry": false,
|
||||
"linux": {
|
||||
"MIMode": "gdb",
|
||||
"miDebuggerPath": "/usr/bin/gdb"
|
||||
},
|
||||
"osx": {
|
||||
"MIMode": "lldb"
|
||||
},
|
||||
"windows": {
|
||||
"MIMode": "gdb",
|
||||
"miDebuggerPath": "C:\\MinGw\\bin\\gdb.exe"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Debug ihm with gdb",
|
||||
"type": "cppdbg",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "Build - Build IHM",
|
||||
"program": "${workspaceFolder}/components/domotic_display/test_host/build/nvs_host_test.elf",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"stopAtEntry": false,
|
||||
|
||||
8
.vscode/settings.json
vendored
8
.vscode/settings.json
vendored
@ -1,7 +1,7 @@
|
||||
{
|
||||
"C_Cpp.intelliSenseEngine": "default",
|
||||
"idf.espIdfPath": "/home/marc/esp/master/esp-idf",
|
||||
"idf.pythonBinPath": "/home/marc/.espressif/python_env/idf5.3_py3.10_env/bin/python",
|
||||
"idf.espIdfPath": "/home/marc/esp/v5.5.1/esp-idf",
|
||||
"idf.pythonBinPath": "/home/marc/.espressif/python_env/idf5.5_py3.10_env/bin/python",
|
||||
"idf.toolsPath": "/home/marc/.espressif",
|
||||
"idf.customExtraPaths": "/home/marc/.espressif/tools/xtensa-esp-elf-gdb/14.2_20240403/xtensa-esp-elf-gdb/bin:/home/marc/.espressif/tools/riscv32-esp-elf-gdb/14.2_20240403/riscv32-esp-elf-gdb/bin:/home/marc/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin:/home/marc/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20240530/riscv32-esp-elf/bin:/home/marc/.espressif/tools/esp32ulp-elf/2.38_20240113/esp32ulp-elf/bin:/home/marc/.espressif/tools/cmake/3.24.0/bin:/home/marc/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240318/openocd-esp32/bin:/home/marc/.espressif/tools/ninja/1.11.1:/home/marc/.espressif/tools/esp-rom-elfs/20240305",
|
||||
"idf.customExtraVars": {
|
||||
@ -12,7 +12,7 @@
|
||||
"idf.gitPath": "git",
|
||||
"idf.adapterTargetName": "esp32s3",
|
||||
"idf.openOcdConfigs": [
|
||||
"board/esp32p4-builtin.cfg"
|
||||
"board/esp32p4-ftdi.cfg"
|
||||
],
|
||||
"idf.flashType": "UART",
|
||||
"idf.port": "/dev/ttyUSB0",
|
||||
@ -108,5 +108,5 @@
|
||||
"communication.h": "c",
|
||||
"mqtt_client.h": "c"
|
||||
},
|
||||
"idf.pythonInstallPath": "/usr/bin/python3"
|
||||
"idf.pythonInstallPath": "/usr/local/bin/python"
|
||||
}
|
||||
|
||||
43
.vscode/tasks.json
vendored
43
.vscode/tasks.json
vendored
@ -33,7 +33,7 @@
|
||||
"isDefault": true
|
||||
},
|
||||
"dependsOn": "Build"
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Build - Build project",
|
||||
"type": "shell",
|
||||
@ -73,6 +73,47 @@
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Build - Build IHM",
|
||||
"type": "shell",
|
||||
"command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py build",
|
||||
"windows": {
|
||||
"command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py build",
|
||||
"options": {
|
||||
"env": {
|
||||
"PATH": "${env:PATH};${config:idf.customExtraPaths}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/components/domotic_display/test_host/",
|
||||
"env": {
|
||||
"IDF_TARGET": "linux",
|
||||
"PATH": "${env:PATH}:${config:idf.customExtraPaths}"
|
||||
}
|
||||
},
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "cpp",
|
||||
"fileLocation": [
|
||||
"autoDetect",
|
||||
"${workspaceFolder}"
|
||||
],
|
||||
"pattern": {
|
||||
"regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"severity": 4,
|
||||
"message": 5
|
||||
}
|
||||
}
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Set ESP-IDF Target",
|
||||
"type": "shell",
|
||||
|
||||
@ -2,20 +2,22 @@
|
||||
# in this exact order for cmake to work correctly
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
# "Trim" the build. Include the minimal set of components, main and anything it depends on.
|
||||
set(COMPONENTS main)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
if(${IDF_TARGET} STREQUAL "esp32p4")
|
||||
if($ENV{IDF_TARGET} STREQUAL "esp32p4")
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
# "Trim" the build. Include the minimal set of components, main and anything it depends on.
|
||||
set(COMPONENTS main)
|
||||
set(EXTRA_COMPONENT_DIRS
|
||||
/home/marc/esp-dev-kits/examples/esp32-p4-function-ev-board/examples/common_components
|
||||
$ENV{IDF_PATH}/examples/protocols/linux_stubs/esp_stubs
|
||||
)
|
||||
project(rgb_lcd)
|
||||
add_link_options("-Wl,--disable-non-contiguous-regions")
|
||||
else()
|
||||
# PROJECT_PLATFORM_LINUX
|
||||
# PROJECT_PLATFORM_ESP32
|
||||
add_compile_definitions(PROJECT_PLATFORM_LINUX)
|
||||
set(EXCLUDE_COMPONENTS main driver bh1750 espressif__bh1750 wifi_logger)
|
||||
|
||||
set(EXTRA_COMPONENT_DIRS
|
||||
$ENV{IDF_PATH}/examples/protocols/linux_stubs/esp_stubs
|
||||
@ -23,6 +25,27 @@ else()
|
||||
"/home/marc/esp-protocols/common_components/linux_compat"
|
||||
"/home/marc/esp-protocols/components/mdns/tests/host_test/components"
|
||||
)
|
||||
project(rgb_lcd)
|
||||
|
||||
add_executable(domotic_display
|
||||
components/domotic_display/ihm.c
|
||||
# ajoute d’autres fichiers si nécessaire
|
||||
)
|
||||
|
||||
|
||||
# -- FreeRTOS config
|
||||
add_library(freertos_config INTERFACE)
|
||||
target_include_directories(freertos_config INTERFACE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/FreeRTOSConfig
|
||||
)
|
||||
|
||||
add_subdirectory(FreeRTOS/FreeRTOS/Source)
|
||||
add_subdirectory(components/meteofrance)
|
||||
add_subdirectory(components/stateManagement)
|
||||
add_subdirectory(managed_components/lvgl__lvgl)
|
||||
target_include_directories(domotic_display PRIVATE components/domotic_display/include)
|
||||
# --- Liens nécessaires ---
|
||||
target_link_libraries(domotic_display PRIVATE freertos_kernel lvgl m pthread meteofrance)
|
||||
|
||||
endif()
|
||||
|
||||
project(rgb_lcd)
|
||||
15
FreeRTOSConfig/FreeRTOSConfig.h
Normal file
15
FreeRTOSConfig/FreeRTOSConfig.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
#define FREERTOS_CONFIG_H
|
||||
|
||||
#define configUSE_PREEMPTION 1
|
||||
#define configUSE_IDLE_HOOK 0
|
||||
#define configUSE_TICK_HOOK 0
|
||||
#define configCPU_CLOCK_HZ ( ( unsigned long ) 80000000 )
|
||||
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
|
||||
#define configMAX_PRIORITIES 5
|
||||
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 130 )
|
||||
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 64 * 1024 ) )
|
||||
#define configMAX_TASK_NAME_LEN 10
|
||||
#define configUSE_16_BIT_TICKS 0
|
||||
|
||||
#endif /* FREERTOS_CONFIG_H */
|
||||
8647
compile_commands.json
Normal file
8647
compile_commands.json
Normal file
File diff suppressed because one or more lines are too long
@ -1,5 +1,5 @@
|
||||
function (make_font fontSize)
|
||||
execute_process(COMMAND podman run -v /home/marc/rgb_lcd/components/domotic_display/fonts:/app -w /app lvfontconv lv_font_conv --bpp 4 --size ${fontSize} --no-compress --font Montserrat-Medium.ttf --symbols "0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'():ê/" --format lvgl -o montserrat_medium_${fontSize}.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575)
|
||||
execute_process(COMMAND podman run -v /home/marc/rgb_lcd/components/domotic_display/fonts:/app -w /app lvfontconv lv_font_conv --bpp 4 --size ${fontSize} --no-compress --font Montserrat-Medium.ttf --symbols "0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'():ê/-" --format lvgl -o montserrat_medium_${fontSize}.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575)
|
||||
endfunction()
|
||||
|
||||
make_font(12)
|
||||
@ -8,7 +8,7 @@ make_font(24)
|
||||
|
||||
idf_component_register(SRC_DIRS . fonts
|
||||
INCLUDE_DIRS "include"
|
||||
REQUIRES bsp_extra esp32_p4_function_ev_board meteofrance eventsManager)
|
||||
REQUIRES meteofrance eventsManager lvgl esp32_p4_function_ev_board)
|
||||
|
||||
|
||||
if(${IDF_TARGET} STREQUAL "esp32p4")
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*******************************************************************************
|
||||
* Size: 12 px
|
||||
* Bpp: 4
|
||||
* Opts: --bpp 4 --size 12 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'():ê/ --format lvgl -o montserrat_medium_12.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575
|
||||
* Opts: --bpp 4 --size 12 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'():ê/- --format lvgl -o montserrat_medium_12.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
@ -48,6 +48,9 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
||||
/* U+002C "," */
|
||||
0x18, 0x4, 0xf1, 0xd, 0x3, 0x80,
|
||||
|
||||
/* U+002D "-" */
|
||||
0x4f, 0xfd, 0x2, 0x22,
|
||||
|
||||
/* U+002E "." */
|
||||
0x2a, 0x4, 0xd0,
|
||||
|
||||
@ -556,79 +559,80 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||
{.bitmap_index = 49, .adv_w = 65, .box_w = 3, .box_h = 13, .ofs_x = 1, .ofs_y = -3},
|
||||
{.bitmap_index = 69, .adv_w = 65, .box_w = 3, .box_h = 13, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 89, .adv_w = 44, .box_w = 3, .box_h = 4, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 95, .adv_w = 44, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 98, .adv_w = 68, .box_w = 6, .box_h = 13, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 137, .adv_w = 128, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 173, .adv_w = 71, .box_w = 4, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 191, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 223, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 255, .adv_w = 128, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 291, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 323, .adv_w = 118, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 359, .adv_w = 115, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 391, .adv_w = 124, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 427, .adv_w = 118, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 459, .adv_w = 44, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 470, .adv_w = 141, .box_w = 10, .box_h = 9, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 515, .adv_w = 145, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 551, .adv_w = 139, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 592, .adv_w = 159, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 633, .adv_w = 129, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 665, .adv_w = 122, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 697, .adv_w = 148, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 738, .adv_w = 156, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 774, .adv_w = 60, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 783, .adv_w = 98, .box_w = 6, .box_h = 9, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 810, .adv_w = 138, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 846, .adv_w = 114, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 878, .adv_w = 183, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 923, .adv_w = 156, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 959, .adv_w = 161, .box_w = 10, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1004, .adv_w = 139, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1040, .adv_w = 161, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 1100, .adv_w = 140, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1136, .adv_w = 119, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1168, .adv_w = 113, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1200, .adv_w = 152, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1236, .adv_w = 137, .box_w = 10, .box_h = 9, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 1281, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1344, .adv_w = 129, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1380, .adv_w = 124, .box_w = 9, .box_h = 9, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 1421, .adv_w = 126, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1457, .adv_w = 115, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1482, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1517, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1542, .adv_w = 131, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1582, .adv_w = 118, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1607, .adv_w = 68, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1632, .adv_w = 132, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 1672, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1707, .adv_w = 54, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1722, .adv_w = 55, .box_w = 5, .box_h = 13, .ofs_x = -2, .ofs_y = -3},
|
||||
{.bitmap_index = 1755, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1790, .adv_w = 54, .box_w = 2, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1800, .adv_w = 203, .box_w = 11, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1839, .adv_w = 131, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1864, .adv_w = 122, .box_w = 8, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1892, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = -3},
|
||||
{.bitmap_index = 1927, .adv_w = 131, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 1967, .adv_w = 79, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1981, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2002, .adv_w = 79, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2025, .adv_w = 130, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2050, .adv_w = 107, .box_w = 8, .box_h = 7, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 2078, .adv_w = 173, .box_w = 11, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2117, .adv_w = 106, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2142, .adv_w = 107, .box_w = 8, .box_h = 10, .ofs_x = -1, .ofs_y = -3},
|
||||
{.bitmap_index = 2182, .adv_w = 100, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2203, .adv_w = 80, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 5},
|
||||
{.bitmap_index = 2216, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2251, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2286, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2321, .adv_w = 130, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2356, .adv_w = 216, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 2454, .adv_w = 240, .box_w = 15, .box_h = 11, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 2537, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}
|
||||
{.bitmap_index = 95, .adv_w = 74, .box_w = 4, .box_h = 2, .ofs_x = 0, .ofs_y = 2},
|
||||
{.bitmap_index = 99, .adv_w = 44, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 102, .adv_w = 68, .box_w = 6, .box_h = 13, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 141, .adv_w = 128, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 177, .adv_w = 71, .box_w = 4, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 195, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 227, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 259, .adv_w = 128, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 295, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 327, .adv_w = 118, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 363, .adv_w = 115, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 395, .adv_w = 124, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 431, .adv_w = 118, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 463, .adv_w = 44, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 474, .adv_w = 141, .box_w = 10, .box_h = 9, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 519, .adv_w = 145, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 555, .adv_w = 139, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 596, .adv_w = 159, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 637, .adv_w = 129, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 669, .adv_w = 122, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 701, .adv_w = 148, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 742, .adv_w = 156, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 778, .adv_w = 60, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 787, .adv_w = 98, .box_w = 6, .box_h = 9, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 814, .adv_w = 138, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 850, .adv_w = 114, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 882, .adv_w = 183, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 927, .adv_w = 156, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 963, .adv_w = 161, .box_w = 10, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1008, .adv_w = 139, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1044, .adv_w = 161, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 1104, .adv_w = 140, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1140, .adv_w = 119, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1172, .adv_w = 113, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1204, .adv_w = 152, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1240, .adv_w = 137, .box_w = 10, .box_h = 9, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 1285, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1348, .adv_w = 129, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1384, .adv_w = 124, .box_w = 9, .box_h = 9, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 1425, .adv_w = 126, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1461, .adv_w = 115, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1486, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1521, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1546, .adv_w = 131, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1586, .adv_w = 118, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1611, .adv_w = 68, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1636, .adv_w = 132, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 1676, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1711, .adv_w = 54, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1726, .adv_w = 55, .box_w = 5, .box_h = 13, .ofs_x = -2, .ofs_y = -3},
|
||||
{.bitmap_index = 1759, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1794, .adv_w = 54, .box_w = 2, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1804, .adv_w = 203, .box_w = 11, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1843, .adv_w = 131, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1868, .adv_w = 122, .box_w = 8, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1896, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = -3},
|
||||
{.bitmap_index = 1931, .adv_w = 131, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 1971, .adv_w = 79, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1985, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2006, .adv_w = 79, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2029, .adv_w = 130, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2054, .adv_w = 107, .box_w = 8, .box_h = 7, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 2082, .adv_w = 173, .box_w = 11, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2121, .adv_w = 106, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2146, .adv_w = 107, .box_w = 8, .box_h = 10, .ofs_x = -1, .ofs_y = -3},
|
||||
{.bitmap_index = 2186, .adv_w = 100, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2207, .adv_w = 80, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 5},
|
||||
{.bitmap_index = 2220, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2255, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2290, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2325, .adv_w = 130, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2360, .adv_w = 216, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 2458, .adv_w = 240, .box_w = 15, .box_h = 11, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 2541, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2}
|
||||
};
|
||||
|
||||
/*---------------------
|
||||
@ -637,12 +641,10 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||
|
||||
static const uint8_t glyph_id_ofs_list_0[] = {
|
||||
0, 0, 0, 0, 0, 1, 0, 2,
|
||||
3, 4, 0, 0, 5, 0, 6, 7,
|
||||
8, 9, 10, 11, 12, 13, 14, 15,
|
||||
16, 17, 18
|
||||
3, 4
|
||||
};
|
||||
|
||||
static const uint16_t unicode_list_3[] = {
|
||||
static const uint16_t unicode_list_4[] = {
|
||||
0x0, 0x38, 0x39, 0x3a, 0x4b, 0xef65, 0xf012, 0xf4c5
|
||||
};
|
||||
|
||||
@ -650,20 +652,24 @@ static const uint16_t unicode_list_3[] = {
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 32, .range_length = 27, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 27, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL
|
||||
.range_start = 32, .range_length = 10, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 10, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL
|
||||
},
|
||||
{
|
||||
.range_start = 65, .range_length = 26, .glyph_id_start = 20,
|
||||
.range_start = 44, .range_length = 15, .glyph_id_start = 6,
|
||||
.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 = 46,
|
||||
.range_start = 65, .range_length = 26, .glyph_id_start = 21,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 176, .range_length = 62662, .glyph_id_start = 72,
|
||||
.unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 8, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
.range_start = 97, .range_length = 26, .glyph_id_start = 47,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 176, .range_length = 62662, .glyph_id_start = 73,
|
||||
.unicode_list = unicode_list_4, .glyph_id_ofs_list = NULL, .list_length = 8, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
}
|
||||
};
|
||||
|
||||
@ -675,142 +681,152 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
/*Map glyph_ids to kern left classes*/
|
||||
static const uint8_t kern_left_class_mapping[] =
|
||||
{
|
||||
0, 0, 1, 2, 3, 4, 5, 5,
|
||||
6, 7, 0, 8, 9, 10, 11, 12,
|
||||
13, 14, 7, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 23, 24, 25, 26,
|
||||
23, 23, 19, 27, 28, 29, 30, 31,
|
||||
24, 32, 32, 33, 34, 35, 36, 37,
|
||||
38, 39, 40, 41, 42, 36, 42, 42,
|
||||
43, 39, 36, 36, 37, 37, 44, 45,
|
||||
46, 47, 42, 48, 48, 49, 48, 50,
|
||||
51, 40, 40, 40, 42, 0, 0, 0
|
||||
0, 0, 1, 2, 3, 4, 5, 6,
|
||||
5, 7, 8, 0, 9, 10, 11, 12,
|
||||
13, 14, 15, 8, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 24, 24, 25, 26,
|
||||
27, 24, 24, 20, 28, 29, 30, 31,
|
||||
32, 25, 33, 33, 34, 35, 36, 37,
|
||||
38, 39, 40, 41, 42, 43, 37, 43,
|
||||
43, 44, 40, 37, 37, 38, 38, 45,
|
||||
46, 47, 48, 43, 49, 49, 50, 49,
|
||||
51, 52, 41, 41, 41, 43, 0, 0,
|
||||
0
|
||||
};
|
||||
|
||||
/*Map glyph_ids to kern right classes*/
|
||||
static const uint8_t kern_right_class_mapping[] =
|
||||
{
|
||||
0, 0, 1, 2, 3, 4, 5, 5,
|
||||
6, 7, 8, 9, 10, 11, 12, 7,
|
||||
13, 14, 15, 16, 17, 18, 19, 18,
|
||||
18, 18, 19, 18, 18, 20, 18, 18,
|
||||
18, 18, 19, 18, 19, 18, 21, 22,
|
||||
23, 24, 24, 25, 26, 27, 28, 29,
|
||||
30, 30, 30, 0, 30, 29, 31, 32,
|
||||
29, 29, 33, 33, 30, 33, 30, 33,
|
||||
34, 35, 36, 37, 37, 38, 37, 39,
|
||||
40, 30, 30, 30, 36, 0, 0, 0
|
||||
0, 0, 1, 2, 3, 4, 5, 6,
|
||||
5, 7, 8, 9, 10, 11, 12, 13,
|
||||
8, 14, 15, 16, 17, 18, 19, 20,
|
||||
19, 19, 19, 20, 19, 19, 21, 19,
|
||||
19, 19, 19, 20, 19, 20, 19, 22,
|
||||
23, 24, 25, 25, 26, 27, 28, 29,
|
||||
30, 31, 31, 31, 0, 31, 30, 32,
|
||||
33, 30, 30, 34, 34, 31, 34, 31,
|
||||
34, 35, 36, 37, 38, 38, 39, 38,
|
||||
40, 41, 31, 31, 31, 37, 0, 0,
|
||||
0
|
||||
};
|
||||
|
||||
/*Kern values between classes*/
|
||||
static const int8_t kern_class_values[] =
|
||||
{
|
||||
-23, -5, 0, -4, 6, 0, 0, -4,
|
||||
2, 2, 6, 4, -3, 4, 0, 0,
|
||||
-23, -5, 0, -4, 6, 4, 0, 0,
|
||||
-4, 2, 2, 6, 4, -3, 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, -5,
|
||||
5, 9, 0, 0, -11, -12, 1, 9,
|
||||
4, 3, -8, 1, 9, 1, 8, 2,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-5, 5, 9, 0, 0, -11, 0, -12,
|
||||
1, 9, 4, 3, -8, 1, 9, 1,
|
||||
8, 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, 4,
|
||||
0, 0, 0, 0, 0, 6, 0, 2,
|
||||
0, 0, -4, 0, 0, 0, 0, 0,
|
||||
0, 4, 0, 0, 0, 0, 0, 0,
|
||||
6, 0, 2, 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, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -7, 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, -12, -11, 0, 0,
|
||||
0, -1, 19, -2, -2, 2, 2, -2,
|
||||
0, -2, 2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-12, -11, 0, 0, 0, 19, -2, -2,
|
||||
2, 2, -2, 0, -2, 2, 0, 0,
|
||||
0, 0, 0, 0, -12, -7, 0, 0,
|
||||
0, -1, 1, 0, 1, -3, -2, -4,
|
||||
1, 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, -12,
|
||||
0, 12, 0, 6, -19, -13, -4, 6,
|
||||
0, 0, -13, 0, 2, -4, 0, -3,
|
||||
0, 0, 0, 0, 0, 0, 0, 12,
|
||||
0, 6, -19, -13, -13, -4, 6, 0,
|
||||
0, -13, 0, 2, -4, 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, 9,
|
||||
0, 1, 0, 0, -2, -4, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 9, 0,
|
||||
1, 0, 0, -2, 1, -4, 0, -1,
|
||||
-1, -2, 0, 0, -1, 0, 0, 0,
|
||||
-2, 0, 0, -4, 0, -4, 0, -5,
|
||||
-6, -6, -4, 0, 0, 0, 0, -2,
|
||||
0, 0, 2, 0, 1, -2, 0, 1,
|
||||
2, 0, 0, 0, 2, 2, -1, 0,
|
||||
0, 0, -4, 0, -1, 0, 0, 0,
|
||||
1, 0, 0, 2, 0, -1, 0, -2,
|
||||
0, -3, 0, 0, 0, -2, 0, 0,
|
||||
0, 0, 0, -1, 1, -1, -1, 0,
|
||||
-2, -2, 0, 0, 0, 0, 0, 0,
|
||||
-1, -1, 0, -2, -2, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, -1, 0, -2,
|
||||
-2, -2, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, 0, 0, -1, -2, 0, -3,
|
||||
-6, -6, 0, 0, 4, 5, 0, -5,
|
||||
-1, -2, 0, -1, -9, 2, -1, 1,
|
||||
0, 0, 2, 1, -1, -10, 0, -10,
|
||||
-2, -17, -1, 5, 0, 2, 0, 0,
|
||||
0, 0, 0, 0, -3, -2, 0, -6,
|
||||
-2, 0, 0, 0, 0, 0, 0, 0,
|
||||
-1, -1, 0, -1, -2, 0, 0, 0,
|
||||
0, 0, 0, -2, 0, -2, 0, -1,
|
||||
-2, -2, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -2, -2, 0, -2,
|
||||
-4, -1, 0, 0, 2, 2, 0, 0,
|
||||
0, 0, 0, 0, -1, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, -2, 0, -2,
|
||||
-1, -2, 0, 0, 0, 2, 0, -2,
|
||||
0, 0, 0, 0, -2, -3, 0, -4,
|
||||
1, 6, 0, 0, -10, -8, -4, 2,
|
||||
0, -2, -12, -3, 0, -3, 0, -4,
|
||||
-12, 0, -3, -5, -1, 0, 0, 1,
|
||||
-1, 2, -1, -7, 0, -10, -5, -4,
|
||||
-5, -6, -2, -5, 0, -4, -5, 1,
|
||||
-2, 1, 0, 0, 2, 0, 0, 0,
|
||||
2, 0, 0, 0, 2, -1, 2, -1,
|
||||
0, 0, 0, -4, 0, -1, 0, 0,
|
||||
0, 1, 0, 0, 2, 0, -1, 0,
|
||||
-2, 0, -3, 0, 0, 0, -2, 0,
|
||||
0, 0, 0, 0, -1, 1, -1, -1,
|
||||
0, -2, -2, 0, 0, 0, 0, 0,
|
||||
0, 0, -1, -1, 0, -2, -2, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, -1,
|
||||
0, -2, -2, -2, 0, 0, 0, 0,
|
||||
0, -1, 0, 0, 0, 0, -1, -2,
|
||||
0, -3, -6, -6, 0, 0, 4, 2,
|
||||
5, 0, -5, -1, -2, 0, -1, -9,
|
||||
2, -1, 1, 0, 0, 2, 1, -1,
|
||||
-10, 0, -10, -2, -17, -1, 5, 0,
|
||||
2, 0, 0, 0, 0, 0, 0, -3,
|
||||
-2, 0, -6, -2, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -1, -1, 0, -1,
|
||||
-2, 0, 0, 0, 0, 0, 0, -2,
|
||||
0, -2, 0, -1, -2, -2, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-1, 0, 0, -1, 0, -2, 0, -3,
|
||||
-4, -4, -1, 0, 0, 0, 0, -2,
|
||||
0, 0, 0, 0, 1, -1, 0, 0,
|
||||
0, 2, 0, 0, 0, 9, 0, 0,
|
||||
-2, -2, 0, -2, -4, -1, 0, 0,
|
||||
2, 1, 2, 0, 0, 0, 0, 0,
|
||||
0, -1, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, -2, 0, -2, -1, -2, 0,
|
||||
0, 0, 2, 0, -2, 0, 0, 0,
|
||||
0, -2, -3, 0, -4, 1, 6, 0,
|
||||
0, -10, -10, -8, -4, 2, 0, -2,
|
||||
-12, -3, 0, -3, 0, -4, -12, 0,
|
||||
-3, -5, -1, 0, 0, 1, -1, 2,
|
||||
-1, -7, 0, -10, -5, -4, -5, -6,
|
||||
-2, -5, 0, -4, -5, 1, -2, 1,
|
||||
0, 0, 2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, -1, 0, -2, 0, -3, -4,
|
||||
-4, -1, 0, 0, 0, 0, -2, 0,
|
||||
0, 0, 0, 1, -1, 0, 0, 0,
|
||||
2, 0, 0, 0, 0, 9, 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, -8, 0, 0, 6, 6, -2, -8,
|
||||
0, 2, -3, 0, -10, -1, -2, 2,
|
||||
2, 0, -2, 3, 0, -7, -3, -7,
|
||||
-6, -8, 0, 0, 0, -1, 0, 0,
|
||||
0, -1, -1, -2, -5, -6, 0, -18,
|
||||
0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, -8, 0, 0, 6, -3, 6, -2,
|
||||
-8, 0, 2, -3, 0, -10, -1, -2,
|
||||
2, 2, 0, -2, 3, 0, -7, -3,
|
||||
-7, -6, -8, 0, 0, 0, -1, 0,
|
||||
0, 0, -1, -1, -2, -5, -6, 0,
|
||||
-18, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -2, 0, -1,
|
||||
-2, -3, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -2,
|
||||
0, -1, -2, -3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 2, 0, -4, 2,
|
||||
-1, -1, -5, -2, 0, -2, -2, -1,
|
||||
-3, 0, -3, 0, -1, -2, -1, -1,
|
||||
-3, -2, 0, -1, 0, -4, 0, 0,
|
||||
0, -4, 0, -3, 0, -3, -3, 2,
|
||||
0, -3, 0, 2, -4, -4, 0, -2,
|
||||
-2, -2, 0, 0, 0, 0, 0, 0,
|
||||
-2, 0, 0, -3, 0, -2, 0, -4,
|
||||
-5, -6, -2, 0, 0, 0, 0, 15,
|
||||
0, 0, 1, 0, 0, -2, 0, 2,
|
||||
0, 0, 0, 0, 2, 0, -3, 0,
|
||||
-1, -2, -6, -1, -1, -1, -1, -1,
|
||||
0, 0, -1, 0, 0, 0, 0, -2,
|
||||
-2, -2, 0, -1, 0, -1, 0, 0,
|
||||
0, -1, -2, -1, -2, -2, -2, 0,
|
||||
0, 8, 0, -1, -2, -8, -2, 3,
|
||||
0, 0, -9, -3, 2, -3, 1, 0,
|
||||
-6, 0, -2, -3, -1, 1, 0, 0,
|
||||
-3, 0, 0, -4, 0, -3, -2, -3,
|
||||
-2, -2, 0, -3, 1, -4, -3, 6,
|
||||
0, 0, 0, 0, 2, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 2, -1,
|
||||
0, -4, 2, -1, -1, -5, -2, 0,
|
||||
-2, -2, -1, -3, 0, -3, 0, -1,
|
||||
-2, -1, -1, -3, -2, 0, -1, 0,
|
||||
-4, 0, 0, 0, -4, 0, -3, 0,
|
||||
-3, -3, 2, 0, -3, 0, 2, -4,
|
||||
1, -4, 0, -2, -2, -2, 0, 0,
|
||||
0, 0, 0, 0, -2, 0, 0, -3,
|
||||
0, -2, 0, -4, -5, -6, -2, 0,
|
||||
0, 0, 0, 15, 0, 0, 1, 0,
|
||||
0, -2, 0, 2, 0, 0, 0, 0,
|
||||
2, -4, 0, -3, 0, -1, -2, -6,
|
||||
-1, -1, -1, -1, -1, 0, 0, -1,
|
||||
0, 0, 0, 0, -2, -2, -2, 0,
|
||||
-1, 0, -1, 0, 0, 0, -1, -2,
|
||||
-1, -2, -2, -2, 0, 0, 8, 0,
|
||||
-1, -2, 0, -8, -2, 3, 0, 0,
|
||||
-9, -3, 2, -3, 1, 0, -6, 0,
|
||||
-2, -3, -1, 1, 0, 0, -3, 0,
|
||||
0, -4, 0, -3, -2, -3, -2, -2,
|
||||
0, -3, 1, -4, -3, 6, 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, 0,
|
||||
@ -820,146 +836,150 @@ static const int8_t kern_class_values[] =
|
||||
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, -2, -2, 0, 0,
|
||||
0, 0, 0, 0, -2, 0, -2, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-3, 0, 0, 0, 0, -2, 0, 0,
|
||||
-2, -2, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, 0, 0, 0, -1, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, -4, 4,
|
||||
0, -1, -9, 0, 0, -4, -2, 0,
|
||||
-5, 0, -5, 0, -3, -8, -2, -8,
|
||||
-7, -9, 0, -2, 0, -4, -2, -1,
|
||||
-2, -3, -5, -3, -7, -8, -4, -2,
|
||||
0, 0, 0, 0, 6, 4, -4, -7,
|
||||
0, 1, -6, 0, -10, -1, -2, 4,
|
||||
1, 0, -2, 0, -1, -12, -2, -10,
|
||||
-2, -14, 0, 1, 0, -1, 0, 0,
|
||||
0, 0, -1, -1, -7, -1, 0, -12,
|
||||
0, 0, 0, -2, -5, -9, 0, 0,
|
||||
-1, -3, -6, -2, 0, -1, 0, 0,
|
||||
-9, -2, 0, -6, 0, -6, -2, -3,
|
||||
-5, -2, -3, -3, 0, -2, -4, -2,
|
||||
-4, 0, 1, 0, -1, -6, 0, 4,
|
||||
0, -3, 0, 2, -4, 8, 0, -2,
|
||||
-2, -2, 0, 0, 0, 0, 0, 0,
|
||||
-2, 0, 0, -3, 0, -2, 0, -4,
|
||||
-5, -6, -2, 0, 0, 0, 0, 15,
|
||||
0, 0, 1, 0, 0, -2, 0, 2,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -1, -4, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -2, 0, -2, 0, 0,
|
||||
-4, -2, 0, -1, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 3,
|
||||
0, -6, 0, 0, 4, 0, 0, -2,
|
||||
0, -1, 2, 0, -2, 0, -2, -1,
|
||||
0, -3, 0, 0, 0, 0, -2, 0,
|
||||
0, -2, -2, 0, 0, 0, 0, 0,
|
||||
-1, 0, 0, 0, 0, 0, -1, 0,
|
||||
0, 0, 0, 0, 0, 0, -6, 1,
|
||||
-4, 4, 0, -1, -9, 0, 0, -4,
|
||||
-2, 0, -5, 0, -5, 0, -3, -8,
|
||||
-2, -8, -7, -9, 0, -2, 0, -4,
|
||||
-2, -1, -2, -3, -5, -3, -7, -8,
|
||||
-4, -2, 0, 0, 0, 0, 6, -2,
|
||||
4, -4, -7, 0, 1, -6, 0, -10,
|
||||
-1, -2, 4, 1, 0, -2, 0, -1,
|
||||
-12, -2, -10, -2, -14, 0, 1, 0,
|
||||
-1, 0, 0, 0, 0, -1, -1, -7,
|
||||
-1, 0, -12, 0, 0, 0, -2, -5,
|
||||
-1, -9, 0, 0, -1, -3, -6, -2,
|
||||
0, -1, 0, 0, -9, -2, 0, -6,
|
||||
0, -6, -2, -3, -5, -2, -3, -3,
|
||||
0, -2, -4, -2, -4, 0, 1, 0,
|
||||
-1, -6, 0, 4, 0, -3, 0, 2,
|
||||
-4, 1, 8, 0, -2, -2, -2, 0,
|
||||
0, 0, 0, 0, 0, -2, 0, 0,
|
||||
-2, -3, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -2, -2, 0, -3,
|
||||
0, 2, -3, 0, -6, -4, -4, 8,
|
||||
-3, 0, -2, 0, -4, -5, -6, -2,
|
||||
0, 0, 0, 0, 15, 0, 0, 1,
|
||||
0, 0, -2, 0, 2, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -1,
|
||||
-4, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -2, 0, -2, 0, 0, -4, -2,
|
||||
0, -1, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 3, 0, -6,
|
||||
0, 0, 4, 3, 0, 0, -2, 0,
|
||||
-1, 2, 0, -2, 0, -2, -1, 0,
|
||||
0, 0, 0, 0, -2, 0, 0, -2,
|
||||
-3, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -2, -2, 0, -3, 0,
|
||||
2, -3, 0, -6, -6, -4, -4, 8,
|
||||
3, 2, -17, -1, 4, -2, 0, -2,
|
||||
-7, 0, -2, -2, -2, 2, -2, -2,
|
||||
-6, -2, 0, -5, 0, -11, -2, 6,
|
||||
-2, -7, 1, -2, -6, -6, -2, 8,
|
||||
0, 0, 0, 2, -7, -8, -5, 6,
|
||||
0, 1, -14, -2, 2, -3, -1, -4,
|
||||
-7, -3, -4, -3, -3, -2, 0, 0,
|
||||
-4, -4, -2, -11, 0, -11, -3, 0,
|
||||
-7, -11, -1, -6, -3, -6, -5, 5,
|
||||
0, 0, -2, 0, 0, 3, -6, 2,
|
||||
0, 0, -10, 0, -2, -4, -3, -1,
|
||||
-6, -4, -5, 0, -2, -6, -2, -4,
|
||||
-4, -6, -2, -3, 0, -6, -2, 0,
|
||||
-2, -4, -4, -5, -5, -7, -2, -4,
|
||||
0, 0, -2, 1, -7, -4, -6, 6,
|
||||
-2, 1, -18, -3, 4, -4, -3, -7,
|
||||
-8, -2, -6, -2, -3, -2, -2, -4,
|
||||
-6, -1, 0, -12, 0, -12, -4, 5,
|
||||
-7, -13, -4, -7, -8, -10, -6, 4,
|
||||
0, 0, 0, 0, 4, 1, -4, 4,
|
||||
0, 0, -6, -1, 0, -1, 0, 1,
|
||||
0, 0, -2, 0, 0, 0, 0, 0,
|
||||
-2, 0, 0, 0, 0, -2, 0, 0,
|
||||
0, 0, -1, -1, -2, 0, 0, 0,
|
||||
-5, 0, 0, 0, 0, 0, 0, -4,
|
||||
-1, 0, 0, 0, -4, 0, -2, 0,
|
||||
0, 0, 0, 2, -7, -4, -8, -5,
|
||||
6, 0, 1, -14, -2, 2, -3, -1,
|
||||
-4, -7, -3, -4, -3, -3, -2, 0,
|
||||
0, -4, -4, -2, -11, 0, -11, -3,
|
||||
0, -7, -11, -1, -6, -3, -6, -5,
|
||||
5, 0, 0, -2, 0, 0, -3, 3,
|
||||
-6, 2, 0, 0, -10, 0, -2, -4,
|
||||
-3, -1, -6, -4, -5, 0, -2, -6,
|
||||
-2, -4, -4, -6, -2, -3, 0, -6,
|
||||
-2, 0, -2, -4, -4, -5, -5, -7,
|
||||
-2, -4, 0, 0, -2, 1, -7, -6,
|
||||
-4, -6, 6, -2, 1, -18, -3, 4,
|
||||
-4, -3, -7, -8, -2, -6, -2, -3,
|
||||
-2, -2, -4, -6, -1, 0, -12, 0,
|
||||
-12, -4, 5, -7, -13, -4, -7, -8,
|
||||
-10, -6, 4, 0, 0, 0, 0, 4,
|
||||
-2, 1, -4, 4, 0, 0, -6, -1,
|
||||
0, -1, 0, 1, 0, 0, -2, 0,
|
||||
0, 0, 0, 0, -2, 0, 0, 0,
|
||||
0, -2, 0, 0, 0, 0, -1, -1,
|
||||
-2, 0, 0, 0, -5, 0, 0, 0,
|
||||
0, 0, 0, 0, -4, -1, 0, 0,
|
||||
0, -4, 0, -2, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, -2, 0, 0, -4,
|
||||
-5, -3, 0, 0, -2, 0, 0, -5,
|
||||
-2, -4, 0, 0, -5, 0, -2, 0,
|
||||
-2, 0, 0, 0, 0, -16, -4, -8,
|
||||
-2, -7, 0, -1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -3, -3, -2, -3,
|
||||
0, 0, 0, -4, 4, 0, -1, -4,
|
||||
-1, -3, -4, 0, -2, -1, -1, 1,
|
||||
0, 0, -1, 0, 0, -17, -2, -3,
|
||||
0, -4, 0, 0, -1, -2, 0, 0,
|
||||
0, 0, 1, 0, -1, -3, -1, 3,
|
||||
0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, -2, 0, 0, -4, -5, -3, 0,
|
||||
0, -2, 2, 0, 0, -5, -2, -4,
|
||||
0, 0, -5, 0, -2, 0, -2, 0,
|
||||
0, 0, 0, -16, -4, -8, -2, -7,
|
||||
0, -1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -3, -3, -2, -3, 0, 0,
|
||||
0, -4, 4, -2, 0, -1, -4, -1,
|
||||
-3, -4, 0, -2, -1, -1, 1, 0,
|
||||
0, -1, 0, 0, -17, -2, -3, 0,
|
||||
-4, 0, 0, -1, -2, 0, 0, 0,
|
||||
0, 1, 0, -1, -3, -1, 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, 2, 0, 0, 0, 0, 0,
|
||||
-1, -4, 0, 0, 0, 0, 0, -5,
|
||||
-2, -4, 0, 0, -5, 0, -2, 0,
|
||||
0, 0, 0, 0, 0, -19, 0, -4,
|
||||
-7, -10, 0, -3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -2, -3, -1, -3,
|
||||
3, 0, 0, 6, -2, -6, 2, 9,
|
||||
3, 4, -5, 2, 8, 2, 6, 4,
|
||||
-1, -4, 0, 0, 0, 2, 0, 0,
|
||||
-5, -2, -4, 0, 0, -5, 0, -2,
|
||||
0, 0, 0, 0, 0, 0, -19, 0,
|
||||
-4, -7, -10, 0, -3, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -2, -3, -1,
|
||||
-3, 3, 0, 0, 6, -2, -2, -6,
|
||||
2, 9, 3, 4, -5, 2, 8, 2,
|
||||
6, 4, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -2, 0, -2,
|
||||
15, 8, 15, 0, 0, 0, 2, 0,
|
||||
0, 7, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -3,
|
||||
-16, -2, -2, -8, -9, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -2, 0, -2, 15, 8,
|
||||
15, 0, 0, 0, 2, 0, 0, 7,
|
||||
0, 0, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 0, 2,
|
||||
-4, 0, -2, 2, 3, 2, -6, 0,
|
||||
0, -2, 2, 0, 0, 0, 0, 0,
|
||||
0, -5, 0, -2, -1, -4, 0, -2,
|
||||
0, -4, -1, 0, -1, -3, 0, -2,
|
||||
-5, -4, -2, 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, -3, -16, -2, -2,
|
||||
-8, -9, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 2, 0, -2, 2,
|
||||
3, 2, -6, 0, 0, -2, 2, 0,
|
||||
0, 0, 0, 0, 0, -5, 0, -2,
|
||||
-1, -4, 0, -2, 0, -4, -1, 0,
|
||||
-1, -3, 0, -2, -5, -4, -2, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -3, -16, -2, -2,
|
||||
-8, -9, 0, 0, 0, 0, 0, 10,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -2, -2, -2, -8, 1, -1,
|
||||
1, -1, -5, 0, 4, 0, 2, 1,
|
||||
-8, -2, -5, 0, -3, -7, -4, -5,
|
||||
-8, -7, 0, -2, -1, -2, -1, 0,
|
||||
-1, -1, 3, 0, 3, -1, 0, 6,
|
||||
0, 0, 0, 0, 0, 0, 0, -1,
|
||||
-2, -2, 0, 0, -5, 0, -1, 0,
|
||||
0, -3, -16, -2, -2, -8, -9, 0,
|
||||
0, 0, 0, 0, 10, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -2,
|
||||
-2, -2, -2, -8, 1, -1, 1, -1,
|
||||
-5, 0, 4, 0, 2, 1, -8, -2,
|
||||
-5, 0, -3, -7, -4, -5, -8, -7,
|
||||
0, -2, -1, -2, -1, 0, -1, -1,
|
||||
3, 0, 3, -1, 0, 6, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, -1, -2,
|
||||
-2, 0, 0, -5, 0, -1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -2, -2, 0, -2,
|
||||
0, 0, 0, 0, 2, 0, -3, -4,
|
||||
0, 0, 0, -2, -2, 0, -2, 0,
|
||||
0, 0, 0, 2, -2, 0, -3, -4,
|
||||
-1, 0, -6, -1, -4, -1, -2, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -3, 0, 0,
|
||||
0, 0, -2, 0, -2, 0, 0, -1,
|
||||
0, 0, 0, 0, -6, -6, 1, 2,
|
||||
2, 0, -5, 1, 3, 1, 6, 1,
|
||||
-5, 0, -1, 0, -1, -8, 0, 0,
|
||||
-6, -5, 0, -3, 0, -3, 0, -3,
|
||||
0, -1, 3, 0, -2, -6, -2, 7,
|
||||
0, 0, 0, 0, 0, 2, -2, 2,
|
||||
0, 0, -6, 0, -1, -1, 0, -2,
|
||||
0, 0, -2, 0, -2, -8, -2, -4,
|
||||
0, -6, 0, -2, 0, -3, 0, 1,
|
||||
0, -2, 0, -2, -6, 0, -2, 2,
|
||||
0, 0, 0, 0, 1, 0, 0, -2,
|
||||
-1, 0, -2, 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, -2, -2, 0, 0,
|
||||
4, 4, 0, 0, -12, -11, 1, 8,
|
||||
6, 3, -8, 1, 8, 0, 7, 0,
|
||||
0, 0, 0, 0, -6, -2, -6, 1,
|
||||
2, 2, 0, -5, 1, 3, 1, 6,
|
||||
1, -5, 0, -1, 0, -1, -8, 0,
|
||||
0, -6, -5, 0, -3, 0, -3, 0,
|
||||
-3, 0, -1, 3, 0, -2, -6, -2,
|
||||
7, 0, 0, 0, 0, 0, -4, 2,
|
||||
-2, 2, 0, 0, -6, 0, -1, -1,
|
||||
0, -2, 0, 0, -2, 0, -2, -8,
|
||||
-2, -4, 0, -6, 0, -2, 0, -3,
|
||||
0, 1, 0, -2, 0, -2, -6, 0,
|
||||
-2, 2, 0, 0, 0, 0, 1, -2,
|
||||
0, 0, -2, -1, 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
|
||||
-2, 0, 0, 0, 0, 0, 0, -2,
|
||||
-2, 0, 0, 4, 4, 0, 0, -12,
|
||||
0, -11, 1, 8, 6, 3, -8, 1,
|
||||
8, 0, 7, 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
|
||||
};
|
||||
|
||||
|
||||
@ -969,8 +989,8 @@ 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 = 51,
|
||||
.right_class_cnt = 40,
|
||||
.left_class_cnt = 52,
|
||||
.right_class_cnt = 41,
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
@ -992,7 +1012,7 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_classes,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 4,
|
||||
.cmap_num = 5,
|
||||
.bpp = 4,
|
||||
.kern_classes = 1,
|
||||
.bitmap_format = 0,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*******************************************************************************
|
||||
* Size: 18 px
|
||||
* Bpp: 4
|
||||
* Opts: --bpp 4 --size 18 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'():ê/ --format lvgl -o montserrat_medium_18.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575
|
||||
* Opts: --bpp 4 --size 18 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'():ê/- --format lvgl -o montserrat_medium_18.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
@ -62,6 +62,9 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
||||
0x1, 0x10, 0xe, 0xf1, 0xf, 0xf2, 0x7, 0xe0,
|
||||
0xb, 0x90, 0xe, 0x40,
|
||||
|
||||
/* U+002D "-" */
|
||||
0x88, 0x88, 0x7f, 0xff, 0xfe,
|
||||
|
||||
/* U+002E "." */
|
||||
0x5, 0x60, 0x1f, 0xf2, 0xc, 0xd0,
|
||||
|
||||
@ -912,79 +915,80 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||
{.bitmap_index = 104, .adv_w = 97, .box_w = 5, .box_h = 18, .ofs_x = 1, .ofs_y = -4},
|
||||
{.bitmap_index = 149, .adv_w = 97, .box_w = 5, .box_h = 18, .ofs_x = 0, .ofs_y = -4},
|
||||
{.bitmap_index = 194, .adv_w = 65, .box_w = 4, .box_h = 6, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 206, .adv_w = 65, .box_w = 4, .box_h = 3, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 212, .adv_w = 101, .box_w = 8, .box_h = 18, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 284, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 362, .adv_w = 107, .box_w = 5, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 395, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 460, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 525, .adv_w = 193, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 603, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 668, .adv_w = 178, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 740, .adv_w = 172, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 812, .adv_w = 185, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 884, .adv_w = 178, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 956, .adv_w = 65, .box_w = 4, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 976, .adv_w = 211, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 1074, .adv_w = 218, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1152, .adv_w = 208, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1237, .adv_w = 238, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1322, .adv_w = 193, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1394, .adv_w = 183, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1459, .adv_w = 222, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1544, .adv_w = 234, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1622, .adv_w = 89, .box_w = 3, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1642, .adv_w = 148, .box_w = 9, .box_h = 13, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 1701, .adv_w = 207, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1779, .adv_w = 171, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1844, .adv_w = 275, .box_w = 15, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1942, .adv_w = 234, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2020, .adv_w = 242, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2118, .adv_w = 208, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2196, .adv_w = 242, .box_w = 15, .box_h = 16, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 2316, .adv_w = 209, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2394, .adv_w = 179, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2466, .adv_w = 169, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2538, .adv_w = 228, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2616, .adv_w = 205, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 2707, .adv_w = 324, .box_w = 20, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2837, .adv_w = 194, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2915, .adv_w = 186, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 3000, .adv_w = 189, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3078, .adv_w = 172, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3128, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3205, .adv_w = 164, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3255, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3332, .adv_w = 176, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3387, .adv_w = 102, .box_w = 7, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3436, .adv_w = 199, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -4},
|
||||
{.bitmap_index = 3513, .adv_w = 196, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3583, .adv_w = 80, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3604, .adv_w = 82, .box_w = 6, .box_h = 18, .ofs_x = -2, .ofs_y = -4},
|
||||
{.bitmap_index = 3658, .adv_w = 177, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3735, .adv_w = 80, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3756, .adv_w = 304, .box_w = 17, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3841, .adv_w = 196, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3891, .adv_w = 183, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3946, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = -4},
|
||||
{.bitmap_index = 4023, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -4},
|
||||
{.bitmap_index = 4100, .adv_w = 118, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 4130, .adv_w = 144, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4175, .adv_w = 119, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4217, .adv_w = 195, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 4267, .adv_w = 161, .box_w = 12, .box_h = 10, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 4327, .adv_w = 259, .box_w = 17, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4412, .adv_w = 159, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4462, .adv_w = 161, .box_w = 12, .box_h = 14, .ofs_x = -1, .ofs_y = -4},
|
||||
{.bitmap_index = 4546, .adv_w = 150, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4591, .adv_w = 121, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 6},
|
||||
{.bitmap_index = 4616, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4693, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4770, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4847, .adv_w = 195, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 4917, .adv_w = 324, .box_w = 21, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 5117, .adv_w = 360, .box_w = 23, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 5313, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3}
|
||||
{.bitmap_index = 206, .adv_w = 110, .box_w = 5, .box_h = 2, .ofs_x = 1, .ofs_y = 4},
|
||||
{.bitmap_index = 211, .adv_w = 65, .box_w = 4, .box_h = 3, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 217, .adv_w = 101, .box_w = 8, .box_h = 18, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 289, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 367, .adv_w = 107, .box_w = 5, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 400, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 465, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 530, .adv_w = 193, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 608, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 673, .adv_w = 178, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 745, .adv_w = 172, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 817, .adv_w = 185, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 889, .adv_w = 178, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 961, .adv_w = 65, .box_w = 4, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 981, .adv_w = 211, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 1079, .adv_w = 218, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1157, .adv_w = 208, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1242, .adv_w = 238, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1327, .adv_w = 193, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1399, .adv_w = 183, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1464, .adv_w = 222, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1549, .adv_w = 234, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1627, .adv_w = 89, .box_w = 3, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1647, .adv_w = 148, .box_w = 9, .box_h = 13, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 1706, .adv_w = 207, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1784, .adv_w = 171, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1849, .adv_w = 275, .box_w = 15, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1947, .adv_w = 234, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2025, .adv_w = 242, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2123, .adv_w = 208, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2201, .adv_w = 242, .box_w = 15, .box_h = 16, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 2321, .adv_w = 209, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2399, .adv_w = 179, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2471, .adv_w = 169, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2543, .adv_w = 228, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2621, .adv_w = 205, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 2712, .adv_w = 324, .box_w = 20, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2842, .adv_w = 194, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 2920, .adv_w = 186, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 3005, .adv_w = 189, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3083, .adv_w = 172, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3133, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3210, .adv_w = 164, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3260, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3337, .adv_w = 176, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3392, .adv_w = 102, .box_w = 7, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3441, .adv_w = 199, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -4},
|
||||
{.bitmap_index = 3518, .adv_w = 196, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3588, .adv_w = 80, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3609, .adv_w = 82, .box_w = 6, .box_h = 18, .ofs_x = -2, .ofs_y = -4},
|
||||
{.bitmap_index = 3663, .adv_w = 177, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3740, .adv_w = 80, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3761, .adv_w = 304, .box_w = 17, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3846, .adv_w = 196, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3896, .adv_w = 183, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 3951, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = -4},
|
||||
{.bitmap_index = 4028, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -4},
|
||||
{.bitmap_index = 4105, .adv_w = 118, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 4135, .adv_w = 144, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4180, .adv_w = 119, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4222, .adv_w = 195, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 4272, .adv_w = 161, .box_w = 12, .box_h = 10, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 4332, .adv_w = 259, .box_w = 17, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4417, .adv_w = 159, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4467, .adv_w = 161, .box_w = 12, .box_h = 14, .ofs_x = -1, .ofs_y = -4},
|
||||
{.bitmap_index = 4551, .adv_w = 150, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4596, .adv_w = 121, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 6},
|
||||
{.bitmap_index = 4621, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4698, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4775, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4852, .adv_w = 195, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 4922, .adv_w = 324, .box_w = 21, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 5122, .adv_w = 360, .box_w = 23, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 5318, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3}
|
||||
};
|
||||
|
||||
/*---------------------
|
||||
@ -993,12 +997,10 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||
|
||||
static const uint8_t glyph_id_ofs_list_0[] = {
|
||||
0, 0, 0, 0, 0, 1, 0, 2,
|
||||
3, 4, 0, 0, 5, 0, 6, 7,
|
||||
8, 9, 10, 11, 12, 13, 14, 15,
|
||||
16, 17, 18
|
||||
3, 4
|
||||
};
|
||||
|
||||
static const uint16_t unicode_list_3[] = {
|
||||
static const uint16_t unicode_list_4[] = {
|
||||
0x0, 0x38, 0x39, 0x3a, 0x4b, 0xef65, 0xf012, 0xf4c5
|
||||
};
|
||||
|
||||
@ -1006,20 +1008,24 @@ static const uint16_t unicode_list_3[] = {
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 32, .range_length = 27, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 27, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL
|
||||
.range_start = 32, .range_length = 10, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 10, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL
|
||||
},
|
||||
{
|
||||
.range_start = 65, .range_length = 26, .glyph_id_start = 20,
|
||||
.range_start = 44, .range_length = 15, .glyph_id_start = 6,
|
||||
.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 = 46,
|
||||
.range_start = 65, .range_length = 26, .glyph_id_start = 21,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 176, .range_length = 62662, .glyph_id_start = 72,
|
||||
.unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 8, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
.range_start = 97, .range_length = 26, .glyph_id_start = 47,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 176, .range_length = 62662, .glyph_id_start = 73,
|
||||
.unicode_list = unicode_list_4, .glyph_id_ofs_list = NULL, .list_length = 8, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
}
|
||||
};
|
||||
|
||||
@ -1031,142 +1037,152 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
/*Map glyph_ids to kern left classes*/
|
||||
static const uint8_t kern_left_class_mapping[] =
|
||||
{
|
||||
0, 0, 1, 2, 3, 4, 5, 5,
|
||||
6, 7, 0, 8, 9, 10, 11, 12,
|
||||
13, 14, 7, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 23, 24, 25, 26,
|
||||
23, 23, 19, 27, 28, 29, 30, 31,
|
||||
24, 32, 32, 33, 34, 35, 36, 37,
|
||||
38, 39, 40, 41, 42, 36, 42, 42,
|
||||
43, 39, 36, 36, 37, 37, 44, 45,
|
||||
46, 47, 42, 48, 48, 49, 48, 50,
|
||||
51, 40, 40, 40, 42, 0, 0, 0
|
||||
0, 0, 1, 2, 3, 4, 5, 6,
|
||||
5, 7, 8, 0, 9, 10, 11, 12,
|
||||
13, 14, 15, 8, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 24, 24, 25, 26,
|
||||
27, 24, 24, 20, 28, 29, 30, 31,
|
||||
32, 25, 33, 33, 34, 35, 36, 37,
|
||||
38, 39, 40, 41, 42, 43, 37, 43,
|
||||
43, 44, 40, 37, 37, 38, 38, 45,
|
||||
46, 47, 48, 43, 49, 49, 50, 49,
|
||||
51, 52, 41, 41, 41, 43, 0, 0,
|
||||
0
|
||||
};
|
||||
|
||||
/*Map glyph_ids to kern right classes*/
|
||||
static const uint8_t kern_right_class_mapping[] =
|
||||
{
|
||||
0, 0, 1, 2, 3, 4, 5, 5,
|
||||
6, 7, 8, 9, 10, 11, 12, 7,
|
||||
13, 14, 15, 16, 17, 18, 19, 18,
|
||||
18, 18, 19, 18, 18, 20, 18, 18,
|
||||
18, 18, 19, 18, 19, 18, 21, 22,
|
||||
23, 24, 24, 25, 26, 27, 28, 29,
|
||||
30, 30, 30, 0, 30, 29, 31, 32,
|
||||
29, 29, 33, 33, 30, 33, 30, 33,
|
||||
34, 35, 36, 37, 37, 38, 37, 39,
|
||||
40, 30, 30, 30, 36, 0, 0, 0
|
||||
0, 0, 1, 2, 3, 4, 5, 6,
|
||||
5, 7, 8, 9, 10, 11, 12, 13,
|
||||
8, 14, 15, 16, 17, 18, 19, 20,
|
||||
19, 19, 19, 20, 19, 19, 21, 19,
|
||||
19, 19, 19, 20, 19, 20, 19, 22,
|
||||
23, 24, 25, 25, 26, 27, 28, 29,
|
||||
30, 31, 31, 31, 0, 31, 30, 32,
|
||||
33, 30, 30, 34, 34, 31, 34, 31,
|
||||
34, 35, 36, 37, 38, 38, 39, 38,
|
||||
40, 41, 31, 31, 31, 37, 0, 0,
|
||||
0
|
||||
};
|
||||
|
||||
/*Kern values between classes*/
|
||||
static const int8_t kern_class_values[] =
|
||||
{
|
||||
-35, -8, 0, -6, 9, 0, 0, -6,
|
||||
3, 3, 10, 6, -5, 6, 0, 0,
|
||||
-35, -8, 0, -6, 9, 6, 0, 0,
|
||||
-6, 3, 3, 10, 6, -5, 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, -8,
|
||||
8, 13, 0, 0, -16, -17, 2, 14,
|
||||
6, 5, -12, 2, 14, 1, 12, 3,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-8, 8, 13, 0, 0, -16, 0, -17,
|
||||
2, 14, 6, 5, -12, 2, 14, 1,
|
||||
12, 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, 6,
|
||||
0, 0, 0, 0, 0, 10, 0, 3,
|
||||
0, 0, -6, 0, 0, 0, 0, 0,
|
||||
0, 6, 0, 0, 0, 0, 0, 0,
|
||||
10, 0, 3, 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, 0, 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, 0, 0,
|
||||
0, -11, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -18, -16, 0, 0,
|
||||
0, -2, 29, -3, -4, 3, 3, -3,
|
||||
0, -4, 3, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-18, -16, 0, 0, 0, 29, -3, -4,
|
||||
3, 3, -3, 0, -4, 3, 0, 0,
|
||||
0, 0, 0, 0, -18, -11, 0, 0,
|
||||
0, -2, 1, 0, 2, -5, -4, -6,
|
||||
2, 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, -18,
|
||||
0, 17, 0, 10, -28, -20, -6, 9,
|
||||
0, 0, -19, 0, 3, -7, 0, -4,
|
||||
0, 0, 0, 0, 0, 0, 0, 17,
|
||||
0, 10, -28, -20, -20, -6, 9, 0,
|
||||
0, -19, 0, 3, -7, 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, 14,
|
||||
0, 2, 0, 0, -3, -6, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 14, 0,
|
||||
2, 0, 0, -3, 2, -6, 0, -1,
|
||||
-1, -3, 0, 0, -2, 0, 0, 0,
|
||||
-2, 0, 0, -7, 0, -6, 0, -7,
|
||||
-10, -10, -5, 0, 0, 0, 0, -2,
|
||||
0, 0, 3, 0, 2, -3, 0, 1,
|
||||
3, 0, 0, 0, 3, 3, -1, 0,
|
||||
0, 0, -5, 0, -1, 0, 0, 0,
|
||||
1, 0, 0, 4, 0, -2, 0, -3,
|
||||
0, -5, 0, 0, 0, -3, 0, 0,
|
||||
0, 0, 0, -1, 1, -2, -2, 0,
|
||||
-3, -3, 0, 0, 0, 0, 0, 0,
|
||||
-1, -1, 0, -3, -3, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, -2, 0, -3,
|
||||
-3, -3, 0, 0, 0, 0, 0, -2,
|
||||
0, 0, 0, 0, -2, -4, 0, -4,
|
||||
-9, -9, 0, 0, 6, 8, 0, -7,
|
||||
-1, -3, 0, -1, -14, 3, -2, 2,
|
||||
0, 0, 3, 1, -2, -15, 0, -15,
|
||||
-2, -25, -2, 8, 0, 4, 0, 0,
|
||||
0, 0, 1, 0, -5, -4, 0, -9,
|
||||
-3, 0, 0, 0, 0, 0, 0, 0,
|
||||
-1, -1, 0, -1, -4, 0, 0, 0,
|
||||
0, 0, 0, -3, 0, -3, 0, -2,
|
||||
-3, -2, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -2, -2, 0, -3,
|
||||
-6, -2, 0, 0, 3, 3, 0, 0,
|
||||
0, 0, 0, 0, -2, 0, 0, 0,
|
||||
2, 0, 0, 0, 0, -3, 0, -3,
|
||||
-2, -3, 0, 0, 0, 2, 0, -2,
|
||||
0, 0, 0, 0, -3, -4, 0, -5,
|
||||
1, 9, 0, 0, -15, -12, -6, 3,
|
||||
0, -2, -19, -5, 0, -5, 0, -6,
|
||||
-18, 0, -5, -8, -2, 0, 0, 1,
|
||||
-1, 2, -2, -11, 0, -14, -7, -6,
|
||||
-7, -9, -3, -8, -1, -5, -8, 2,
|
||||
-3, 1, 0, 0, 3, 0, 0, 0,
|
||||
3, 0, 0, 0, 3, -2, 3, -1,
|
||||
0, 0, 0, -5, 0, -1, 0, 0,
|
||||
0, 1, 0, 0, 4, 0, -2, 0,
|
||||
-3, 0, -5, 0, 0, 0, -3, 0,
|
||||
0, 0, 0, 0, -1, 1, -2, -2,
|
||||
0, -3, -3, 0, 0, 0, 0, 0,
|
||||
0, 0, -1, -1, 0, -3, -3, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, -2,
|
||||
0, -3, -3, -3, 0, 0, 0, 0,
|
||||
0, -2, 0, 0, 0, 0, -2, -4,
|
||||
0, -4, -9, -9, 0, 0, 6, 3,
|
||||
8, 0, -7, -1, -3, 0, -1, -14,
|
||||
3, -2, 2, 0, 0, 3, 1, -2,
|
||||
-15, 0, -15, -2, -25, -2, 8, 0,
|
||||
4, 0, 0, 0, 0, 1, 0, -5,
|
||||
-4, 0, -9, -3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -1, -1, 0, -1,
|
||||
-4, 0, 0, 0, 0, 0, 0, -3,
|
||||
0, -3, 0, -2, -3, -2, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-1, 0, 0, -1, 0, -3, 0, -5,
|
||||
-6, -6, -1, 0, 0, 0, 0, -2,
|
||||
0, 0, 0, 0, 1, -2, 0, 0,
|
||||
0, 3, 0, 0, 0, 14, 0, 0,
|
||||
-2, -2, 0, -3, -6, -2, 0, 0,
|
||||
3, 1, 3, 0, 0, 0, 0, 0,
|
||||
0, -2, 0, 0, 0, 2, 0, 0,
|
||||
0, 0, -3, 0, -3, -2, -3, 0,
|
||||
0, 0, 2, 0, -2, 0, 0, 0,
|
||||
0, -3, -4, 0, -5, 1, 9, 0,
|
||||
0, -15, -14, -12, -6, 3, 0, -2,
|
||||
-19, -5, 0, -5, 0, -6, -18, 0,
|
||||
-5, -8, -2, 0, 0, 1, -1, 2,
|
||||
-2, -11, 0, -14, -7, -6, -7, -9,
|
||||
-3, -8, -1, -5, -8, 2, -3, 1,
|
||||
0, 0, 3, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, -1, 0, -3, 0, -5, -6,
|
||||
-6, -1, 0, 0, 0, 0, -2, 0,
|
||||
0, 0, 0, 1, -2, 0, 0, 0,
|
||||
3, 0, 0, 0, 0, 14, 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, -12, 0, 0, 10, 9, -2, -12,
|
||||
0, 3, -4, 0, -14, -1, -4, 3,
|
||||
4, 0, -3, 4, 0, -10, -4, -11,
|
||||
-10, -12, 0, 0, 0, -1, 0, 0,
|
||||
0, -1, -1, -3, -8, -10, -1, -27,
|
||||
0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, -12, 0, 0, 10, -5, 9, -2,
|
||||
-12, 0, 3, -4, 0, -14, -1, -4,
|
||||
3, 4, 0, -3, 4, 0, -10, -4,
|
||||
-11, -10, -12, 0, 0, 0, -1, 0,
|
||||
0, 0, -1, -1, -3, -8, -10, -1,
|
||||
-27, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -3, 0, -1,
|
||||
-3, -4, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -3,
|
||||
0, -1, -3, -4, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 4, 0, -6, 3,
|
||||
-2, -1, -7, -3, 0, -4, -3, -2,
|
||||
-5, 0, -4, 0, -1, -2, -1, -2,
|
||||
-5, -3, 0, -2, 0, -6, 0, 0,
|
||||
0, -6, 0, -5, 0, -5, -5, 3,
|
||||
0, -5, 0, 3, -6, -6, 0, -3,
|
||||
-3, -3, 0, 0, 0, 0, 0, 0,
|
||||
-3, 0, 0, -4, 0, -3, 0, -6,
|
||||
-7, -9, -2, 0, 0, 0, 0, 23,
|
||||
0, 0, 1, 0, 0, -4, 0, 3,
|
||||
0, 0, 0, 0, 3, 0, -4, 0,
|
||||
-2, -3, -9, -2, -2, -2, -1, -2,
|
||||
0, 0, -1, 0, 0, 0, 0, -3,
|
||||
-2, -2, 0, -2, 0, -2, 0, 0,
|
||||
0, -2, -3, -2, -3, -3, -3, 0,
|
||||
0, 12, 0, -2, -3, -12, -4, 4,
|
||||
0, 0, -14, -5, 3, -5, 2, 0,
|
||||
-9, 0, -2, -4, -1, 1, 0, 0,
|
||||
-5, 0, 0, -5, 0, -5, -3, -4,
|
||||
-3, -3, 0, -5, 1, -5, -5, 9,
|
||||
0, 0, 0, 0, 3, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 4, -1,
|
||||
0, -6, 3, -2, -1, -7, -3, 0,
|
||||
-4, -3, -2, -5, 0, -4, 0, -1,
|
||||
-2, -1, -2, -5, -3, 0, -2, 0,
|
||||
-6, 0, 0, 0, -6, 0, -5, 0,
|
||||
-5, -5, 3, 0, -5, 0, 3, -6,
|
||||
2, -6, 0, -3, -3, -3, 0, 0,
|
||||
0, 0, 0, 0, -3, 0, 0, -4,
|
||||
0, -3, 0, -6, -7, -9, -2, 0,
|
||||
0, 0, 0, 23, 0, 0, 1, 0,
|
||||
0, -4, 0, 3, 0, 0, 0, 0,
|
||||
3, -6, 0, -4, 0, -2, -3, -9,
|
||||
-2, -2, -2, -1, -2, 0, 0, -1,
|
||||
0, 0, 0, 0, -3, -2, -2, 0,
|
||||
-2, 0, -2, 0, 0, 0, -2, -3,
|
||||
-2, -3, -3, -3, 0, 0, 12, 0,
|
||||
-2, -3, 0, -12, -4, 4, 0, 0,
|
||||
-14, -5, 3, -5, 2, 0, -9, 0,
|
||||
-2, -4, -1, 1, 0, 0, -5, 0,
|
||||
0, -5, 0, -5, -3, -4, -3, -3,
|
||||
0, -5, 1, -5, -5, 9, 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,
|
||||
@ -1176,146 +1192,150 @@ static const int8_t kern_class_values[] =
|
||||
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, -2, -3, 0, 0,
|
||||
0, 0, 0, 0, -2, 0, -3, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-4, 0, 0, 0, 0, -4, 0, 0,
|
||||
-3, -3, 0, 0, 0, 0, 0, -1,
|
||||
0, 0, 0, 0, 0, -2, 0, 0,
|
||||
0, 0, 0, 0, 0, 2, -6, 6,
|
||||
1, -2, -14, 0, 0, -6, -3, 0,
|
||||
-8, 0, -7, 0, -4, -12, -3, -12,
|
||||
-11, -14, 0, -4, 0, -7, -3, -1,
|
||||
-3, -5, -8, -5, -11, -12, -7, -3,
|
||||
0, 0, 0, 0, 9, 6, -6, -11,
|
||||
0, 1, -9, 0, -14, -2, -3, 6,
|
||||
1, 0, -4, 0, -2, -19, -3, -15,
|
||||
-3, -21, 0, 1, 0, -2, 0, 0,
|
||||
0, 0, -1, -2, -11, -2, 0, -19,
|
||||
0, 0, 0, -3, -8, -14, 0, 0,
|
||||
-1, -4, -9, -3, 0, -2, 0, 0,
|
||||
-13, -3, 0, -10, 0, -9, -2, -5,
|
||||
-7, -3, -5, -4, 0, -3, -5, -3,
|
||||
-5, 0, 1, 0, -2, -10, 0, 6,
|
||||
0, -5, 0, 3, -6, 12, 0, -3,
|
||||
-3, -3, 0, 0, 0, 0, 0, 0,
|
||||
-3, 0, 0, -4, 0, -3, 0, -6,
|
||||
-7, -9, -2, 0, 0, 0, 0, 23,
|
||||
0, 0, 1, 0, 0, -4, 0, 3,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -2, -6, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -3, 0, -3, 0, 0,
|
||||
-6, -3, 0, -1, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 4,
|
||||
0, -9, 0, 0, 6, 0, 0, -3,
|
||||
0, -2, 3, 0, -3, 0, -3, -1,
|
||||
0, -4, 0, 0, 0, 0, -4, 0,
|
||||
0, -3, -3, 0, 0, 0, 0, 0,
|
||||
-1, 0, 0, 0, 0, 0, -2, 0,
|
||||
0, 0, 0, 0, 0, 0, -10, 2,
|
||||
-6, 6, 1, -2, -14, 0, 0, -6,
|
||||
-3, 0, -8, 0, -7, 0, -4, -12,
|
||||
-3, -12, -11, -14, 0, -4, 0, -7,
|
||||
-3, -1, -3, -5, -8, -5, -11, -12,
|
||||
-7, -3, 0, 0, 0, 0, 9, -3,
|
||||
6, -6, -11, 0, 1, -9, 0, -14,
|
||||
-2, -3, 6, 1, 0, -4, 0, -2,
|
||||
-19, -3, -15, -3, -21, 0, 1, 0,
|
||||
-2, 0, 0, 0, 0, -1, -2, -11,
|
||||
-2, 0, -19, 0, 0, 0, -3, -8,
|
||||
-1, -14, 0, 0, -1, -4, -9, -3,
|
||||
0, -2, 0, 0, -13, -3, 0, -10,
|
||||
0, -9, -2, -5, -7, -3, -5, -4,
|
||||
0, -3, -5, -3, -5, 0, 1, 0,
|
||||
-2, -10, 0, 6, 0, -5, 0, 3,
|
||||
-6, 2, 12, 0, -3, -3, -3, 0,
|
||||
0, 0, 0, 0, 0, -3, 0, 0,
|
||||
-4, -4, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -3, -3, 0, -4,
|
||||
0, 2, -5, 0, -9, -6, -6, 12,
|
||||
-4, 0, -3, 0, -6, -7, -9, -2,
|
||||
0, 0, 0, 0, 23, 0, 0, 1,
|
||||
0, 0, -4, 0, 3, 0, 0, 0,
|
||||
0, 0, -1, 0, 0, 0, 0, -2,
|
||||
-6, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -3, 0, -3, 0, 0, -6, -3,
|
||||
0, -1, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 4, 0, -9,
|
||||
0, 0, 6, 5, 0, 0, -3, 0,
|
||||
-2, 3, 0, -3, 0, -3, -1, 0,
|
||||
0, 0, 0, 0, -3, 0, 0, -4,
|
||||
-4, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -3, -3, 0, -4, 0,
|
||||
2, -5, 0, -9, -10, -6, -6, 12,
|
||||
5, 3, -25, -2, 6, -3, 0, -3,
|
||||
-10, 0, -3, -3, -3, 3, -4, -2,
|
||||
-9, -2, 0, -8, 0, -16, -4, 8,
|
||||
-4, -11, 1, -4, -10, -10, -3, 12,
|
||||
0, 0, 0, 2, -11, -12, -7, 9,
|
||||
0, 1, -21, -2, 3, -5, -2, -7,
|
||||
-11, -4, -6, -4, -4, -2, 0, 0,
|
||||
-7, -6, -3, -16, 0, -16, -4, 0,
|
||||
-10, -17, -1, -9, -5, -10, -8, 8,
|
||||
0, 0, -3, 0, 0, 5, -10, 3,
|
||||
0, 0, -15, 0, -3, -6, -5, -2,
|
||||
-10, -7, -7, 0, -4, -9, -3, -7,
|
||||
-5, -9, -3, -5, 0, -9, -3, 0,
|
||||
-3, -6, -7, -8, -8, -11, -4, -6,
|
||||
0, 0, -3, 2, -11, -6, -10, 10,
|
||||
-3, 1, -27, -5, 6, -6, -5, -11,
|
||||
-12, -3, -9, -3, -4, -2, -3, -6,
|
||||
-9, -1, 0, -19, 0, -17, -7, 7,
|
||||
-11, -20, -6, -10, -12, -14, -10, 6,
|
||||
0, 0, 0, 0, 6, 2, -5, 6,
|
||||
0, 0, -9, -1, 0, -1, 0, 1,
|
||||
0, 0, -2, 0, 0, 0, 0, 0,
|
||||
-3, 0, 0, 1, 0, -3, 0, 0,
|
||||
0, 0, -2, -2, -3, 0, 0, 0,
|
||||
-8, 0, 0, 0, 0, 0, 0, -6,
|
||||
-1, 0, 0, 0, -6, 0, -3, 0,
|
||||
0, 0, 0, 2, -11, -7, -12, -7,
|
||||
9, 0, 1, -21, -2, 3, -5, -2,
|
||||
-7, -11, -4, -6, -4, -4, -2, 0,
|
||||
0, -7, -6, -3, -16, 0, -16, -4,
|
||||
0, -10, -17, -1, -9, -5, -10, -8,
|
||||
8, 0, 0, -3, 0, 0, -5, 5,
|
||||
-10, 3, 0, 0, -15, 0, -3, -6,
|
||||
-5, -2, -10, -7, -7, 0, -4, -9,
|
||||
-3, -7, -5, -9, -3, -5, 0, -9,
|
||||
-3, 0, -3, -6, -7, -8, -8, -11,
|
||||
-4, -6, 0, 0, -3, 2, -11, -9,
|
||||
-6, -10, 10, -3, 1, -27, -5, 6,
|
||||
-6, -5, -11, -12, -3, -9, -3, -4,
|
||||
-2, -3, -6, -9, -1, 0, -19, 0,
|
||||
-17, -7, 7, -11, -20, -6, -10, -12,
|
||||
-14, -10, 6, 0, 0, 0, 0, 6,
|
||||
-3, 2, -5, 6, 0, 0, -9, -1,
|
||||
0, -1, 0, 1, 0, 0, -2, 0,
|
||||
0, 0, 0, 0, -3, 0, 0, 1,
|
||||
0, -3, 0, 0, 0, 0, -2, -2,
|
||||
-3, 0, 0, 0, -8, 0, 0, 0,
|
||||
0, 0, 0, 0, -6, -1, 0, 0,
|
||||
0, -6, 0, -3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, -3, 0, 0, -5,
|
||||
-8, -4, 0, 0, -3, 0, 0, -8,
|
||||
-3, -7, 0, 0, -8, 0, -3, 0,
|
||||
-3, 0, 0, 0, 0, -23, -5, -12,
|
||||
-3, -10, 0, -1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -4, -5, -2, -5,
|
||||
0, 0, 0, -6, 6, 0, -2, -7,
|
||||
-2, -5, -5, 0, -3, -1, -2, 2,
|
||||
0, 0, -1, 0, 0, -25, -2, -4,
|
||||
0, -6, 0, 0, -2, -2, 0, 0,
|
||||
0, 0, 2, 0, -2, -5, -2, 5,
|
||||
0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, -3, 0, 0, -5, -8, -4, 0,
|
||||
0, -3, 3, 0, 0, -8, -3, -7,
|
||||
0, 0, -8, 0, -3, 0, -3, 0,
|
||||
0, 0, 0, -23, -5, -12, -3, -10,
|
||||
0, -1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -4, -5, -2, -5, 0, 0,
|
||||
0, -6, 6, -3, 0, -2, -7, -2,
|
||||
-5, -5, 0, -3, -1, -2, 2, 0,
|
||||
0, -1, 0, 0, -25, -2, -4, 0,
|
||||
-6, 0, 0, -2, -2, 0, 0, 0,
|
||||
0, 2, 0, -2, -5, -2, 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, 4, 0, 0, 0, 0, 0,
|
||||
-2, -6, 0, 0, 0, 0, 0, -8,
|
||||
-3, -6, 0, 0, -8, 0, -3, 0,
|
||||
0, 0, 0, 0, 0, -28, 0, -6,
|
||||
-11, -14, 0, -4, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -3, -4, -1, -4,
|
||||
5, 0, 0, 9, -3, -9, 3, 14,
|
||||
5, 6, -8, 3, 12, 3, 8, 6,
|
||||
-2, -6, 0, 0, 0, 3, 0, 0,
|
||||
-8, -3, -6, 0, 0, -8, 0, -3,
|
||||
0, 0, 0, 0, 0, 0, -28, 0,
|
||||
-6, -11, -14, 0, -4, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -3, -4, -1,
|
||||
-4, 5, 0, 0, 9, -3, -3, -9,
|
||||
3, 14, 5, 6, -8, 3, 12, 3,
|
||||
8, 6, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -3, 0, -2,
|
||||
23, 12, 23, 0, 0, 0, 3, 0,
|
||||
0, 11, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -2, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -5,
|
||||
-24, -3, -2, -12, -14, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -3, 0, -2, 23, 12,
|
||||
23, 0, 0, 0, 3, 0, 0, 11,
|
||||
0, 0, 0, 0, 0, 0, 0, -2,
|
||||
0, 0, 0, 0, 0, 0, 0, 3,
|
||||
-7, 0, -3, 2, 5, 3, -9, 0,
|
||||
-1, -2, 3, 0, 0, 0, 0, 0,
|
||||
0, -7, 0, -3, -2, -6, 0, -3,
|
||||
0, -6, -2, 0, -2, -5, 0, -3,
|
||||
-8, -6, -3, 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, -5, -24, -3, -2,
|
||||
-12, -14, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 3, 0, -3, 2,
|
||||
5, 3, -9, 0, -1, -2, 3, 0,
|
||||
0, 0, 0, 0, 0, -7, 0, -3,
|
||||
-2, -6, 0, -3, 0, -6, -2, 0,
|
||||
-2, -5, 0, -3, -8, -6, -3, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -2,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -5, -24, -3, -2,
|
||||
-12, -14, 0, 0, 0, 0, 0, 14,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -3, -3, -3, -12, 1, -2,
|
||||
1, -2, -8, 1, 6, 1, 2, 1,
|
||||
-12, -3, -7, 0, -5, -11, -5, -8,
|
||||
-12, -11, 0, -2, -2, -3, -2, 0,
|
||||
-2, -1, 4, 0, 4, -2, 0, 9,
|
||||
0, 0, 0, 0, 0, 0, 0, -2,
|
||||
-3, -3, 0, 0, -8, 0, -1, 0,
|
||||
0, -5, -24, -3, -2, -12, -14, 0,
|
||||
0, 0, 0, 0, 14, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -3,
|
||||
-3, -3, -3, -12, 1, -2, 1, -2,
|
||||
-8, 1, 6, 1, 2, 1, -12, -3,
|
||||
-7, 0, -5, -11, -5, -8, -12, -11,
|
||||
0, -2, -2, -3, -2, 0, -2, -1,
|
||||
4, 0, 4, -2, 0, 9, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, -2, -3,
|
||||
-3, 0, 0, -8, 0, -1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -3, -3, 0, -4,
|
||||
0, 0, 0, 0, 3, 0, -5, -5,
|
||||
0, 0, 0, -3, -3, 0, -4, 0,
|
||||
0, 0, 0, 3, -3, 0, -5, -5,
|
||||
-2, 0, -8, -2, -6, -2, -3, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -5, 0, 0,
|
||||
0, 0, -4, 0, -3, 0, 0, -1,
|
||||
0, 0, 0, 0, -10, -9, 2, 3,
|
||||
3, -1, -8, 2, 4, 2, 9, 2,
|
||||
-8, 0, -2, 0, -2, -12, 0, 0,
|
||||
-9, -8, 0, -5, 0, -4, 0, -4,
|
||||
0, -2, 4, 0, -2, -9, -3, 11,
|
||||
0, 0, 0, 0, 0, 3, -3, 2,
|
||||
0, 0, -10, 0, -2, -1, 0, -3,
|
||||
0, 0, -2, 0, -3, -12, -3, -6,
|
||||
0, -9, 0, -3, 0, -5, 0, 2,
|
||||
0, -3, 0, -3, -9, 0, -3, 3,
|
||||
0, 0, 0, 0, 1, 0, 0, -3,
|
||||
-2, 0, -3, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -2, 0, 0,
|
||||
0, 0, 1, 0, -3, -3, 0, 0,
|
||||
7, 6, 0, 0, -18, -16, 1, 12,
|
||||
9, 5, -12, 2, 12, 0, 11, 0,
|
||||
0, 0, 0, 0, -10, -4, -9, 2,
|
||||
3, 3, -1, -8, 2, 4, 2, 9,
|
||||
2, -8, 0, -2, 0, -2, -12, 0,
|
||||
0, -9, -8, 0, -5, 0, -4, 0,
|
||||
-4, 0, -2, 4, 0, -2, -9, -3,
|
||||
11, 0, 0, 0, 0, 0, -7, 3,
|
||||
-3, 2, 0, 0, -10, 0, -2, -1,
|
||||
0, -3, 0, 0, -2, 0, -3, -12,
|
||||
-3, -6, 0, -9, 0, -3, 0, -5,
|
||||
0, 2, 0, -3, 0, -3, -9, 0,
|
||||
-3, 3, 0, 0, 0, 0, 1, -4,
|
||||
0, 0, -3, -2, 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
|
||||
-2, 0, 0, 0, 0, 1, 0, -3,
|
||||
-3, 0, 0, 7, 6, 0, 0, -18,
|
||||
0, -16, 1, 12, 9, 5, -12, 2,
|
||||
12, 0, 11, 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
|
||||
};
|
||||
|
||||
|
||||
@ -1325,8 +1345,8 @@ 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 = 51,
|
||||
.right_class_cnt = 40,
|
||||
.left_class_cnt = 52,
|
||||
.right_class_cnt = 41,
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
@ -1348,7 +1368,7 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_classes,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 4,
|
||||
.cmap_num = 5,
|
||||
.bpp = 4,
|
||||
.kern_classes = 1,
|
||||
.bitmap_format = 0,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*******************************************************************************
|
||||
* Size: 24 px
|
||||
* Bpp: 4
|
||||
* Opts: --bpp 4 --size 24 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'():ê/ --format lvgl -o montserrat_medium_24.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575
|
||||
* Opts: --bpp 4 --size 24 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'():ê/- --format lvgl -o montserrat_medium_24.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
@ -78,6 +78,10 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
||||
0x3b, 0x80, 0xcf, 0xf3, 0xaf, 0xf3, 0xf, 0xe0,
|
||||
0x1f, 0x90, 0x5f, 0x40, 0x9e, 0x0,
|
||||
|
||||
/* U+002D "-" */
|
||||
0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xfd, 0xaf,
|
||||
0xff, 0xff, 0xd0,
|
||||
|
||||
/* U+002E "." */
|
||||
0x4, 0x10, 0x9f, 0xf1, 0xdf, 0xf4, 0x6f, 0xb0,
|
||||
|
||||
@ -1354,79 +1358,80 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||
{.bitmap_index = 181, .adv_w = 129, .box_w = 6, .box_h = 23, .ofs_x = 2, .ofs_y = -5},
|
||||
{.bitmap_index = 250, .adv_w = 130, .box_w = 6, .box_h = 23, .ofs_x = 0, .ofs_y = -5},
|
||||
{.bitmap_index = 319, .adv_w = 87, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = -4},
|
||||
{.bitmap_index = 333, .adv_w = 87, .box_w = 4, .box_h = 4, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 341, .adv_w = 135, .box_w = 11, .box_h = 23, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 468, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 587, .adv_w = 142, .box_w = 7, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 647, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 758, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 869, .adv_w = 257, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1005, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1116, .adv_w = 237, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1235, .adv_w = 230, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1354, .adv_w = 247, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1473, .adv_w = 237, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1592, .adv_w = 87, .box_w = 4, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1618, .adv_w = 281, .box_w = 19, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 1780, .adv_w = 291, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 1908, .adv_w = 278, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2044, .adv_w = 317, .box_w = 17, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2189, .adv_w = 257, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2300, .adv_w = 244, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2411, .adv_w = 296, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2547, .adv_w = 312, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2675, .adv_w = 119, .box_w = 3, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2701, .adv_w = 197, .box_w = 11, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 2795, .adv_w = 276, .box_w = 16, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2931, .adv_w = 228, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3042, .adv_w = 367, .box_w = 19, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3204, .adv_w = 312, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3332, .adv_w = 323, .box_w = 19, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3494, .adv_w = 277, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3622, .adv_w = 323, .box_w = 19, .box_h = 20, .ofs_x = 1, .ofs_y = -3},
|
||||
{.bitmap_index = 3812, .adv_w = 279, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3940, .adv_w = 238, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4059, .adv_w = 225, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4178, .adv_w = 304, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 4306, .adv_w = 273, .box_w = 19, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 4468, .adv_w = 432, .box_w = 27, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4698, .adv_w = 258, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4834, .adv_w = 248, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 4979, .adv_w = 252, .box_w = 15, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5107, .adv_w = 230, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5185, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 5311, .adv_w = 219, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5389, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5515, .adv_w = 235, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5600, .adv_w = 136, .box_w = 10, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 5690, .adv_w = 265, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = -5},
|
||||
{.bitmap_index = 5816, .adv_w = 262, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 5933, .adv_w = 107, .box_w = 4, .box_h = 18, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5969, .adv_w = 109, .box_w = 9, .box_h = 23, .ofs_x = -3, .ofs_y = -5},
|
||||
{.bitmap_index = 6073, .adv_w = 237, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 6190, .adv_w = 107, .box_w = 3, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 6217, .adv_w = 406, .box_w = 22, .box_h = 13, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 6360, .adv_w = 262, .box_w = 13, .box_h = 13, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 6445, .adv_w = 244, .box_w = 14, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 6536, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = -5},
|
||||
{.bitmap_index = 6662, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = -5},
|
||||
{.bitmap_index = 6788, .adv_w = 157, .box_w = 8, .box_h = 13, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 6840, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6918, .adv_w = 159, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6998, .adv_w = 260, .box_w = 13, .box_h = 13, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 7083, .adv_w = 215, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 7181, .adv_w = 345, .box_w = 22, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7324, .adv_w = 212, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7409, .adv_w = 215, .box_w = 15, .box_h = 18, .ofs_x = -1, .ofs_y = -5},
|
||||
{.bitmap_index = 7544, .adv_w = 200, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7622, .adv_w = 161, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 9},
|
||||
{.bitmap_index = 7662, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 7779, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 7896, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 8013, .adv_w = 260, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 8130, .adv_w = 432, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 8480, .adv_w = 480, .box_w = 30, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 8810, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3}
|
||||
{.bitmap_index = 333, .adv_w = 147, .box_w = 7, .box_h = 3, .ofs_x = 1, .ofs_y = 6},
|
||||
{.bitmap_index = 344, .adv_w = 87, .box_w = 4, .box_h = 4, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 352, .adv_w = 135, .box_w = 11, .box_h = 23, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 479, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 598, .adv_w = 142, .box_w = 7, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 658, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 769, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 880, .adv_w = 257, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1016, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1127, .adv_w = 237, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1246, .adv_w = 230, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1365, .adv_w = 247, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1484, .adv_w = 237, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 1603, .adv_w = 87, .box_w = 4, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 1629, .adv_w = 281, .box_w = 19, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 1791, .adv_w = 291, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 1919, .adv_w = 278, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2055, .adv_w = 317, .box_w = 17, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2200, .adv_w = 257, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2311, .adv_w = 244, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2422, .adv_w = 296, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 2558, .adv_w = 312, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2686, .adv_w = 119, .box_w = 3, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2712, .adv_w = 197, .box_w = 11, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 2806, .adv_w = 276, .box_w = 16, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 2942, .adv_w = 228, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3053, .adv_w = 367, .box_w = 19, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3215, .adv_w = 312, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3343, .adv_w = 323, .box_w = 19, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 3505, .adv_w = 277, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3633, .adv_w = 323, .box_w = 19, .box_h = 20, .ofs_x = 1, .ofs_y = -3},
|
||||
{.bitmap_index = 3823, .adv_w = 279, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 3951, .adv_w = 238, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4070, .adv_w = 225, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4189, .adv_w = 304, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 4317, .adv_w = 273, .box_w = 19, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 4479, .adv_w = 432, .box_w = 27, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4709, .adv_w = 258, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4845, .adv_w = 248, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 4990, .adv_w = 252, .box_w = 15, .box_h = 17, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5118, .adv_w = 230, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5196, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 5322, .adv_w = 219, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5400, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5526, .adv_w = 235, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5611, .adv_w = 136, .box_w = 10, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 5701, .adv_w = 265, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = -5},
|
||||
{.bitmap_index = 5827, .adv_w = 262, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 5944, .adv_w = 107, .box_w = 4, .box_h = 18, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 5980, .adv_w = 109, .box_w = 9, .box_h = 23, .ofs_x = -3, .ofs_y = -5},
|
||||
{.bitmap_index = 6084, .adv_w = 237, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 6201, .adv_w = 107, .box_w = 3, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 6228, .adv_w = 406, .box_w = 22, .box_h = 13, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 6371, .adv_w = 262, .box_w = 13, .box_h = 13, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 6456, .adv_w = 244, .box_w = 14, .box_h = 13, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 6547, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = -5},
|
||||
{.bitmap_index = 6673, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = -5},
|
||||
{.bitmap_index = 6799, .adv_w = 157, .box_w = 8, .box_h = 13, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 6851, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6929, .adv_w = 159, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7009, .adv_w = 260, .box_w = 13, .box_h = 13, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 7094, .adv_w = 215, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 7192, .adv_w = 345, .box_w = 22, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7335, .adv_w = 212, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7420, .adv_w = 215, .box_w = 15, .box_h = 18, .ofs_x = -1, .ofs_y = -5},
|
||||
{.bitmap_index = 7555, .adv_w = 200, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7633, .adv_w = 161, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 9},
|
||||
{.bitmap_index = 7673, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 7790, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 7907, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0},
|
||||
{.bitmap_index = 8024, .adv_w = 260, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0},
|
||||
{.bitmap_index = 8141, .adv_w = 432, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 8491, .adv_w = 480, .box_w = 30, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 8821, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3}
|
||||
};
|
||||
|
||||
/*---------------------
|
||||
@ -1435,12 +1440,10 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||
|
||||
static const uint8_t glyph_id_ofs_list_0[] = {
|
||||
0, 0, 0, 0, 0, 1, 0, 2,
|
||||
3, 4, 0, 0, 5, 0, 6, 7,
|
||||
8, 9, 10, 11, 12, 13, 14, 15,
|
||||
16, 17, 18
|
||||
3, 4
|
||||
};
|
||||
|
||||
static const uint16_t unicode_list_3[] = {
|
||||
static const uint16_t unicode_list_4[] = {
|
||||
0x0, 0x38, 0x39, 0x3a, 0x4b, 0xef65, 0xf012, 0xf4c5
|
||||
};
|
||||
|
||||
@ -1448,20 +1451,24 @@ static const uint16_t unicode_list_3[] = {
|
||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
{
|
||||
{
|
||||
.range_start = 32, .range_length = 27, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 27, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL
|
||||
.range_start = 32, .range_length = 10, .glyph_id_start = 1,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 10, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL
|
||||
},
|
||||
{
|
||||
.range_start = 65, .range_length = 26, .glyph_id_start = 20,
|
||||
.range_start = 44, .range_length = 15, .glyph_id_start = 6,
|
||||
.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 = 46,
|
||||
.range_start = 65, .range_length = 26, .glyph_id_start = 21,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 176, .range_length = 62662, .glyph_id_start = 72,
|
||||
.unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 8, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
.range_start = 97, .range_length = 26, .glyph_id_start = 47,
|
||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||
},
|
||||
{
|
||||
.range_start = 176, .range_length = 62662, .glyph_id_start = 73,
|
||||
.unicode_list = unicode_list_4, .glyph_id_ofs_list = NULL, .list_length = 8, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
}
|
||||
};
|
||||
|
||||
@ -1473,142 +1480,152 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||
/*Map glyph_ids to kern left classes*/
|
||||
static const uint8_t kern_left_class_mapping[] =
|
||||
{
|
||||
0, 0, 1, 2, 3, 4, 5, 5,
|
||||
6, 7, 0, 8, 9, 10, 11, 12,
|
||||
13, 14, 7, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 23, 24, 25, 26,
|
||||
23, 23, 19, 27, 28, 29, 30, 31,
|
||||
24, 32, 32, 33, 34, 35, 36, 37,
|
||||
38, 39, 40, 41, 42, 36, 42, 42,
|
||||
43, 39, 36, 36, 37, 37, 44, 45,
|
||||
46, 47, 42, 48, 48, 49, 48, 50,
|
||||
51, 40, 40, 40, 42, 0, 0, 0
|
||||
0, 0, 1, 2, 3, 4, 5, 6,
|
||||
5, 7, 8, 0, 9, 10, 11, 12,
|
||||
13, 14, 15, 8, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 24, 24, 25, 26,
|
||||
27, 24, 24, 20, 28, 29, 30, 31,
|
||||
32, 25, 33, 33, 34, 35, 36, 37,
|
||||
38, 39, 40, 41, 42, 43, 37, 43,
|
||||
43, 44, 40, 37, 37, 38, 38, 45,
|
||||
46, 47, 48, 43, 49, 49, 50, 49,
|
||||
51, 52, 41, 41, 41, 43, 0, 0,
|
||||
0
|
||||
};
|
||||
|
||||
/*Map glyph_ids to kern right classes*/
|
||||
static const uint8_t kern_right_class_mapping[] =
|
||||
{
|
||||
0, 0, 1, 2, 3, 4, 5, 5,
|
||||
6, 7, 8, 9, 10, 11, 12, 7,
|
||||
13, 14, 15, 16, 17, 18, 19, 18,
|
||||
18, 18, 19, 18, 18, 20, 18, 18,
|
||||
18, 18, 19, 18, 19, 18, 21, 22,
|
||||
23, 24, 24, 25, 26, 27, 28, 29,
|
||||
30, 30, 30, 0, 30, 29, 31, 32,
|
||||
29, 29, 33, 33, 30, 33, 30, 33,
|
||||
34, 35, 36, 37, 37, 38, 37, 39,
|
||||
40, 30, 30, 30, 36, 0, 0, 0
|
||||
0, 0, 1, 2, 3, 4, 5, 6,
|
||||
5, 7, 8, 9, 10, 11, 12, 13,
|
||||
8, 14, 15, 16, 17, 18, 19, 20,
|
||||
19, 19, 19, 20, 19, 19, 21, 19,
|
||||
19, 19, 19, 20, 19, 20, 19, 22,
|
||||
23, 24, 25, 25, 26, 27, 28, 29,
|
||||
30, 31, 31, 31, 0, 31, 30, 32,
|
||||
33, 30, 30, 34, 34, 31, 34, 31,
|
||||
34, 35, 36, 37, 38, 38, 39, 38,
|
||||
40, 41, 31, 31, 31, 37, 0, 0,
|
||||
0
|
||||
};
|
||||
|
||||
/*Kern values between classes*/
|
||||
static const int8_t kern_class_values[] =
|
||||
{
|
||||
-46, -10, 0, -8, 12, 0, 0, -8,
|
||||
4, 4, 13, 8, -7, 8, 0, 0,
|
||||
-46, -10, 0, -8, 12, 8, 0, 0,
|
||||
-8, 4, 4, 13, 8, -7, 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, -10,
|
||||
10, 17, 0, 0, -21, -23, 3, 18,
|
||||
8, 7, -15, 3, 19, 1, 16, 4,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-10, 10, 17, 0, 0, -21, 0, -23,
|
||||
3, 18, 8, 7, -15, 3, 19, 1,
|
||||
16, 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, 8,
|
||||
0, 0, 0, 0, 0, 13, 0, 4,
|
||||
0, 0, -8, 0, 0, 0, 0, 0,
|
||||
0, 8, 0, 0, 0, 0, 0, 0,
|
||||
13, 0, 4, 0, 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, 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, 0, 0,
|
||||
0, -14, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -24, -21, 0, 0,
|
||||
0, -3, 38, -5, -5, 4, 4, -3,
|
||||
0, -5, 4, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-24, -21, 0, 0, 0, 38, -5, -5,
|
||||
4, 4, -3, 0, -5, 4, 0, 0,
|
||||
0, 0, 0, 0, -24, -14, 0, 0,
|
||||
0, -3, 1, 0, 3, -7, -5, -8,
|
||||
3, 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, -24,
|
||||
0, 23, 0, 13, -37, -26, -8, 12,
|
||||
0, 0, -26, 0, 5, -9, 0, -6,
|
||||
0, 0, 0, 0, 0, 0, 0, 23,
|
||||
0, 13, -37, -26, -26, -8, 12, 0,
|
||||
0, -26, 0, 5, -9, 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, 18,
|
||||
0, 3, 0, 0, -5, -8, 0, -1,
|
||||
0, 0, 0, 0, 0, 0, 18, 0,
|
||||
3, 0, 0, -5, 3, -8, 0, -1,
|
||||
-1, -4, 0, 0, -3, 0, 0, 0,
|
||||
-3, 0, 0, -9, 0, -8, 0, -10,
|
||||
-13, -13, -7, 0, 0, 0, 0, -3,
|
||||
0, 0, 4, 0, 3, -4, 0, 1,
|
||||
4, 0, 0, 0, 4, 4, -1, 0,
|
||||
0, 0, -7, 0, -1, 0, 0, 0,
|
||||
1, 0, 0, 5, 0, -3, 0, -5,
|
||||
0, -7, 0, 0, 0, -4, 0, 0,
|
||||
0, 0, 0, -1, 1, -3, -3, 0,
|
||||
-4, -4, 0, 0, 0, 0, 0, 0,
|
||||
-2, -2, 0, -4, -5, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, -3, 0, -4,
|
||||
-4, -4, 0, 0, 0, 0, 0, -2,
|
||||
0, 0, 0, 0, -3, -5, 0, -6,
|
||||
-12, -12, 0, 0, 8, 10, 0, -10,
|
||||
-1, -5, 0, -1, -18, 4, -3, 3,
|
||||
0, 0, 4, 1, -3, -20, 0, -20,
|
||||
-3, -33, -3, 11, 0, 5, 0, 0,
|
||||
0, 0, 1, 0, -7, -5, 0, -12,
|
||||
-4, 0, 0, 0, 0, 0, 0, 0,
|
||||
-2, -2, 0, -2, -5, 0, 0, 0,
|
||||
0, 0, 0, -4, 0, -4, 0, -3,
|
||||
-5, -3, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -3, -3, 0, -5,
|
||||
-8, -3, 0, 0, 4, 4, 0, 0,
|
||||
0, 0, 0, 0, -3, 0, 0, 0,
|
||||
3, 0, 0, 0, 0, -4, 0, -4,
|
||||
-3, -5, 0, 0, 0, 3, 0, -3,
|
||||
0, 0, 0, 0, -4, -6, 0, -7,
|
||||
1, 12, 0, 0, -20, -16, -8, 4,
|
||||
0, -3, -25, -7, 0, -7, 0, -8,
|
||||
-25, 0, -7, -10, -3, 0, 0, 2,
|
||||
-1, 3, -3, -15, 0, -19, -9, -8,
|
||||
-9, -12, -5, -10, -1, -7, -10, 2,
|
||||
-4, 1, 0, 0, 4, 0, 0, 0,
|
||||
4, 0, 0, 0, 4, -3, 4, -1,
|
||||
0, 0, 0, -7, 0, -1, 0, 0,
|
||||
0, 1, 0, 0, 5, 0, -3, 0,
|
||||
-5, 0, -7, 0, 0, 0, -4, 0,
|
||||
0, 0, 0, 0, -1, 1, -3, -3,
|
||||
0, -4, -4, 0, 0, 0, 0, 0,
|
||||
0, 0, -2, -2, 0, -4, -5, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, -3,
|
||||
0, -4, -4, -4, 0, 0, 0, 0,
|
||||
0, -2, 0, 0, 0, 0, -3, -5,
|
||||
0, -6, -12, -12, 0, 0, 8, 4,
|
||||
10, 0, -10, -1, -5, 0, -1, -18,
|
||||
4, -3, 3, 0, 0, 4, 1, -3,
|
||||
-20, 0, -20, -3, -33, -3, 11, 0,
|
||||
5, 0, 0, 0, 0, 1, 0, -7,
|
||||
-5, 0, -12, -4, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -2, -2, 0, -2,
|
||||
-5, 0, 0, 0, 0, 0, 0, -4,
|
||||
0, -4, 0, -3, -5, -3, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-2, 0, 0, -1, 0, -4, 0, -7,
|
||||
-8, -8, -1, 0, 0, 0, 0, -3,
|
||||
0, 0, 0, 0, 2, -2, 0, 0,
|
||||
0, 4, 0, 0, 0, 18, 0, 0,
|
||||
-3, -3, 0, -5, -8, -3, 0, 0,
|
||||
4, 2, 4, 0, 0, 0, 0, 0,
|
||||
0, -3, 0, 0, 0, 3, 0, 0,
|
||||
0, 0, -4, 0, -4, -3, -5, 0,
|
||||
0, 0, 3, 0, -3, 0, 0, 0,
|
||||
0, -4, -6, 0, -7, 1, 12, 0,
|
||||
0, -20, -19, -16, -8, 4, 0, -3,
|
||||
-25, -7, 0, -7, 0, -8, -25, 0,
|
||||
-7, -10, -3, 0, 0, 2, -1, 3,
|
||||
-3, -15, 0, -19, -9, -8, -9, -12,
|
||||
-5, -10, -1, -7, -10, 2, -4, 1,
|
||||
0, 0, 4, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -2,
|
||||
0, 0, -1, 0, -4, 0, -7, -8,
|
||||
-8, -1, 0, 0, 0, 0, -3, 0,
|
||||
0, 0, 0, 2, -2, 0, 0, 0,
|
||||
4, 0, 0, 0, 0, 18, 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, -17, 0, 0, 13, 12, -3, -16,
|
||||
0, 4, -6, 0, -19, -2, -5, 4,
|
||||
5, 0, -4, 6, 0, -13, -6, -14,
|
||||
-13, -16, 0, 0, 0, -2, 0, 0,
|
||||
0, -2, -2, -4, -10, -13, -1, -36,
|
||||
0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, -17, 0, 0, 13, -7, 12, -3,
|
||||
-16, 0, 4, -6, 0, -19, -2, -5,
|
||||
4, 5, 0, -4, 6, 0, -13, -6,
|
||||
-14, -13, -16, 0, 0, 0, -2, 0,
|
||||
0, 0, -2, -2, -4, -10, -13, -1,
|
||||
-36, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -4, 0, -2,
|
||||
-4, -6, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -4,
|
||||
0, -2, -4, -6, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 5, 0, -8, 4,
|
||||
-3, -1, -10, -4, 0, -5, -4, -3,
|
||||
-7, 0, -6, 0, -1, -3, -1, -3,
|
||||
-7, -5, 0, -3, 0, -8, 0, 0,
|
||||
0, -8, 0, -7, 0, -7, -7, 4,
|
||||
0, -7, 0, 5, -8, -8, 0, -4,
|
||||
-4, -5, 0, 0, 0, 0, 0, 0,
|
||||
-4, 0, 0, -6, 0, -4, 0, -8,
|
||||
-10, -12, -3, 0, 0, 0, 0, 31,
|
||||
0, 0, 2, 0, 0, -5, 0, 4,
|
||||
0, 0, 0, 0, 4, 0, -5, 0,
|
||||
-3, -5, -12, -3, -3, -3, -1, -3,
|
||||
0, 0, -1, 0, 0, 0, 0, -4,
|
||||
-3, -3, 0, -3, 0, -3, 0, 0,
|
||||
0, -3, -5, -3, -3, -5, -3, 0,
|
||||
0, 15, 0, -3, -4, -16, -5, 6,
|
||||
0, 0, -18, -7, 4, -7, 3, 0,
|
||||
-12, 0, -3, -6, -1, 2, 0, 0,
|
||||
-7, 0, 0, -7, 0, -7, -4, -6,
|
||||
-4, -4, 0, -7, 2, -7, -7, 12,
|
||||
0, 0, 0, 0, 4, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 5, -1,
|
||||
0, -8, 4, -3, -1, -10, -4, 0,
|
||||
-5, -4, -3, -7, 0, -6, 0, -1,
|
||||
-3, -1, -3, -7, -5, 0, -3, 0,
|
||||
-8, 0, 0, 0, -8, 0, -7, 0,
|
||||
-7, -7, 4, 0, -7, 0, 5, -8,
|
||||
3, -8, 0, -4, -4, -5, 0, 0,
|
||||
0, 0, 0, 0, -4, 0, 0, -6,
|
||||
0, -4, 0, -8, -10, -12, -3, 0,
|
||||
0, 0, 0, 31, 0, 0, 2, 0,
|
||||
0, -5, 0, 4, 0, 0, 0, 0,
|
||||
4, -8, 0, -5, 0, -3, -5, -12,
|
||||
-3, -3, -3, -1, -3, 0, 0, -1,
|
||||
0, 0, 0, 0, -4, -3, -3, 0,
|
||||
-3, 0, -3, 0, 0, 0, -3, -5,
|
||||
-3, -3, -5, -3, 0, 0, 15, 0,
|
||||
-3, -4, 0, -16, -5, 6, 0, 0,
|
||||
-18, -7, 4, -7, 3, 0, -12, 0,
|
||||
-3, -6, -1, 2, 0, 0, -7, 0,
|
||||
0, -7, 0, -7, -4, -6, -4, -4,
|
||||
0, -7, 2, -7, -7, 12, 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,
|
||||
@ -1618,146 +1635,150 @@ static const int8_t kern_class_values[] =
|
||||
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, 0, -3, -4, 0, 0,
|
||||
0, 0, 0, 0, -3, 0, -4, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
-6, 0, 0, 0, 0, -5, 0, 0,
|
||||
-4, -4, 0, 0, 0, 0, 0, -2,
|
||||
0, 0, 0, 0, 0, -3, 0, 0,
|
||||
0, 0, 0, 0, 0, 3, -8, 8,
|
||||
1, -3, -18, 0, 0, -8, -4, 0,
|
||||
-11, 0, -10, 0, -6, -17, -4, -15,
|
||||
-15, -18, 0, -5, 0, -9, -4, -1,
|
||||
-4, -7, -10, -7, -14, -16, -9, -4,
|
||||
0, 0, 0, 0, 12, 8, -8, -14,
|
||||
0, 1, -12, 0, -19, -3, -4, 8,
|
||||
1, 0, -5, 0, -3, -25, -5, -20,
|
||||
-4, -28, 0, 1, 0, -3, 0, 0,
|
||||
0, 0, -2, -3, -15, -3, 0, -25,
|
||||
0, 0, 0, -3, -11, -18, 0, 0,
|
||||
-2, -6, -12, -4, 0, -3, 0, 0,
|
||||
-17, -4, 0, -13, 0, -12, -3, -7,
|
||||
-10, -4, -7, -6, 0, -5, -7, -4,
|
||||
-7, 0, 2, 0, -3, -13, 0, 8,
|
||||
0, -7, 0, 5, -8, 16, 0, -4,
|
||||
-4, -5, 0, 0, 0, 0, 0, 0,
|
||||
-4, 0, 0, -6, 0, -4, 0, -8,
|
||||
-10, -12, -3, 0, 0, 0, 0, 31,
|
||||
0, 0, 2, 0, 0, -5, 0, 4,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -3, -8, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -4, 0, -4, 0, 0,
|
||||
-8, -4, 0, -2, 0, 0, 0, 0,
|
||||
0, 0, 2, 0, 0, 0, 0, 6,
|
||||
0, -12, 0, 0, 8, 0, 0, -4,
|
||||
0, -3, 4, 0, -4, 0, -4, -2,
|
||||
0, -6, 0, 0, 0, 0, -5, 0,
|
||||
0, -4, -4, 0, 0, 0, 0, 0,
|
||||
-2, 0, 0, 0, 0, 0, -3, 0,
|
||||
0, 0, 0, 0, 0, 0, -13, 3,
|
||||
-8, 8, 1, -3, -18, 0, 0, -8,
|
||||
-4, 0, -11, 0, -10, 0, -6, -17,
|
||||
-4, -15, -15, -18, 0, -5, 0, -9,
|
||||
-4, -1, -4, -7, -10, -7, -14, -16,
|
||||
-9, -4, 0, 0, 0, 0, 12, -3,
|
||||
8, -8, -14, 0, 1, -12, 0, -19,
|
||||
-3, -4, 8, 1, 0, -5, 0, -3,
|
||||
-25, -5, -20, -4, -28, 0, 1, 0,
|
||||
-3, 0, 0, 0, 0, -2, -3, -15,
|
||||
-3, 0, -25, 0, 0, 0, -3, -11,
|
||||
-1, -18, 0, 0, -2, -6, -12, -4,
|
||||
0, -3, 0, 0, -17, -4, 0, -13,
|
||||
0, -12, -3, -7, -10, -4, -7, -6,
|
||||
0, -5, -7, -4, -7, 0, 2, 0,
|
||||
-3, -13, 0, 8, 0, -7, 0, 5,
|
||||
-8, 3, 16, 0, -4, -4, -5, 0,
|
||||
0, 0, 0, 0, 0, -4, 0, 0,
|
||||
-5, -6, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -4, -4, 0, -6,
|
||||
0, 3, -6, 0, -12, -8, -8, 15,
|
||||
-6, 0, -4, 0, -8, -10, -12, -3,
|
||||
0, 0, 0, 0, 31, 0, 0, 2,
|
||||
0, 0, -5, 0, 4, 0, 0, 0,
|
||||
0, 0, -1, 0, 0, 0, 0, -3,
|
||||
-8, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, -4, 0, -4, 0, 0, -8, -4,
|
||||
0, -2, 0, 0, 0, 0, 0, 0,
|
||||
2, 0, 0, 0, 0, 6, 0, -12,
|
||||
0, 0, 8, 7, 0, 0, -4, 0,
|
||||
-3, 4, 0, -4, 0, -4, -2, 0,
|
||||
0, 0, 0, 0, -4, 0, 0, -5,
|
||||
-6, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -4, -4, 0, -6, 0,
|
||||
3, -6, 0, -12, -13, -8, -8, 15,
|
||||
7, 4, -33, -3, 8, -4, 0, -4,
|
||||
-13, 0, -4, -4, -3, 4, -5, -3,
|
||||
-12, -3, 0, -11, 0, -21, -5, 11,
|
||||
-5, -15, 1, -5, -13, -13, -4, 15,
|
||||
0, 0, 0, 3, -14, -15, -10, 12,
|
||||
0, 1, -28, -3, 4, -7, -3, -9,
|
||||
-14, -6, -8, -6, -6, -3, 0, 0,
|
||||
-9, -8, -4, -21, 0, -21, -5, 0,
|
||||
-13, -22, -1, -12, -7, -13, -11, 10,
|
||||
0, 0, -3, 0, 0, 7, -13, 4,
|
||||
0, 0, -20, 0, -4, -8, -7, -3,
|
||||
-13, -9, -10, 0, -5, -12, -4, -9,
|
||||
-7, -12, -4, -7, 0, -12, -4, 0,
|
||||
-4, -8, -9, -10, -11, -15, -5, -8,
|
||||
0, 0, -5, 2, -14, -8, -13, 13,
|
||||
-4, 2, -36, -7, 8, -8, -7, -14,
|
||||
-16, -5, -12, -4, -6, -3, -4, -8,
|
||||
-12, -1, 0, -25, 0, -23, -9, 9,
|
||||
-15, -26, -8, -13, -16, -19, -13, 8,
|
||||
0, 0, 0, 0, 8, 3, -7, 8,
|
||||
0, 0, -12, -1, 0, -1, 0, 1,
|
||||
0, 0, -3, 0, 0, 0, 0, 0,
|
||||
-4, 0, 0, 1, 0, -5, 0, 0,
|
||||
0, 0, -3, -3, -5, 0, 0, 0,
|
||||
-11, 0, 0, 0, 0, 0, 0, -8,
|
||||
-2, 0, 0, 0, -8, 0, -5, 0,
|
||||
0, 0, 0, 3, -14, -9, -15, -10,
|
||||
12, 0, 1, -28, -3, 4, -7, -3,
|
||||
-9, -14, -6, -8, -6, -6, -3, 0,
|
||||
0, -9, -8, -4, -21, 0, -21, -5,
|
||||
0, -13, -22, -1, -12, -7, -13, -11,
|
||||
10, 0, 0, -3, 0, 0, -7, 7,
|
||||
-13, 4, 0, 0, -20, 0, -4, -8,
|
||||
-7, -3, -13, -9, -10, 0, -5, -12,
|
||||
-4, -9, -7, -12, -4, -7, 0, -12,
|
||||
-4, 0, -4, -8, -9, -10, -11, -15,
|
||||
-5, -8, 0, 0, -5, 2, -14, -12,
|
||||
-8, -13, 13, -4, 2, -36, -7, 8,
|
||||
-8, -7, -14, -16, -5, -12, -4, -6,
|
||||
-3, -4, -8, -12, -1, 0, -25, 0,
|
||||
-23, -9, 9, -15, -26, -8, -13, -16,
|
||||
-19, -13, 8, 0, 0, 0, 0, 8,
|
||||
-5, 3, -7, 8, 0, 0, -12, -1,
|
||||
0, -1, 0, 1, 0, 0, -3, 0,
|
||||
0, 0, 0, 0, -4, 0, 0, 1,
|
||||
0, -5, 0, 0, 0, 0, -3, -3,
|
||||
-5, 0, 0, 0, -11, 0, 0, 0,
|
||||
0, 0, 0, 0, -8, -2, 0, 0,
|
||||
0, -8, 0, -5, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, -4, 0, 0, -7,
|
||||
-10, -6, 0, 0, -5, 0, 0, -10,
|
||||
-4, -9, 0, 0, -10, 0, -4, 0,
|
||||
-4, 0, 0, 0, 0, -31, -7, -15,
|
||||
-4, -14, 0, -2, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -6, -7, -3, -7,
|
||||
0, 0, 0, -8, 8, 0, -3, -9,
|
||||
-3, -7, -7, 0, -5, -2, -3, 3,
|
||||
0, 0, -1, 0, 0, -34, -3, -5,
|
||||
0, -8, 0, 0, -3, -3, 0, 0,
|
||||
0, 0, 3, 0, -3, -7, -3, 7,
|
||||
0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, -4, 0, 0, -7, -10, -6, 0,
|
||||
0, -5, 4, 0, 0, -10, -4, -9,
|
||||
0, 0, -10, 0, -4, 0, -4, 0,
|
||||
0, 0, 0, -31, -7, -15, -4, -14,
|
||||
0, -2, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -6, -7, -3, -7, 0, 0,
|
||||
0, -8, 8, -4, 0, -3, -9, -3,
|
||||
-7, -7, 0, -5, -2, -3, 3, 0,
|
||||
0, -1, 0, 0, -34, -3, -5, 0,
|
||||
-8, 0, 0, -3, -3, 0, 0, 0,
|
||||
0, 3, 0, -3, -7, -3, 7, 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, 0, 0, 0, 0,
|
||||
-3, -8, 0, 0, 0, 0, 0, -10,
|
||||
-4, -8, 0, 0, -11, 0, -4, 0,
|
||||
0, 0, 0, 0, 0, -37, 0, -8,
|
||||
-14, -19, 0, -6, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -4, -6, -2, -6,
|
||||
7, 0, 0, 12, -4, -12, 5, 19,
|
||||
7, 8, -10, 5, 16, 5, 11, 8,
|
||||
-3, -8, 0, 0, 0, 4, 0, 0,
|
||||
-10, -4, -8, 0, 0, -11, 0, -4,
|
||||
0, 0, 0, 0, 0, 0, -37, 0,
|
||||
-8, -14, -19, 0, -6, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -4, -6, -2,
|
||||
-6, 7, 0, 0, 12, -4, -4, -12,
|
||||
5, 19, 7, 8, -10, 5, 16, 5,
|
||||
11, 8, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -4, 0, -3,
|
||||
31, 17, 31, 0, 0, 0, 4, 0,
|
||||
0, 14, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -3, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -6,
|
||||
-32, -5, -3, -16, -19, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, -4, 0, -3, 31, 17,
|
||||
31, 0, 0, 0, 4, 0, 0, 14,
|
||||
0, 0, 0, 0, 0, 0, 0, -3,
|
||||
0, 0, 0, 0, 0, 0, 0, 4,
|
||||
-9, 0, -4, 3, 7, 4, -12, 0,
|
||||
-1, -3, 4, 0, 0, 0, 0, 0,
|
||||
0, -10, 0, -3, -3, -8, 0, -4,
|
||||
0, -8, -3, 0, -3, -7, 0, -4,
|
||||
-11, -8, -5, 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, -6, -32, -5, -3,
|
||||
-16, -19, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 4, 0, -4, 3,
|
||||
7, 4, -12, 0, -1, -3, 4, 0,
|
||||
0, 0, 0, 0, 0, -10, 0, -3,
|
||||
-3, -8, 0, -4, 0, -8, -3, 0,
|
||||
-3, -7, 0, -4, -11, -8, -5, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -3,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -6, -32, -5, -3,
|
||||
-16, -19, 0, 0, 0, 0, 0, 19,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -5, -3, -4, -15, 1, -2,
|
||||
1, -3, -10, 1, 8, 1, 3, 1,
|
||||
-15, -5, -9, 0, -6, -15, -7, -10,
|
||||
-16, -15, 0, -3, -3, -5, -3, 0,
|
||||
-3, -1, 6, 0, 6, -3, 0, 12,
|
||||
0, 0, 0, 0, 0, 0, 0, -3,
|
||||
-4, -4, 0, 0, -10, 0, -2, 0,
|
||||
0, -6, -32, -5, -3, -16, -19, 0,
|
||||
0, 0, 0, 0, 19, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, -5,
|
||||
-3, -4, -3, -15, 1, -2, 1, -3,
|
||||
-10, 1, 8, 1, 3, 1, -15, -5,
|
||||
-9, 0, -6, -15, -7, -10, -16, -15,
|
||||
0, -3, -3, -5, -3, 0, -3, -1,
|
||||
6, 0, 6, -3, 0, 12, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, -3, -4,
|
||||
-4, 0, 0, -10, 0, -2, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, -4, -4, 0, -5,
|
||||
0, 0, 0, 0, 4, 0, -7, -7,
|
||||
0, 0, 0, -4, -4, 0, -5, 0,
|
||||
0, 0, 0, 4, -4, 0, -7, -7,
|
||||
-3, 0, -11, -3, -8, -3, -5, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -7, 0, 0,
|
||||
0, 0, -5, 0, -4, 0, 0, -2,
|
||||
0, 0, 0, 0, -13, -12, 3, 4,
|
||||
4, -1, -11, 3, 6, 3, 12, 3,
|
||||
-10, 0, -3, 0, -3, -15, 0, 0,
|
||||
-12, -10, 0, -7, 0, -6, 0, -6,
|
||||
0, -3, 6, 0, -3, -12, -4, 14,
|
||||
0, 0, 0, 0, 0, 4, -4, 3,
|
||||
0, 0, -13, 0, -3, -1, 0, -4,
|
||||
0, 0, -3, 0, -3, -16, -5, -8,
|
||||
0, -12, 0, -4, 0, -7, 0, 2,
|
||||
0, -4, 0, -4, -12, 0, -4, 4,
|
||||
0, 0, 0, 0, 1, 0, 0, -5,
|
||||
-3, 0, -5, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, -3, 0, 0,
|
||||
0, 0, 1, 0, -4, -4, 0, 0,
|
||||
9, 8, 0, 0, -24, -22, 1, 17,
|
||||
12, 7, -15, 3, 16, 0, 14, 0,
|
||||
0, 0, 0, 0, -13, -5, -12, 3,
|
||||
4, 4, -1, -11, 3, 6, 3, 12,
|
||||
3, -10, 0, -3, 0, -3, -15, 0,
|
||||
0, -12, -10, 0, -7, 0, -6, 0,
|
||||
-6, 0, -3, 6, 0, -3, -12, -4,
|
||||
14, 0, 0, 0, 0, 0, -9, 4,
|
||||
-4, 3, 0, 0, -13, 0, -3, -1,
|
||||
0, -4, 0, 0, -3, 0, -3, -16,
|
||||
-5, -8, 0, -12, 0, -4, 0, -7,
|
||||
0, 2, 0, -4, 0, -4, -12, 0,
|
||||
-4, 4, 0, 0, 0, 0, 1, -5,
|
||||
0, 0, -5, -3, 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
|
||||
-3, 0, 0, 0, 0, 1, 0, -4,
|
||||
-4, 0, 0, 9, 8, 0, 0, -24,
|
||||
0, -22, 1, 17, 12, 7, -15, 3,
|
||||
16, 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, 0
|
||||
};
|
||||
|
||||
|
||||
@ -1767,8 +1788,8 @@ 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 = 51,
|
||||
.right_class_cnt = 40,
|
||||
.left_class_cnt = 52,
|
||||
.right_class_cnt = 41,
|
||||
};
|
||||
|
||||
/*--------------------
|
||||
@ -1790,7 +1811,7 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||
.cmaps = cmaps,
|
||||
.kern_dsc = &kern_classes,
|
||||
.kern_scale = 16,
|
||||
.cmap_num = 4,
|
||||
.cmap_num = 5,
|
||||
.bpp = 4,
|
||||
.kern_classes = 1,
|
||||
.bitmap_format = 0,
|
||||
|
||||
@ -1,15 +1,12 @@
|
||||
#include "bsp/display.h"
|
||||
#include "bsp_board_extra.h"
|
||||
#include "lv_theme_domotic.h"
|
||||
#include "esp_lvgl_port.h"
|
||||
#include "ihm.h"
|
||||
#include "misc/lv_types.h"
|
||||
#include "esp_log.h"
|
||||
#include "string.h"
|
||||
#include "meteofrance.h"
|
||||
#include "bsp/esp-bsp.h"
|
||||
#include "cJSON.h"
|
||||
#include "eventsManager.h"
|
||||
#include "bsp/esp-bsp.h"
|
||||
#include "lvgl_private.h"
|
||||
|
||||
|
||||
#define upEvent "monter"
|
||||
@ -45,7 +42,6 @@ static lv_subject_t wifiStatus;
|
||||
LV_IMAGE_DECLARE(wifi_ok);
|
||||
LV_IMAGE_DECLARE(wifi_ko);
|
||||
|
||||
|
||||
static void wifiStatus_obs_cb(lv_observer_t * observer, lv_subject_t * subject)
|
||||
{
|
||||
ESP_LOGV(TAG, "On passe dans le callback de chgt de statut; %li", lv_subject_get_int(subject));
|
||||
@ -101,7 +97,7 @@ lv_obj_t* lblEtatMachine;
|
||||
void drawIhm(void *xIHMEventQueueParam) {
|
||||
QueueHandle_t xIHMEventQueue = (QueueHandle_t)xIHMEventQueueParam;
|
||||
|
||||
init_display();
|
||||
init_display_ihm();
|
||||
|
||||
lv_subject_init_int(&wifiStatus, 0);
|
||||
lv_subject_add_observer_obj(&wifiStatus, wifiStatus_obs_cb, NULL, NULL);
|
||||
@ -136,7 +132,7 @@ void drawIhm(void *xIHMEventQueueParam) {
|
||||
break;
|
||||
|
||||
case IHM_EVT_OTA_PROGRESS:
|
||||
setOTAProgress((int)xReceivedEvent->pvData);
|
||||
//setOTAProgress((int)xReceivedEvent->pvData);
|
||||
break;
|
||||
|
||||
case IHM_EVT_HUMID_TEMP:
|
||||
@ -233,10 +229,11 @@ static void event_handler(lv_event_t *e)
|
||||
}
|
||||
|
||||
|
||||
void init_display(){
|
||||
lvgl_port_cfg_t lvgl_cfg = ESP_LVGL_PORT_INIT_CONFIG();
|
||||
lvgl_cfg.task_priority=15;
|
||||
bsp_display_cfg_t cfg = {
|
||||
void init_display_ihm(){
|
||||
/*
|
||||
lvgl_port_cfg_t lvgl_cfg = ESP_LVGL_PORT_INIT_CONFIG();
|
||||
lvgl_cfg.task_priority=15;
|
||||
bsp_display_cfg_t cfg = {
|
||||
.lvgl_port_cfg = lvgl_cfg,
|
||||
.buffer_size = 1024*600,//BSP_LCD_DRAW_BUFF_SIZE,
|
||||
.double_buffer = 1,
|
||||
@ -252,7 +249,8 @@ void init_display(){
|
||||
|
||||
bsp_display_backlight_on();
|
||||
bsp_display_brightness_set(50);
|
||||
mainState.display_init=true;
|
||||
*/
|
||||
mainState.display_init=true;
|
||||
}
|
||||
|
||||
lv_obj_t * otaStatus;
|
||||
@ -326,9 +324,6 @@ void app_main_display()
|
||||
lv_subject_init_pointer(&forecastH3Subj, &d1);
|
||||
|
||||
|
||||
lv_theme_t * th = lv_theme_domotic_init(lv_display_get_default());
|
||||
lv_display_set_theme(lv_disp_get_default(), th); /* Assign theme to display */
|
||||
|
||||
//lv_subject_init_string(&dateHeureSubj, dateHeureStr, NULL, 64, "--");
|
||||
|
||||
lv_style_init(&no_padding);
|
||||
@ -422,7 +417,7 @@ void meteo_obs_cb(lv_observer_t *observer, lv_subject_t *subject)
|
||||
ESP_LOGI(TAG, "On passe dans le callback de chgt de statut meteo; %li", lv_subject_get_int(subject));
|
||||
if (display_lock("meteo_obs_cb"))
|
||||
{
|
||||
lv_obj_t *meteoSt = observer->target;
|
||||
lv_obj_t *meteoSt = lv_observer_get_target(observer);
|
||||
switch (lv_subject_get_int(subject))
|
||||
{
|
||||
case 0:
|
||||
@ -455,7 +450,7 @@ static void weatherdata_obs_cb(lv_observer_t *observer, lv_subject_t *subject)
|
||||
// char buff[40] = {};
|
||||
// sprintf(buff,"%s %.1f %.1f", data->previsions.desc, data->previsions.min, data->previsions.max);
|
||||
if(data->isValid){
|
||||
lv_obj_t *parent = (lv_obj_t *)(observer->target);
|
||||
lv_obj_t *parent = (lv_obj_t *)(lv_observer_get_target(observer));
|
||||
lv_obj_t *datefld = lv_obj_get_child(parent, 0);
|
||||
lv_obj_t *desc_icon = lv_obj_get_child(parent, 1);
|
||||
lv_obj_t *temps = lv_obj_get_child(parent, 2);
|
||||
@ -484,7 +479,7 @@ static void weatherdataH_obs_cb(lv_observer_t *observer, lv_subject_t *subject)
|
||||
sprintf(buff,"%.1f", data->previsions.value);
|
||||
ESP_LOGV(TAG, "On a recu [%s]", buff);
|
||||
|
||||
lv_obj_t *parent = (lv_obj_t *)(observer->target);
|
||||
lv_obj_t *parent = (lv_obj_t *)(lv_observer_get_target(observer));
|
||||
lv_obj_t *datefld = lv_obj_get_child(parent, 0);
|
||||
lv_obj_t *temp_desc_icon = lv_obj_get_child(parent, 1);
|
||||
showMeteoIcon(data->previsions.icon, temp_desc_icon, 1);
|
||||
@ -690,7 +685,7 @@ void btnRestart_cb(lv_event_t * e){
|
||||
lv_event_code_t code = lv_event_get_code(e);
|
||||
|
||||
if(code == LV_EVENT_CLICKED) {
|
||||
esp_restart();
|
||||
//esp_restart();
|
||||
}
|
||||
|
||||
}
|
||||
@ -713,7 +708,7 @@ static void log_event_handler(lv_event_t * e)
|
||||
|
||||
static lv_style_t style_lbvValue;
|
||||
static lv_style_t style_btn;
|
||||
|
||||
#define MIN(a,b) ((a) < (b) ? (a) : (b))
|
||||
static void draw_event_cb(lv_event_t * e)
|
||||
{
|
||||
lv_draw_task_t * draw_task = lv_event_get_draw_task(e);
|
||||
@ -1020,11 +1015,70 @@ void draw_tabVolets(lv_obj_t* parent)
|
||||
}
|
||||
}
|
||||
|
||||
/*Will be called when the styles of the base theme are already added
|
||||
to add new styles*/
|
||||
static void new_theme_apply_cb(lv_theme_t * th, lv_obj_t * obj)
|
||||
{
|
||||
LV_UNUSED(th);
|
||||
|
||||
if(lv_obj_check_type(obj, &lv_button_class)) {
|
||||
lv_obj_add_style(obj, &style_btn, 0);
|
||||
}
|
||||
}
|
||||
|
||||
lv_theme_t * lv_theme_create(void)
|
||||
{
|
||||
lv_theme_t * theme = lv_zalloc(sizeof(*theme));
|
||||
LV_ASSERT_MALLOC(theme);
|
||||
return theme;
|
||||
}
|
||||
|
||||
void lv_theme_copy(lv_theme_t * dst, const lv_theme_t * src)
|
||||
{
|
||||
if(!dst || !src) {
|
||||
LV_LOG_WARN("Refusing to copy null themes");
|
||||
return;
|
||||
}
|
||||
lv_memcpy(dst, src, sizeof(*src));
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
/* Dessin IHM */
|
||||
/* ------------------------------------------------------------ */
|
||||
LV_FONT_DECLARE(montserrat_medium_12);
|
||||
LV_FONT_DECLARE(montserrat_medium_18);
|
||||
LV_FONT_DECLARE(montserrat_medium_24);
|
||||
void draw_ihm()
|
||||
{
|
||||
|
||||
lv_display_t * display = lv_display_get_default();
|
||||
|
||||
/*Initialize the styles*/
|
||||
lv_style_init(&style_btn);
|
||||
lv_style_set_bg_color(&style_btn, lv_palette_main(LV_PALETTE_GREEN));
|
||||
lv_style_set_border_color(&style_btn, lv_palette_darken(LV_PALETTE_GREEN, 3));
|
||||
lv_style_set_border_width(&style_btn, 3);
|
||||
|
||||
/* Initialize the new theme with the current theme as its parent
|
||||
* The user is responsible for freeing the theme when it's no longer needed */
|
||||
lv_theme_t * th_act = lv_display_get_theme(NULL);
|
||||
lv_theme_t * th_new = lv_theme_create();
|
||||
lv_theme_copy(th_new, th_act);
|
||||
th_new->font_small=&montserrat_medium_12;
|
||||
th_new->font_normal=&montserrat_medium_18;
|
||||
th_new->font_large=&montserrat_medium_24;
|
||||
//lv_theme_default_deinit();
|
||||
//lv_theme_default_init(display,lv_palette_main(LV_PALETTE_GREEN),lv_palette_darken(LV_PALETTE_GREEN,3),false,&montserrat_medium_12);
|
||||
lv_theme_set_parent(th_new, th_act);
|
||||
|
||||
/*Set the style apply callback for the new theme*/
|
||||
lv_theme_set_apply_cb(th_new, new_theme_apply_cb);
|
||||
|
||||
/*Assign the new theme to the current display*/
|
||||
lv_display_set_theme(display, th_new);
|
||||
|
||||
|
||||
lv_subject_init_string(&tempExtSubj, tempExtStr, NULL, 6, "--");
|
||||
lv_subject_init_string(&tempIntSubj, tempIntStr, NULL, 6, "--");
|
||||
lv_subject_init_string(&hauteurCuveSubj, hauteurCuveStr, NULL, 9, "--");
|
||||
@ -1033,6 +1087,8 @@ void draw_ihm()
|
||||
// keys.clear();
|
||||
lv_obj_clean(lv_scr_act());
|
||||
|
||||
|
||||
|
||||
//Create a Tab view object
|
||||
tabview = lv_tabview_create(lv_screen_active());
|
||||
lv_tabview_set_tab_bar_position(tabview, LV_DIR_LEFT);
|
||||
@ -1059,14 +1115,14 @@ void draw_ihm()
|
||||
// lv_obj_set_style_bg_color(tab2b, lv_palette_lighten(LV_PALETTE_AMBER, 3), 0);
|
||||
lv_obj_set_style_bg_opa(tabVolets, LV_OPA_COVER, 0);
|
||||
|
||||
lv_style_init(&style_btn);
|
||||
//lv_style_init(&style_btn);
|
||||
|
||||
// lv_style_set_bg_color(&style_btn, lv_color_hex(0x115588));
|
||||
// lv_style_set_bg_opa(&style_btn, LV_OPA_50);
|
||||
// lv_style_set_border_width(&style_btn, 2);
|
||||
// lv_style_set_border_color(&style_btn, lv_color_black());
|
||||
lv_style_set_width(&style_btn, 80);
|
||||
lv_style_set_height(&style_btn, 100);
|
||||
//lv_style_set_width(&style_btn, 80);
|
||||
//lv_style_set_height(&style_btn, 100);
|
||||
|
||||
// Un style pour les conteneurs (température, cuve ...)
|
||||
lv_style_init(&style_container);
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
||||
HostUrl=about:internet
|
||||
@ -1,3 +0,0 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
||||
HostUrl=about:internet
|
||||
@ -1,12 +1,11 @@
|
||||
#pragma once
|
||||
#include "meteofrance.h"
|
||||
#include "esp_lvgl_port.h"
|
||||
#include "bsp/esp-bsp.h"
|
||||
#include "lvgl.h"
|
||||
|
||||
void app_main_display();
|
||||
void app_ota_display();
|
||||
void setOTAProgress(int value);
|
||||
void init_display();
|
||||
void init_display_ihm();
|
||||
|
||||
bool display_lock(const char *TAG);
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ extern "C" {
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "esp_lvgl_port.h"
|
||||
#include "lvgl.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
|
||||
@ -9,7 +9,6 @@
|
||||
*********************/
|
||||
#if LV_USE_THEME_SIMPLE_DOMOTIC
|
||||
#include "lv_theme_domotic.h"
|
||||
#include "esp_lvgl_port.h"
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
29
components/domotic_display/test_host/CMakeLists.txt
Normal file
29
components/domotic_display/test_host/CMakeLists.txt
Normal file
@ -0,0 +1,29 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
set(COMPONENTS main)
|
||||
# This test app doesn't require FreeRTOS, using mock instead
|
||||
list(APPEND EXTRA_COMPONENT_DIRS
|
||||
"$ENV{IDF_PATH}/tools/mocks/freertos/"
|
||||
"$ENV{IDF_PATH}/tools/mocks/esp_timer"
|
||||
../../meteofrance
|
||||
../../stateManagement
|
||||
../../eventsManager
|
||||
)
|
||||
|
||||
idf_build_set_property(COMPILE_DEFINITIONS "NO_DEBUG_STORAGE" APPEND)
|
||||
project(nvs_host_test)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/coverage_report/index.html"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
COMMAND gcovr --root $ENV{IDF_PATH}/components/nvs_flash --html-details
|
||||
--exclude ${CMAKE_CURRENT_SOURCE_DIR}/managed_components/*
|
||||
-o ${CMAKE_CURRENT_BINARY_DIR}/coverage_report/index.html ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Generate coverage report"
|
||||
)
|
||||
|
||||
add_custom_target(coverage
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
DEPENDS "coverage_report/index.html"
|
||||
)
|
||||
17
components/domotic_display/test_host/dependencies.lock
Normal file
17
components/domotic_display/test_host/dependencies.lock
Normal file
@ -0,0 +1,17 @@
|
||||
dependencies:
|
||||
idf:
|
||||
source:
|
||||
type: idf
|
||||
version: 5.5.1
|
||||
lvgl/lvgl:
|
||||
component_hash: 17e68bfd21f0edf4c3ee838e2273da840bf3930e5dbc3bfa6c1190c3aed41f9f
|
||||
dependencies: []
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 9.4.0
|
||||
direct_dependencies:
|
||||
- lvgl/lvgl
|
||||
manifest_hash: b69f67d8253596e504fba179d3e69969cb4958216d37d471849a023add797535
|
||||
target: linux
|
||||
version: 2.0.0
|
||||
5
components/domotic_display/test_host/idf_component.yml
Normal file
5
components/domotic_display/test_host/idf_component.yml
Normal file
@ -0,0 +1,5 @@
|
||||
dependencies:
|
||||
lvgl/lvgl:
|
||||
version: 9.4.0
|
||||
#espressif/esp32_p4_function_ev_board:
|
||||
# version: "4.1.*"
|
||||
34
components/domotic_display/test_host/main/CMakeLists.txt
Normal file
34
components/domotic_display/test_host/main/CMakeLists.txt
Normal file
@ -0,0 +1,34 @@
|
||||
set(LV_BUILD_USE_KCONFIG ON)
|
||||
idf_component_register(SRCS
|
||||
"test_ihm.c"
|
||||
"../../ihm.c"
|
||||
"driver_backends.c"
|
||||
"sdl.c"
|
||||
"../../fonts/montserrat_medium_12.c"
|
||||
"../../fonts/montserrat_medium_18.c"
|
||||
"../../fonts/montserrat_medium_24.c"
|
||||
INCLUDE_DIRS
|
||||
"../../include"
|
||||
WHOLE_ARCHIVE
|
||||
REQUIRES lvgl meteofrance)
|
||||
|
||||
message("Including SDL2 support")
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(SDL2 REQUIRED sdl2)
|
||||
pkg_check_modules(SDL2_IMAGE REQUIRED SDL2_image)
|
||||
|
||||
list(APPEND PKG_CONFIG_LIB ${SDL2_LIBRARIES} ${SDL2_IMAGE_LIBRARIES})
|
||||
list(APPEND PKG_CONFIG_INC ${SDL2_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIRS})
|
||||
|
||||
target_compile_options(${COMPONENT_LIB} PUBLIC --coverage -DLV_LVGL_H_INCLUDE_SIMPLE)
|
||||
target_link_libraries(${COMPONENT_LIB} PUBLIC ${PKG_CONFIG_LIB} --coverage)
|
||||
target_include_directories(${COMPONENT_LIB} PRIVATE ${CMAKE_SOURCE_DIR}/mock ${PKG_CONFIG_INC})
|
||||
|
||||
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
target_compile_options(${COMPONENT_LIB} PRIVATE -std=gnu++20)
|
||||
endif()
|
||||
|
||||
# Currently 'main' for IDF_TARGET=linux is defined in freertos component.
|
||||
# Since we are using a freertos mock here, need to let Catch2 provide 'main'.
|
||||
#target_link_libraries(${COMPONENT_LIB} PRIVATE Catch2WithMain)
|
||||
97
components/domotic_display/test_host/main/backends.h
Normal file
97
components/domotic_display/test_host/main/backends.h
Normal file
@ -0,0 +1,97 @@
|
||||
/**
|
||||
* @file backends.h
|
||||
*
|
||||
* Interface for abstration layer of a device backend
|
||||
*
|
||||
* Copyright (c) 2025 EDGEMTech Ltd.
|
||||
*
|
||||
* Author: EDGEMTech Ltd, Erik Tagirov (erik.tagirov@edgemtech.ch)
|
||||
*
|
||||
*/
|
||||
#ifndef BACKENDS_H
|
||||
#define BACKENDS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
/* Prototype of the display initialization functions */
|
||||
typedef lv_display_t *(*display_init_t)(void);
|
||||
|
||||
/* Prototype of the run loop */
|
||||
typedef void (*run_loop_t)(void);
|
||||
|
||||
/* Represents a display driver handle */
|
||||
typedef struct {
|
||||
display_init_t init_display; /* The display creation/initialization function */
|
||||
run_loop_t run_loop; /* The run loop of the driver handle */
|
||||
lv_display_t *display; /* The LVGL display that was created */
|
||||
} display_backend_t;
|
||||
|
||||
/* Prototype for the initialization of an indev driver backend */
|
||||
typedef lv_indev_t *(*indev_init_t)(lv_display_t *display);
|
||||
|
||||
/* Represents an indev driver backend */
|
||||
typedef struct {
|
||||
indev_init_t init_indev;
|
||||
} indev_backend_t;
|
||||
|
||||
/* Regroup all different types of driver backend */
|
||||
typedef union {
|
||||
display_backend_t *display;
|
||||
indev_backend_t *indev;
|
||||
} backend_handle_t;
|
||||
|
||||
/* Define each type of driver backend */
|
||||
typedef enum {
|
||||
BACKEND_DISPLAY,
|
||||
BACKEND_INDEV
|
||||
} backend_type_t;
|
||||
|
||||
/* Driver backend descriptor */
|
||||
typedef struct {
|
||||
backend_handle_t *handle;
|
||||
char *name;
|
||||
backend_type_t type;
|
||||
} backend_t;
|
||||
|
||||
/* Prototype used to register a backend */
|
||||
typedef int (*backend_init_t)(backend_t *);
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
|
||||
/* Graphics backends */
|
||||
int backend_init_fbdev(backend_t *backend);
|
||||
int backend_init_drm(backend_t *backend);
|
||||
int backend_init_sdl(backend_t *backend);
|
||||
int backend_init_glfw3(backend_t *backend);
|
||||
int backend_init_wayland(backend_t *backend);
|
||||
int backend_init_x11(backend_t *backend);
|
||||
|
||||
/* Input device driver backends */
|
||||
int backend_init_evdev(backend_t *backend);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*BACKEND_H*/
|
||||
|
||||
|
||||
281
components/domotic_display/test_host/main/driver_backends.c
Normal file
281
components/domotic_display/test_host/main/driver_backends.c
Normal file
@ -0,0 +1,281 @@
|
||||
/**
|
||||
* @file driver_backends.c
|
||||
*
|
||||
* Copyright (c) 2025 EDGEMTech Ltd.
|
||||
*
|
||||
* Author: EDGEMTech Ltd, Erik Tagirov (erik.tagirov@edgemtech.ch)
|
||||
*/
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
#include <unistd.h>
|
||||
#include <pthread.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "lvgl.h"
|
||||
|
||||
#include "simulator_util.h"
|
||||
#include "simulator_settings.h"
|
||||
#include "driver_backends.h"
|
||||
|
||||
#include "backends.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/* Catch configuration errors at compile time - checks if no backend was selected */
|
||||
#if LV_USE_SDL == 0 && \
|
||||
LV_USE_WAYLAND == 0 && \
|
||||
LV_USE_LINUX_DRM == 0 && \
|
||||
LV_USE_GLFW == 0 && \
|
||||
LV_USE_X11 == 0 && \
|
||||
LV_USE_LINUX_FBDEV == 0
|
||||
|
||||
#endif
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
|
||||
/* The default backend is the one that will end up at index 0
|
||||
* To add support for a new driver backend add the declaration
|
||||
* and append an entry to the available_backends array
|
||||
*/
|
||||
backend_init_t available_backends[] = {
|
||||
|
||||
#if LV_USE_LINUX_FBDEV
|
||||
backend_init_fbdev,
|
||||
#endif
|
||||
|
||||
#if LV_USE_LINUX_DRM
|
||||
backend_init_drm,
|
||||
#endif
|
||||
|
||||
backend_init_sdl,
|
||||
|
||||
#if LV_USE_WAYLAND
|
||||
backend_init_wayland,
|
||||
#endif
|
||||
|
||||
#if LV_USE_X11
|
||||
backend_init_x11,
|
||||
#endif
|
||||
|
||||
#if LV_USE_GLFW
|
||||
backend_init_glfw3,
|
||||
#endif
|
||||
|
||||
#if LV_USE_EVDEV
|
||||
backend_init_evdev,
|
||||
#endif
|
||||
NULL /* Sentinel */
|
||||
};
|
||||
|
||||
/* Contains the backend descriptors */
|
||||
static backend_t *backends[sizeof(available_backends) / sizeof(available_backends[0])];
|
||||
|
||||
/* Set once the user selects a backend - or it is set to the default backend */
|
||||
static backend_t *sel_display_backend = NULL;
|
||||
|
||||
/**********************
|
||||
* GLOBAL VARIABLES
|
||||
**********************/
|
||||
/* Contains global simulator settings common to each backend */
|
||||
simulator_settings_t settings;
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
void driver_backends_register(void)
|
||||
{
|
||||
int i;
|
||||
backend_init_t init_backend;
|
||||
backend_t *b;
|
||||
|
||||
i = 0;
|
||||
if (backends[i] != NULL) {
|
||||
/* backends are already registered - leave */
|
||||
return;
|
||||
}
|
||||
|
||||
while ((init_backend = available_backends[i]) != NULL) {
|
||||
|
||||
b = malloc(sizeof(backend_t));
|
||||
LV_ASSERT_NULL(b);
|
||||
|
||||
b->handle = malloc(sizeof(backend_handle_t));
|
||||
|
||||
init_backend = available_backends[i];
|
||||
LV_ASSERT_NULL(init_backend);
|
||||
|
||||
init_backend(b);
|
||||
backends[i] = b;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
int driver_backends_init_backend(char *backend_name)
|
||||
{
|
||||
backend_t *b;
|
||||
int i;
|
||||
display_backend_t *dispb;
|
||||
indev_backend_t *indevb;
|
||||
|
||||
if (backends[0] == NULL) {
|
||||
LV_LOG_ERROR("Please call driver_backends_register first");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (backend_name == NULL) {
|
||||
|
||||
/*
|
||||
* Set default display backend - which is the first defined
|
||||
* item in available_backends array
|
||||
*/
|
||||
LV_ASSERT_NULL(backends[0]);
|
||||
b = backends[0];
|
||||
|
||||
if (b->type != BACKEND_DISPLAY) {
|
||||
LV_LOG_ERROR("The default backend: %s is not a display driver backend", b->name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
backend_name = backends[0]->name;
|
||||
}
|
||||
|
||||
i = 0;
|
||||
while ((b = backends[i]) != NULL) {
|
||||
|
||||
/* Check if such a backend exists */
|
||||
if (strcmp(b->name, backend_name) == 0) {
|
||||
|
||||
if (b->type == BACKEND_DISPLAY) {
|
||||
/* Initialize the display */
|
||||
|
||||
dispb = b->handle->display;
|
||||
LV_ASSERT_NULL(dispb->init_display);
|
||||
dispb->display = dispb->init_display();
|
||||
|
||||
if (dispb->display == NULL) {
|
||||
LV_LOG_ERROR("Failed to init display with %s backend", b->name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
sel_display_backend = b;
|
||||
LV_LOG_INFO("Initialized %s display backend", b->name);
|
||||
break;
|
||||
|
||||
} else if (b->type == BACKEND_INDEV) {
|
||||
/* Initialize input device */
|
||||
|
||||
indevb = b->handle->indev;
|
||||
LV_ASSERT_NULL(indevb->init_indev);
|
||||
|
||||
/* The display driver backend - has to be initialized first */
|
||||
if (sel_display_backend == NULL) {
|
||||
LV_LOG_ERROR(
|
||||
"Failed to init indev backend: %s - display needs to be initialized",
|
||||
b->name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
LV_LOG_INFO("Initialized %s indev backend", b->name);
|
||||
|
||||
dispb = sel_display_backend->handle->display;
|
||||
|
||||
LV_ASSERT_NULL(dispb->display);
|
||||
indevb->init_indev(dispb->display);
|
||||
break;
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int driver_backends_print_supported(void)
|
||||
{
|
||||
int i;
|
||||
backend_t *b;
|
||||
|
||||
i = 0;
|
||||
if (backends[i] == NULL) {
|
||||
LV_LOG_ERROR("Please call driver_backends_register first");
|
||||
return -1;
|
||||
}
|
||||
|
||||
b = backends[i];
|
||||
|
||||
fprintf(stdout, "Default backend: %s\n", b->name);
|
||||
fprintf(stdout, "Supported backends: ");
|
||||
|
||||
while ((b = backends[i++]) != NULL) {
|
||||
fprintf(stdout, "%s ", b->name);
|
||||
}
|
||||
|
||||
fprintf(stdout, "\n");
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
int driver_backends_is_supported(char *backend_name)
|
||||
{
|
||||
char c;
|
||||
backend_t *b;
|
||||
char *name = backend_name;
|
||||
int i = 0;
|
||||
|
||||
while ((c = *backend_name) != '\0') {
|
||||
*backend_name = toupper(c);
|
||||
backend_name++;
|
||||
}
|
||||
|
||||
while ((b = backends[i++]) != NULL) {
|
||||
if (strcmp(b->name, name) == 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void driver_backends_run_loop(void)
|
||||
{
|
||||
display_backend_t *dispb;
|
||||
|
||||
if (sel_display_backend != NULL && sel_display_backend->handle->display != NULL) {
|
||||
|
||||
dispb = sel_display_backend->handle->display;
|
||||
dispb->run_loop();
|
||||
|
||||
} else {
|
||||
LV_LOG_ERROR("No backend has been selected - initialize the backend first");
|
||||
}
|
||||
}
|
||||
|
||||
/**********************
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
93
components/domotic_display/test_host/main/driver_backends.h
Normal file
93
components/domotic_display/test_host/main/driver_backends.h
Normal file
@ -0,0 +1,93 @@
|
||||
/**
|
||||
* @file driver_backends.h
|
||||
*
|
||||
* provides an abstration to support multiple graphical
|
||||
* driver backends at the same time whitout recompiling everything
|
||||
* each time
|
||||
*
|
||||
* E.g: this means LVGL can be compiled with both SDL or X11
|
||||
*
|
||||
* - see backend.h for the details on the interface.
|
||||
* - see the files in display_backends directory for examples
|
||||
* on how to use each driver
|
||||
*
|
||||
* Copyright (c) 2025 EDGEMTech Ltd.
|
||||
*
|
||||
* Author: EDGEMTech Ltd, Erik Tagirov (erik.tagirov@edgemtech.ch)
|
||||
*/
|
||||
|
||||
#ifndef DRIVER_BACKENDS_H
|
||||
#define DRIVER_BACKENDS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
|
||||
/*
|
||||
* Register all available backends
|
||||
* This function must be called first before any other
|
||||
* function
|
||||
*/
|
||||
void driver_backends_register(void);
|
||||
|
||||
/**
|
||||
* Initialize the specified backend
|
||||
* @description in case of a display driver backend
|
||||
* - create the lv_display, in case of a indev driver backend
|
||||
* create an input device
|
||||
*
|
||||
* @param backend_name the name of the backend to initialize FBDEV,DRM etc
|
||||
* @return 0 on success, -1 on error
|
||||
*/
|
||||
int driver_backends_init_backend(char *backend_name);
|
||||
|
||||
/**
|
||||
* @brief Checks if a backend exists and is supported
|
||||
* @param backend_name the backend name to check
|
||||
* @return 1 is supported, 0 not supported or invalid name
|
||||
*/
|
||||
int driver_backends_is_supported(char *backend_name);
|
||||
|
||||
/**
|
||||
* @brief Print supported backends
|
||||
* @description Prints a list of supported backends
|
||||
*
|
||||
* @return -1 if an error occurred, 0 on success
|
||||
*/
|
||||
int driver_backends_print_supported(void);
|
||||
|
||||
/**
|
||||
* @brief Enter the run loop
|
||||
* @description enter the run loop of the selected backend
|
||||
*/
|
||||
void driver_backends_run_loop(void);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*DRIVER_BACKENDS_H*/
|
||||
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,5 @@
|
||||
dependencies:
|
||||
lvgl/lvgl:
|
||||
version: 9.4.0
|
||||
#espressif/esp32_p4_function_ev_board:
|
||||
# version: "4.1.*"
|
||||
115
components/domotic_display/test_host/main/sdl.c
Normal file
115
components/domotic_display/test_host/main/sdl.c
Normal file
@ -0,0 +1,115 @@
|
||||
/**
|
||||
* @file sdl.c
|
||||
*
|
||||
* The backend for the SDL simulator
|
||||
*
|
||||
* Based on the original file from the repository
|
||||
*
|
||||
* - Move to a separate file
|
||||
* 2025 EDGEMTech Ltd.
|
||||
*
|
||||
* Author: EDGEMTech Ltd, Erik Tagirov (erik.tagirov@edgemtech.ch)
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "lvgl.h"
|
||||
#include "simulator_util.h"
|
||||
#include "simulator_settings.h"
|
||||
#include "backends.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* EXTERNAL VARIABLES
|
||||
**********************/
|
||||
extern simulator_settings_t settings;
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void run_loop_sdl(void);
|
||||
static lv_display_t *init_sdl(void);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
|
||||
static char *backend_name = "SDL";
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
/**
|
||||
* Register the backend
|
||||
* @param backend the backend descriptor
|
||||
* @description configures the descriptor
|
||||
*/
|
||||
int backend_init_sdl(backend_t *backend)
|
||||
{
|
||||
LV_ASSERT_NULL(backend);
|
||||
|
||||
backend->handle->display = malloc(sizeof(display_backend_t));
|
||||
LV_ASSERT_NULL(backend->handle->display);
|
||||
|
||||
backend->handle->display->init_display = init_sdl;
|
||||
backend->handle->display->run_loop = run_loop_sdl;
|
||||
backend->name = backend_name;
|
||||
backend->type = BACKEND_DISPLAY;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**********************
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
/**
|
||||
* Initialize the SDL display driver
|
||||
*
|
||||
* @return the LVGL display
|
||||
*/
|
||||
static lv_display_t *init_sdl(void)
|
||||
{
|
||||
lv_display_t *disp;
|
||||
|
||||
disp = lv_sdl_window_create(settings.window_width, settings.window_height);
|
||||
|
||||
if (disp == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return disp;
|
||||
}
|
||||
|
||||
/**
|
||||
* The run loop of the SDL driver
|
||||
*/
|
||||
static void run_loop_sdl(void)
|
||||
{
|
||||
uint32_t idle_time;
|
||||
|
||||
/* Handle LVGL tasks */
|
||||
while (true) {
|
||||
/* Returns the time to the next timer execution */
|
||||
idle_time = lv_timer_handler();
|
||||
usleep(idle_time * 1000);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,53 @@
|
||||
/**
|
||||
* @file simulator_settings.h
|
||||
*
|
||||
* global simulator settings
|
||||
*
|
||||
* The simulator settings is a global variable defined in
|
||||
* simulator_settings.c
|
||||
*
|
||||
* Copyright (c) 2025 EDGEMTech Ltd.
|
||||
*
|
||||
* Author: EDGEMTech Ltd, Erik Tagirov (erik.tagirov@edgemtech.ch)
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef SIMULATOR_SETTINGS_H
|
||||
#define SIMULATOR_SETTINGS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
typedef struct {
|
||||
uint32_t window_width;
|
||||
uint32_t window_height;
|
||||
bool maximize;
|
||||
bool fullscreen;
|
||||
} simulator_settings_t;
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*SIMULATOR_SETTINGS_H*/
|
||||
66
components/domotic_display/test_host/main/simulator_util.c
Normal file
66
components/domotic_display/test_host/main/simulator_util.c
Normal file
@ -0,0 +1,66 @@
|
||||
/**
|
||||
* @file simulator_util.c
|
||||
*
|
||||
* Utility functions
|
||||
* Copyright (c) 2025 EDGEMTech Ltd.
|
||||
*
|
||||
* Based on the original file from the repo
|
||||
*
|
||||
* Author: EDGEMTech Ltd, Erik Tagirov (erik.tagirov@edgemtech.ch)
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
const char *getenv_default(const char *name, const char *default_val)
|
||||
{
|
||||
const char* value = getenv(name);
|
||||
return value ? value : default_val;
|
||||
}
|
||||
|
||||
|
||||
void die(const char *msg, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start(args, msg);
|
||||
vfprintf(stderr, msg, args);
|
||||
va_end(args);
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
|
||||
}
|
||||
|
||||
/**********************
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
62
components/domotic_display/test_host/main/simulator_util.h
Normal file
62
components/domotic_display/test_host/main/simulator_util.h
Normal file
@ -0,0 +1,62 @@
|
||||
/**
|
||||
* @file simulator_util.h
|
||||
*
|
||||
* simulator_util.h - Header file for the utility functions
|
||||
* used by the simulator
|
||||
*
|
||||
* Copyright (c) 2025 EDGEMTech Ltd.
|
||||
*
|
||||
* Author: EDGEMTech Ltd, Erik Tagirov (erik.tagirov@edgemtech.ch)
|
||||
*/
|
||||
|
||||
#ifndef SIMULATOR_UTIL_H
|
||||
#define SIMULATOR_UTIL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include <stdarg.h>
|
||||
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
|
||||
/**
|
||||
* @description Wrapper around getenv(3), allowing to set a default value
|
||||
* @param name The name of the environment variable
|
||||
* @param dflt The default value to set if the variable is not present.
|
||||
* @return default value or value of environment variable.
|
||||
*/
|
||||
const char *getenv_default(const char *name, const char *default_val);
|
||||
|
||||
|
||||
/**
|
||||
* @description Centralized exit point, called due to an error
|
||||
* @param msg The message to display on stderr before killing the program
|
||||
* @param ... Values for the format string.
|
||||
*/
|
||||
void die(const char *msg, ...);
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*SIMULATOR_UTIL_H*/
|
||||
137
components/domotic_display/test_host/main/test_ihm.c
Normal file
137
components/domotic_display/test_host/main/test_ihm.c
Normal file
@ -0,0 +1,137 @@
|
||||
|
||||
#define LV_USE_SDL 1
|
||||
|
||||
#include <stdio.h>
|
||||
#include "esp_wifi.h"
|
||||
#include "ihm.h"
|
||||
#include "mqtt_client.h"
|
||||
#include "backends.h"
|
||||
#include <unistd.h>
|
||||
#include "driver_backends.h"
|
||||
#include "simulator_util.h"
|
||||
#include "simulator_settings.h"
|
||||
|
||||
esp_mqtt_client_handle_t client;
|
||||
|
||||
/* contains the name of the selected backend if user
|
||||
* has specified one on the command line */
|
||||
static char *selected_backend;
|
||||
|
||||
/* Global simulator settings, defined in lv_linux_backend.c */
|
||||
extern simulator_settings_t settings;
|
||||
|
||||
void die(const char *msg, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start(args, msg);
|
||||
vfprintf(stderr, msg, args);
|
||||
va_end(args);
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Print LVGL version
|
||||
*/
|
||||
static void print_lvgl_version(void)
|
||||
{
|
||||
fprintf(stdout, "%d.%d.%d-%s\n",
|
||||
LVGL_VERSION_MAJOR,
|
||||
LVGL_VERSION_MINOR,
|
||||
LVGL_VERSION_PATCH,
|
||||
LVGL_VERSION_INFO);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Print usage information
|
||||
*/
|
||||
static void print_usage(void)
|
||||
{
|
||||
fprintf(stdout, "\nlvglsim [-V] [-B] [-b backend_name] [-W window_width] [-H window_height]\n\n");
|
||||
fprintf(stdout, "-V print LVGL version\n");
|
||||
fprintf(stdout, "-B list supported backends\n");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Configure simulator
|
||||
* @description process arguments recieved by the program to select
|
||||
* appropriate options
|
||||
* @param argc the count of arguments in argv
|
||||
* @param argv The arguments
|
||||
*/
|
||||
static void configure_simulator(int argc, char **argv)
|
||||
{
|
||||
int opt = 0;
|
||||
|
||||
selected_backend = NULL;
|
||||
driver_backends_register();
|
||||
|
||||
const char *env_w = getenv("LV_SIM_WINDOW_WIDTH");
|
||||
const char *env_h = getenv("LV_SIM_WINDOW_HEIGHT");
|
||||
/* Default values */
|
||||
settings.window_width = atoi(env_w ? env_w : "1024");
|
||||
settings.window_height = atoi(env_h ? env_h : "600");
|
||||
|
||||
/* Parse the command-line options. */
|
||||
while ((opt = getopt (argc, argv, "b:fmW:H:BVh")) != -1) {
|
||||
switch (opt) {
|
||||
case 'h':
|
||||
print_usage();
|
||||
exit(EXIT_SUCCESS);
|
||||
break;
|
||||
case 'V':
|
||||
print_lvgl_version();
|
||||
exit(EXIT_SUCCESS);
|
||||
break;
|
||||
case 'B':
|
||||
driver_backends_print_supported();
|
||||
exit(EXIT_SUCCESS);
|
||||
break;
|
||||
case 'b':
|
||||
if (driver_backends_is_supported(optarg) == 0) {
|
||||
die("error no such backend: %s\n", optarg);
|
||||
}
|
||||
selected_backend = strdup(optarg);
|
||||
break;
|
||||
case 'W':
|
||||
settings.window_width = atoi(optarg);
|
||||
break;
|
||||
case 'H':
|
||||
settings.window_height = atoi(optarg);
|
||||
break;
|
||||
case ':':
|
||||
print_usage();
|
||||
die("Option -%c requires an argument.\n", optopt);
|
||||
break;
|
||||
case '?':
|
||||
print_usage();
|
||||
die("Unknown option -%c.\n", optopt);
|
||||
}
|
||||
}
|
||||
}
|
||||
int main(int argc, char const *argv[])
|
||||
{
|
||||
/* code */
|
||||
printf("hello\n");
|
||||
init_display_ihm();
|
||||
|
||||
/* Initialize LVGL. */
|
||||
lv_init();
|
||||
configure_simulator(argc, argv);
|
||||
/* Initialize the configured backend */
|
||||
if (driver_backends_init_backend(selected_backend) == -1) {
|
||||
die("Failed to initialize display backend");
|
||||
}
|
||||
lv_sdl_mouse_create();
|
||||
lv_sdl_keyboard_create();
|
||||
lv_sdl_mousewheel_create();
|
||||
lv_sdl_mousewheel_create();
|
||||
draw_ihm();
|
||||
/* Enter the run loop of the selected backend */
|
||||
driver_backends_run_loop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
6
components/domotic_display/test_host/mock/bsp/esp-bsp.h
Normal file
6
components/domotic_display/test_host/mock/bsp/esp-bsp.h
Normal file
@ -0,0 +1,6 @@
|
||||
int bsp_display_lock(int arg){
|
||||
return 1;
|
||||
}
|
||||
void bsp_display_unlock(){
|
||||
|
||||
}
|
||||
29
components/domotic_display/test_host/mock/esp_wifi.h
Normal file
29
components/domotic_display/test_host/mock/esp_wifi.h
Normal file
@ -0,0 +1,29 @@
|
||||
#define BIT0 0x00000001
|
||||
#define WIFI_CONNECTED_BIT BIT0
|
||||
|
||||
typedef enum {
|
||||
WIFI_EVENT_WIFI_READY = 0, /**< WiFi ready */
|
||||
WIFI_EVENT_SCAN_DONE, /**< finish scanning AP */
|
||||
WIFI_EVENT_STA_START, /**< station start */
|
||||
WIFI_EVENT_STA_STOP, /**< station stop */
|
||||
WIFI_EVENT_STA_CONNECTED, /**< station connected to AP */
|
||||
WIFI_EVENT_STA_DISCONNECTED, /**< station disconnected from AP */
|
||||
WIFI_EVENT_STA_AUTHMODE_CHANGE, /**< the auth mode of AP connected by station changed */
|
||||
WIFI_EVENT_STA_GOT_IP, /**< station got IP from connected AP */
|
||||
WIFI_EVENT_STA_WPS_ER_SUCCESS, /**< station wps succeeds in enrollee mode */
|
||||
WIFI_EVENT_STA_WPS_ER_FAILED, /**< station wps fails in enrollee mode */
|
||||
WIFI_EVENT_STA_WPS_ER_TIMEOUT, /**< station wps timeout in enrollee mode */
|
||||
WIFI_EVENT_STA_WPS_ER_PIN, /**< station wps pin code in enrollee mode */
|
||||
WIFI_EVENT_AP_START, /**< soft-AP start */
|
||||
WIFI_EVENT_AP_STOP, /**< soft-AP stop */
|
||||
WIFI_EVENT_AP_STACONNECTED, /**< a station connected to soft-AP */
|
||||
WIFI_EVENT_AP_STADISCONNECTED, /**< a station disconnected from soft-AP */
|
||||
WIFI_EVENT_AP_PROBEREQRECVED, /**< Receive probe request packet in soft-AP interface */
|
||||
WIFI_EVENT_AP_STA_GOT_IP6, /**< station or ap interface v6IP addr is preferred */
|
||||
WIFI_EVENT_ETH_START, /**< ethernet start */
|
||||
WIFI_EVENT_ETH_STOP, /**< ethernet stop */
|
||||
WIFI_EVENT_ETH_CONNECTED, /**< ethernet phy link up */
|
||||
WIFI_EVENT_ETH_DISCONNECTED, /**< ethernet phy link down */
|
||||
WIFI_EVENT_ETH_GOT_IP, /**< ethernet got IP from connected AP */
|
||||
WIFI_EVENT_MAX
|
||||
} wifi_event_id_t;
|
||||
1047
components/domotic_display/test_host/sdkconfig
Normal file
1047
components/domotic_display/test_host/sdkconfig
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,9 @@
|
||||
#include <stdbool.h>
|
||||
#include "freertos/FreeRTOS.h"
|
||||
|
||||
#define BIT0 0x00000001
|
||||
#define WIFI_CONNECTED_BIT BIT0
|
||||
|
||||
typedef enum eIHMEvent_t{
|
||||
IHM_EVT_WIFI_STATUS,
|
||||
IHM_EVT_TIME_SETTED,
|
||||
@ -19,7 +22,6 @@ typedef struct IHM_EVENT
|
||||
bool bNeedToFreeData; // ← Important !
|
||||
} xIHMEvent_t;
|
||||
|
||||
#define WIFI_CONNECTED_BIT BIT0
|
||||
typedef enum domo_events{
|
||||
EVT_WIFI_CONNECTED,
|
||||
EVT_TIME_SETTED,
|
||||
|
||||
@ -1,3 +1,11 @@
|
||||
IF(ESP_PLATFORM)
|
||||
idf_component_register(SRCS "meteofrance.c"
|
||||
INCLUDE_DIRS "include"
|
||||
REQUIRES json esp_http_client esp-tls stateManagement)
|
||||
REQUIRES json esp_http_client esp-tls stateManagement eventsManager)
|
||||
else()
|
||||
add_library(meteofrance SHARED
|
||||
meteofrance.c)
|
||||
target_include_directories(meteofrance PUBLIC ./include)
|
||||
target_link_libraries(meteofrance PRIVATE stateManagement FreeRTOS freertos_kernel)
|
||||
|
||||
endif()
|
||||
@ -11,8 +11,6 @@
|
||||
|
||||
#include "meteofrance.h"
|
||||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "esp_system.h"
|
||||
#include "esp_log.h"
|
||||
|
||||
|
||||
@ -1,2 +1,9 @@
|
||||
IF(ESP_PLATFORM)
|
||||
idf_component_register(SRCS "stateManagement.c"
|
||||
INCLUDE_DIRS "include")
|
||||
else()
|
||||
add_library(stateManagement STATIC
|
||||
stateManagement.c
|
||||
)
|
||||
target_include_directories(stateManagement PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
endif()
|
||||
@ -1,6 +1,11 @@
|
||||
#include <stdio.h>
|
||||
#include "stateManagement.h"
|
||||
|
||||
struct state mainState={
|
||||
.wifi_init=false,
|
||||
.display_init=false
|
||||
};
|
||||
|
||||
void func(void)
|
||||
{
|
||||
|
||||
|
||||
@ -7,7 +7,6 @@ dependencies:
|
||||
require: private
|
||||
version: '>=1.0.0,<2.0.0'
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
source:
|
||||
@ -18,7 +17,6 @@ dependencies:
|
||||
component_hash: 327091394b9ef5c2cd395a960ab70ae64479e0a8831cbd9925e38895fad93719
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=4.1.0'
|
||||
source:
|
||||
@ -29,18 +27,22 @@ dependencies:
|
||||
component_hash: cbb76089dc2c5749f7b470e2e70aedc44c9da519e04eb9a67d4c7ec275229e53
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=4.1.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.0.3
|
||||
espressif/bh1750:
|
||||
dependencies: []
|
||||
source:
|
||||
path: /home/marc/rgb_lcd/components/espressif__bh1750
|
||||
type: local
|
||||
version: 1.0.3
|
||||
espressif/cmake_utilities:
|
||||
component_hash: 351350613ceafba240b761b4ea991e0f231ac7a9f59a9ee901f751bddc0bb18f
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=4.1'
|
||||
source:
|
||||
@ -48,20 +50,19 @@ dependencies:
|
||||
type: service
|
||||
version: 0.5.3
|
||||
espressif/eppp_link:
|
||||
component_hash: c2fd9c57ac14a68a62c9d9cdeec39a2b265abc16779196ce2c9f5000c9a4dd8b
|
||||
component_hash: 41f6519edda527ec6a0553c872ebaf8fc6d3812523c9d4c8d1660ad21c720abe
|
||||
dependencies:
|
||||
- name: espressif/esp_serial_slave_link
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ^1.1.0
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=5.2'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 0.2.0
|
||||
version: 1.1.3
|
||||
espressif/esp32_p4_function_ev_board:
|
||||
component_hash: 1e0436b3d220275d6b7930330b1a9b828fedf0dbc81006531e592b059842641e
|
||||
dependencies:
|
||||
@ -102,7 +103,6 @@ dependencies:
|
||||
component_hash: 014948481bda426cd46714f297fe1891711246c62bea288863a8cc8cf13ef1f0
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=4.0'
|
||||
source:
|
||||
@ -110,7 +110,7 @@ dependencies:
|
||||
type: service
|
||||
version: 1.2.0
|
||||
espressif/esp_hosted:
|
||||
component_hash: fba52659b7d0256b0f6bd497ebce2492bf93506d797935a292f0fd864e364e47
|
||||
component_hash: a19249042b9987097f89e682ec05d7fad1bd2186e7b758363a2ddb5787ef7d98
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
@ -118,9 +118,9 @@ dependencies:
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 2.0.1
|
||||
version: 2.6.5
|
||||
espressif/esp_lcd_ek79007:
|
||||
component_hash: 07c1afab7e9fd4dd2fd06ff9245e65327c5bbd5485efec199496e19a9304d47b
|
||||
component_hash: 8005700b7f10c7136b6e2a3f19a48f972aa1d13ed107ed298574e8d24d17ea83
|
||||
dependencies:
|
||||
- name: espressif/cmake_utilities
|
||||
registry_url: https://components.espressif.com
|
||||
@ -134,9 +134,9 @@ dependencies:
|
||||
type: service
|
||||
targets:
|
||||
- esp32p4
|
||||
version: 1.0.2
|
||||
version: 1.0.4
|
||||
espressif/esp_lcd_ili9881c:
|
||||
component_hash: f4f374226b62baf13f735864e8fae58e17c537df34d598e059f6caad4761ef65
|
||||
component_hash: eb9ba0484d1d14171b69e5d192716fb1cdd6ef068aa4014dc3202486e124498e
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
@ -146,12 +146,11 @@ dependencies:
|
||||
type: service
|
||||
targets:
|
||||
- esp32p4
|
||||
version: 1.0.1
|
||||
version: 1.0.2
|
||||
espressif/esp_lcd_touch:
|
||||
component_hash: 779b4ba2464a3ae85681e4b860caa5fdc35801458c23f3039ee761bae7f442a4
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=4.4.2'
|
||||
source:
|
||||
@ -187,18 +186,17 @@ dependencies:
|
||||
type: service
|
||||
version: 2.6.0
|
||||
espressif/esp_serial_slave_link:
|
||||
component_hash: 8c534b7d4986ca0e4c41db71f559492b795ab862f1d15359d7993034696b7bcc
|
||||
component_hash: ac1776806de0a6e371c84e87898bb983e19ce62aa7f1e2e5c4a3b0234a575d2c
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.1.0
|
||||
version: 1.1.2
|
||||
espressif/esp_wifi_remote:
|
||||
component_hash: 6448c379c1dceef7f0dedd30635006118e8b768be884f3804d4a94930556e08c
|
||||
component_hash: 20393ed850b2cb40cadcf369b4c852ef5af49e2d89e58774d968c57b0c436fd3
|
||||
dependencies:
|
||||
- name: espressif/eppp_link
|
||||
registry_url: https://components.espressif.com
|
||||
@ -216,13 +214,13 @@ dependencies:
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 0.9.2
|
||||
version: 0.14.4
|
||||
idf:
|
||||
source:
|
||||
type: idf
|
||||
version: 5.5.0
|
||||
version: 5.5.1
|
||||
joltwallet/littlefs:
|
||||
component_hash: e1dbe782be5aa58e879fe9f22bee60e5ff68acbfe3793d92a2e730c27374c787
|
||||
component_hash: 1808d73e99168f6f3c26dd31799a248484762b3a320ec4962dec11a145f4277f
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
@ -230,28 +228,28 @@ dependencies:
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 1.19.2
|
||||
version: 1.20.3
|
||||
lvgl/lvgl:
|
||||
component_hash: 2409fdc84e9766d2a18afd84b051aef3f838348136cdb1c10ac2e8bcdb012bf6
|
||||
component_hash: 17e68bfd21f0edf4c3ee838e2273da840bf3930e5dbc3bfa6c1190c3aed41f9f
|
||||
dependencies: []
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 9.2.0
|
||||
version: 9.4.0
|
||||
suda-morris/am2302_rmt:
|
||||
component_hash: b46dd8c20dee72654e8ea4a43b16e8a93e984a6c10426392a4b8486fed50ca93
|
||||
component_hash: 890df8ebfec652eb9f8e1d612959f00a951dbe9241335e5e335fc7fb1468ea32
|
||||
dependencies:
|
||||
- name: idf
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
version: '>=5.1'
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
version: 1.0.0
|
||||
version: 1.1.0
|
||||
direct_dependencies:
|
||||
- chmorgan/esp-audio-player
|
||||
- chmorgan/esp-file-iterator
|
||||
- espressif/bh1750
|
||||
- espressif/esp32_p4_function_ev_board
|
||||
- espressif/esp_lcd_touch_gt911
|
||||
- espressif/esp_lvgl_port
|
||||
@ -260,6 +258,6 @@ direct_dependencies:
|
||||
- joltwallet/littlefs
|
||||
- lvgl/lvgl
|
||||
- suda-morris/am2302_rmt
|
||||
manifest_hash: fc9086d177c610d5a3ed802c7e759df686413041315e1f9bed4bca07bf42740f
|
||||
manifest_hash: de62997a910937d24e39c015fd99bd1079849ba3ce9ed3906a52bae461cf5834
|
||||
target: esp32p4
|
||||
version: 2.0.0
|
||||
|
||||
6
gdbinit
6
gdbinit
@ -1,6 +0,0 @@
|
||||
target remote :3333
|
||||
set remote hardware-watchpoint-limit 2
|
||||
mon reset halt
|
||||
maintenance flush register-cache
|
||||
thb app_main
|
||||
c
|
||||
4
kconfigs_projbuild.in
Normal file
4
kconfigs_projbuild.in
Normal file
@ -0,0 +1,4 @@
|
||||
source "/home/marc/esp/v5.5.1/esp-idf/components/esp_app_format/Kconfig.projbuild"
|
||||
source "/home/marc/esp/v5.5.1/esp-idf/components/esp_rom/Kconfig.projbuild"
|
||||
source "/home/marc/esp/v5.5.1/esp-idf/components/partition_table/Kconfig.projbuild"
|
||||
source "/home/marc/rgb_lcd/components/protocol_examples_common/Kconfig.projbuild"
|
||||
@ -3,7 +3,7 @@ set(EXTRA_COMPONENT_DIRS ../components)
|
||||
set(comps heap nvs_flash meteofrance esp_netif image_downloader fatfs protocol_examples_common mqtt domotic_display )
|
||||
|
||||
if(${IDF_TARGET} STREQUAL "esp32p4")
|
||||
list(APPEND comps sdmmc vfs littlefs wifi_logger app_update esp_https_ota espcoredump esp_http_server esp_wifi)
|
||||
list(APPEND comps bsp_extra esp32_p4_function_ev_board sdmmc vfs littlefs wifi_logger app_update esp_https_ota espcoredump esp_http_server esp_wifi )
|
||||
endif()
|
||||
idf_component_register(SRC_DIRS .
|
||||
INCLUDE_DIRS "."
|
||||
|
||||
@ -26,19 +26,19 @@ void splitIt(char *payload, unsigned int length, float *datas)
|
||||
char *saveptr1;
|
||||
|
||||
token = strtok_r(payload, sep, &saveptr1);
|
||||
datas[0] = atoff(token);
|
||||
datas[0] = atof(token);
|
||||
ESP_LOGE(TAG,"%f",datas[0]);
|
||||
|
||||
token = strtok_r(NULL, sep, &saveptr1);
|
||||
datas[1] = atoff(token);
|
||||
datas[1] = atof(token);
|
||||
ESP_LOGE(TAG,"%f",datas[1]);
|
||||
|
||||
token = strtok_r(NULL, sep, &saveptr1);
|
||||
datas[2] = atoff(token);
|
||||
datas[2] = atof(token);
|
||||
ESP_LOGE(TAG,"%f",datas[2]);
|
||||
|
||||
token = strtok_r(NULL, sep, &saveptr1);
|
||||
datas[3] = atoff(token);
|
||||
datas[3] = atof(token);
|
||||
ESP_LOGE(TAG,"%f",datas[3]);
|
||||
}
|
||||
|
||||
|
||||
@ -1,28 +1,29 @@
|
||||
dependencies:
|
||||
espressif/bh1750: "^1.0.3"
|
||||
espressif/esp_wifi_remote:
|
||||
espressif/bh1750: ^1.0.3
|
||||
espressif/esp_wifi_remote:
|
||||
rules:
|
||||
- if: target in ["esp32p4"]
|
||||
version: "0.14.4"
|
||||
- if: target in ["esp32p4"]
|
||||
version: 0.14.4
|
||||
|
||||
suda-morris/am2302_rmt:
|
||||
version: "^1.0.0"
|
||||
rules:
|
||||
- if: target in ["esp32p4"]
|
||||
joltwallet/littlefs:
|
||||
suda-morris/am2302_rmt:
|
||||
version: ^1.0.0
|
||||
rules:
|
||||
- if: target in ["esp32p4"]
|
||||
version: "^1.14.8"
|
||||
- if: target in ["esp32p4"]
|
||||
joltwallet/littlefs:
|
||||
rules:
|
||||
- if: target in ["esp32p4"]
|
||||
version: ^1.14.8
|
||||
esp_lcd_touch_gt911:
|
||||
rules:
|
||||
- if: target in ["esp32p4"]
|
||||
- if: target in ["esp32p4"]
|
||||
esp_lvgl_port:
|
||||
rules:
|
||||
- if: target in ["esp32p4"]
|
||||
- if: target in ["esp32p4"]
|
||||
version: 2.6.0
|
||||
idf:
|
||||
version: '5.5.*'
|
||||
version: 5.5.*
|
||||
lvgl/lvgl:
|
||||
version: 9.2.0
|
||||
version: 9.4.0
|
||||
#espressif/esp32_p4_function_ev_board:
|
||||
# version: "4.1.*"
|
||||
# version: "4.1.*"
|
||||
espressif/esp32_p4_function_ev_board: '*'
|
||||
|
||||
51
main/images/mqtt_ko.c
Normal file
51
main/images/mqtt_ko.c
Normal file
@ -0,0 +1,51 @@
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MQTT_KO
|
||||
#define LV_ATTRIBUTE_MQTT_KO
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_MQTT_KO
|
||||
uint8_t mqtt_ko_map[] = {
|
||||
|
||||
0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x39,0x39,0x39,0xff,0xaa,0xa9,0xaa,0xff,0xed,0xed,0xed,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0xf1,0xf1,0xff,0x83,0x83,0x83,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xe8,
|
||||
0xb5,0xb3,0xb5,0xfd,0xaa,0xaa,0xaa,0xff,0x8d,0x8d,0x8d,0xff,0x3f,0x3d,0x3f,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x27,0x21,0x27,0xff,0xb6,0xb6,0xb6,0xff,0xfa,0xfa,0xfa,0xff,0xf9,0xf9,0xf9,0xff,0xc3,0xc3,0xc3,0xff,0x4d,0x4d,0x4d,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdd,0xdd,0xdd,0xff,0x9d,0x9c,0x9d,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x6d,0x6d,0x6d,0xff,0xbd,0xbd,0xbd,0xff,0xb5,0xb5,0xb5,0xff,0x5f,0x5f,0x5f,0xff,0x01,0x01,0x01,0xff,0x00,0x00,0x00,0xff,
|
||||
0xe7,0xe7,0xe7,0xff,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xec,0xec,0xec,0xff,0x81,0x7f,0x81,0xfe,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x23,0x22,0x23,0xff,0x16,0x16,0x16,0xff,0x01,0x01,0x01,0xff,0x17,0x17,0x17,0xff,0x6a,0x68,0x6a,0xff,
|
||||
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x3e,0x3c,0x3e,0xff,0x98,0x97,0x98,0xff,0xd9,0xd8,0xd9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfc,0xfc,0xff,0xad,0xac,0xad,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x05,0x05,0x05,0xff,0xd2,0xd2,0xd2,0xff,0xf5,0xf4,0xf5,0xff,
|
||||
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x72,0x71,0x72,0xff,0xe2,0xe2,0xe2,0xff,0xc4,0xc4,0xc4,0xff,0x7f,0x7f,0x7f,0xff,0x09,0x09,0x09,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x3b,0x3b,0x3b,0xff,0xf7,0xf7,0xf7,0xff,0xff,0xff,0xff,0xff,
|
||||
0xe7,0xe7,0xe7,0xff,0xcf,0xce,0xcf,0xfe,0xa9,0xa9,0xa9,0xff,0x4f,0x4f,0x4f,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x10,0x09,0x10,0xff,0x6a,0x6a,0x6a,0xff,0x38,0x38,0x38,0xff,0x00,0x00,0x00,0xff,0x04,0x04,0x04,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xa7,0xa6,0xa7,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5,0xf5,0xf5,0xff,0x94,0x94,0x94,0xff,0x1e,0x1e,0x1e,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x12,0x12,0x12,0xff,0xc2,0xc2,0xc2,0xff,0x8d,0x8c,0x8d,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xe4,0xe3,0xe4,0xfe,
|
||||
0xc5,0xc3,0xc5,0xfe,0xd5,0xd5,0xd5,0xff,0xf0,0xef,0xf0,0xff,0xc7,0xc7,0xc7,0xff,0xb6,0xb6,0xb6,0xff,0x5a,0x5a,0x5a,0xff,0x01,0x01,0x01,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xaf,0xae,0xaf,0xff,0xfd,0xfd,0xfd,0xff,0xed,0xec,0xed,0xff,0x20,0x17,0x20,0xfe,0x00,0x00,0x00,0xff,0x92,0x90,0x92,0xfe,
|
||||
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x19,0x19,0x19,0xff,0x66,0x65,0x66,0xff,0x30,0x30,0x30,0xff,0x03,0x03,0x03,0xff,0x02,0x02,0x02,0xff,0x05,0x05,0x05,0xff,0x00,0x00,0x00,0xff,0x69,0x67,0x69,0xff,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xff,0xa5,0xa4,0xa5,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
|
||||
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x02,0x02,0x02,0xff,0x04,0x04,0x04,0xff,0x4a,0x4a,0x4a,0xff,0xa3,0xa2,0xa3,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xcb,0xcb,0xcb,0xff,0xff,0xff,0xff,0xff,0xe7,0xe6,0xe7,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
|
||||
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x63,0x63,0x63,0xff,0xe6,0xe6,0xe6,0xff,0xfb,0xfa,0xfb,0xff,0x51,0x50,0x51,0xff,0x00,0x00,0x00,0xff,0x7c,0x7c,0x7c,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x5d,0x5b,0x5d,0xff,0x00,0x00,0x00,0xff,
|
||||
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x16,0x09,0x16,0xfe,0xf3,0xf2,0xf3,0xff,0xff,0xff,0xff,0xff,0xb7,0xb6,0xb7,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xf6,0xf6,0xf6,0xff,0xff,0xff,0xff,0xff,0xa0,0x9f,0xa0,0xff,0x00,0x00,0x00,0xff,
|
||||
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xc6,0xc5,0xc6,0xff,0xff,0xff,0xff,0xff,0xda,0xd9,0xda,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xe1,0xe1,0xe1,0xff,0xff,0xff,0xff,0xff,0xbc,0xbb,0xbc,0xfe,0x00,0x00,0x00,0xff,
|
||||
0x00,0x00,0x00,0xec,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xff,0xe7,0xe7,0xe7,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xcb,0xcb,0xcb,0xff,0xff,0xff,0xff,0xff,0xcb,0xcb,0xcb,0xff,0x00,0x00,0x00,0xe0,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t mqtt_ko = {
|
||||
.header.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.header.cf = LV_COLOR_FORMAT_ARGB8888,
|
||||
.header.flags = 0,
|
||||
.header.w = 15,
|
||||
.header.h = 15,
|
||||
.header.stride = 60,
|
||||
.data_size = sizeof(mqtt_ko_map),
|
||||
.data = mqtt_ko_map,
|
||||
};
|
||||
|
||||
116
main/images/mqtt_ok.c
Normal file
116
main/images/mqtt_ok.c
Normal file
@ -0,0 +1,116 @@
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MQTT_OK
|
||||
#define LV_ATTRIBUTE_MQTT_OK
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_MQTT_OK
|
||||
uint8_t mqtt_ok_map[] = {
|
||||
|
||||
0x66,0x00,0x66,0xe0,0xc1,0xb3,0xc1,0xfd,0x99,0x7f,0x99,0xfe,0xe7,0xe3,0xe7,0xfe,
|
||||
0x6a,0x17,0x6a,0xfe,0x68,0x0a,0x68,0xfe,0xd6,0xce,0xd6,0xfe,0xe8,0xe3,0xe8,0xfe,
|
||||
0xa5,0x90,0xa5,0xfe,0xce,0xc3,0xce,0xfe,0xcf,0xc5,0xcf,0xfe,0xf5,0xf3,0xf5,0xfe,
|
||||
0x66,0x00,0x66,0xe1,0xc6,0xbb,0xc6,0xfe,0xff,0xff,0xff,0xff,0x66,0x00,0x66,0xff,
|
||||
0xd3,0xcb,0xd3,0xff,0xb8,0xaa,0xb8,0xff,0xfb,0xfa,0xfb,0xff,0x72,0x38,0x72,0xff,
|
||||
0xc2,0xb6,0xc2,0xff,0xb8,0xa9,0xb8,0xff,0x72,0x39,0x72,0xff,0x74,0x3c,0x74,0xff,
|
||||
0xeb,0xe7,0xeb,0xff,0xfc,0xfb,0xfc,0xff,0xea,0xe7,0xea,0xff,0x9f,0x87,0x9f,0xff,
|
||||
0xf7,0xf5,0xf7,0xff,0x9d,0x85,0x9d,0xff,0xfe,0xfe,0xfe,0xff,0xfc,0xfc,0xfc,0xff,
|
||||
0xf3,0xf1,0xf3,0xff,0xb5,0xa6,0xb5,0xff,0xef,0xed,0xef,0xff,0xe6,0xe2,0xe6,0xff,
|
||||
0xee,0xeb,0xee,0xff,0xf2,0xf0,0xf2,0xff,0xdc,0xd6,0xdc,0xff,0xc5,0xb9,0xc5,0xff,
|
||||
0xfa,0xf8,0xfa,0xff,0x74,0x3d,0x74,0xff,0x9e,0x86,0x9e,0xff,0x86,0x61,0x86,0xff,
|
||||
0xe2,0xdd,0xe2,0xff,0x8e,0x6f,0x8e,0xff,0xa3,0x8d,0xa3,0xff,0x6c,0x21,0x6c,0xff,
|
||||
0xae,0x9c,0xae,0xff,0xb4,0xa4,0xb4,0xff,0xfe,0xfd,0xfe,0xff,0xde,0xd8,0xde,0xff,
|
||||
0x83,0x5b,0x83,0xff,0x7c,0x4f,0x7c,0xff,0xee,0xec,0xee,0xff,0xaa,0x97,0xaa,0xff,
|
||||
0xf0,0xee,0xf0,0xff,0xc9,0xbe,0xc9,0xff,0xa4,0x8f,0xa4,0xff,0xea,0xe6,0xea,0xff,
|
||||
0xc5,0xba,0xc5,0xff,0x90,0x71,0x90,0xff,0xfb,0xfb,0xfb,0xff,0xc9,0xbf,0xc9,0xff,
|
||||
0x68,0x10,0x68,0xff,0x7f,0x53,0x7f,0xff,0xef,0xec,0xef,0xff,0xe8,0xe4,0xe8,0xff,
|
||||
0xcb,0xc1,0xcb,0xff,0xe3,0xde,0xe3,0xff,0xb0,0x9f,0xb0,0xff,0x7d,0x50,0x7d,0xff,
|
||||
0x8a,0x68,0x8a,0xff,0xdf,0xd9,0xdf,0xff,0xe5,0xe1,0xe5,0xff,0xf7,0xf6,0xf7,0xff,
|
||||
0x96,0x7c,0x96,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,
|
||||
|
||||
0x00,0x0f,0x0f,0x0f,0x0f,0x16,0x11,0x22,0x0e,0x0e,0x20,0x1d,0x0f,0x0f,0x00,
|
||||
0x01,0x11,0x2e,0x29,0x0f,0x0f,0x0f,0x2f,0x14,0x12,0x0e,0x1f,0x15,0x0f,0x0f,
|
||||
0x0e,0x0e,0x0e,0x0e,0x2c,0x30,0x0f,0x0f,0x0f,0x2d,0x25,0x0e,0x0e,0x11,0x0f,
|
||||
0x1a,0x38,0x0e,0x0e,0x0e,0x0e,0x36,0x02,0x0f,0x0f,0x17,0x23,0x0e,0x1e,0x1b,
|
||||
0x0f,0x0f,0x17,0x37,0x33,0x0e,0x0e,0x0e,0x3c,0x0f,0x0f,0x13,0x24,0x0e,0x1c,
|
||||
0x0f,0x0f,0x0f,0x0f,0x0f,0x3d,0x18,0x0e,0x0e,0x10,0x0f,0x0f,0x2b,0x12,0x0e,
|
||||
0x18,0x06,0x15,0x35,0x0f,0x0f,0x40,0x10,0x0e,0x0e,0x39,0x0f,0x0f,0x21,0x0e,
|
||||
0x0e,0x0e,0x0e,0x12,0x3f,0x16,0x0f,0x0f,0x10,0x0e,0x0e,0x3a,0x0f,0x0f,0x07,
|
||||
0x09,0x26,0x28,0x0e,0x0e,0x03,0x41,0x0f,0x0f,0x45,0x0e,0x42,0x04,0x0f,0x08,
|
||||
0x0f,0x0f,0x13,0x27,0x32,0x0e,0x43,0x13,0x0f,0x48,0x19,0x0e,0x31,0x0f,0x0f,
|
||||
0x0f,0x0f,0x0f,0x0f,0x2a,0x3e,0x0e,0x44,0x0f,0x0f,0x10,0x0e,0x3b,0x0f,0x0f,
|
||||
0x0f,0x0f,0x0f,0x0f,0x0f,0x14,0x0e,0x19,0x47,0x0f,0x4c,0x0e,0x0e,0x34,0x0f,
|
||||
0x0f,0x0f,0x0f,0x0f,0x0f,0x05,0x0b,0x0e,0x14,0x0f,0x0f,0x4b,0x0e,0x46,0x0f,
|
||||
0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0a,0x0e,0x49,0x0f,0x0f,0x4a,0x0e,0x0d,0x0f,
|
||||
0x00,0x0f,0x0f,0x0f,0x0f,0x0f,0x11,0x0e,0x1a,0x0f,0x0f,0x10,0x0e,0x10,0x0c,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t mqtt_ok = {
|
||||
.header.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.header.cf = LV_COLOR_FORMAT_I8,
|
||||
.header.flags = 0,
|
||||
.header.w = 15,
|
||||
.header.h = 15,
|
||||
.header.stride = 15,
|
||||
.data_size = sizeof(mqtt_ok_map),
|
||||
.data = mqtt_ok_map,
|
||||
};
|
||||
|
||||
49
main/images/wifi_ko.c
Normal file
49
main/images/wifi_ko.c
Normal file
@ -0,0 +1,49 @@
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_WIFI_KO
|
||||
#define LV_ATTRIBUTE_WIFI_KO
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_WIFI_KO
|
||||
uint8_t wifi_ko_map[] = {
|
||||
|
||||
0xfe,0xfe,0xfe,0xff,0xfc,0xfc,0xfc,0xff,0xff,0xff,0xff,0xff,0xf5,0xf5,0xf5,0xff,0xa5,0xa5,0xa5,0xff,0x4d,0x4d,0x4d,0xff,0x1a,0x1a,0x1a,0xff,0x00,0x00,0x00,0xff,0x79,0x79,0x79,0xff,0xff,0xff,0xff,0xff,0x5a,0x5a,0x5a,0xff,0x30,0x30,0x30,0xff,0xff,0xff,0xff,0xff,0x78,0x78,0x78,0xff,0x10,0x10,0x10,0xff,
|
||||
0xfd,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xa0,0xa0,0xa0,0xff,0x18,0x18,0x18,0xff,0x00,0x00,0x00,0xff,0x06,0x06,0x06,0xff,0x2e,0x2e,0x2e,0xff,0x3d,0x3d,0x3d,0xff,0xa5,0xa5,0xa5,0xff,0xff,0xff,0xff,0xff,0x89,0x89,0x89,0xff,0x00,0x00,0x00,0xff,0x2b,0x2b,0x2b,0xff,0x03,0x03,0x03,0xff,0x3c,0x3c,0x3c,0xff,
|
||||
0xf6,0xf6,0xf6,0xff,0x57,0x57,0x57,0xff,0x00,0x00,0x00,0xff,0x23,0x23,0x23,0xff,0xa5,0xa5,0xa5,0xff,0xfa,0xfa,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0x4b,0x4b,0x4b,0xff,0x00,0x00,0x00,0xff,0x1a,0x1a,0x1a,0xff,0xe0,0xe0,0xe0,0xff,
|
||||
0x3a,0x3a,0x3a,0xff,0x00,0x00,0x00,0xff,0x77,0x77,0x77,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xbb,0xbb,0xbb,0xff,0x68,0x68,0x68,0xff,0x36,0x36,0x36,0xff,0x9e,0x9e,0x9e,0xff,0xff,0xff,0xff,0xff,0x80,0x80,0x80,0xff,0x00,0x00,0x00,0xff,0x2d,0x2d,0x2d,0xff,0x03,0x03,0x03,0xff,0x32,0x32,0x32,0xff,
|
||||
0x60,0x60,0x60,0xff,0x8f,0x8f,0x8f,0xff,0xff,0xff,0xff,0xff,0xc4,0xc4,0xc4,0xff,0x23,0x23,0x23,0xff,0x00,0x00,0x00,0xff,0x05,0x05,0x05,0xff,0x00,0x00,0x00,0xff,0x84,0x84,0x84,0xff,0xff,0xff,0xff,0xff,0x6a,0x6a,0x6a,0xff,0x46,0x46,0x46,0xff,0xff,0xff,0xff,0xff,0x88,0x88,0x88,0xff,0x27,0x27,0x27,0xff,
|
||||
0xfc,0xfc,0xfc,0xff,0xff,0xff,0xff,0xff,0xab,0xab,0xab,0xff,0x00,0x00,0x00,0xff,0x10,0x10,0x10,0xff,0x96,0x96,0x96,0xff,0xf7,0xf7,0xf7,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xfe,0xfe,0xfe,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xf8,0xf8,0xf8,0xff,0xff,0xff,0xff,0xff,0x8d,0x8d,0x8d,0xff,0x29,0x29,0x29,0xff,0xe6,0xe6,0xe6,0xff,0xff,0xff,0xff,0xff,0xba,0xba,0xba,0xff,0x7d,0x7d,0x7d,0xff,0x83,0x83,0x83,0xff,0xc7,0xc7,0xc7,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xfd,0xff,0xfd,0xfd,0xfd,0xff,0xfd,0xfd,0xfd,0xff,0xfe,0xfe,0xfe,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xd4,0xd4,0xd4,0xff,0x24,0x24,0x24,0xff,0x00,0x00,0x00,0xff,0x02,0x02,0x02,0xff,0x01,0x01,0x01,0xff,0x00,0x00,0x00,0xff,0x4d,0x4d,0x4d,0xff,0xef,0xef,0xef,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfc,0xfc,0xff,0xff,0xff,0xff,0xff,0x3c,0x3c,0x3c,0xff,0x01,0x01,0x01,0xff,0x9a,0x9a,0x9a,0xff,0xf0,0xf0,0xf0,0xff,0xe5,0xe5,0xe5,0xff,0x74,0x74,0x74,0xff,0x00,0x00,0x00,0xff,0x83,0x83,0x83,0xff,0xff,0xff,0xff,0xff,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xca,0xca,0xca,0xff,0xd2,0xd2,0xd2,0xff,0xff,0xff,0xff,0xff,0xc2,0xc2,0xc2,0xff,0xd4,0xd4,0xd4,0xff,0xff,0xff,0xff,0xff,0xc3,0xc3,0xc3,0xff,0xe3,0xe3,0xe3,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfc,0xfc,0xff,0xff,0xff,0xff,0xff,0x83,0x83,0x83,0xff,0x00,0x00,0x00,0xff,0x02,0x02,0x02,0xff,0xbc,0xbc,0xbc,0xff,0xff,0xff,0xff,0xff,0xfc,0xfc,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xf9,0xf9,0xff,0xff,0xff,0xff,0xff,0x54,0x54,0x54,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x94,0x94,0x94,0xff,0xff,0xff,0xff,0xff,0xfa,0xfa,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfd,0xfd,0xff,0xff,0xff,0xff,0xff,0xca,0xca,0xca,0xff,0x1e,0x1e,0x1e,0xff,0x40,0x40,0x40,0xff,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t wifi_ko = {
|
||||
.header.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.header.cf = LV_COLOR_FORMAT_ARGB8888,
|
||||
.header.flags = 0,
|
||||
.header.w = 15,
|
||||
.header.h = 13,
|
||||
.header.stride = 60,
|
||||
.data_size = sizeof(wifi_ko_map),
|
||||
.data = wifi_ko_map,
|
||||
};
|
||||
|
||||
48
main/images/wifi_ok.c
Normal file
48
main/images/wifi_ok.c
Normal file
@ -0,0 +1,48 @@
|
||||
|
||||
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
|
||||
#include "lvgl.h"
|
||||
#elif defined(LV_BUILD_TEST)
|
||||
#include "../lvgl.h"
|
||||
#else
|
||||
#include "lvgl/lvgl.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||
#endif
|
||||
|
||||
#ifndef LV_ATTRIBUTE_WIFI_OK
|
||||
#define LV_ATTRIBUTE_WIFI_OK
|
||||
#endif
|
||||
|
||||
static const
|
||||
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_WIFI_OK
|
||||
uint8_t wifi_ok_map[] = {
|
||||
|
||||
0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x6c,0x00,0x00,0x00,0xb9,0x00,0x00,0x00,0xe5,0x00,0x00,0x00,0xf2,0x00,0x00,0x00,0xe6,0x00,0x00,0x00,0xbb,0x00,0x00,0x00,0x6f,0x00,0x00,0x00,0x1a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0b,0x00,0x00,0x00,0x86,0x00,0x00,0x00,0xf9,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xe6,0x00,0x00,0x00,0xba,0x00,0x00,0x00,0xa9,0x00,0x00,0x00,0xb9,0x00,0x00,0x00,0xe4,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0x8c,0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x29,0x00,0x00,0x00,0xd5,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xa2,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x9d,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xda,0x00,0x00,0x00,0x2f,
|
||||
0x00,0x00,0x00,0xf9,0x00,0x00,0x00,0xf3,0x00,0x00,0x00,0x3d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,0x00,0x00,0x00,0x9b,0x00,0x00,0x00,0xdb,0x00,0x00,0x00,0xed,0x00,0x00,0x00,0xdc,0x00,0x00,0x00,0x9e,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x00,0x00,0x00,0xee,0x00,0x00,0x00,0xfb,
|
||||
0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa1,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0xbc,0x00,0x00,0x00,0xa1,0x00,0x00,0x00,0xba,0x00,0x00,0x00,0xf9,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xa7,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x23,0x00,0x00,0x00,0x57,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xab,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x7b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xaf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x4a,0x00,0x00,0x00,0x4a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0xd9,0x00,0x00,0x00,0xf4,0x00,0x00,0x00,0xdb,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x43,0x00,0x00,0x00,0x45,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x05,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd3,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xc5,0x00,0x00,0x00,0x96,0x00,0x00,0x00,0xc2,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xda,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x0b,0x00,0x00,0x00,0xa8,0x00,0x00,0x00,0x53,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4d,0x00,0x00,0x00,0xa4,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x00,0x00,0x00,0xe6,0x00,0x00,0x00,0x8b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0xfb,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x16,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x8e,0x00,0x00,0x00,0xf5,0x00,0x00,0x00,0x96,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
|
||||
};
|
||||
|
||||
const lv_image_dsc_t wifi_ok = {
|
||||
.header.magic = LV_IMAGE_HEADER_MAGIC,
|
||||
.header.cf = LV_COLOR_FORMAT_ARGB8888,
|
||||
.header.flags = 0,
|
||||
.header.w = 15,
|
||||
.header.h = 12,
|
||||
.header.stride = 60,
|
||||
.data_size = sizeof(wifi_ok_map),
|
||||
.data = wifi_ok_map,
|
||||
};
|
||||
|
||||
25
main/main.c
25
main/main.c
@ -82,6 +82,29 @@ extern lv_subject_t tempExtSubj;
|
||||
extern lv_subject_t hauteurCuveSubj;
|
||||
extern lv_subject_t hauteurCuveEvolSubj;
|
||||
|
||||
void init_display(){
|
||||
lvgl_port_cfg_t lvgl_cfg = ESP_LVGL_PORT_INIT_CONFIG();
|
||||
lvgl_cfg.task_priority=15;
|
||||
bsp_display_cfg_t cfg = {
|
||||
.lvgl_port_cfg = lvgl_cfg,
|
||||
.buffer_size = 1024*600,//BSP_LCD_DRAW_BUFF_SIZE,
|
||||
.double_buffer = 1,
|
||||
.flags = {
|
||||
.buff_dma = false,
|
||||
.buff_spiram = false,
|
||||
.sw_rotate = true
|
||||
}
|
||||
};
|
||||
ESP_LOGE(TAG,"On demarre le display");
|
||||
lv_display_t *dsp = bsp_display_start_with_config(&cfg);
|
||||
//bsp_display_rotate(dsp,LV_DISP_ROTATION_180);
|
||||
|
||||
bsp_display_backlight_on();
|
||||
bsp_display_brightness_set(50);
|
||||
|
||||
mainState.display_init=true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief i2c master initialization
|
||||
*/
|
||||
@ -881,7 +904,7 @@ void app_main(void)
|
||||
|
||||
|
||||
startEvtManager();
|
||||
//init_display();
|
||||
init_display();
|
||||
const esp_timer_create_args_t periodic_timer_args = {
|
||||
.callback = &presence_timer_callback,
|
||||
/* name is optional, but may help identify the timer when debugging */
|
||||
|
||||
@ -1,79 +1,40 @@
|
||||
# This file was generated using idf.py save-defconfig. It can be edited manually.
|
||||
# Espressif IoT Development Framework (ESP-IDF) 5.5.0 Project Minimal Configuration
|
||||
#
|
||||
CONFIG_IDF_TARGET="esp32p4"
|
||||
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_EXAMPLE_ENABLE_CAM_SENSOR_PIC_VFLIP=n
|
||||
CONFIG_EXAMPLE_ENABLE_CAM_SENSOR_PIC_HFLIP=n
|
||||
CONFIG_COMPILER_OPTIMIZATION_PERF=y
|
||||
CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_SPEED_200M=y
|
||||
CONFIG_SPIRAM_XIP_FROM_PSRAM=y
|
||||
CONFIG_SPIRAM_USE_CAPS_ALLOC=y
|
||||
CONFIG_CACHE_L2_CACHE_256KB=y
|
||||
CONFIG_CACHE_L2_CACHE_LINE_128B=y
|
||||
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
|
||||
CONFIG_FATFS_LFN_HEAP=y
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
|
||||
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
|
||||
CONFIG_FREERTOS_TASK_CREATE_ALLOW_EXT_MEM=n
|
||||
CONFIG_VFS_MAX_COUNT=15
|
||||
CONFIG_ESP_BROOKESIA_LOG_STYLE_STD=y
|
||||
CONFIG_ESP_BROOKESIA_MEMORY_USE_CUSTOM=y
|
||||
CONFIG_BSP_LCD_DPI_BUFFER_NUMS=2
|
||||
CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y
|
||||
CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y
|
||||
CONFIG_CAMERA_SC2336=y
|
||||
CONFIG_CAMERA_SC2336_MIPI_RAW10_1280x720_60FPS=y
|
||||
CONFIG_CAMERA_SC2336_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE=y
|
||||
CONFIG_CAMERA_SC2336_CUSTOMIZED_IPA_JSON_CONFIGURATION_FILE_PATH="components/apps/camera/sc2336_custom.json"
|
||||
CONFIG_ESP_VIDEO_ENABLE_DVP_VIDEO_DEVICE=n
|
||||
CONFIG_ESP_VIDEO_ENABLE_ISP_PIPELINE_CONTROLLER=y
|
||||
CONFIG_LV_COLOR_SCREEN_TRANSP=y
|
||||
CONFIG_LV_MEM_CUSTOM=y
|
||||
CONFIG_LV_MEM_CUSTOM_INCLUDE="esp_heap_caps.h"
|
||||
CONFIG_LV_MEMCPY_MEMSET_STD=y
|
||||
CONFIG_LV_CIRCLE_CACHE_SIZE=10
|
||||
CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=102400
|
||||
CONFIG_LV_IMG_CACHE_DEF_SIZE=20
|
||||
CONFIG_LV_GRAD_CACHE_DEF_SIZE=10240
|
||||
CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y
|
||||
CONFIG_LV_USE_MONKEY=n
|
||||
CONFIG_LV_USE_DEMO_WIDGETS=n
|
||||
CONFIG_LV_USE_DEMO_BENCHMARK=n
|
||||
CONFIG_LV_USE_DEMO_STRESS=n
|
||||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
|
||||
CONFIG_LV_USE_CLIB_MALLOC=y
|
||||
CONFIG_LV_USE_CLIB_SPRINTF=y
|
||||
CONFIG_LV_BUILD_EXAMPLES=n
|
||||
|
||||
#Necessaire pour lire les fichiers depuis littlefs
|
||||
CONFIG_LV_USE_FS_STDIO=y
|
||||
CONFIG_LV_FS_STDIO_LETTER=65
|
||||
CONFIG_LV_FS_STDIO_PATH=""
|
||||
CONFIG_LV_FS_STDIO_CACHE_SIZE=0
|
||||
# Necessaire pour lire le png
|
||||
CONFIG_LV_USE_LODEPNG=y
|
||||
|
||||
CONFIG_LV_FONT_MONTSERRAT_40=y
|
||||
|
||||
# Important pour la fluidité des animations
|
||||
CONFIG_LV_DEF_REFR_PERIOD=10
|
||||
|
||||
#Dégradés
|
||||
CONFIG_LV_USE_DRAW_SW_COMPLEX_GRADIENTS=y
|
||||
|
||||
#Necessaire pour compiler avec les struct internes
|
||||
CONFIG_LV_USE_PRIVATE_API=y
|
||||
|
||||
CONFIG_SPIRAM_USE_MALLOC=y
|
||||
|
||||
#Specifique P4
|
||||
CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
|
||||
|
||||
|
||||
|
||||
# This file was generated using idf.py save-defconfig. It can be edited manually.
|
||||
# Espressif IoT Development Framework (ESP-IDF) 5.5.1 Project Minimal Configuration
|
||||
#
|
||||
CONFIG_IDF_TARGET="esp32p4"
|
||||
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_SPEED_200M=y
|
||||
CONFIG_SPIRAM_XIP_FROM_PSRAM=y
|
||||
CONFIG_CACHE_L2_CACHE_256KB=y
|
||||
CONFIG_CACHE_L2_CACHE_LINE_128B=y
|
||||
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
|
||||
CONFIG_FATFS_LFN_HEAP=y
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
|
||||
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
|
||||
CONFIG_FREERTOS_TASK_CREATE_ALLOW_EXT_MEM=n
|
||||
CONFIG_VFS_MAX_COUNT=15
|
||||
CONFIG_BSP_LCD_DPI_BUFFER_NUMS=2
|
||||
CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y
|
||||
CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y
|
||||
CONFIG_BSP_LCD_COLOR_FORMAT_RGB888=y
|
||||
CONFIG_LV_USE_CLIB_MALLOC=y
|
||||
CONFIG_LV_USE_CLIB_STRING=y
|
||||
CONFIG_LV_USE_CLIB_SPRINTF=y
|
||||
CONFIG_LV_DEF_REFR_PERIOD=10
|
||||
CONFIG_LV_USE_DRAW_SW_COMPLEX_GRADIENTS=y
|
||||
CONFIG_LV_USE_LOG=y
|
||||
CONFIG_LV_LOG_PRINTF=y
|
||||
CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y
|
||||
CONFIG_LV_USE_PRIVATE_API=y
|
||||
CONFIG_LV_FONT_MONTSERRAT_40=y
|
||||
CONFIG_LV_USE_FS_STDIO=y
|
||||
CONFIG_LV_FS_STDIO_LETTER=65
|
||||
CONFIG_LV_USE_LODEPNG=y
|
||||
CONFIG_LV_BUILD_EXAMPLES=n
|
||||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
|
||||
|
||||
@ -27,5 +27,21 @@ CONFIG_LV_USE_OBSERVER=n
|
||||
CONFIG_LV_USE_SYSMON=n
|
||||
CONFIG_LV_USE_PERF_MONITOR=n
|
||||
|
||||
#Permet d'afficher des dégradés corrects
|
||||
CONFIG_BSP_LCD_COLOR_FORMAT_RGB888=y
|
||||
|
||||
#on active les logs
|
||||
CONFIG_LV_USE_LOG=y
|
||||
CONFIG_LV_LOG_LEVEL_WARN=y
|
||||
CONFIG_LV_LOG_LEVEL=2
|
||||
CONFIG_LV_LOG_PRINTF=y
|
||||
CONFIG_LV_LOG_USE_TIMESTAMP=y
|
||||
CONFIG_LV_LOG_USE_FILE_LINE=y
|
||||
|
||||
#Specifique P4
|
||||
CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
|
||||
|
||||
CONFIG_SPIRAM_USE_MALLOC=y
|
||||
CONFIG_LV_USE_OBSERVER=y
|
||||
|
||||
# CONFIG_LV_BUILD_EXAMPLES is not set
|
||||
|
||||
3135
sdkconfig.old
3135
sdkconfig.old
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user