Moved LVGL, added fonts and standby screen.
This commit is contained in:
parent
7f183e2928
commit
535e24ec9d
2
.gitmodules
vendored
2
.gitmodules
vendored
|
@ -1,5 +1,5 @@
|
||||||
[submodule "components/lvgl"]
|
[submodule "components/lvgl"]
|
||||||
path = components/lvgl
|
path = main/lib/lvgl
|
||||||
url = https://github.com/lvgl/lvgl.git
|
url = https://github.com/lvgl/lvgl.git
|
||||||
[submodule "main/lib/epd-spi"]
|
[submodule "main/lib/epd-spi"]
|
||||||
path = main/lib/epd-spi
|
path = main/lib/epd-spi
|
||||||
|
|
|
@ -1,12 +1,172 @@
|
||||||
idf_component_register(SRCS
|
idf_component_register(SRCS
|
||||||
|
"assets/fonts/bebas_neue/bebas_neue_32.c"
|
||||||
|
"assets/fonts/bebas_neue/bebas_neue_40.c"
|
||||||
|
"assets/fonts/bebas_neue/bebas_neue_120.c"
|
||||||
|
"assets/fonts/material_webfont/material_webfont_32.c"
|
||||||
"main.c"
|
"main.c"
|
||||||
"helper/helper_wifi.c"
|
"helper/helper_wifi.c"
|
||||||
"impl/impl_epd.c"
|
"impl/impl_epd.c"
|
||||||
"impl/impl_lvgl.c"
|
"impl/impl_lvgl.c"
|
||||||
|
"interface/if_standby.c"
|
||||||
"lib/epd-spi/src/epd_common.c"
|
"lib/epd-spi/src/epd_common.c"
|
||||||
"lib/epd-spi/src/epd_panel_gdew042t2.c"
|
"lib/epd-spi/src/epd_panel_gdew042t2.c"
|
||||||
|
"lib/lvgl/src/core/lv_disp.c"
|
||||||
|
"lib/lvgl/src/core/lv_event.c"
|
||||||
|
"lib/lvgl/src/core/lv_group.c"
|
||||||
|
"lib/lvgl/src/core/lv_indev.c"
|
||||||
|
"lib/lvgl/src/core/lv_indev_scroll.c"
|
||||||
|
"lib/lvgl/src/core/lv_obj.c"
|
||||||
|
"lib/lvgl/src/core/lv_obj_class.c"
|
||||||
|
"lib/lvgl/src/core/lv_obj_draw.c"
|
||||||
|
"lib/lvgl/src/core/lv_obj_pos.c"
|
||||||
|
"lib/lvgl/src/core/lv_obj_scroll.c"
|
||||||
|
"lib/lvgl/src/core/lv_obj_style.c"
|
||||||
|
"lib/lvgl/src/core/lv_obj_style_gen.c"
|
||||||
|
"lib/lvgl/src/core/lv_obj_tree.c"
|
||||||
|
"lib/lvgl/src/core/lv_refr.c"
|
||||||
|
"lib/lvgl/src/core/lv_theme.c"
|
||||||
|
"lib/lvgl/src/draw/lv_draw_arc.c"
|
||||||
|
"lib/lvgl/src/draw/lv_draw_blend.c"
|
||||||
|
"lib/lvgl/src/draw/lv_draw_img.c"
|
||||||
|
"lib/lvgl/src/draw/lv_draw_label.c"
|
||||||
|
"lib/lvgl/src/draw/lv_draw_line.c"
|
||||||
|
"lib/lvgl/src/draw/lv_draw_mask.c"
|
||||||
|
"lib/lvgl/src/draw/lv_draw_rect.c"
|
||||||
|
"lib/lvgl/src/draw/lv_draw_triangle.c"
|
||||||
|
"lib/lvgl/src/draw/lv_img_buf.c"
|
||||||
|
"lib/lvgl/src/draw/lv_img_cache.c"
|
||||||
|
"lib/lvgl/src/draw/lv_img_decoder.c"
|
||||||
|
"lib/lvgl/src/extra/layouts/flex/lv_flex.c"
|
||||||
|
"lib/lvgl/src/extra/layouts/grid/lv_grid.c"
|
||||||
|
"lib/lvgl/src/extra/libs/bmp/lv_bmp.c"
|
||||||
|
"lib/lvgl/src/extra/libs/freetype/lv_freetype.c"
|
||||||
|
"lib/lvgl/src/extra/libs/fsdrv/lv_fs_fatfs.c"
|
||||||
|
"lib/lvgl/src/extra/libs/fsdrv/lv_fs_posix.c"
|
||||||
|
"lib/lvgl/src/extra/libs/fsdrv/lv_fs_stdio.c"
|
||||||
|
"lib/lvgl/src/extra/libs/fsdrv/lv_fs_win32.c"
|
||||||
|
"lib/lvgl/src/extra/libs/gif/gifdec.c"
|
||||||
|
"lib/lvgl/src/extra/libs/gif/lv_gif.c"
|
||||||
|
"lib/lvgl/src/extra/libs/png/lodepng.c"
|
||||||
|
"lib/lvgl/src/extra/libs/png/lv_png.c"
|
||||||
|
"lib/lvgl/src/extra/libs/qrcode/lv_qrcode.c"
|
||||||
|
"lib/lvgl/src/extra/libs/qrcode/qrcodegen.c"
|
||||||
|
"lib/lvgl/src/extra/libs/rlottie/lv_rlottie.c"
|
||||||
|
"lib/lvgl/src/extra/libs/sjpg/lv_sjpg.c"
|
||||||
|
"lib/lvgl/src/extra/libs/sjpg/tjpgd.c"
|
||||||
|
"lib/lvgl/src/extra/lv_extra.c"
|
||||||
|
"lib/lvgl/src/extra/others/snapshot/lv_snapshot.c"
|
||||||
|
"lib/lvgl/src/extra/themes/basic/lv_theme_basic.c"
|
||||||
|
"lib/lvgl/src/extra/themes/default/lv_theme_default.c"
|
||||||
|
"lib/lvgl/src/extra/themes/mono/lv_theme_mono.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/animimg/lv_animimg.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/calendar/lv_calendar.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/calendar/lv_calendar_header_arrow.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/calendar/lv_calendar_header_dropdown.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/chart/lv_chart.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/colorwheel/lv_colorwheel.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/imgbtn/lv_imgbtn.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/keyboard/lv_keyboard.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/led/lv_led.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/list/lv_list.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/meter/lv_meter.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/msgbox/lv_msgbox.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/span/lv_span.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/spinbox/lv_spinbox.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/spinner/lv_spinner.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/tabview/lv_tabview.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/tileview/lv_tileview.c"
|
||||||
|
"lib/lvgl/src/extra/widgets/win/lv_win.c"
|
||||||
|
"lib/lvgl/src/font/lv_font.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_dejavu_16_persian_hebrew.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_fmt_txt.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_loader.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_10.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_12.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_12_subpx.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_14.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_16.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_18.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_20.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_22.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_24.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_26.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_28.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_28_compressed.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_30.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_32.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_34.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_36.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_38.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_40.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_42.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_44.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_46.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_48.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_montserrat_8.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_simsun_16_cjk.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_unscii_16.c"
|
||||||
|
"lib/lvgl/src/font/lv_font_unscii_8.c"
|
||||||
|
"lib/lvgl/src/gpu/lv_gpu_nxp_pxp.c"
|
||||||
|
"lib/lvgl/src/gpu/lv_gpu_nxp_pxp_osa.c"
|
||||||
|
"lib/lvgl/src/gpu/lv_gpu_nxp_vglite.c"
|
||||||
|
"lib/lvgl/src/gpu/lv_gpu_sdl.c"
|
||||||
|
"lib/lvgl/src/gpu/lv_gpu_stm32_dma2d.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_arc.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_blend.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_img.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_label.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_line.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_draw_rect.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_lru.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_mask.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_stack_blur.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_texture_cache.c"
|
||||||
|
"lib/lvgl/src/gpu/sdl/lv_gpu_sdl_utils.c"
|
||||||
|
"lib/lvgl/src/hal/lv_hal_disp.c"
|
||||||
|
"lib/lvgl/src/hal/lv_hal_indev.c"
|
||||||
|
"lib/lvgl/src/hal/lv_hal_tick.c"
|
||||||
|
"lib/lvgl/src/misc/lv_anim.c"
|
||||||
|
"lib/lvgl/src/misc/lv_anim_timeline.c"
|
||||||
|
"lib/lvgl/src/misc/lv_area.c"
|
||||||
|
"lib/lvgl/src/misc/lv_async.c"
|
||||||
|
"lib/lvgl/src/misc/lv_bidi.c"
|
||||||
|
"lib/lvgl/src/misc/lv_color.c"
|
||||||
|
"lib/lvgl/src/misc/lv_fs.c"
|
||||||
|
"lib/lvgl/src/misc/lv_gc.c"
|
||||||
|
"lib/lvgl/src/misc/lv_ll.c"
|
||||||
|
"lib/lvgl/src/misc/lv_log.c"
|
||||||
|
"lib/lvgl/src/misc/lv_math.c"
|
||||||
|
"lib/lvgl/src/misc/lv_mem.c"
|
||||||
|
"lib/lvgl/src/misc/lv_printf.c"
|
||||||
|
"lib/lvgl/src/misc/lv_style.c"
|
||||||
|
"lib/lvgl/src/misc/lv_style_gen.c"
|
||||||
|
"lib/lvgl/src/misc/lv_templ.c"
|
||||||
|
"lib/lvgl/src/misc/lv_timer.c"
|
||||||
|
"lib/lvgl/src/misc/lv_tlsf.c"
|
||||||
|
"lib/lvgl/src/misc/lv_txt.c"
|
||||||
|
"lib/lvgl/src/misc/lv_txt_ap.c"
|
||||||
|
"lib/lvgl/src/misc/lv_utils.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_arc.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_bar.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_btn.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_btnmatrix.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_canvas.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_checkbox.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_dropdown.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_img.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_label.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_line.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_objx_templ.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_roller.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_slider.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_switch.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_table.c"
|
||||||
|
"lib/lvgl/src/widgets/lv_textarea.c"
|
||||||
|
|
||||||
INCLUDE_DIRS
|
INCLUDE_DIRS
|
||||||
|
"lib"
|
||||||
"lib/epd-spi/include"
|
"lib/epd-spi/include"
|
||||||
|
"lib/lvgl"
|
||||||
"impl"
|
"impl"
|
||||||
|
"interface"
|
||||||
)
|
)
|
||||||
|
|
BIN
main/assets/fonts/bebas_neue/BebasNeue-Regular.ttf
Normal file
BIN
main/assets/fonts/bebas_neue/BebasNeue-Regular.ttf
Normal file
Binary file not shown.
93
main/assets/fonts/bebas_neue/OFL.txt
Normal file
93
main/assets/fonts/bebas_neue/OFL.txt
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
Copyright © 2010 by Dharma Type.
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
4877
main/assets/fonts/bebas_neue/bebas_neue_120.c
Normal file
4877
main/assets/fonts/bebas_neue/bebas_neue_120.c
Normal file
File diff suppressed because it is too large
Load Diff
865
main/assets/fonts/bebas_neue/bebas_neue_32.c
Normal file
865
main/assets/fonts/bebas_neue/bebas_neue_32.c
Normal file
|
@ -0,0 +1,865 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Size: 32 px
|
||||||
|
* Bpp: 1
|
||||||
|
* Opts:
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||||
|
#include "lvgl.h"
|
||||||
|
#else
|
||||||
|
#include "lvgl/lvgl.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef BEBAS_NEUE_32
|
||||||
|
#define BEBAS_NEUE_32 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if BEBAS_NEUE_32
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* BITMAPS
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Store the image of the glyphs*/
|
||||||
|
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
||||||
|
/* U+0020 " " */
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0021 "!" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xf,
|
||||||
|
0xf8,
|
||||||
|
|
||||||
|
/* U+0022 "\"" */
|
||||||
|
0xf7, 0x7b, 0x9d, 0xcc, 0xe6, 0x73, 0x19, 0x8c,
|
||||||
|
|
||||||
|
/* U+0023 "#" */
|
||||||
|
0x18, 0xe1, 0x8c, 0x38, 0xc3, 0x9c, 0x39, 0xc7,
|
||||||
|
0xff, 0xff, 0xff, 0xfe, 0x39, 0xc3, 0x9c, 0x31,
|
||||||
|
0xc3, 0x18, 0x71, 0x87, 0x38, 0xff, 0xef, 0xfe,
|
||||||
|
0xff, 0xe7, 0x38, 0x73, 0x87, 0x38, 0x63, 0x86,
|
||||||
|
0x30, 0xe3, 0x0,
|
||||||
|
|
||||||
|
/* U+0024 "$" */
|
||||||
|
0xe, 0x1, 0xc0, 0x7e, 0x3f, 0xe7, 0xfd, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf0, 0x1f, 0x1, 0xf0, 0x3f,
|
||||||
|
0x3, 0xf0, 0x3f, 0x3, 0xf0, 0x3e, 0x3, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xff, 0x1e, 0xff, 0x9f, 0xf0,
|
||||||
|
0xf8, 0xe, 0x1, 0xc0,
|
||||||
|
|
||||||
|
/* U+0025 "%" */
|
||||||
|
0x7c, 0x18, 0xfe, 0x18, 0xc6, 0x18, 0xc6, 0x30,
|
||||||
|
0xc6, 0x30, 0xc6, 0x70, 0xc6, 0x60, 0xc6, 0x60,
|
||||||
|
0xc6, 0xe0, 0xc6, 0xc0, 0xc6, 0xde, 0xff, 0xbf,
|
||||||
|
0x7d, 0xb3, 0x3, 0xb3, 0x3, 0x33, 0x3, 0x33,
|
||||||
|
0x7, 0x33, 0x6, 0x33, 0xe, 0x33, 0xe, 0x33,
|
||||||
|
0xc, 0x33, 0x1c, 0x3f, 0x1c, 0x1e,
|
||||||
|
|
||||||
|
/* U+0026 "&" */
|
||||||
|
0x1f, 0xc7, 0xfc, 0x7f, 0xcf, 0x0, 0xf0, 0xf,
|
||||||
|
0x0, 0xf1, 0xef, 0x1e, 0x79, 0xe7, 0xff, 0x1f,
|
||||||
|
0xf7, 0xff, 0xf9, 0xef, 0x1e, 0xf1, 0xef, 0x1e,
|
||||||
|
0xf1, 0xef, 0x1e, 0xf1, 0xef, 0x3e, 0xff, 0xe7,
|
||||||
|
0xfe, 0x3d, 0xe0,
|
||||||
|
|
||||||
|
/* U+0027 "'" */
|
||||||
|
0xff, 0x76, 0x66, 0x60,
|
||||||
|
|
||||||
|
/* U+0028 "(" */
|
||||||
|
0x3d, 0xff, 0xfc, 0xf3, 0xcf, 0x3c, 0xf3, 0xcf,
|
||||||
|
0x3c, 0xf3, 0xcf, 0x3c, 0xf3, 0xcf, 0x3c, 0xf3,
|
||||||
|
0xcf, 0x3f, 0x7c, 0xf0,
|
||||||
|
|
||||||
|
/* U+0029 ")" */
|
||||||
|
0xf9, 0xfb, 0xf8, 0xf1, 0xe3, 0xc7, 0x8f, 0x1e,
|
||||||
|
0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, 0x1e, 0x3c,
|
||||||
|
0x78, 0xf1, 0xe3, 0xc7, 0xff, 0xfd, 0xf0,
|
||||||
|
|
||||||
|
/* U+002A "*" */
|
||||||
|
0x7, 0x0, 0x38, 0x0, 0xc0, 0xc6, 0x27, 0xb7,
|
||||||
|
0xbf, 0xfc, 0x3e, 0x0, 0xf0, 0xd, 0xc0, 0xe7,
|
||||||
|
0xe, 0x38, 0x30, 0x80,
|
||||||
|
|
||||||
|
/* U+002B "+" */
|
||||||
|
0x6, 0x0, 0xc0, 0x18, 0x3, 0xf, 0xff, 0xff,
|
||||||
|
0xff, 0xf8, 0x30, 0x6, 0x0, 0xc0, 0x18, 0x0,
|
||||||
|
|
||||||
|
/* U+002C "," */
|
||||||
|
0xff, 0xf7, 0x6e, 0xc0,
|
||||||
|
|
||||||
|
/* U+002D "-" */
|
||||||
|
0xff, 0xff, 0xf8,
|
||||||
|
|
||||||
|
/* U+002E "." */
|
||||||
|
0xff, 0xf0,
|
||||||
|
|
||||||
|
/* U+002F "/" */
|
||||||
|
0x0, 0x70, 0x7, 0x0, 0xe0, 0xe, 0x1, 0xc0,
|
||||||
|
0x1c, 0x1, 0xc0, 0x38, 0x3, 0x80, 0x78, 0x7,
|
||||||
|
0x0, 0x70, 0xe, 0x0, 0xe0, 0xe, 0x1, 0xc0,
|
||||||
|
0x1c, 0x3, 0x80, 0x38, 0x3, 0x80, 0x70, 0x7,
|
||||||
|
0x0, 0xf0, 0x0,
|
||||||
|
|
||||||
|
/* U+0030 "0" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xf8,
|
||||||
|
0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0031 "1" */
|
||||||
|
0x7, 0x7, 0x1f, 0xff, 0xff, 0xff, 0xf, 0xf,
|
||||||
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
||||||
|
0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
||||||
|
|
||||||
|
/* U+0032 "2" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0x3, 0xe0, 0x78, 0x1f, 0x7,
|
||||||
|
0xc1, 0xf0, 0x3c, 0xf, 0x83, 0xe0, 0x78, 0x1e,
|
||||||
|
0x3, 0xc0, 0x78, 0xf, 0xff, 0xff, 0xff, 0xf8,
|
||||||
|
|
||||||
|
/* U+0033 "3" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xc0, 0x78, 0xf, 0x1, 0xc1, 0xf8, 0x3c, 0x7,
|
||||||
|
0xe0, 0x3e, 0x3, 0xc0, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xfd, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0034 "4" */
|
||||||
|
0x3, 0xc0, 0x7c, 0x7, 0xc0, 0xfc, 0xf, 0xc0,
|
||||||
|
0xfc, 0x1f, 0xc1, 0xfc, 0x1b, 0xc3, 0xbc, 0x3b,
|
||||||
|
0xc3, 0x3c, 0x73, 0xc7, 0x3c, 0x63, 0xce, 0x3c,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xf0, 0x3c, 0x3, 0xc0,
|
||||||
|
0x3c, 0x3, 0xc0,
|
||||||
|
|
||||||
|
/* U+0035 "5" */
|
||||||
|
0xff, 0xdf, 0xfb, 0xff, 0x78, 0xf, 0x1, 0xe0,
|
||||||
|
0x3c, 0x7, 0xbc, 0xff, 0xdf, 0xff, 0xc7, 0xf8,
|
||||||
|
0xf0, 0x1e, 0x3, 0xc0, 0x78, 0xf, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0036 "6" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7, 0x80, 0xf7, 0x9f, 0xfb, 0xff, 0xf8,
|
||||||
|
0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0037 "7" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x80, 0xf0, 0x1e, 0x3,
|
||||||
|
0x80, 0xf0, 0x1e, 0x3, 0x80, 0xf0, 0x1e, 0x3,
|
||||||
|
0xc0, 0x70, 0x1e, 0x3, 0xc0, 0x70, 0x1e, 0x3,
|
||||||
|
0xc0, 0x78, 0xe, 0x3, 0xc0, 0x78, 0xe, 0x0,
|
||||||
|
|
||||||
|
/* U+0038 "8" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xcf, 0xf8, 0xfe, 0x3f,
|
||||||
|
0xef, 0xbf, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xfd, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0039 "9" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xff,
|
||||||
|
0xf7, 0xfe, 0x7b, 0xc0, 0x78, 0xf, 0x1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xfd, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+003A ":" */
|
||||||
|
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
|
||||||
|
|
||||||
|
/* U+003B ";" */
|
||||||
|
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff,
|
||||||
|
0x76, 0xec,
|
||||||
|
|
||||||
|
/* U+003C "<" */
|
||||||
|
0x0, 0x40, 0x70, 0x7c, 0xfc, 0xfc, 0x3c, 0xf,
|
||||||
|
0x81, 0xfc, 0xf, 0xc0, 0xf0, 0xc,
|
||||||
|
|
||||||
|
/* U+003D "=" */
|
||||||
|
0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x3f, 0xff,
|
||||||
|
0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+003E ">" */
|
||||||
|
0x80, 0x38, 0xf, 0x80, 0xfc, 0xf, 0xc0, 0xf0,
|
||||||
|
0x7c, 0xfe, 0xfc, 0x3c, 0xc, 0x0,
|
||||||
|
|
||||||
|
/* U+003F "?" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0x3, 0xc0, 0x78, 0x1e, 0x7,
|
||||||
|
0xc0, 0xf0, 0x3c, 0x7, 0x0, 0xe0, 0x1c, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x1, 0xc0, 0x38, 0x7, 0x0,
|
||||||
|
|
||||||
|
/* U+0040 "@" */
|
||||||
|
0x0, 0xff, 0x0, 0x1f, 0xfe, 0x1, 0xff, 0xf8,
|
||||||
|
0x1f, 0x3, 0xc1, 0xe0, 0xf, 0x1e, 0x0, 0x38,
|
||||||
|
0xe0, 0x1, 0xee, 0x1e, 0xe7, 0x71, 0xf7, 0x3b,
|
||||||
|
0x8f, 0xf9, 0xf8, 0x73, 0x8f, 0xc7, 0x1c, 0x7e,
|
||||||
|
0x38, 0xe3, 0xf1, 0xc7, 0x1f, 0x8e, 0x39, 0xdc,
|
||||||
|
0x71, 0xce, 0xe3, 0x8e, 0x77, 0x1f, 0xff, 0x3c,
|
||||||
|
0xfb, 0xf0, 0xe3, 0xcf, 0x7, 0x80, 0x0, 0x1e,
|
||||||
|
0x0, 0x40, 0xf8, 0xe, 0x3, 0xff, 0xf0, 0xf,
|
||||||
|
0xff, 0x0, 0x1f, 0xe0, 0x0,
|
||||||
|
|
||||||
|
/* U+0041 "A" */
|
||||||
|
0xf, 0x80, 0xf8, 0xf, 0x81, 0xf8, 0x1f, 0xc1,
|
||||||
|
0xfc, 0x1d, 0xc1, 0xdc, 0x1d, 0xc1, 0xdc, 0x39,
|
||||||
|
0xc3, 0x9e, 0x39, 0xe3, 0x8e, 0x38, 0xe3, 0x8e,
|
||||||
|
0x7f, 0xe7, 0xff, 0x7f, 0xf7, 0xf, 0x70, 0x77,
|
||||||
|
0x7, 0xf0, 0x70,
|
||||||
|
|
||||||
|
/* U+0042 "B" */
|
||||||
|
0xff, 0x1f, 0xfb, 0xff, 0x79, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x7b, 0xfe, 0x7f,
|
||||||
|
0xcf, 0xfd, 0xe7, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xff, 0xfd, 0xff, 0xbf, 0xc0,
|
||||||
|
|
||||||
|
/* U+0043 "C" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf0, 0x1e, 0x3, 0xc0, 0x78,
|
||||||
|
0xf, 0x1, 0xe0, 0x3c, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0044 "D" */
|
||||||
|
0xff, 0x1f, 0xfb, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xf8,
|
||||||
|
0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xff, 0xfd, 0xff, 0xbf, 0xc0,
|
||||||
|
|
||||||
|
/* U+0045 "E" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xc0, 0xf0, 0x3c, 0xf,
|
||||||
|
0x3, 0xc0, 0xf0, 0x3c, 0xf, 0xfb, 0xfe, 0xff,
|
||||||
|
0xbc, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3,
|
||||||
|
0xc0, 0xff, 0xff, 0xff, 0xfc,
|
||||||
|
|
||||||
|
/* U+0046 "F" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xc0, 0xf0, 0x3c, 0xf,
|
||||||
|
0x3, 0xc0, 0xf0, 0x3c, 0xf, 0xf3, 0xfc, 0xff,
|
||||||
|
0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3,
|
||||||
|
0xc0, 0xf0, 0x3c, 0xf, 0x0,
|
||||||
|
|
||||||
|
/* U+0047 "G" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x80, 0xf0, 0x1e, 0x3, 0xcf, 0xf9,
|
||||||
|
0xff, 0x3f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0048 "H" */
|
||||||
|
0xf1, 0xfe, 0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3, 0xfc, 0x78,
|
||||||
|
|
||||||
|
/* U+0049 "I" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xf0,
|
||||||
|
|
||||||
|
/* U+004A "J" */
|
||||||
|
0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, 0x1e,
|
||||||
|
0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, 0x1e, 0x3c,
|
||||||
|
0x79, 0xff, 0xdf, 0xbc, 0x0,
|
||||||
|
|
||||||
|
/* U+004B "K" */
|
||||||
|
0xf0, 0xff, 0xe, 0xf1, 0xef, 0x1c, 0xf3, 0xcf,
|
||||||
|
0x38, 0xf7, 0x8f, 0x70, 0xf7, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xf8, 0xff, 0x8f, 0xb8, 0xfb, 0xcf, 0x3c,
|
||||||
|
0xf1, 0xcf, 0x1c, 0xf1, 0xef, 0x1e, 0xf0, 0xef,
|
||||||
|
0xf, 0xf0, 0xf0,
|
||||||
|
|
||||||
|
/* U+004C "L" */
|
||||||
|
0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf,
|
||||||
|
0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0,
|
||||||
|
0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3,
|
||||||
|
0xc0, 0xff, 0xff, 0xff, 0xfc,
|
||||||
|
|
||||||
|
/* U+004D "M" */
|
||||||
|
0xf8, 0x7f, 0xf0, 0xff, 0xe1, 0xff, 0xc3, 0xff,
|
||||||
|
0x87, 0xff, 0x8f, 0xff, 0x3f, 0xfe, 0x7f, 0xfc,
|
||||||
|
0xff, 0xd9, 0xbf, 0xb3, 0x7f, 0x66, 0xfe, 0xed,
|
||||||
|
0xfd, 0xdb, 0xfb, 0xf7, 0xf7, 0xef, 0xe7, 0x9f,
|
||||||
|
0xcf, 0x3f, 0x9e, 0x7f, 0x3c, 0xfe, 0x79, 0xfc,
|
||||||
|
0xf3, 0xf9, 0xe7, 0x80,
|
||||||
|
|
||||||
|
/* U+004E "N" */
|
||||||
|
0xf0, 0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0xcf, 0xf9,
|
||||||
|
0xff, 0x3f, 0xe7, 0xee, 0xfd, 0xdf, 0xbb, 0xf7,
|
||||||
|
0x7e, 0x7f, 0xcf, 0xf9, 0xff, 0x1f, 0xe3, 0xfc,
|
||||||
|
0x7f, 0x8f, 0xf0, 0xfe, 0x1f, 0xc3, 0xf8, 0x78,
|
||||||
|
|
||||||
|
/* U+004F "O" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xf8,
|
||||||
|
0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0050 "P" */
|
||||||
|
0xff, 0x1f, 0xfb, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xff,
|
||||||
|
0xef, 0xfd, 0xfe, 0x3c, 0x7, 0x80, 0xf0, 0x1e,
|
||||||
|
0x3, 0xc0, 0x78, 0xf, 0x1, 0xe0, 0x3c, 0x0,
|
||||||
|
|
||||||
|
/* U+0051 "Q" */
|
||||||
|
0x1f, 0x7, 0xfc, 0x7f, 0xcf, 0x1e, 0xf1, 0xef,
|
||||||
|
0x1e, 0xf1, 0xef, 0x1e, 0xf1, 0xef, 0x1e, 0xf1,
|
||||||
|
0xef, 0x1e, 0xf1, 0xef, 0x1e, 0xf1, 0xef, 0x1e,
|
||||||
|
0xf1, 0xef, 0x1e, 0xf1, 0xef, 0x1e, 0x7f, 0xc7,
|
||||||
|
0xfc, 0x1f, 0xf0, 0xf, 0x0, 0x70,
|
||||||
|
|
||||||
|
/* U+0052 "R" */
|
||||||
|
0xff, 0x1f, 0xfb, 0xff, 0x79, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x7b, 0xff, 0x7f,
|
||||||
|
0xcf, 0xfd, 0xe7, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3, 0xfc, 0x78,
|
||||||
|
|
||||||
|
/* U+0053 "S" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7, 0xc0, 0x78, 0xf, 0x80, 0xfc, 0xf,
|
||||||
|
0xc0, 0xf8, 0xf, 0x80, 0xf8, 0x1f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0054 "T" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x8f, 0x1, 0xe0, 0x3c,
|
||||||
|
0x7, 0x80, 0xf0, 0x1e, 0x3, 0xc0, 0x78, 0xf,
|
||||||
|
0x1, 0xe0, 0x3c, 0x7, 0x80, 0xf0, 0x1e, 0x3,
|
||||||
|
0xc0, 0x78, 0xf, 0x1, 0xe0, 0x3c, 0x7, 0x80,
|
||||||
|
|
||||||
|
/* U+0055 "U" */
|
||||||
|
0xf1, 0xfe, 0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xf8,
|
||||||
|
0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0056 "V" */
|
||||||
|
0xf0, 0x77, 0xf, 0x70, 0xe7, 0xe, 0x78, 0xe7,
|
||||||
|
0x8e, 0x78, 0xe7, 0x8e, 0x39, 0xe3, 0x9c, 0x39,
|
||||||
|
0xc3, 0x9c, 0x3d, 0xc3, 0xdc, 0x1d, 0xc1, 0xdc,
|
||||||
|
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x80,
|
||||||
|
0xf8, 0xf, 0x80,
|
||||||
|
|
||||||
|
/* U+0057 "W" */
|
||||||
|
0x71, 0xe3, 0xb8, 0xf1, 0xdc, 0x78, 0xee, 0x3c,
|
||||||
|
0x77, 0x1e, 0x3b, 0x8f, 0x9d, 0xc7, 0xce, 0xf7,
|
||||||
|
0xe7, 0x7b, 0xf3, 0xbd, 0xfb, 0x8e, 0xfd, 0xc7,
|
||||||
|
0x76, 0xe3, 0xbb, 0x71, 0xd9, 0xb8, 0xec, 0xdc,
|
||||||
|
0x76, 0x6e, 0x3b, 0x3f, 0x1d, 0x9f, 0x8f, 0xcf,
|
||||||
|
0xc7, 0xe7, 0xc1, 0xf3, 0xe0, 0xf8, 0xf0, 0x78,
|
||||||
|
0x78,
|
||||||
|
|
||||||
|
/* U+0058 "X" */
|
||||||
|
0x70, 0x73, 0xc3, 0x9e, 0x3c, 0x71, 0xc3, 0xce,
|
||||||
|
0x1e, 0xf0, 0x77, 0x3, 0xf8, 0x1f, 0xc0, 0x7c,
|
||||||
|
0x3, 0xe0, 0x1f, 0x0, 0xf8, 0x7, 0xc0, 0x7f,
|
||||||
|
0x3, 0xb8, 0x1d, 0xc1, 0xcf, 0xe, 0x78, 0x71,
|
||||||
|
0xc7, 0x8f, 0x38, 0x79, 0xc1, 0xc0,
|
||||||
|
|
||||||
|
/* U+0059 "Y" */
|
||||||
|
0xf0, 0x7f, 0xf, 0x70, 0xe7, 0x8e, 0x79, 0xe3,
|
||||||
|
0x9c, 0x3d, 0xc3, 0xfc, 0x3f, 0xc1, 0xf8, 0x1f,
|
||||||
|
0x81, 0xf8, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0,
|
||||||
|
0xf0, 0xf, 0x0,
|
||||||
|
|
||||||
|
/* U+005A "Z" */
|
||||||
|
0xff, 0xff, 0xff, 0xfc, 0xf, 0x3, 0x81, 0xe0,
|
||||||
|
0x78, 0x1c, 0xf, 0x3, 0xc1, 0xe0, 0x78, 0x1c,
|
||||||
|
0xf, 0x3, 0xc0, 0xe0, 0x78, 0x1c, 0x7, 0x3,
|
||||||
|
0xc0, 0xff, 0xff, 0xff, 0xfc,
|
||||||
|
|
||||||
|
/* U+005B "[" */
|
||||||
|
0xff, 0xff, 0xfc, 0xf3, 0xcf, 0x3c, 0xf3, 0xcf,
|
||||||
|
0x3c, 0xf3, 0xcf, 0x3c, 0xf3, 0xcf, 0x3c, 0xf3,
|
||||||
|
0xcf, 0x3f, 0xff, 0xf0,
|
||||||
|
|
||||||
|
/* U+005C "\\" */
|
||||||
|
0xf0, 0x7, 0x0, 0x70, 0x3, 0x80, 0x38, 0x3,
|
||||||
|
0x80, 0x1c, 0x1, 0xc0, 0xe, 0x0, 0xe0, 0xe,
|
||||||
|
0x0, 0x70, 0x7, 0x0, 0x78, 0x3, 0x80, 0x38,
|
||||||
|
0x1, 0xc0, 0x1c, 0x1, 0xc0, 0xe, 0x0, 0xe0,
|
||||||
|
0x7, 0x0, 0x70,
|
||||||
|
|
||||||
|
/* U+005D "]" */
|
||||||
|
0xff, 0xff, 0xf8, 0xf1, 0xe3, 0xc7, 0x8f, 0x1e,
|
||||||
|
0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, 0x1e, 0x3c,
|
||||||
|
0x78, 0xf1, 0xe3, 0xc7, 0xff, 0xff, 0xfc,
|
||||||
|
|
||||||
|
/* U+005E "^" */
|
||||||
|
0xe, 0x1, 0xc0, 0x7c, 0xf, 0x83, 0xb8, 0xe7,
|
||||||
|
0x1c, 0x77, 0xe, 0xe0, 0xe0,
|
||||||
|
|
||||||
|
/* U+005F "_" */
|
||||||
|
0xff, 0xff, 0xff, 0xfc,
|
||||||
|
|
||||||
|
/* U+0060 "`" */
|
||||||
|
0xf0, 0xe1, 0xc0,
|
||||||
|
|
||||||
|
/* U+0061 "a" */
|
||||||
|
0xf, 0x80, 0xf8, 0xf, 0x81, 0xf8, 0x1f, 0xc1,
|
||||||
|
0xfc, 0x1d, 0xc1, 0xdc, 0x1d, 0xc1, 0xdc, 0x39,
|
||||||
|
0xc3, 0x9e, 0x39, 0xe3, 0x8e, 0x38, 0xe3, 0x8e,
|
||||||
|
0x7f, 0xe7, 0xff, 0x7f, 0xf7, 0xf, 0x70, 0x77,
|
||||||
|
0x7, 0xf0, 0x70,
|
||||||
|
|
||||||
|
/* U+0062 "b" */
|
||||||
|
0xff, 0x1f, 0xfb, 0xff, 0x79, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x7b, 0xfe, 0x7f,
|
||||||
|
0xcf, 0xfd, 0xe7, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xff, 0xfd, 0xff, 0xbf, 0xc0,
|
||||||
|
|
||||||
|
/* U+0063 "c" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf0, 0x1e, 0x3, 0xc0, 0x78,
|
||||||
|
0xf, 0x1, 0xe0, 0x3c, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0064 "d" */
|
||||||
|
0xff, 0x1f, 0xfb, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xf8,
|
||||||
|
0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xff, 0xfd, 0xff, 0xbf, 0xc0,
|
||||||
|
|
||||||
|
/* U+0065 "e" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xc0, 0xf0, 0x3c, 0xf,
|
||||||
|
0x3, 0xc0, 0xf0, 0x3c, 0xf, 0xfb, 0xfe, 0xff,
|
||||||
|
0xbc, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3,
|
||||||
|
0xc0, 0xff, 0xff, 0xff, 0xfc,
|
||||||
|
|
||||||
|
/* U+0066 "f" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xc0, 0xf0, 0x3c, 0xf,
|
||||||
|
0x3, 0xc0, 0xf0, 0x3c, 0xf, 0xf3, 0xfc, 0xff,
|
||||||
|
0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3,
|
||||||
|
0xc0, 0xf0, 0x3c, 0xf, 0x0,
|
||||||
|
|
||||||
|
/* U+0067 "g" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x80, 0xf0, 0x1e, 0x3, 0xcf, 0xf9,
|
||||||
|
0xff, 0x3f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0068 "h" */
|
||||||
|
0xf1, 0xfe, 0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3, 0xfc, 0x78,
|
||||||
|
|
||||||
|
/* U+0069 "i" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xf0,
|
||||||
|
|
||||||
|
/* U+006A "j" */
|
||||||
|
0x1e, 0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, 0x1e,
|
||||||
|
0x3c, 0x78, 0xf1, 0xe3, 0xc7, 0x8f, 0x1e, 0x3c,
|
||||||
|
0x79, 0xff, 0xdf, 0xbc, 0x0,
|
||||||
|
|
||||||
|
/* U+006B "k" */
|
||||||
|
0xf0, 0xff, 0xe, 0xf1, 0xef, 0x1c, 0xf3, 0xcf,
|
||||||
|
0x38, 0xf7, 0x8f, 0x70, 0xf7, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xf8, 0xff, 0x8f, 0xb8, 0xfb, 0xcf, 0x3c,
|
||||||
|
0xf1, 0xcf, 0x1c, 0xf1, 0xef, 0x1e, 0xf0, 0xef,
|
||||||
|
0xf, 0xf0, 0xf0,
|
||||||
|
|
||||||
|
/* U+006C "l" */
|
||||||
|
0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf,
|
||||||
|
0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0,
|
||||||
|
0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3,
|
||||||
|
0xc0, 0xff, 0xff, 0xff, 0xfc,
|
||||||
|
|
||||||
|
/* U+006D "m" */
|
||||||
|
0xf8, 0x7f, 0xf0, 0xff, 0xe1, 0xff, 0xc3, 0xff,
|
||||||
|
0x87, 0xff, 0x8f, 0xff, 0x3f, 0xfe, 0x7f, 0xfc,
|
||||||
|
0xff, 0xd9, 0xbf, 0xb3, 0x7f, 0x66, 0xfe, 0xed,
|
||||||
|
0xfd, 0xdb, 0xfb, 0xf7, 0xf7, 0xef, 0xe7, 0x9f,
|
||||||
|
0xcf, 0x3f, 0x9e, 0x7f, 0x3c, 0xfe, 0x79, 0xfc,
|
||||||
|
0xf3, 0xf9, 0xe7, 0x80,
|
||||||
|
|
||||||
|
/* U+006E "n" */
|
||||||
|
0xf0, 0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0xcf, 0xf9,
|
||||||
|
0xff, 0x3f, 0xe7, 0xee, 0xfd, 0xdf, 0xbb, 0xf7,
|
||||||
|
0x7e, 0x7f, 0xcf, 0xf9, 0xff, 0x1f, 0xe3, 0xfc,
|
||||||
|
0x7f, 0x8f, 0xf0, 0xfe, 0x1f, 0xc3, 0xf8, 0x78,
|
||||||
|
|
||||||
|
/* U+006F "o" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xf8,
|
||||||
|
0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0070 "p" */
|
||||||
|
0xff, 0x1f, 0xfb, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xff,
|
||||||
|
0xef, 0xfd, 0xfe, 0x3c, 0x7, 0x80, 0xf0, 0x1e,
|
||||||
|
0x3, 0xc0, 0x78, 0xf, 0x1, 0xe0, 0x3c, 0x0,
|
||||||
|
|
||||||
|
/* U+0071 "q" */
|
||||||
|
0x1f, 0x7, 0xfc, 0x7f, 0xcf, 0x1e, 0xf1, 0xef,
|
||||||
|
0x1e, 0xf1, 0xef, 0x1e, 0xf1, 0xef, 0x1e, 0xf1,
|
||||||
|
0xef, 0x1e, 0xf1, 0xef, 0x1e, 0xf1, 0xef, 0x1e,
|
||||||
|
0xf1, 0xef, 0x1e, 0xf1, 0xef, 0x1e, 0x7f, 0xc7,
|
||||||
|
0xfc, 0x1f, 0xf0, 0xf, 0x0, 0x70,
|
||||||
|
|
||||||
|
/* U+0072 "r" */
|
||||||
|
0xff, 0x1f, 0xfb, 0xff, 0x79, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x7b, 0xff, 0x7f,
|
||||||
|
0xcf, 0xfd, 0xe7, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3, 0xfc, 0x78,
|
||||||
|
|
||||||
|
/* U+0073 "s" */
|
||||||
|
0x1f, 0xf, 0xf9, 0xff, 0x78, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7, 0xc0, 0x78, 0xf, 0x80, 0xfc, 0xf,
|
||||||
|
0xc0, 0xf8, 0xf, 0x80, 0xf8, 0x1f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0074 "t" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x8f, 0x1, 0xe0, 0x3c,
|
||||||
|
0x7, 0x80, 0xf0, 0x1e, 0x3, 0xc0, 0x78, 0xf,
|
||||||
|
0x1, 0xe0, 0x3c, 0x7, 0x80, 0xf0, 0x1e, 0x3,
|
||||||
|
0xc0, 0x78, 0xf, 0x1, 0xe0, 0x3c, 0x7, 0x80,
|
||||||
|
|
||||||
|
/* U+0075 "u" */
|
||||||
|
0xf1, 0xfe, 0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3,
|
||||||
|
0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xf8,
|
||||||
|
0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe,
|
||||||
|
0x3f, 0xc7, 0xf8, 0xf7, 0xfc, 0xff, 0x87, 0xc0,
|
||||||
|
|
||||||
|
/* U+0076 "v" */
|
||||||
|
0xf0, 0x77, 0xf, 0x70, 0xe7, 0xe, 0x78, 0xe7,
|
||||||
|
0x8e, 0x78, 0xe7, 0x8e, 0x39, 0xe3, 0x9c, 0x39,
|
||||||
|
0xc3, 0x9c, 0x3d, 0xc3, 0xdc, 0x1d, 0xc1, 0xdc,
|
||||||
|
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x80,
|
||||||
|
0xf8, 0xf, 0x80,
|
||||||
|
|
||||||
|
/* U+0077 "w" */
|
||||||
|
0x71, 0xe3, 0xb8, 0xf1, 0xdc, 0x78, 0xee, 0x3c,
|
||||||
|
0x77, 0x1e, 0x3b, 0x8f, 0x9d, 0xc7, 0xce, 0xf7,
|
||||||
|
0xe7, 0x7b, 0xf3, 0xbd, 0xfb, 0x8e, 0xfd, 0xc7,
|
||||||
|
0x76, 0xe3, 0xbb, 0x71, 0xd9, 0xb8, 0xec, 0xdc,
|
||||||
|
0x76, 0x6e, 0x3b, 0x3f, 0x1d, 0x9f, 0x8f, 0xcf,
|
||||||
|
0xc7, 0xe7, 0xc1, 0xf3, 0xe0, 0xf8, 0xf0, 0x78,
|
||||||
|
0x78,
|
||||||
|
|
||||||
|
/* U+0078 "x" */
|
||||||
|
0x70, 0x73, 0xc3, 0x9e, 0x3c, 0x71, 0xc3, 0xce,
|
||||||
|
0x1e, 0xf0, 0x77, 0x3, 0xf8, 0x1f, 0xc0, 0x7c,
|
||||||
|
0x3, 0xe0, 0x1f, 0x0, 0xf8, 0x7, 0xc0, 0x7f,
|
||||||
|
0x3, 0xb8, 0x1d, 0xc1, 0xcf, 0xe, 0x78, 0x71,
|
||||||
|
0xc7, 0x8f, 0x38, 0x79, 0xc1, 0xc0,
|
||||||
|
|
||||||
|
/* U+0079 "y" */
|
||||||
|
0xf0, 0x7f, 0xf, 0x70, 0xe7, 0x8e, 0x79, 0xe3,
|
||||||
|
0x9c, 0x3d, 0xc3, 0xfc, 0x3f, 0xc1, 0xf8, 0x1f,
|
||||||
|
0x81, 0xf8, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0,
|
||||||
|
0xf0, 0xf, 0x0,
|
||||||
|
|
||||||
|
/* U+007A "z" */
|
||||||
|
0xff, 0xff, 0xff, 0xfc, 0xf, 0x3, 0x81, 0xe0,
|
||||||
|
0x78, 0x1c, 0xf, 0x3, 0xc1, 0xe0, 0x78, 0x1c,
|
||||||
|
0xf, 0x3, 0xc0, 0xe0, 0x78, 0x1c, 0x7, 0x3,
|
||||||
|
0xc0, 0xff, 0xff, 0xff, 0xfc,
|
||||||
|
|
||||||
|
/* U+007B "{" */
|
||||||
|
0xf, 0x1f, 0x3f, 0x3c, 0x38, 0x38, 0x38, 0x38,
|
||||||
|
0x38, 0x38, 0x38, 0x38, 0xf0, 0xe0, 0xf8, 0x38,
|
||||||
|
0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3f,
|
||||||
|
0x3f, 0xf,
|
||||||
|
|
||||||
|
/* U+007C "|" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+007D "}" */
|
||||||
|
0xf1, 0xe3, 0xe1, 0xc3, 0x87, 0xe, 0x1c, 0x38,
|
||||||
|
0x70, 0xe1, 0xc1, 0xe1, 0xcf, 0x9c, 0x38, 0x70,
|
||||||
|
0xe1, 0xc3, 0x87, 0xe, 0x7c, 0xf9, 0xe0,
|
||||||
|
|
||||||
|
/* U+007E "~" */
|
||||||
|
0x1c, 0x23, 0xe7, 0x7f, 0xfe, 0x7e, 0x61, 0xc0
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* GLYPH DESCRIPTION
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||||
|
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
|
||||||
|
{.bitmap_index = 0, .adv_w = 82, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1, .adv_w = 108, .box_w = 3, .box_h = 23, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 10, .adv_w = 172, .box_w = 9, .box_h = 7, .ofs_x = 1, .ofs_y = 16},
|
||||||
|
{.bitmap_index = 18, .adv_w = 211, .box_w = 12, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 53, .adv_w = 205, .box_w = 11, .box_h = 26, .ofs_x = 1, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 89, .adv_w = 302, .box_w = 16, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 135, .adv_w = 214, .box_w = 12, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 170, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 16},
|
||||||
|
{.bitmap_index = 174, .adv_w = 141, .box_w = 6, .box_h = 26, .ofs_x = 2, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 194, .adv_w = 141, .box_w = 7, .box_h = 26, .ofs_x = 1, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 217, .adv_w = 216, .box_w = 13, .box_h = 12, .ofs_x = 0, .ofs_y = 11},
|
||||||
|
{.bitmap_index = 237, .adv_w = 205, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 6},
|
||||||
|
{.bitmap_index = 253, .adv_w = 96, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = -4},
|
||||||
|
{.bitmap_index = 257, .adv_w = 138, .box_w = 7, .box_h = 3, .ofs_x = 1, .ofs_y = 10},
|
||||||
|
{.bitmap_index = 260, .adv_w = 96, .box_w = 4, .box_h = 3, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 262, .adv_w = 199, .box_w = 12, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 297, .adv_w = 205, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 329, .adv_w = 205, .box_w = 8, .box_h = 23, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 352, .adv_w = 205, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 384, .adv_w = 205, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 416, .adv_w = 205, .box_w = 12, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 451, .adv_w = 205, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 483, .adv_w = 205, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 515, .adv_w = 205, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 547, .adv_w = 205, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 579, .adv_w = 205, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 611, .adv_w = 96, .box_w = 4, .box_h = 16, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 619, .adv_w = 96, .box_w = 4, .box_h = 20, .ofs_x = 1, .ofs_y = -4},
|
||||||
|
{.bitmap_index = 629, .adv_w = 205, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 6},
|
||||||
|
{.bitmap_index = 643, .adv_w = 205, .box_w = 10, .box_h = 8, .ofs_x = 1, .ofs_y = 7},
|
||||||
|
{.bitmap_index = 653, .adv_w = 205, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 6},
|
||||||
|
{.bitmap_index = 667, .adv_w = 186, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 699, .adv_w = 356, .box_w = 21, .box_h = 26, .ofs_x = 1, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 768, .adv_w = 205, .box_w = 12, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 803, .adv_w = 207, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 835, .adv_w = 196, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 867, .adv_w = 208, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 899, .adv_w = 186, .box_w = 10, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 928, .adv_w = 176, .box_w = 10, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 957, .adv_w = 200, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 989, .adv_w = 215, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1021, .adv_w = 98, .box_w = 4, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1033, .adv_w = 136, .box_w = 7, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1054, .adv_w = 212, .box_w = 12, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1089, .adv_w = 176, .box_w = 10, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1118, .adv_w = 275, .box_w = 15, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1162, .adv_w = 219, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1194, .adv_w = 205, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1226, .adv_w = 198, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1258, .adv_w = 205, .box_w = 12, .box_h = 25, .ofs_x = 1, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 1296, .adv_w = 206, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1328, .adv_w = 190, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1360, .adv_w = 186, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1392, .adv_w = 206, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1424, .adv_w = 196, .box_w = 12, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1459, .adv_w = 285, .box_w = 17, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1508, .adv_w = 208, .box_w = 13, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1546, .adv_w = 202, .box_w = 12, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1581, .adv_w = 185, .box_w = 10, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1610, .adv_w = 141, .box_w = 6, .box_h = 26, .ofs_x = 2, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 1630, .adv_w = 199, .box_w = 12, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1665, .adv_w = 141, .box_w = 7, .box_h = 26, .ofs_x = 1, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 1688, .adv_w = 205, .box_w = 11, .box_h = 9, .ofs_x = 1, .ofs_y = 14},
|
||||||
|
{.bitmap_index = 1701, .adv_w = 154, .box_w = 10, .box_h = 3, .ofs_x = 0, .ofs_y = -3},
|
||||||
|
{.bitmap_index = 1705, .adv_w = 256, .box_w = 6, .box_h = 3, .ofs_x = 4, .ofs_y = 24},
|
||||||
|
{.bitmap_index = 1708, .adv_w = 205, .box_w = 12, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1743, .adv_w = 207, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1775, .adv_w = 196, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1807, .adv_w = 208, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1839, .adv_w = 186, .box_w = 10, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1868, .adv_w = 176, .box_w = 10, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1897, .adv_w = 200, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1929, .adv_w = 215, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1961, .adv_w = 98, .box_w = 4, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1973, .adv_w = 136, .box_w = 7, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1994, .adv_w = 212, .box_w = 12, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2029, .adv_w = 176, .box_w = 10, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2058, .adv_w = 275, .box_w = 15, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2102, .adv_w = 219, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2134, .adv_w = 205, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2166, .adv_w = 198, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2198, .adv_w = 205, .box_w = 12, .box_h = 25, .ofs_x = 1, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 2236, .adv_w = 206, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2268, .adv_w = 190, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2300, .adv_w = 186, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2332, .adv_w = 206, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2364, .adv_w = 196, .box_w = 12, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2399, .adv_w = 285, .box_w = 17, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2448, .adv_w = 208, .box_w = 13, .box_h = 23, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2486, .adv_w = 202, .box_w = 12, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2521, .adv_w = 185, .box_w = 10, .box_h = 23, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2550, .adv_w = 141, .box_w = 8, .box_h = 26, .ofs_x = 1, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 2576, .adv_w = 256, .box_w = 3, .box_h = 32, .ofs_x = 7, .ofs_y = -6},
|
||||||
|
{.bitmap_index = 2588, .adv_w = 141, .box_w = 7, .box_h = 26, .ofs_x = 1, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 2611, .adv_w = 205, .box_w = 12, .box_h = 5, .ofs_x = 0, .ofs_y = 9}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* CHARACTER MAPPING
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
|
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
|
||||||
|
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* KERNING
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
|
||||||
|
/*Map glyph_ids to kern left classes*/
|
||||||
|
static const uint8_t kern_left_class_mapping[] =
|
||||||
|
{
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 1,
|
||||||
|
0, 2, 0, 0, 0, 0, 3, 0,
|
||||||
|
4, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 5, 6, 7, 8, 9, 10, 11,
|
||||||
|
12, 0, 0, 13, 14, 15, 0, 0,
|
||||||
|
9, 16, 9, 17, 18, 19, 20, 21,
|
||||||
|
22, 23, 24, 25, 2, 0, 0, 0,
|
||||||
|
0, 0, 6, 7, 8, 9, 10, 11,
|
||||||
|
12, 0, 0, 0, 14, 15, 0, 0,
|
||||||
|
9, 16, 9, 17, 18, 19, 20, 21,
|
||||||
|
22, 23, 24, 25, 2, 0, 0, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
/*Map glyph_ids to kern right classes*/
|
||||||
|
static const uint8_t kern_right_class_mapping[] =
|
||||||
|
{
|
||||||
|
0, 0, 0, 1, 0, 0, 0, 2,
|
||||||
|
1, 0, 3, 4, 0, 5, 6, 5,
|
||||||
|
7, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 8, 8, 0, 0, 0,
|
||||||
|
9, 10, 11, 0, 12, 0, 0, 0,
|
||||||
|
12, 0, 0, 13, 0, 0, 0, 0,
|
||||||
|
12, 0, 12, 0, 14, 15, 16, 17,
|
||||||
|
18, 19, 20, 21, 0, 0, 3, 0,
|
||||||
|
0, 0, 11, 0, 12, 0, 0, 0,
|
||||||
|
12, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
12, 0, 12, 0, 14, 15, 16, 17,
|
||||||
|
18, 19, 20, 21, 0, 0, 3, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
/*Kern values between classes*/
|
||||||
|
static const int8_t kern_class_values[] =
|
||||||
|
{
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, -5, 0,
|
||||||
|
0, 0, 0, -7, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 5,
|
||||||
|
0, 5, 0, 8, 0, 5, 5, 3,
|
||||||
|
5, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, -10, 0, -32, 0,
|
||||||
|
-37, 0, -10, -4, -18, -26, -8, 0,
|
||||||
|
0, 0, 0, 0, 0, -72, 0, 0,
|
||||||
|
0, -13, 0, -23, 0, 5, 0, 5,
|
||||||
|
5, 0, 3, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, -8, 0,
|
||||||
|
-5, 0, 0, 0, 0, 0, -10, -8,
|
||||||
|
0, -27, 0, 5, -23, 5, -10, 5,
|
||||||
|
5, -15, -3, 3, -1, 0, -2, -24,
|
||||||
|
-1, -14, -7, 1, -24, 2, -3, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, -2, -1,
|
||||||
|
-4, -8, 0, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 0, 3, 3, 0, 1, 0,
|
||||||
|
1, 0, 0, 0, 0, -4, -5, 0,
|
||||||
|
-3, 0, 0, 0, -3, 0, 0, 0,
|
||||||
|
0, 0, -1, 0, -2, 0, -2, 0,
|
||||||
|
-1, 0, -8, -9, 0, 0, 0, 5,
|
||||||
|
0, 3, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0, 0, 1,
|
||||||
|
0, 1, 5, 0, 8, 5, -37, -3,
|
||||||
|
-15, 0, 3, -3, -16, 0, -26, 0,
|
||||||
|
5, 0, 3, 3, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, -7, -8, 0, 0, 0, 0, 0,
|
||||||
|
-1, 0, -5, 0, 0, 0, -1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, -3, 3, -10, 3, -18, 0,
|
||||||
|
3, -5, -4, 0, -8, 0, -4, 0,
|
||||||
|
-1, 0, 0, 0, 0, 0, -37, 5,
|
||||||
|
8, -51, 5, -37, 5, 5, -23, 0,
|
||||||
|
2, -2, 5, 0, -40, 0, -24, -9,
|
||||||
|
0, -45, 0, 0, 0, 0, 5, -48,
|
||||||
|
0, -33, 0, 5, 0, -18, 0, -29,
|
||||||
|
2, 1, 0, 0, 0, -6, -3, -1,
|
||||||
|
-3, 0, 0, 0, 3, 0, 5, 3,
|
||||||
|
0, 0, 0, 0, 0, 0, -1, 0,
|
||||||
|
-2, -1, 0, -8, 0, 0, 0, 0,
|
||||||
|
0, 0, -2, 0, 0, 0, 0, -2,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, -3,
|
||||||
|
-3, 0, 5, 0, 8, 5, -37, -37,
|
||||||
|
-23, -18, 3, -13, -24, -2, -26, 0,
|
||||||
|
5, 0, 2, 2, 0, 2, 0, 0,
|
||||||
|
0, 0, 0, -1, 0, -5, 0, 0,
|
||||||
|
0, -1, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, -1, 0, 0, 5, -3, 5, 0,
|
||||||
|
-27, -10, -13, -8, 0, -5, -14, -1,
|
||||||
|
-25, 0, 2, 0, 3, 3, 0, 0,
|
||||||
|
0, 5, 0, 5, 0, -13, -4, 0,
|
||||||
|
-3, 0, -3, -7, 0, -11, 0, 2,
|
||||||
|
0, 3, 3, 0, 0, 0, 0, -3,
|
||||||
|
3, -10, 3, -18, 5, 3, -5, -4,
|
||||||
|
1, -8, 0, -3, 0, -1, 0, 0,
|
||||||
|
0, 0, 0, 5, -10, 5, -5, -48,
|
||||||
|
-26, -28, -20, -5, -20, -24, -9, -30,
|
||||||
|
-8, 2, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 5, -8, 0, 5,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 3
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*Collect the kern class' data in one place*/
|
||||||
|
static const lv_font_fmt_txt_kern_classes_t kern_classes =
|
||||||
|
{
|
||||||
|
.class_pair_values = kern_class_values,
|
||||||
|
.left_class_mapping = kern_left_class_mapping,
|
||||||
|
.right_class_mapping = kern_right_class_mapping,
|
||||||
|
.left_class_cnt = 25,
|
||||||
|
.right_class_cnt = 21,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*--------------------
|
||||||
|
* ALL CUSTOM DATA
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
/*Store all the custom data of the font*/
|
||||||
|
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||||
|
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
#else
|
||||||
|
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
#endif
|
||||||
|
.glyph_bitmap = glyph_bitmap,
|
||||||
|
.glyph_dsc = glyph_dsc,
|
||||||
|
.cmaps = cmaps,
|
||||||
|
.kern_dsc = &kern_classes,
|
||||||
|
.kern_scale = 16,
|
||||||
|
.cmap_num = 1,
|
||||||
|
.bpp = 1,
|
||||||
|
.kern_classes = 1,
|
||||||
|
.bitmap_format = 0,
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
.cache = &cache
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* PUBLIC FONT
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Initialize a public general font descriptor*/
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
const lv_font_t bebas_neue_32 = {
|
||||||
|
#else
|
||||||
|
lv_font_t bebas_neue_32 = {
|
||||||
|
#endif
|
||||||
|
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||||
|
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||||
|
.line_height = 33, /*The maximum line height required by the font*/
|
||||||
|
.base_line = 6, /*Baseline measured from the bottom of the line*/
|
||||||
|
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||||
|
.subpx = LV_FONT_SUBPX_NONE,
|
||||||
|
#endif
|
||||||
|
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||||
|
.underline_position = -1,
|
||||||
|
.underline_thickness = 3,
|
||||||
|
#endif
|
||||||
|
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /*#if BEBAS_NEUE_32*/
|
||||||
|
|
1042
main/assets/fonts/bebas_neue/bebas_neue_40.c
Normal file
1042
main/assets/fonts/bebas_neue/bebas_neue_40.c
Normal file
File diff suppressed because it is too large
Load Diff
20
main/assets/fonts/material_webfont/LICENSE
Normal file
20
main/assets/fonts/material_webfont/LICENSE
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
Pictogrammers Free License
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
This icon collection is released as free, open source, and GPL friendly by
|
||||||
|
the [Pictogrammers](http://pictogrammers.com/) icon group. You may use it
|
||||||
|
for commercial projects, open source projects, or anything really.
|
||||||
|
|
||||||
|
# Icons: Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0)
|
||||||
|
Some of the icons are redistributed under the Apache 2.0 license. All other
|
||||||
|
icons are either redistributed under their respective licenses or are
|
||||||
|
distributed under the Apache 2.0 license.
|
||||||
|
|
||||||
|
# Fonts: Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0)
|
||||||
|
All web and desktop fonts are distributed under the Apache 2.0 license. Web
|
||||||
|
and desktop fonts contain some icons that are redistributed under the Apache
|
||||||
|
2.0 license. All other icons are either redistributed under their respective
|
||||||
|
licenses or are distributed under the Apache 2.0 license.
|
||||||
|
|
||||||
|
# Code: MIT (https://opensource.org/licenses/MIT)
|
||||||
|
The MIT license applies to all non-font and non-icon files.
|
168
main/assets/fonts/material_webfont/material_webfont_32.c
Normal file
168
main/assets/fonts/material_webfont/material_webfont_32.c
Normal file
|
@ -0,0 +1,168 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Size: 32 px
|
||||||
|
* Bpp: 1
|
||||||
|
* Opts:
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||||
|
#include "lvgl.h"
|
||||||
|
#else
|
||||||
|
#include "lvgl/lvgl.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MATERIAL_WEBFONT_32
|
||||||
|
#define MATERIAL_WEBFONT_32 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if MATERIAL_WEBFONT_32
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* BITMAPS
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Store the image of the glyphs*/
|
||||||
|
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
||||||
|
/* U+F007A "" */
|
||||||
|
0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0x7f, 0xfe,
|
||||||
|
0xff, 0xff, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7,
|
||||||
|
0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7,
|
||||||
|
0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7,
|
||||||
|
0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7,
|
||||||
|
0xe0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0x7f, 0xfe,
|
||||||
|
|
||||||
|
/* U+F0504 "" */
|
||||||
|
0x3c, 0x0, 0x0, 0x7e, 0x0, 0x0, 0xe7, 0x1,
|
||||||
|
0xf8, 0xe7, 0x7, 0xfc, 0xe7, 0x1f, 0xfe, 0xe7,
|
||||||
|
0x3f, 0xfe, 0x7e, 0x3f, 0xfe, 0x3c, 0x7f, 0x4,
|
||||||
|
0x0, 0x7c, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8,
|
||||||
|
0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0,
|
||||||
|
0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf8, 0x0,
|
||||||
|
0x0, 0x78, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x3f,
|
||||||
|
0xc, 0x0, 0x1f, 0xfc, 0x0, 0xf, 0xfe, 0x0,
|
||||||
|
0x7, 0xfe, 0x0, 0x1, 0xf8,
|
||||||
|
|
||||||
|
/* U+F058C "" */
|
||||||
|
0x0, 0x0, 0x1, 0x80, 0x3, 0xc0, 0x7, 0xe0,
|
||||||
|
0x7, 0xe0, 0xf, 0xf0, 0x1f, 0xf8, 0x1f, 0xf8,
|
||||||
|
0x3f, 0xfc, 0x3f, 0xfc, 0x7f, 0xfe, 0x7f, 0xfe,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xfc,
|
||||||
|
0x1f, 0xf8, 0xf, 0xf0, 0x1, 0x80,
|
||||||
|
|
||||||
|
/* U+F0599 "" */
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x18,
|
||||||
|
0x0, 0x0, 0x3c, 0x0, 0x0, 0x66, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7e, 0x1f,
|
||||||
|
0x71, 0xff, 0x8e, 0x63, 0xc3, 0xc6, 0x23, 0x81,
|
||||||
|
0xc4, 0x7, 0x0, 0xe0, 0x7, 0x0, 0xe0, 0x7,
|
||||||
|
0x0, 0xe0, 0x7, 0x0, 0xe0, 0x23, 0x81, 0xc4,
|
||||||
|
0x23, 0xc3, 0xc4, 0x71, 0xff, 0x8e, 0xf8, 0x7e,
|
||||||
|
0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x66, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x18, 0x0,
|
||||||
|
0x0, 0x18, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
|
||||||
|
/* U+F092D "" */
|
||||||
|
0x8, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x0,
|
||||||
|
0xe, 0x1f, 0xf8, 0x0, 0x7, 0x1f, 0xff, 0x80,
|
||||||
|
0x7, 0x8f, 0xff, 0xe0, 0x1f, 0xc7, 0xff, 0xf8,
|
||||||
|
0x3f, 0xe3, 0xff, 0xfc, 0x7f, 0xf1, 0xff, 0xfe,
|
||||||
|
0x7f, 0xf8, 0xff, 0xfe, 0x3f, 0xfc, 0x7f, 0xfc,
|
||||||
|
0x1f, 0xfe, 0x3f, 0xf8, 0xf, 0xff, 0x1f, 0xf0,
|
||||||
|
0x7, 0xff, 0x8f, 0xe0, 0x7, 0xff, 0xc7, 0xe0,
|
||||||
|
0x3, 0xff, 0xe3, 0xc0, 0x1, 0xff, 0xf1, 0x80,
|
||||||
|
0x0, 0xff, 0xf8, 0x0, 0x0, 0x7f, 0xfc, 0x0,
|
||||||
|
0x0, 0x7f, 0xfe, 0x0, 0x0, 0x3f, 0xff, 0x0,
|
||||||
|
0x0, 0x1f, 0xff, 0x80, 0x0, 0xf, 0xf3, 0xc0,
|
||||||
|
0x0, 0x7, 0xe1, 0xe0, 0x0, 0x7, 0xe0, 0xe0,
|
||||||
|
0x0, 0x3, 0xc0, 0x40, 0x0, 0x1, 0x80, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* GLYPH DESCRIPTION
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||||
|
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
|
||||||
|
{.bitmap_index = 0, .adv_w = 512, .box_w = 16, .box_h = 26, .ofs_x = 8, .ofs_y = -1},
|
||||||
|
{.bitmap_index = 52, .adv_w = 512, .box_w = 24, .box_h = 23, .ofs_x = 4, .ofs_y = 1},
|
||||||
|
{.bitmap_index = 121, .adv_w = 512, .box_w = 16, .box_h = 23, .ofs_x = 8, .ofs_y = 1},
|
||||||
|
{.bitmap_index = 167, .adv_w = 512, .box_w = 24, .box_h = 26, .ofs_x = 4, .ofs_y = -1},
|
||||||
|
{.bitmap_index = 245, .adv_w = 512, .box_w = 32, .box_h = 27, .ofs_x = 0, .ofs_y = -1}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* CHARACTER MAPPING
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
static const uint16_t unicode_list_0[] = {
|
||||||
|
0x0, 0x48a, 0x512, 0x51f, 0x8b3
|
||||||
|
};
|
||||||
|
|
||||||
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
|
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.range_start = 983162, .range_length = 2228, .glyph_id_start = 1,
|
||||||
|
.unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 5, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------
|
||||||
|
* ALL CUSTOM DATA
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
/*Store all the custom data of the font*/
|
||||||
|
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||||
|
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
#else
|
||||||
|
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
#endif
|
||||||
|
.glyph_bitmap = glyph_bitmap,
|
||||||
|
.glyph_dsc = glyph_dsc,
|
||||||
|
.cmaps = cmaps,
|
||||||
|
.kern_dsc = NULL,
|
||||||
|
.kern_scale = 0,
|
||||||
|
.cmap_num = 1,
|
||||||
|
.bpp = 1,
|
||||||
|
.kern_classes = 0,
|
||||||
|
.bitmap_format = 0,
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
.cache = &cache
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* PUBLIC FONT
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Initialize a public general font descriptor*/
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
const lv_font_t material_webfont_32 = {
|
||||||
|
#else
|
||||||
|
lv_font_t material_webfont_32 = {
|
||||||
|
#endif
|
||||||
|
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||||
|
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||||
|
.line_height = 27, /*The maximum line height required by the font*/
|
||||||
|
.base_line = 1, /*Baseline measured from the bottom of the line*/
|
||||||
|
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||||
|
.subpx = LV_FONT_SUBPX_NONE,
|
||||||
|
#endif
|
||||||
|
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||||
|
.underline_position = 0,
|
||||||
|
.underline_thickness = 0,
|
||||||
|
#endif
|
||||||
|
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /*#if MATERIAL_WEBFONT_32*/
|
||||||
|
|
Binary file not shown.
78643
main/assets/fonts/material_webfont/meta.json
Normal file
78643
main/assets/fonts/material_webfont/meta.json
Normal file
File diff suppressed because it is too large
Load Diff
19
main/assets/fonts/material_webfont/parse_meta.rb
Normal file
19
main/assets/fonts/material_webfont/parse_meta.rb
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
require 'json'
|
||||||
|
|
||||||
|
meta_json = ""
|
||||||
|
|
||||||
|
File.open("meta.json", "r") do |f|
|
||||||
|
meta_json = f.read
|
||||||
|
end
|
||||||
|
|
||||||
|
meta = JSON.parse(meta_json)
|
||||||
|
|
||||||
|
cp_array = meta.map{|m| m["codepoint"]}.sort
|
||||||
|
|
||||||
|
cp_list = ""
|
||||||
|
|
||||||
|
cp_array.each do |i|
|
||||||
|
cp_list += "#{i},"
|
||||||
|
end
|
||||||
|
|
||||||
|
puts cp_list
|
0
main/impl/impl_btn.c
Normal file
0
main/impl/impl_btn.c
Normal file
|
@ -3,6 +3,8 @@
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
#include "impl_epd.h"
|
#include "impl_epd.h"
|
||||||
|
|
||||||
|
#define LOG_TAG "IMPL_LVGL"
|
||||||
|
|
||||||
#define EPD_DISPLAY_PIXEL_COUNT 400 * 300
|
#define EPD_DISPLAY_PIXEL_COUNT 400 * 300
|
||||||
#define EPD_DISPLAY_FRAME_SIZE (EPD_DISPLAY_PIXEL_COUNT * 2 / 8)
|
#define EPD_DISPLAY_FRAME_SIZE (EPD_DISPLAY_PIXEL_COUNT * 2 / 8)
|
||||||
|
|
||||||
|
@ -29,7 +31,7 @@ static epd_gdew042t2_t s_gd_epd = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#if !EPD_DISPLAY_GS
|
#if !EPD_DISPLAY_GS
|
||||||
static uint8_t s_epd_partial_counter = EPD_DISPLAY_MAX_PARTIAL - 1;
|
static uint8_t s_epd_partial_counter = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static lv_disp_draw_buf_t s_disp_buf;
|
static lv_disp_draw_buf_t s_disp_buf;
|
||||||
|
@ -106,6 +108,8 @@ static void impl_lvgl_epd_flush_cb(lv_disp_drv_t *disp_drv, const lv_area_t *are
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
ESP_LOGD(LOG_TAG, "Memory buffer flushed to EPD.");
|
||||||
|
|
||||||
lv_disp_flush_ready(disp_drv);
|
lv_disp_flush_ready(disp_drv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,7 +118,10 @@ static void impl_lvgl_epd_rounder_cb(lv_disp_drv_t *disp_drv, lv_area_t *area) {
|
||||||
area->x2 = 399;
|
area->x2 = 399;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void impl_lvgl_log_cb(const char *buf) { ESP_LOGI("LVGL", "%s", buf); }
|
static void impl_lvgl_log_cb(const char *buf) {
|
||||||
|
// Log to console.
|
||||||
|
ESP_LOGI("LVGL", "%s", buf);
|
||||||
|
}
|
||||||
|
|
||||||
void impl_lvgl_timer_task(void *pvParameters) {
|
void impl_lvgl_timer_task(void *pvParameters) {
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
@ -152,6 +159,9 @@ esp_err_t impl_lvgl_init(void) {
|
||||||
ESP_ERROR_CHECK(impl_epd_init(&s_epd_impl));
|
ESP_ERROR_CHECK(impl_epd_init(&s_epd_impl));
|
||||||
|
|
||||||
lv_init();
|
lv_init();
|
||||||
|
|
||||||
|
lv_log_register_print_cb(impl_lvgl_log_cb);
|
||||||
|
|
||||||
lv_disp_draw_buf_init(&s_disp_buf, s_disp_store, NULL, EPD_DISPLAY_PIXEL_COUNT);
|
lv_disp_draw_buf_init(&s_disp_buf, s_disp_store, NULL, EPD_DISPLAY_PIXEL_COUNT);
|
||||||
lv_disp_drv_init(&s_disp_drv);
|
lv_disp_drv_init(&s_disp_drv);
|
||||||
|
|
||||||
|
@ -163,24 +173,33 @@ esp_err_t impl_lvgl_init(void) {
|
||||||
s_disp_drv.draw_buf = &s_disp_buf;
|
s_disp_drv.draw_buf = &s_disp_buf;
|
||||||
s_disp_drv.full_refresh = 1;
|
s_disp_drv.full_refresh = 1;
|
||||||
|
|
||||||
printf("Buffer start: %p\r\n", s_disp_store);
|
|
||||||
|
|
||||||
lv_disp_t *disp = lv_disp_drv_register(&s_disp_drv);
|
lv_disp_t *disp = lv_disp_drv_register(&s_disp_drv);
|
||||||
if (disp == NULL) {
|
if (disp == NULL) {
|
||||||
|
ESP_LOGE(LOG_TAG, "LVGL display driver register failed.");
|
||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lv_theme_t *default_theme = lv_theme_mono_init(disp, false, &lv_font_unscii_16);
|
||||||
|
lv_disp_set_theme(disp, default_theme);
|
||||||
|
|
||||||
s_lv_semphr_handle = xSemaphoreCreateBinary();
|
s_lv_semphr_handle = xSemaphoreCreateBinary();
|
||||||
if (s_lv_semphr_handle == NULL) {
|
if (s_lv_semphr_handle == NULL) {
|
||||||
|
ESP_LOGE(LOG_TAG, "LVGL semaphore creation failed.");
|
||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
xSemaphoreGive(s_lv_semphr_handle);
|
xSemaphoreGive(s_lv_semphr_handle);
|
||||||
|
|
||||||
xTaskCreate(impl_lvgl_tick_task, "LV_TICK", 1024, NULL, 5, &s_lv_tick_handle);
|
if (xTaskCreate(impl_lvgl_tick_task, "LV_TICK", 1024, NULL, 5, &s_lv_tick_handle) != pdPASS) {
|
||||||
xTaskCreate(impl_lvgl_timer_task, "LV_TMR", 4096, NULL, 4, &s_lv_task_handle);
|
ESP_LOGE(LOG_TAG, "LVGL tick task creation failed.");
|
||||||
|
return ESP_FAIL;
|
||||||
|
}
|
||||||
|
if (xTaskCreate(impl_lvgl_timer_task, "LV_TMR", 4096, NULL, 4, &s_lv_task_handle) != pdPASS) {
|
||||||
|
ESP_LOGE(LOG_TAG, "LVGL timer handler task creation failed.");
|
||||||
|
return ESP_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: Launch LVGL tasks below.
|
ESP_LOGI(LOG_TAG, "LVGL initialized.");
|
||||||
|
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
132
main/interface/if_standby.c
Normal file
132
main/interface/if_standby.c
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
#include "if_standby.h"
|
||||||
|
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
#include "esp_log.h"
|
||||||
|
#include "freertos/FreeRTOS.h"
|
||||||
|
#include "freertos/task.h"
|
||||||
|
#include "impl_lvgl.h"
|
||||||
|
|
||||||
|
#define LOG_TAG "IF_STANDBY"
|
||||||
|
|
||||||
|
static TaskHandle_t s_if_standby_handle;
|
||||||
|
|
||||||
|
lv_obj_t *g_standby_screen;
|
||||||
|
|
||||||
|
void if_standby_task(void *pvParameters) {
|
||||||
|
impl_lvgl_lock();
|
||||||
|
|
||||||
|
// 1st line
|
||||||
|
lv_obj_t *top_container = lv_obj_create(g_standby_screen);
|
||||||
|
|
||||||
|
lv_obj_set_size(top_container, 400, 60);
|
||||||
|
lv_obj_align(top_container, LV_ALIGN_TOP_MID, 0, 0);
|
||||||
|
lv_obj_set_flex_flow(top_container, LV_FLEX_FLOW_ROW);
|
||||||
|
|
||||||
|
lv_obj_t *network_status_obj = lv_obj_create(top_container);
|
||||||
|
lv_obj_t *weekday_obj = lv_obj_create(top_container);
|
||||||
|
lv_obj_t *date_obj = lv_obj_create(top_container);
|
||||||
|
lv_obj_t *battery_obj = lv_obj_create(top_container);
|
||||||
|
|
||||||
|
lv_obj_set_size(network_status_obj, 50, 50);
|
||||||
|
lv_obj_set_size(battery_obj, 50, 50);
|
||||||
|
|
||||||
|
lv_obj_set_height(weekday_obj, 50);
|
||||||
|
lv_obj_set_height(date_obj, 50);
|
||||||
|
|
||||||
|
lv_obj_set_flex_grow(weekday_obj, 1);
|
||||||
|
lv_obj_set_flex_grow(date_obj, 3);
|
||||||
|
|
||||||
|
// 2nd line
|
||||||
|
lv_obj_t *main_container = lv_obj_create(g_standby_screen);
|
||||||
|
|
||||||
|
lv_obj_set_size(main_container, 400, 235);
|
||||||
|
lv_obj_align_to(main_container, top_container, LV_ALIGN_OUT_BOTTOM_MID, 0, 5);
|
||||||
|
lv_obj_set_flex_flow(main_container, LV_FLEX_FLOW_ROW);
|
||||||
|
|
||||||
|
lv_obj_t *time_obj = lv_obj_create(main_container);
|
||||||
|
|
||||||
|
lv_obj_set_height(time_obj, 225);
|
||||||
|
lv_obj_set_flex_grow(time_obj, 1);
|
||||||
|
|
||||||
|
// 2nd line, DHT column
|
||||||
|
lv_obj_t *dht_container = lv_obj_create(main_container);
|
||||||
|
|
||||||
|
lv_obj_set_size(dht_container, 110, 225);
|
||||||
|
lv_obj_set_flex_flow(dht_container, LV_FLEX_FLOW_COLUMN);
|
||||||
|
|
||||||
|
lv_obj_t *temp_obj = lv_obj_create(dht_container);
|
||||||
|
lv_obj_t *humid_obj = lv_obj_create(dht_container);
|
||||||
|
|
||||||
|
lv_obj_set_width(temp_obj, 100);
|
||||||
|
lv_obj_set_width(humid_obj, 100);
|
||||||
|
|
||||||
|
lv_obj_set_flex_grow(temp_obj, 1);
|
||||||
|
lv_obj_set_flex_grow(humid_obj, 1);
|
||||||
|
|
||||||
|
// Create labels
|
||||||
|
lv_obj_t *network_status_label = lv_label_create(network_status_obj);
|
||||||
|
lv_obj_t *weekday_label = lv_label_create(weekday_obj);
|
||||||
|
lv_obj_t *date_label = lv_label_create(date_obj);
|
||||||
|
lv_obj_t *battery_label = lv_label_create(battery_obj);
|
||||||
|
lv_obj_t *time_label = lv_label_create(time_obj);
|
||||||
|
lv_obj_t *temp_icon_label = lv_label_create(temp_obj);
|
||||||
|
lv_obj_t *temp_label = lv_label_create(temp_obj);
|
||||||
|
lv_obj_t *humid_icon_label = lv_label_create(humid_obj);
|
||||||
|
lv_obj_t *humid_label = lv_label_create(humid_obj);
|
||||||
|
|
||||||
|
lv_obj_set_style_text_font(network_status_label, &material_webfont_32, 0);
|
||||||
|
lv_obj_set_style_text_font(weekday_label, &bebas_neue_32, 0);
|
||||||
|
lv_obj_set_style_text_font(date_label, &bebas_neue_32, 0);
|
||||||
|
lv_obj_set_style_text_font(battery_label, &material_webfont_32, 0);
|
||||||
|
lv_obj_set_style_text_font(time_label, &bebas_neue_120, 0);
|
||||||
|
lv_obj_set_style_text_font(temp_icon_label, &material_webfont_32, 0);
|
||||||
|
lv_obj_set_style_text_font(temp_label, &bebas_neue_32, 0);
|
||||||
|
lv_obj_set_style_text_font(humid_icon_label, &material_webfont_32, 0);
|
||||||
|
lv_obj_set_style_text_font(humid_label, &bebas_neue_32, 0);
|
||||||
|
|
||||||
|
|
||||||
|
lv_label_set_text(network_status_label, "\U000F092D");
|
||||||
|
lv_label_set_text(battery_label, "\U000F007A");
|
||||||
|
lv_label_set_text(weekday_label, "SUN");
|
||||||
|
lv_label_set_text(date_label, "1970/01/01");
|
||||||
|
lv_label_set_text(time_label, "23:59");
|
||||||
|
lv_label_set_text(temp_icon_label, "\U000F0599");
|
||||||
|
lv_label_set_text(temp_label, "30.00C");
|
||||||
|
lv_label_set_text(humid_icon_label, "\U000F058C");
|
||||||
|
lv_label_set_text(humid_label, "100.00%");
|
||||||
|
|
||||||
|
lv_obj_set_align(network_status_label, LV_ALIGN_CENTER);
|
||||||
|
lv_obj_set_align(battery_label, LV_ALIGN_CENTER);
|
||||||
|
lv_obj_set_align(weekday_label, LV_ALIGN_CENTER);
|
||||||
|
lv_obj_set_align(date_label, LV_ALIGN_CENTER);
|
||||||
|
lv_obj_set_align(time_label, LV_ALIGN_CENTER);
|
||||||
|
lv_obj_align(temp_icon_label, LV_ALIGN_CENTER, 0, -16);
|
||||||
|
lv_obj_align(temp_label, LV_ALIGN_CENTER, 0, 16);
|
||||||
|
lv_obj_align(humid_icon_label, LV_ALIGN_CENTER, 0, -16);
|
||||||
|
lv_obj_align(humid_label, LV_ALIGN_CENTER, 0, 16);
|
||||||
|
|
||||||
|
impl_lvgl_unlock();
|
||||||
|
|
||||||
|
struct timeval tv;
|
||||||
|
struct timezone tz;
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
gettimeofday(&tv, &tz);
|
||||||
|
|
||||||
|
vTaskDelay(pdMS_TO_TICKS(1000));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
esp_err_t if_standby_init(void) {
|
||||||
|
impl_lvgl_lock();
|
||||||
|
g_standby_screen = lv_obj_create(NULL);
|
||||||
|
lv_disp_load_scr(g_standby_screen);
|
||||||
|
impl_lvgl_unlock();
|
||||||
|
|
||||||
|
if (xTaskCreate(if_standby_task, "STBY_TASK", 1024, NULL, 6, &s_if_standby_handle) != pdPASS) {
|
||||||
|
return ESP_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ESP_OK;
|
||||||
|
}
|
7
main/interface/if_standby.h
Normal file
7
main/interface/if_standby.h
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#ifndef IF_STANDBY_H
|
||||||
|
#define IF_STANDBY_H
|
||||||
|
|
||||||
|
#include "esp_system.h"
|
||||||
|
esp_err_t if_standby_init(void);
|
||||||
|
|
||||||
|
#endif
|
606
main/lib/lv_conf.h
Normal file
606
main/lib/lv_conf.h
Normal file
|
@ -0,0 +1,606 @@
|
||||||
|
/**
|
||||||
|
* @file lv_conf.h
|
||||||
|
* Configuration file for v8.1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copy this file as `lv_conf.h`
|
||||||
|
* 1. simply next to the `lvgl` folder
|
||||||
|
* 2. or any other places and
|
||||||
|
* - define `LV_CONF_INCLUDE_SIMPLE`
|
||||||
|
* - add the path as include path
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* clang-format off */
|
||||||
|
#if 1 /*Set it to "1" to enable content*/
|
||||||
|
|
||||||
|
#ifndef LV_CONF_H
|
||||||
|
#define LV_CONF_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/*====================
|
||||||
|
COLOR SETTINGS
|
||||||
|
*====================*/
|
||||||
|
|
||||||
|
/*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/
|
||||||
|
#define LV_COLOR_DEPTH 8
|
||||||
|
|
||||||
|
/*Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)*/
|
||||||
|
#define LV_COLOR_16_SWAP 0
|
||||||
|
|
||||||
|
/*Enable more complex drawing routines to manage screens transparency.
|
||||||
|
*Can be used if the UI is above another layer, e.g. an OSD menu or video player.
|
||||||
|
*Requires `LV_COLOR_DEPTH = 32` colors and the screen's `bg_opa` should be set to non LV_OPA_COVER value*/
|
||||||
|
#define LV_COLOR_SCREEN_TRANSP 0
|
||||||
|
|
||||||
|
/* Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently.
|
||||||
|
* 0: round down, 64: round up from x.75, 128: round up from half, 192: round up from x.25, 254: round up */
|
||||||
|
#define LV_COLOR_MIX_ROUND_OFS (LV_COLOR_DEPTH == 32 ? 0: 128)
|
||||||
|
|
||||||
|
/*Images pixels with this color will not be drawn if they are chroma keyed)*/
|
||||||
|
#define LV_COLOR_CHROMA_KEY lv_color_hex(0x00ff00) /*pure green*/
|
||||||
|
|
||||||
|
/*=========================
|
||||||
|
MEMORY SETTINGS
|
||||||
|
*=========================*/
|
||||||
|
|
||||||
|
/*1: use custom malloc/free, 0: use the built-in `lv_mem_alloc()` and `lv_mem_free()`*/
|
||||||
|
#define LV_MEM_CUSTOM 1
|
||||||
|
#if LV_MEM_CUSTOM == 0
|
||||||
|
/*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/
|
||||||
|
# define LV_MEM_SIZE (32U * 1024U) /*[bytes]*/
|
||||||
|
|
||||||
|
/*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/
|
||||||
|
# define LV_MEM_ADR 0 /*0: unused*/
|
||||||
|
/*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/
|
||||||
|
#if LV_MEM_ADR == 0
|
||||||
|
//#define LV_MEM_POOL_INCLUDE your_alloc_library /* Uncomment if using an external allocator*/
|
||||||
|
//#define LV_MEM_POOL_ALLOC your_alloc /* Uncomment if using an external allocator*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else /*LV_MEM_CUSTOM*/
|
||||||
|
# define LV_MEM_CUSTOM_INCLUDE <stdlib.h> /*Header for the dynamic memory function*/
|
||||||
|
# define LV_MEM_CUSTOM_ALLOC malloc
|
||||||
|
# define LV_MEM_CUSTOM_FREE free
|
||||||
|
# define LV_MEM_CUSTOM_REALLOC realloc
|
||||||
|
#endif /*LV_MEM_CUSTOM*/
|
||||||
|
|
||||||
|
/*Number of the intermediate memory buffer used during rendering and other internal processing mechanisms.
|
||||||
|
*You will see an error log message if there wasn't enough buffers. */
|
||||||
|
#define LV_MEM_BUF_MAX_NUM 16
|
||||||
|
|
||||||
|
/*Use the standard `memcpy` and `memset` instead of LVGL's own functions. (Might or might not be faster).*/
|
||||||
|
#define LV_MEMCPY_MEMSET_STD 0
|
||||||
|
|
||||||
|
/*====================
|
||||||
|
HAL SETTINGS
|
||||||
|
*====================*/
|
||||||
|
|
||||||
|
/*Default display refresh period. LVG will redraw changed areas with this period time*/
|
||||||
|
#define LV_DISP_DEF_REFR_PERIOD 30 /*[ms]*/
|
||||||
|
|
||||||
|
/*Input device read period in milliseconds*/
|
||||||
|
#define LV_INDEV_DEF_READ_PERIOD 30 /*[ms]*/
|
||||||
|
|
||||||
|
/*Use a custom tick source that tells the elapsed time in milliseconds.
|
||||||
|
*It removes the need to manually update the tick with `lv_tick_inc()`)*/
|
||||||
|
#define LV_TICK_CUSTOM 0
|
||||||
|
#if LV_TICK_CUSTOM
|
||||||
|
#define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the system time function*/
|
||||||
|
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current system time in ms*/
|
||||||
|
#endif /*LV_TICK_CUSTOM*/
|
||||||
|
|
||||||
|
/*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings.
|
||||||
|
*(Not so important, you can adjust it to modify default sizes and spaces)*/
|
||||||
|
#define LV_DPI_DEF 130 /*[px/inch]*/
|
||||||
|
|
||||||
|
/*=======================
|
||||||
|
* FEATURE CONFIGURATION
|
||||||
|
*=======================*/
|
||||||
|
|
||||||
|
/*-------------
|
||||||
|
* Drawing
|
||||||
|
*-----------*/
|
||||||
|
|
||||||
|
/*Enable complex draw engine.
|
||||||
|
*Required to draw shadow, gradient, rounded corners, circles, arc, skew lines, image transformations or any masks*/
|
||||||
|
#define LV_DRAW_COMPLEX 1
|
||||||
|
#if LV_DRAW_COMPLEX != 0
|
||||||
|
|
||||||
|
/*Allow buffering some shadow calculation.
|
||||||
|
*LV_SHADOW_CACHE_SIZE is the max. shadow size to buffer, where shadow size is `shadow_width + radius`
|
||||||
|
*Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost*/
|
||||||
|
#define LV_SHADOW_CACHE_SIZE 0
|
||||||
|
|
||||||
|
/* Set number of maximally cached circle data.
|
||||||
|
* The circumference of 1/4 circle are saved for anti-aliasing
|
||||||
|
* radius * 4 bytes are used per circle (the most often used radiuses are saved)
|
||||||
|
* 0: to disable caching */
|
||||||
|
#define LV_CIRCLE_CACHE_SIZE 4
|
||||||
|
|
||||||
|
#endif /*LV_DRAW_COMPLEX*/
|
||||||
|
|
||||||
|
/*Default image cache size. Image caching keeps the images opened.
|
||||||
|
*If only the built-in image formats are used there is no real advantage of caching. (I.e. if no new image decoder is added)
|
||||||
|
*With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images.
|
||||||
|
*However the opened images might consume additional RAM.
|
||||||
|
*0: to disable caching*/
|
||||||
|
#define LV_IMG_CACHE_DEF_SIZE 0
|
||||||
|
|
||||||
|
/*Maximum buffer size to allocate for rotation. Only used if software rotation is enabled in the display driver.*/
|
||||||
|
#define LV_DISP_ROT_MAX_BUF (10*1024)
|
||||||
|
|
||||||
|
/*-------------
|
||||||
|
* GPU
|
||||||
|
*-----------*/
|
||||||
|
|
||||||
|
/*Use STM32's DMA2D (aka Chrom Art) GPU*/
|
||||||
|
#define LV_USE_GPU_STM32_DMA2D 0
|
||||||
|
#if LV_USE_GPU_STM32_DMA2D
|
||||||
|
/*Must be defined to include path of CMSIS header of target processor
|
||||||
|
e.g. "stm32f769xx.h" or "stm32f429xx.h"*/
|
||||||
|
#define LV_GPU_DMA2D_CMSIS_INCLUDE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Use NXP's PXP GPU iMX RTxxx platforms*/
|
||||||
|
#define LV_USE_GPU_NXP_PXP 0
|
||||||
|
#if LV_USE_GPU_NXP_PXP
|
||||||
|
/*1: Add default bare metal and FreeRTOS interrupt handling routines for PXP (lv_gpu_nxp_pxp_osa.c)
|
||||||
|
* and call lv_gpu_nxp_pxp_init() automatically during lv_init(). Note that symbol SDK_OS_FREE_RTOS
|
||||||
|
* has to be defined in order to use FreeRTOS OSA, otherwise bare-metal implementation is selected.
|
||||||
|
*0: lv_gpu_nxp_pxp_init() has to be called manually before lv_init()
|
||||||
|
*/
|
||||||
|
#define LV_USE_GPU_NXP_PXP_AUTO_INIT 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Use NXP's VG-Lite GPU iMX RTxxx platforms*/
|
||||||
|
#define LV_USE_GPU_NXP_VG_LITE 0
|
||||||
|
|
||||||
|
/*Use exnternal renderer*/
|
||||||
|
#define LV_USE_EXTERNAL_RENDERER 0
|
||||||
|
|
||||||
|
/*Use SDL renderer API. Requires LV_USE_EXTERNAL_RENDERER*/
|
||||||
|
#define LV_USE_GPU_SDL 0
|
||||||
|
#if LV_USE_GPU_SDL
|
||||||
|
# define LV_GPU_SDL_INCLUDE_PATH <SDL2/SDL.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------
|
||||||
|
* Logging
|
||||||
|
*-----------*/
|
||||||
|
|
||||||
|
/*Enable the log module*/
|
||||||
|
#define LV_USE_LOG 1
|
||||||
|
#if LV_USE_LOG
|
||||||
|
|
||||||
|
/*How important log should be added:
|
||||||
|
*LV_LOG_LEVEL_TRACE A lot of logs to give detailed information
|
||||||
|
*LV_LOG_LEVEL_INFO Log important events
|
||||||
|
*LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem
|
||||||
|
*LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail
|
||||||
|
*LV_LOG_LEVEL_USER Only logs added by the user
|
||||||
|
*LV_LOG_LEVEL_NONE Do not log anything*/
|
||||||
|
# define LV_LOG_LEVEL LV_LOG_LEVEL_WARN
|
||||||
|
|
||||||
|
/*1: Print the log with 'printf';
|
||||||
|
*0: User need to register a callback with `lv_log_register_print_cb()`*/
|
||||||
|
# define LV_LOG_PRINTF 0
|
||||||
|
|
||||||
|
/*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/
|
||||||
|
# define LV_LOG_TRACE_MEM 1
|
||||||
|
# define LV_LOG_TRACE_TIMER 1
|
||||||
|
# define LV_LOG_TRACE_INDEV 1
|
||||||
|
# define LV_LOG_TRACE_DISP_REFR 1
|
||||||
|
# define LV_LOG_TRACE_EVENT 1
|
||||||
|
# define LV_LOG_TRACE_OBJ_CREATE 1
|
||||||
|
# define LV_LOG_TRACE_LAYOUT 1
|
||||||
|
# define LV_LOG_TRACE_ANIM 1
|
||||||
|
|
||||||
|
#endif /*LV_USE_LOG*/
|
||||||
|
|
||||||
|
/*-------------
|
||||||
|
* Asserts
|
||||||
|
*-----------*/
|
||||||
|
|
||||||
|
/*Enable asserts if an operation is failed or an invalid data is found.
|
||||||
|
*If LV_USE_LOG is enabled an error message will be printed on failure*/
|
||||||
|
#define LV_USE_ASSERT_NULL 1 /*Check if the parameter is NULL. (Very fast, recommended)*/
|
||||||
|
#define LV_USE_ASSERT_MALLOC 1 /*Checks is the memory is successfully allocated or no. (Very fast, recommended)*/
|
||||||
|
#define LV_USE_ASSERT_STYLE 0 /*Check if the styles are properly initialized. (Very fast, recommended)*/
|
||||||
|
#define LV_USE_ASSERT_MEM_INTEGRITY 0 /*Check the integrity of `lv_mem` after critical operations. (Slow)*/
|
||||||
|
#define LV_USE_ASSERT_OBJ 0 /*Check the object's type and existence (e.g. not deleted). (Slow)*/
|
||||||
|
|
||||||
|
/*Add a custom handler when assert happens e.g. to restart the MCU*/
|
||||||
|
#define LV_ASSERT_HANDLER_INCLUDE <stdint.h>
|
||||||
|
#define LV_ASSERT_HANDLER while(1); /*Halt by default*/
|
||||||
|
|
||||||
|
/*-------------
|
||||||
|
* Others
|
||||||
|
*-----------*/
|
||||||
|
|
||||||
|
/*1: Show CPU usage and FPS count in the right bottom corner*/
|
||||||
|
#define LV_USE_PERF_MONITOR 0
|
||||||
|
#if LV_USE_PERF_MONITOR
|
||||||
|
#define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*1: Show the used memory and the memory fragmentation in the left bottom corner
|
||||||
|
* Requires LV_MEM_CUSTOM = 0*/
|
||||||
|
#define LV_USE_MEM_MONITOR 0
|
||||||
|
#if LV_USE_PERF_MONITOR
|
||||||
|
#define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*1: Draw random colored rectangles over the redrawn areas*/
|
||||||
|
#define LV_USE_REFR_DEBUG 0
|
||||||
|
|
||||||
|
/*Change the built in (v)snprintf functions*/
|
||||||
|
#define LV_SPRINTF_CUSTOM 0
|
||||||
|
#if LV_SPRINTF_CUSTOM
|
||||||
|
# define LV_SPRINTF_INCLUDE <stdio.h>
|
||||||
|
# define lv_snprintf snprintf
|
||||||
|
# define lv_vsnprintf vsnprintf
|
||||||
|
#else /*LV_SPRINTF_CUSTOM*/
|
||||||
|
# define LV_SPRINTF_USE_FLOAT 0
|
||||||
|
#endif /*LV_SPRINTF_CUSTOM*/
|
||||||
|
|
||||||
|
#define LV_USE_USER_DATA 1
|
||||||
|
|
||||||
|
/*Garbage Collector settings
|
||||||
|
*Used if lvgl is bound to higher level language and the memory is managed by that language*/
|
||||||
|
#define LV_ENABLE_GC 0
|
||||||
|
#if LV_ENABLE_GC != 0
|
||||||
|
# define LV_GC_INCLUDE "gc.h" /*Include Garbage Collector related things*/
|
||||||
|
#endif /*LV_ENABLE_GC*/
|
||||||
|
|
||||||
|
/*=====================
|
||||||
|
* COMPILER SETTINGS
|
||||||
|
*====================*/
|
||||||
|
|
||||||
|
/*For big endian systems set to 1*/
|
||||||
|
#define LV_BIG_ENDIAN_SYSTEM 0
|
||||||
|
|
||||||
|
/*Define a custom attribute to `lv_tick_inc` function*/
|
||||||
|
#define LV_ATTRIBUTE_TICK_INC
|
||||||
|
|
||||||
|
/*Define a custom attribute to `lv_timer_handler` function*/
|
||||||
|
#define LV_ATTRIBUTE_TIMER_HANDLER
|
||||||
|
|
||||||
|
/*Define a custom attribute to `lv_disp_flush_ready` function*/
|
||||||
|
#define LV_ATTRIBUTE_FLUSH_READY
|
||||||
|
|
||||||
|
/*Required alignment size for buffers*/
|
||||||
|
#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1
|
||||||
|
|
||||||
|
/*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary by default).
|
||||||
|
* E.g. __attribute__((aligned(4)))*/
|
||||||
|
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||||
|
|
||||||
|
/*Attribute to mark large constant arrays for example font's bitmaps*/
|
||||||
|
#define LV_ATTRIBUTE_LARGE_CONST
|
||||||
|
|
||||||
|
/*Complier prefix for a big array declaration in RAM*/
|
||||||
|
#define LV_ATTRIBUTE_LARGE_RAM_ARRAY
|
||||||
|
|
||||||
|
/*Place performance critical functions into a faster memory (e.g RAM)*/
|
||||||
|
#define LV_ATTRIBUTE_FAST_MEM
|
||||||
|
|
||||||
|
/*Prefix variables that are used in GPU accelerated operations, often these need to be placed in RAM sections that are DMA accessible*/
|
||||||
|
#define LV_ATTRIBUTE_DMA
|
||||||
|
|
||||||
|
/*Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> that
|
||||||
|
*should also appear on LVGL binding API such as Micropython.*/
|
||||||
|
#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning /*The default value just prevents GCC warning*/
|
||||||
|
|
||||||
|
/*Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t*/
|
||||||
|
#define LV_USE_LARGE_COORD 0
|
||||||
|
|
||||||
|
/*==================
|
||||||
|
* FONT USAGE
|
||||||
|
*===================*/
|
||||||
|
|
||||||
|
/*Montserrat fonts with ASCII range and some symbols using bpp = 4
|
||||||
|
*https://fonts.google.com/specimen/Montserrat*/
|
||||||
|
#define LV_FONT_MONTSERRAT_8 0
|
||||||
|
#define LV_FONT_MONTSERRAT_10 0
|
||||||
|
#define LV_FONT_MONTSERRAT_12 0
|
||||||
|
#define LV_FONT_MONTSERRAT_14 1
|
||||||
|
#define LV_FONT_MONTSERRAT_16 0
|
||||||
|
#define LV_FONT_MONTSERRAT_18 0
|
||||||
|
#define LV_FONT_MONTSERRAT_20 0
|
||||||
|
#define LV_FONT_MONTSERRAT_22 0
|
||||||
|
#define LV_FONT_MONTSERRAT_24 0
|
||||||
|
#define LV_FONT_MONTSERRAT_26 0
|
||||||
|
#define LV_FONT_MONTSERRAT_28 0
|
||||||
|
#define LV_FONT_MONTSERRAT_30 0
|
||||||
|
#define LV_FONT_MONTSERRAT_32 0
|
||||||
|
#define LV_FONT_MONTSERRAT_34 0
|
||||||
|
#define LV_FONT_MONTSERRAT_36 0
|
||||||
|
#define LV_FONT_MONTSERRAT_38 0
|
||||||
|
#define LV_FONT_MONTSERRAT_40 0
|
||||||
|
#define LV_FONT_MONTSERRAT_42 0
|
||||||
|
#define LV_FONT_MONTSERRAT_44 0
|
||||||
|
#define LV_FONT_MONTSERRAT_46 0
|
||||||
|
#define LV_FONT_MONTSERRAT_48 0
|
||||||
|
|
||||||
|
/*Demonstrate special features*/
|
||||||
|
#define LV_FONT_MONTSERRAT_12_SUBPX 0
|
||||||
|
#define LV_FONT_MONTSERRAT_28_COMPRESSED 0 /*bpp = 3*/
|
||||||
|
#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 /*Hebrew, Arabic, Perisan letters and all their forms*/
|
||||||
|
#define LV_FONT_SIMSUN_16_CJK 0 /*1000 most common CJK radicals*/
|
||||||
|
|
||||||
|
/*Pixel perfect monospace fonts*/
|
||||||
|
#define LV_FONT_UNSCII_8 1
|
||||||
|
#define LV_FONT_UNSCII_16 1
|
||||||
|
|
||||||
|
/*Optionally declare custom fonts here.
|
||||||
|
*You can use these fonts as default font too and they will be available globally.
|
||||||
|
*E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/
|
||||||
|
#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bebas_neue_32) \
|
||||||
|
LV_FONT_DECLARE(bebas_neue_40) \
|
||||||
|
LV_FONT_DECLARE(bebas_neue_120) \
|
||||||
|
LV_FONT_DECLARE(material_webfont_32)
|
||||||
|
|
||||||
|
/*Always set a default font*/
|
||||||
|
#define LV_FONT_DEFAULT &lv_font_unscii_16
|
||||||
|
|
||||||
|
/*Enable handling large font and/or fonts with a lot of characters.
|
||||||
|
*The limit depends on the font size, font face and bpp.
|
||||||
|
*Compiler error will be triggered if a font needs it.*/
|
||||||
|
#define LV_FONT_FMT_TXT_LARGE 0
|
||||||
|
|
||||||
|
/*Enables/disables support for compressed fonts.*/
|
||||||
|
#define LV_USE_FONT_COMPRESSED 0
|
||||||
|
|
||||||
|
/*Enable subpixel rendering*/
|
||||||
|
#define LV_USE_FONT_SUBPX 0
|
||||||
|
#if LV_USE_FONT_SUBPX
|
||||||
|
/*Set the pixel order of the display. Physical order of RGB channels. Doesn't matter with "normal" fonts.*/
|
||||||
|
#define LV_FONT_SUBPX_BGR 0 /*0: RGB; 1:BGR order*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*=================
|
||||||
|
* TEXT SETTINGS
|
||||||
|
*=================*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Select a character encoding for strings.
|
||||||
|
* Your IDE or editor should have the same character encoding
|
||||||
|
* - LV_TXT_ENC_UTF8
|
||||||
|
* - LV_TXT_ENC_ASCII
|
||||||
|
*/
|
||||||
|
#define LV_TXT_ENC LV_TXT_ENC_UTF8
|
||||||
|
|
||||||
|
/*Can break (wrap) texts on these chars*/
|
||||||
|
#define LV_TXT_BREAK_CHARS " ,.;:-_"
|
||||||
|
|
||||||
|
/*If a word is at least this long, will break wherever "prettiest"
|
||||||
|
*To disable, set to a value <= 0*/
|
||||||
|
#define LV_TXT_LINE_BREAK_LONG_LEN 0
|
||||||
|
|
||||||
|
/*Minimum number of characters in a long word to put on a line before a break.
|
||||||
|
*Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/
|
||||||
|
#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
|
||||||
|
|
||||||
|
/*Minimum number of characters in a long word to put on a line after a break.
|
||||||
|
*Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/
|
||||||
|
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3
|
||||||
|
|
||||||
|
/*The control character to use for signalling text recoloring.*/
|
||||||
|
#define LV_TXT_COLOR_CMD "#"
|
||||||
|
|
||||||
|
/*Support bidirectional texts. Allows mixing Left-to-Right and Right-to-Left texts.
|
||||||
|
*The direction will be processed according to the Unicode Bidirectional Algorithm:
|
||||||
|
*https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/
|
||||||
|
#define LV_USE_BIDI 0
|
||||||
|
#if LV_USE_BIDI
|
||||||
|
/*Set the default direction. Supported values:
|
||||||
|
*`LV_BASE_DIR_LTR` Left-to-Right
|
||||||
|
*`LV_BASE_DIR_RTL` Right-to-Left
|
||||||
|
*`LV_BASE_DIR_AUTO` detect texts base direction*/
|
||||||
|
#define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Enable Arabic/Persian processing
|
||||||
|
*In these languages characters should be replaced with an other form based on their position in the text*/
|
||||||
|
#define LV_USE_ARABIC_PERSIAN_CHARS 0
|
||||||
|
|
||||||
|
/*==================
|
||||||
|
* WIDGET USAGE
|
||||||
|
*================*/
|
||||||
|
|
||||||
|
/*Documentation of the widgets: https://docs.lvgl.io/latest/en/html/widgets/index.html*/
|
||||||
|
|
||||||
|
#define LV_USE_ARC 1
|
||||||
|
|
||||||
|
#define LV_USE_ANIMIMG 1
|
||||||
|
|
||||||
|
#define LV_USE_BAR 1
|
||||||
|
|
||||||
|
#define LV_USE_BTN 1
|
||||||
|
|
||||||
|
#define LV_USE_BTNMATRIX 1
|
||||||
|
|
||||||
|
#define LV_USE_CANVAS 1
|
||||||
|
|
||||||
|
#define LV_USE_CHECKBOX 1
|
||||||
|
|
||||||
|
#define LV_USE_DROPDOWN 1 /*Requires: lv_label*/
|
||||||
|
|
||||||
|
#define LV_USE_IMG 1 /*Requires: lv_label*/
|
||||||
|
|
||||||
|
#define LV_USE_LABEL 1
|
||||||
|
#if LV_USE_LABEL
|
||||||
|
# define LV_LABEL_TEXT_SELECTION 1 /*Enable selecting text of the label*/
|
||||||
|
# define LV_LABEL_LONG_TXT_HINT 1 /*Store some extra info in labels to speed up drawing of very long texts*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LV_USE_LINE 1
|
||||||
|
|
||||||
|
#define LV_USE_ROLLER 1 /*Requires: lv_label*/
|
||||||
|
#if LV_USE_ROLLER
|
||||||
|
# define LV_ROLLER_INF_PAGES 7 /*Number of extra "pages" when the roller is infinite*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LV_USE_SLIDER 1 /*Requires: lv_bar*/
|
||||||
|
|
||||||
|
#define LV_USE_SWITCH 1
|
||||||
|
|
||||||
|
#define LV_USE_TEXTAREA 1 /*Requires: lv_label*/
|
||||||
|
#if LV_USE_TEXTAREA != 0
|
||||||
|
# define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500 /*ms*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LV_USE_TABLE 1
|
||||||
|
|
||||||
|
/*==================
|
||||||
|
* EXTRA COMPONENTS
|
||||||
|
*==================*/
|
||||||
|
|
||||||
|
/*-----------
|
||||||
|
* Widgets
|
||||||
|
*----------*/
|
||||||
|
#define LV_USE_CALENDAR 1
|
||||||
|
#if LV_USE_CALENDAR
|
||||||
|
# define LV_CALENDAR_WEEK_STARTS_MONDAY 0
|
||||||
|
# if LV_CALENDAR_WEEK_STARTS_MONDAY
|
||||||
|
# define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"}
|
||||||
|
# else
|
||||||
|
# define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
|
||||||
|
# define LV_USE_CALENDAR_HEADER_ARROW 1
|
||||||
|
# define LV_USE_CALENDAR_HEADER_DROPDOWN 1
|
||||||
|
#endif /*LV_USE_CALENDAR*/
|
||||||
|
|
||||||
|
#define LV_USE_CHART 1
|
||||||
|
|
||||||
|
#define LV_USE_COLORWHEEL 1
|
||||||
|
|
||||||
|
#define LV_USE_IMGBTN 1
|
||||||
|
|
||||||
|
#define LV_USE_KEYBOARD 1
|
||||||
|
|
||||||
|
#define LV_USE_LED 1
|
||||||
|
|
||||||
|
#define LV_USE_LIST 1
|
||||||
|
|
||||||
|
#define LV_USE_METER 1
|
||||||
|
|
||||||
|
#define LV_USE_MSGBOX 1
|
||||||
|
|
||||||
|
#define LV_USE_SPINBOX 1
|
||||||
|
|
||||||
|
#define LV_USE_SPINNER 1
|
||||||
|
|
||||||
|
#define LV_USE_TABVIEW 1
|
||||||
|
|
||||||
|
#define LV_USE_TILEVIEW 1
|
||||||
|
|
||||||
|
#define LV_USE_WIN 1
|
||||||
|
|
||||||
|
#define LV_USE_SPAN 1
|
||||||
|
#if LV_USE_SPAN
|
||||||
|
/*A line text can contain maximum num of span descriptor */
|
||||||
|
# define LV_SPAN_SNIPPET_STACK_SIZE 64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-----------
|
||||||
|
* Themes
|
||||||
|
*----------*/
|
||||||
|
|
||||||
|
/*A simple, impressive and very complete theme*/
|
||||||
|
#define LV_USE_THEME_DEFAULT 1
|
||||||
|
#if LV_USE_THEME_DEFAULT
|
||||||
|
|
||||||
|
/*0: Light mode; 1: Dark mode*/
|
||||||
|
# define LV_THEME_DEFAULT_DARK 0
|
||||||
|
|
||||||
|
/*1: Enable grow on press*/
|
||||||
|
# define LV_THEME_DEFAULT_GROW 1
|
||||||
|
|
||||||
|
/*Default transition time in [ms]*/
|
||||||
|
# define LV_THEME_DEFAULT_TRANSITION_TIME 80
|
||||||
|
#endif /*LV_USE_THEME_DEFAULT*/
|
||||||
|
|
||||||
|
/*A very simple theme that is a good starting point for a custom theme*/
|
||||||
|
#define LV_USE_THEME_BASIC 1
|
||||||
|
|
||||||
|
/*A theme designed for monochrome displays*/
|
||||||
|
#define LV_USE_THEME_MONO 1
|
||||||
|
|
||||||
|
/*-----------
|
||||||
|
* Layouts
|
||||||
|
*----------*/
|
||||||
|
|
||||||
|
/*A layout similar to Flexbox in CSS.*/
|
||||||
|
#define LV_USE_FLEX 1
|
||||||
|
|
||||||
|
/*A layout similar to Grid in CSS.*/
|
||||||
|
#define LV_USE_GRID 1
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* 3rd party libraries
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
/*File system interfaces for common APIs
|
||||||
|
*To enable set a driver letter for that API*/
|
||||||
|
#define LV_USE_FS_STDIO '\0' /*Uses fopen, fread, etc*/
|
||||||
|
//#define LV_FS_STDIO_PATH "/home/john/" /*Set the working directory. If commented it will be "./" */
|
||||||
|
|
||||||
|
#define LV_USE_FS_POSIX '\0' /*Uses open, read, etc*/
|
||||||
|
//#define LV_FS_POSIX_PATH "/home/john/" /*Set the working directory. If commented it will be "./" */
|
||||||
|
|
||||||
|
#define LV_USE_FS_WIN32 '\0' /*Uses CreateFile, ReadFile, etc*/
|
||||||
|
//#define LV_FS_WIN32_PATH "C:\\Users\\john\\" /*Set the working directory. If commented it will be ".\\" */
|
||||||
|
|
||||||
|
#define LV_USE_FS_FATFS '\0' /*Uses f_open, f_read, etc*/
|
||||||
|
|
||||||
|
/*PNG decoder library*/
|
||||||
|
#define LV_USE_PNG 0
|
||||||
|
|
||||||
|
/*BMP decoder library*/
|
||||||
|
#define LV_USE_BMP 0
|
||||||
|
|
||||||
|
/* JPG + split JPG decoder library.
|
||||||
|
* Split JPG is a custom format optimized for embedded systems. */
|
||||||
|
#define LV_USE_SJPG 0
|
||||||
|
|
||||||
|
/*GIF decoder library*/
|
||||||
|
#define LV_USE_GIF 0
|
||||||
|
|
||||||
|
/*QR code library*/
|
||||||
|
#define LV_USE_QRCODE 0
|
||||||
|
|
||||||
|
/*FreeType library*/
|
||||||
|
#define LV_USE_FREETYPE 0
|
||||||
|
#if LV_USE_FREETYPE
|
||||||
|
/*Memory used by FreeType to cache characters [bytes] (-1: no caching)*/
|
||||||
|
# define LV_FREETYPE_CACHE_SIZE (16 * 1024)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Rlottie library*/
|
||||||
|
#define LV_USE_RLOTTIE 0
|
||||||
|
|
||||||
|
/*-----------
|
||||||
|
* Others
|
||||||
|
*----------*/
|
||||||
|
|
||||||
|
/*1: Enable API to take snapshot for object*/
|
||||||
|
#define LV_USE_SNAPSHOT 1
|
||||||
|
|
||||||
|
|
||||||
|
/*==================
|
||||||
|
* EXAMPLES
|
||||||
|
*==================*/
|
||||||
|
|
||||||
|
/*Enable the examples to be built with the library*/
|
||||||
|
#define LV_BUILD_EXAMPLES 1
|
||||||
|
|
||||||
|
/*--END OF LV_CONF_H--*/
|
||||||
|
|
||||||
|
#endif /*LV_CONF_H*/
|
||||||
|
|
||||||
|
#endif /*End of "Content enable"*/
|
20
main/main.c
20
main/main.c
|
@ -10,6 +10,7 @@
|
||||||
#include "freertos/task.h"
|
#include "freertos/task.h"
|
||||||
//
|
//
|
||||||
#include "impl_lvgl.h"
|
#include "impl_lvgl.h"
|
||||||
|
#include "if_standby.h"
|
||||||
|
|
||||||
static esp_err_t app_init_nvs(void) {
|
static esp_err_t app_init_nvs(void) {
|
||||||
esp_err_t ret = nvs_flash_init();
|
esp_err_t ret = nvs_flash_init();
|
||||||
|
@ -31,25 +32,10 @@ void app_main(void) {
|
||||||
|
|
||||||
ESP_ERROR_CHECK(impl_lvgl_init());
|
ESP_ERROR_CHECK(impl_lvgl_init());
|
||||||
|
|
||||||
/*Create a style for the shadow*/
|
ESP_ERROR_CHECK(if_standby_init());
|
||||||
impl_lvgl_lock();
|
|
||||||
lv_obj_t *test_label = lv_label_create(lv_scr_act());
|
|
||||||
lv_label_set_recolor(test_label, true);
|
|
||||||
lv_label_set_text(test_label, "#000000 Test Label with# #808080 ReColor #");
|
|
||||||
lv_obj_set_width(test_label, 400);
|
|
||||||
lv_obj_set_style_text_align(test_label, LV_TEXT_ALIGN_CENTER, 0);
|
|
||||||
lv_obj_align(test_label, LV_ALIGN_CENTER, 0, -25);
|
|
||||||
impl_lvgl_unlock();
|
|
||||||
|
|
||||||
char text_buf[32];
|
|
||||||
|
|
||||||
/* Dead loop */
|
/* Dead loop */
|
||||||
for (;;) {
|
for (;;) {
|
||||||
vTaskDelay(pdMS_TO_TICKS(2000));
|
vTaskDelay(pdMS_TO_TICKS(60000));
|
||||||
snprintf(text_buf, 32, "C=%d", xTaskGetTickCount());
|
|
||||||
impl_lvgl_lock();
|
|
||||||
lv_label_set_text(test_label, text_buf);
|
|
||||||
lv_obj_set_style_text_align(test_label, LV_TEXT_ALIGN_CENTER, 0);
|
|
||||||
impl_lvgl_unlock();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user