diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 932dbb838..886aba66b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,25 +2,10 @@ name: Build ZMK firmware on: workflow_dispatch: push: - paths: - - "config/**" + paths-ignore: + - "keymap-drawer/**" jobs: build: uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@main - draw: - uses: caksoylar/keymap-drawer/.github/workflows/draw-zmk.yml@main - permissions: - contents: write - with: - commit_message: "[Draw] ${{ github.event.head_commit.message }}" - amend_commit: false - install_branch: "main" - keymap_patterns: "config/*.keymap" - json_path: "config" - config_path: "keymap_drawer.config.yaml" # config file, ignored if not exists - output_folder: "keymap-drawer" - destination: "both" - parse_args: "" # map of extra args to pass to `keymap parse`, e.g. "corne:'-l Def Lwr Rse' cradio:''" - draw_args: "" # map of extra args to pass to `keymap draw`, e.g. "corne:'-k corne_rotated' cradio:'-k paroxysm'" diff --git a/.github/workflows/draw.yml b/.github/workflows/draw.yml new file mode 100644 index 000000000..3cfbbf863 --- /dev/null +++ b/.github/workflows/draw.yml @@ -0,0 +1,19 @@ +name: Draw Keymap +on: + workflow_dispatch: + push: + paths: + - "config/**" + - .github/workflows/draw.yml + - keymap_drawer.config.yaml + +jobs: + draw: + uses: caksoylar/keymap-drawer/.github/workflows/draw-zmk.yml@main + permissions: + contents: write + with: + commit_message: "[Draw] ${{ github.event.head_commit.message }}" + keymap_patterns: "config/*.keymap" + output_folder: "keymap-drawer" + fail_on_error: ${{ fromJSON(true) }} diff --git a/build.yaml b/build.yaml index b801c8762..5cb11e06b 100644 --- a/build.yaml +++ b/build.yaml @@ -1,11 +1,14 @@ +--- include: - - board: corne_left - - board: corne_right - - board: nice_nano_v2 + - board: eyelash_corne_left + shield: nice_view + - board: eyelash_corne_right + shield: nice_view_custom + - board: eyelash_corne_left + shield: nice_view + snippet: studio-rpc-usb-uart + cmake-args: -DCONFIG_ZMK_STUDIO=y + artifact-name: eyelash_corne_studio_left + - board: eyelash_corne_left shield: settings_reset - - board: corne_left - shield: nice_view_adapter nice_view - artifact-name: corne_left_nice_view - - board: corne_right - shield: nice_view_adapter nice_view_custom - artifact-name: corne_right_nice_view + #snippet: zmk-usb-logging diff --git a/config/Kconfig b/config/Kconfig deleted file mode 100644 index 11f09ea51..000000000 --- a/config/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -# -# Copyright (c) 2022 The ZMK Contributors -# SPDX-License-Identifier: MIT -# - -config BOARD_CORNE_LEFT - bool - -config BOARD_CORNE_RIGHT - bool diff --git a/config/boards/arm/corne/Kconfig.board b/config/boards/arm/corne/Kconfig.board deleted file mode 100644 index 8886156d1..000000000 --- a/config/boards/arm/corne/Kconfig.board +++ /dev/null @@ -1,15 +0,0 @@ -# -# Copyright (c) 2022 Darryl deHaan -# SPDX-License-Identifier: MIT -# - -config BOARD_CORNE_LEFT - bool "corne left" - depends on SOC_NRF52840_QIAA - - -config BOARD_CORNE_RIGHT - bool "corne right" - depends on SOC_NRF52840_QIAA - - diff --git a/config/boards/arm/corne/Kconfig.defconfig b/config/boards/arm/corne/Kconfig.defconfig deleted file mode 100644 index 803c22791..000000000 --- a/config/boards/arm/corne/Kconfig.defconfig +++ /dev/null @@ -1,70 +0,0 @@ -# -# Copyright (c) 2022 Darryl deHaan -# SPDX-License-Identifier: MIT -# - -if BOARD_CORNE_LEFT - -config ZMK_KEYBOARD_NAME - default "Corne" - -config ZMK_SPLIT_ROLE_CENTRAL - default y - -endif # BOARD_CORNE_LEFT - - -if BOARD_CORNE_LEFT || BOARD_CORNE_RIGHT - -config BOARD - default "corne" - -config ZMK_SPLIT - default y - -config BT_CTLR - default BT - -if USB - -config USB_NRFX - default y - -config USB_DEVICE_STACK - default y - -endif # USB - -if ZMK_DISPLAY - -config I2C - default y - -config SSD1306 - default y - -choice ZMK_DISPLAY_WORK_QUEUE - default ZMK_DISPLAY_WORK_QUEUE_DEDICATED -endchoice - -endif - -if SSD1306 - -config LV_Z_VDB_SIZE - default 64 - -config LV_DPI_DEF - default 148 - -config LV_Z_BITS_PER_PIXEL - default 1 - -choice LV_COLOR_DEPTH - default LV_COLOR_DEPTH_1 -endchoice - -endif - -endif # BOARD_CORNE_LEFT || BOARD_CORNE_RIGHT - diff --git a/config/boards/arm/corne/board.cmake b/config/boards/arm/corne/board.cmake deleted file mode 100644 index ccc9c43d2..000000000 --- a/config/boards/arm/corne/board.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (c) 2021 @MangoIV -# SPDX-License-Identifier: MIT - -board_runner_args(nrfjprog "--nrf-family=NRF52" "--softreset") -include(${ZEPHYR_BASE}/boards/common/blackmagicprobe.board.cmake) -include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake) diff --git a/config/boards/arm/corne/corne.conf b/config/boards/arm/corne/corne.conf deleted file mode 100644 index 02826e24f..000000000 --- a/config/boards/arm/corne/corne.conf +++ /dev/null @@ -1,24 +0,0 @@ -# go to sleep after one hour (1*60*60*1000ms) -CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000 - -# Turn on logging, and set ZMK logging to debug output -# CONFIG_ZMK_USB_LOGGING=n -# -# Copyright (c) 2022 Darryl deHaan -# SPDX-License-Identifier: MIT -# - -CONFIG_ZMK_SLEEP=y -CONFIG_WS2812_STRIP=y -CONFIG_ZMK_RGB_UNDERGLOW=y -CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y -CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n -CONFIG_ZMK_RGB_UNDERGLOW_BRT_MAX=90 - -CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y -CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_USB=y -CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=160 -CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=3 - -#CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y -CONFIG_ZMK_MOUSE=y diff --git a/config/boards/arm/corne/corne.dtsi b/config/boards/arm/corne/corne.dtsi deleted file mode 100644 index a7a0fcdab..000000000 --- a/config/boards/arm/corne/corne.dtsi +++ /dev/null @@ -1,189 +0,0 @@ -/* -* -* Copyright (c) 2021 Darryl deHaan -* SPDX-License-Identifier: MIT -* -*/ - -/dts-v1/; -#include -#include -#include - -/ { - model = "corne"; - compatible = "corne"; - - chosen { - zephyr,code-partition = &code_partition; - zephyr,sram = &sram0; - zephyr,flash = &flash0; - zmk,kscan = &kscan0; - zephyr,display = &oled; - zephyr,console = &cdc_acm_uart; - zmk,underglow = &led_strip; - zmk,matrix-transform = &default_transform; - }; - - left_encoder: encoder_left { - compatible = "alps,ec11"; - label = "LEFT_ENCODER"; - resolution = <4>; - status = "disabled"; - }; - - sensors { - compatible = "zmk,keymap-sensors"; - sensors = <&left_encoder>; - }; - - default_transform: keymap_transform_0 { - compatible = "zmk,matrix-transform"; - columns = <14>; - rows = <5>; - map = < - RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) RC(0,12) RC(0,13) - RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11) RC(1,12) RC(1,13) - RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11) RC(2,12) RC(2,13) - RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,7) RC(3,8) RC(3,9) RC(3,10) - RC(4,7) - >; - }; -}; - -&adc { - status = "okay"; -}; - -&gpiote { - status = "okay"; -}; - -&gpio0 { - status = "okay"; -}; - -&gpio1 { - status = "okay"; -}; - -&usbd { - status = "okay"; - cdc_acm_uart: cdc_acm_uart { - compatible = "zephyr,cdc-acm-uart"; - }; -}; - -&flash0 { - /* - * For more information, see: - * http://docs.zephyrproject.org/latest/devices/dts/flash_partitions.html - */ - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - sd_partition: partition@0 { - reg = <0x00000000 0x00026000>; - }; - code_partition: partition@26000 { - reg = <0x00026000 0x000c6000>; - }; - - /* - * The flash starting at 0x000ec000 and ending at - * 0x000f3fff is reserved for use by the application. - */ - - /* - * Storage partition will be used by FCB/LittleFS/NVS - * if enabled. - */ - storage_partition: partition@ec000 { - reg = <0x000ec000 0x00008000>; - }; - - boot_partition: partition@f4000 { - reg = <0x000f4000 0x0000c000>; - }; - }; -}; - -&pinctrl { - i2c0_default: i2c0_default { - group1 { - psels = , - ; - }; - }; - - i2c0_sleep: i2c0_sleep { - group1 { - psels = , - ; - low-power-enable; - }; - }; - - spi3_default: spi3_default { - group1 { - psels = ; // WS2812_VEXT_DATA - }; - }; - - spi3_sleep: spi3_sleep { - group1 { - psels = ; - low-power-enable; - }; - }; -}; - -&i2c0 { - status = "okay"; - - compatible = "nordic,nrf-twi"; - pinctrl-0 = <&i2c0_default>; - pinctrl-1 = <&i2c0_sleep>; - pinctrl-names = "default", "sleep"; - oled: ssd1306@3c { - compatible = "solomon,ssd1306fb"; - reg = <0x3c>; - label = "DISPLAY"; - width = <128>; - height = <32>; - segment-offset = <0>; - page-offset = <0>; - display-offset = <0>; - multiplex-ratio = <31>; - segment-remap; - com-invdir; - com-sequential; - prechargep = <0x22>; - }; -}; - -&spi3 { - compatible = "nordic,nrf-spim"; - status = "okay"; - - pinctrl-0 = <&spi3_default>; - pinctrl-1 = <&spi3_sleep>; - pinctrl-names = "default", "sleep"; - - led_strip: ws2812@0 { - compatible = "worldsemi,ws2812-spi"; - - /* SPI */ - reg = <0>; /* ignored, but necessary for SPI bindings */ - spi-max-frequency = <4000000>; - - /* WS2812 */ - chain-length = <6>; - spi-one-frame = <0x70>; - spi-zero-frame = <0x40>; - - color-mapping = ; - }; -}; \ No newline at end of file diff --git a/config/boards/arm/corne/corne.yaml b/config/boards/arm/corne/corne.yaml deleted file mode 100644 index a98a8b8ec..000000000 --- a/config/boards/arm/corne/corne.yaml +++ /dev/null @@ -1,20 +0,0 @@ -identifier: corne -name: Solfe -url: https://github.com/tokyo2006/zmk-config-corne -type: mcu -arch: arm -toolchain: - - zephyr - - gnuarmemb - - xtools -ram: 40 -supported: - - adc - - usb_device - - ble - - ieee802154 - - pwm - - watchdog - - gpio - - i2c - - spi \ No newline at end of file diff --git a/config/boards/arm/corne/corne.zmk.yml b/config/boards/arm/corne/corne.zmk.yml deleted file mode 100644 index 090232db7..000000000 --- a/config/boards/arm/corne/corne.zmk.yml +++ /dev/null @@ -1,15 +0,0 @@ -file_format: "1" -id: corne -name: Sofle -url: https://github.com/tokyo2006/zmk-config-corne -type: board -arch: arm -features: - - keys - - display -outputs: - - usb - - ble -siblings: - - corne_left - - corne_right \ No newline at end of file diff --git a/config/boards/arm/corne/corne_left.dts b/config/boards/arm/corne/corne_left.dts deleted file mode 100644 index 6712a34c1..000000000 --- a/config/boards/arm/corne/corne_left.dts +++ /dev/null @@ -1,55 +0,0 @@ -/* -* -* Copyright (c) 2021 Darryl deHaan -* SPDX-License-Identifier: MIT -* -*/ - -#include "corne.dtsi" - -/{ - chosen { - zmk,battery = &vbatt; - - }; - - kscan0: kscan { - compatible = "zmk,kscan-gpio-matrix"; - wakeup-source; - diode-direction = "col2row"; - row-gpios - = <&gpio0 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - ; - - col-gpios - = <&gpio0 3 GPIO_ACTIVE_HIGH> - , <&gpio0 28 GPIO_ACTIVE_HIGH> - , <&gpio0 30 GPIO_ACTIVE_HIGH> - , <&gpio0 21 GPIO_ACTIVE_HIGH> - , <&gpio0 23 GPIO_ACTIVE_HIGH> - , <&gpio0 22 GPIO_ACTIVE_HIGH> - ; - }; - - ext-power { - compatible = "zmk,ext-power-generic"; - label = "EXT_POWER"; - control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; - init-delay-ms = <50>; - }; - - vbatt: vbatt { - compatible = "zmk,battery-nrf-vddh"; - }; - -}; - -&left_encoder { - a-gpios = <&gpio1 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; - b-gpios = <&gpio1 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; - status = "okay"; -}; \ No newline at end of file diff --git a/config/boards/arm/corne/corne_left_defconfig b/config/boards/arm/corne/corne_left_defconfig deleted file mode 100644 index 0b0fe7dbf..000000000 --- a/config/boards/arm/corne/corne_left_defconfig +++ /dev/null @@ -1,79 +0,0 @@ -# -# Copyright (c) 2022 Darryl deHaan -# SPDX-License-Identifier: MIT -# - -CONFIG_SOC_SERIES_NRF52X=y -CONFIG_SOC_NRF52840_QIAA=y -CONFIG_BOARD_CORNE_LEFT=y -CONFIG_ZMK_SLEEP=y - - -# Enable MPU -CONFIG_ARM_MPU=y - -# enable pinctrl -CONFIG_PINCTRL=y - -# enable GPIO -CONFIG_GPIO=y - -# Enable SPI -CONFIG_SPI=y - -# Enable writing to flash -CONFIG_USE_DT_CODE_PARTITION=y -CONFIG_BUILD_OUTPUT_UF2=y -CONFIG_MPU_ALLOW_FLASH_WRITE=y -CONFIG_NVS=y -CONFIG_SETTINGS_NVS=y -CONFIG_FLASH=y -CONFIG_FLASH_PAGE_LAYOUT=y -CONFIG_FLASH_MAP=y - -# Enable 32kHz crystal -CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y -CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM=y - -CONFIG_ZMK_USB=y -CONFIG_ZMK_BLE=y - -# enable display drivers -CONFIG_ZMK_DISPLAY=y - - - -#CONFIG_ZMK_DISPLAY_WORK_QUEUE_DEDICATED=y -#CONFIG_ZMK_DISPLAY_DEDICATED_THREAD_STACK_SIZE=2048 -#CONFIG_LV_Z_BITS_PER_PIXEL=1 -#CONFIG_LV_COLOR_DEPTH_1=y -#CONFIG_LV_DPI_DEF=145 -#CONFIG_LV_Z_VDB_SIZE=100 -#CONFIG_LV_USE_THEME_MONO=y -#CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 -#CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16=y -#CONFIG_LV_FONT_MONTSERRAT_26=y -#CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26=y - - -#EXT POWER -CONFIG_ZMK_EXT_POWER=y - -#BLE-passkey -CONFIG_ZMK_BLE_PASSKEY_ENTRY=n - -#BLE-clean -CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START=n - -#usb-name -CONFIG_USB_DEVICE_MANUFACTURER="corne" - -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y -CONFIG_ZMK_HID_REPORT_TYPE_NKRO=n -#CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y - -#EC11 enable -CONFIG_EC11=y -CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y - -CONFIG_ZMK_MOUSE=y diff --git a/config/boards/arm/corne/corne_right.dts b/config/boards/arm/corne/corne_right.dts deleted file mode 100644 index 142aa1cdb..000000000 --- a/config/boards/arm/corne/corne_right.dts +++ /dev/null @@ -1,76 +0,0 @@ -/* -* -* Copyright (c) 2021 Darryl deHaan -* SPDX-License-Identifier: MIT -* -*/ -#include "corne.dtsi" - -/{ - chosen { - zmk,battery = &vbatt; - }; - - kscan0: kscan { - compatible = "zmk,kscan-gpio-matrix"; - wakeup-source; - diode-direction = "col2row"; - row-gpios - = <&gpio0 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio0 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&gpio1 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - ; - - col-gpios - = <&gpio0 22 GPIO_ACTIVE_HIGH> - , <&gpio0 29 GPIO_ACTIVE_HIGH> - , <&gpio0 3 GPIO_ACTIVE_HIGH> - , <&gpio0 28 GPIO_ACTIVE_HIGH> - , <&gpio0 30 GPIO_ACTIVE_HIGH> - , <&gpio0 21 GPIO_ACTIVE_HIGH> - , <&gpio0 23 GPIO_ACTIVE_HIGH> - ; - }; - - ext-power { - compatible = "zmk,ext-power-generic"; - label = "EXT_POWER"; - control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; - init-delay-ms = <50>; - }; - - vbatt: vbatt { - compatible = "zmk,battery-nrf-vddh"; - // init-delay-ms = <50>; - }; - -}; -&default_transform { - col-offset = <7>; -}; - -&spi3 { - compatible = "nordic,nrf-spim"; - status = "okay"; - - pinctrl-0 = <&spi3_default>; - pinctrl-1 = <&spi3_sleep>; - pinctrl-names = "default", "sleep"; - - led_strip: ws2812@0 { - compatible = "worldsemi,ws2812-spi"; - - /* SPI */ - reg = <0>; /* ignored, but necessary for SPI bindings */ - spi-max-frequency = <4000000>; - - /* WS2812 */ - chain-length = <7>; /* 6 keys have underglow at the moment */ - spi-one-frame = <0x70>; - spi-zero-frame = <0x40>; - - color-mapping = ; - }; -}; \ No newline at end of file diff --git a/config/boards/arm/corne/corne_right_defconfig b/config/boards/arm/corne/corne_right_defconfig deleted file mode 100644 index cc8989a02..000000000 --- a/config/boards/arm/corne/corne_right_defconfig +++ /dev/null @@ -1,76 +0,0 @@ -# -# Copyright (c) 2022 Darryl deHaan -# SPDX-License-Identifier: MIT -# - -CONFIG_SOC_SERIES_NRF52X=y -CONFIG_SOC_NRF52840_QIAA=y -CONFIG_BOARD_CORNE_RIGHT=y -CONFIG_ZMK_SLEEP=y - - -# Enable MPU -CONFIG_ARM_MPU=y - -# enable pinctrl -CONFIG_PINCTRL=y - -# enable GPIO -CONFIG_GPIO=y - -# Enable SPI -CONFIG_SPI=y - -# Enable writing to flash -CONFIG_USE_DT_CODE_PARTITION=y -CONFIG_BUILD_OUTPUT_UF2=y -CONFIG_MPU_ALLOW_FLASH_WRITE=y -CONFIG_NVS=y -CONFIG_SETTINGS_NVS=y -CONFIG_FLASH=y -CONFIG_FLASH_PAGE_LAYOUT=y -CONFIG_FLASH_MAP=y - -# Enable 32kHz crystal -CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y -CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM=y - -CONFIG_ZMK_USB=n -CONFIG_ZMK_BLE=y - -# enable display drivers -CONFIG_ZMK_DISPLAY=y - - - - -#CONFIG_ZMK_DISPLAY_WORK_QUEUE_DEDICATED=y -#CONFIG_ZMK_DISPLAY_DEDICATED_THREAD_STACK_SIZE=2048 -#CONFIG_LV_Z_BITS_PER_PIXEL=1 -#CONFIG_LV_COLOR_DEPTH_1=y -#CONFIG_LV_DPI_DEF=145 -#CONFIG_LV_Z_VDB_SIZE=100 -#CONFIG_LV_USE_THEME_MONO=y -#CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 -#CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16=y -#CONFIG_LV_FONT_MONTSERRAT_26=y -#CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26=y - -#EXT POWER -CONFIG_ZMK_EXT_POWER=y - -#BLE-passkey -CONFIG_ZMK_BLE_PASSKEY_ENTRY=n - -#BLE-clean -CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START=n - -#usb-name -CONFIG_USB_DEVICE_MANUFACTURER="corne" - -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y -CONFIG_ZMK_HID_REPORT_TYPE_NKRO=n - -CONFIG_ZMK_MOUSE=y - - diff --git a/config/boards/shields/nice_view/CMakeLists.txt b/config/boards/shields/nice_view/CMakeLists.txt deleted file mode 100644 index 694242b2e..000000000 --- a/config/boards/shields/nice_view/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -if(CONFIG_ZMK_DISPLAY AND CONFIG_NICE_VIEW_WIDGET_STATUS) - zephyr_library_include_directories(${CMAKE_SOURCE_DIR}/include) - zephyr_library_sources(custom_status_screen.c) - zephyr_library_sources(widgets/bolt.c) - zephyr_library_sources(widgets/util.c) - - if(NOT CONFIG_ZMK_SPLIT OR CONFIG_ZMK_SPLIT_ROLE_CENTRAL) - zephyr_library_sources(widgets/status.c) - else() - zephyr_library_sources(widgets/art.c) - zephyr_library_sources(widgets/peripheral_status.c) - endif() -endif() diff --git a/config/boards/shields/nice_view/Kconfig.defconfig b/config/boards/shields/nice_view/Kconfig.defconfig deleted file mode 100644 index c31cec89f..000000000 --- a/config/boards/shields/nice_view/Kconfig.defconfig +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright (c) 2023 The ZMK Contributors -# SPDX-License-Identifier: MIT - -if SHIELD_NICE_VIEW - -config LV_Z_VDB_SIZE - default 100 - -config LV_DPI_DEF - default 161 - -config LV_Z_BITS_PER_PIXEL - default 1 - -choice LV_COLOR_DEPTH - default LV_COLOR_DEPTH_1 -endchoice - -choice ZMK_DISPLAY_WORK_QUEUE - default ZMK_DISPLAY_WORK_QUEUE_DEDICATED -endchoice - -choice ZMK_DISPLAY_STATUS_SCREEN - default ZMK_DISPLAY_STATUS_SCREEN_CUSTOM -endchoice - -config LV_Z_MEM_POOL_SIZE - default 4096 if ZMK_DISPLAY_STATUS_SCREEN_CUSTOM - -config ZMK_DISPLAY_STATUS_SCREEN_CUSTOM - imply NICE_VIEW_WIDGET_STATUS - -config NICE_VIEW_WIDGET_STATUS - bool "Custom nice!view status widget" - select LV_FONT_MONTSERRAT_16 - select LV_USE_IMG - select LV_USE_CANVAS - -config NICE_VIEW_WIDGET_INVERTED - bool "Invert custom status widget colors" - -if !ZMK_SPLIT || ZMK_SPLIT_ROLE_CENTRAL - -config NICE_VIEW_WIDGET_STATUS - select LV_FONT_MONTSERRAT_18 - select LV_FONT_MONTSERRAT_14 - select LV_FONT_UNSCII_8 - select ZMK_WPM - -endif # !ZMK_SPLIT || ZMK_SPLIT_ROLE_CENTRAL - -config ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN - select LV_FONT_MONTSERRAT_26 - -endif # SHIELD_NICE_VIEW diff --git a/config/boards/shields/nice_view/Kconfig.shield b/config/boards/shields/nice_view/Kconfig.shield deleted file mode 100644 index fbe4fde87..000000000 --- a/config/boards/shields/nice_view/Kconfig.shield +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright (c) 2022 The ZMK Contributors -# SPDX-License-Identifier: MIT - -config SHIELD_NICE_VIEW - def_bool $(shields_list_contains,nice_view) diff --git a/config/boards/shields/nice_view/README.md b/config/boards/shields/nice_view/README.md deleted file mode 100644 index 00abfbfab..000000000 --- a/config/boards/shields/nice_view/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# nice!view - -The nice!view is a low-power, high refresh rate display meant to replace I2C OLEDs traditionally used. - -This shield requires that an `&nice_view_spi` labeled SPI bus is provided with _at least_ MOSI, SCK, and CS pins defined. - -## Disable custom widget - -The nice!view shield includes a custom vertical widget. To use the built-in ZMK one, add the following item to your `.conf` file: - -``` -CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y -CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26=y -CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26=y -``` diff --git a/config/boards/shields/nice_view/custom_status_screen.c b/config/boards/shields/nice_view/custom_status_screen.c deleted file mode 100644 index c08da0eb5..000000000 --- a/config/boards/shields/nice_view/custom_status_screen.c +++ /dev/null @@ -1,28 +0,0 @@ -/* - * - * Copyright (c) 2023 The ZMK Contributors - * SPDX-License-Identifier: MIT - * - */ - -#include "widgets/status.h" - -#include -LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); - -#if IS_ENABLED(CONFIG_NICE_VIEW_WIDGET_STATUS) -static struct zmk_widget_status status_widget; -#endif - -lv_obj_t *zmk_display_status_screen() { - - lv_obj_t *screen; - screen = lv_obj_create(NULL); - -#if IS_ENABLED(CONFIG_NICE_VIEW_WIDGET_STATUS) - zmk_widget_status_init(&status_widget, screen); - lv_obj_align(zmk_widget_status_obj(&status_widget), LV_ALIGN_TOP_LEFT, 0, 0); -#endif - - return screen; -} diff --git a/config/boards/shields/nice_view/nice_view.conf b/config/boards/shields/nice_view/nice_view.conf deleted file mode 100644 index e6f9158f1..000000000 --- a/config/boards/shields/nice_view/nice_view.conf +++ /dev/null @@ -1,4 +0,0 @@ -# Enable nice!view -CONFIG_ZMK_DISPLAY=y -# Disable idle blanking -CONFIG_ZMK_DISPLAY_BLANK_ON_IDLE=n diff --git a/config/boards/shields/nice_view/nice_view.overlay b/config/boards/shields/nice_view/nice_view.overlay deleted file mode 100644 index e1965569f..000000000 --- a/config/boards/shields/nice_view/nice_view.overlay +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2022 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ - -&nice_view_spi { - status = "okay"; - nice_view: ls0xx@0 { - compatible = "sharp,ls0xx"; - spi-max-frequency = <1000000>; - reg = <0>; - width = <160>; - height = <68>; - }; -}; - -/ { - chosen { - zephyr,display = &nice_view; - }; -}; diff --git a/config/boards/shields/nice_view/nice_view.zmk.yml b/config/boards/shields/nice_view/nice_view.zmk.yml deleted file mode 100644 index 04b98a8ac..000000000 --- a/config/boards/shields/nice_view/nice_view.zmk.yml +++ /dev/null @@ -1,8 +0,0 @@ -file_format: "1" -id: nice_view -name: nice!view -type: shield -url: https://nicekeyboards.com/nice-view -requires: [nice_view_header] -features: - - display diff --git a/config/boards/shields/nice_view/widgets/art.c b/config/boards/shields/nice_view/widgets/art.c deleted file mode 100644 index 29a00eedd..000000000 --- a/config/boards/shields/nice_view/widgets/art.c +++ /dev/null @@ -1,442 +0,0 @@ -/* - * - * Copyright (c) 2023 Collin Hodge - * Copyright (c) 2023 The ZMK Contributors - * SPDX-License-Identifier: MIT - * - */ - -#include - -#ifndef LV_ATTRIBUTE_MEM_ALIGN -#define LV_ATTRIBUTE_MEM_ALIGN -#endif - -#ifndef LV_ATTRIBUTE_IMG_BALLOON -#define LV_ATTRIBUTE_IMG_BALLOON -#endif - -const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_BALLOON uint8_t - balloon_map[] = { -#if CONFIG_NICE_VIEW_WIDGET_INVERTED - 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ - 0x00, 0x00, 0x00, 0xff, /*Color of index 1*/ -#else - 0x00, 0x00, 0x00, 0xff, /*Color of index 0*/ - 0xff, 0xff, 0xff, 0xff, /*Color of index 1*/ -#endif - - 0xfe, 0xaa, 0x0a, 0x2a, 0x9f, 0xff, 0xff, 0xff, 0xfa, 0xea, 0xaa, 0xae, 0xba, 0xff, 0xff, - 0xfb, 0xff, 0xf0, 0xf1, 0x55, 0x05, 0x15, 0x47, 0xff, 0xff, 0xff, 0xf5, 0xd5, 0x55, 0x5f, - 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xa4, 0xaa, 0x8a, 0x8a, 0xa1, 0xff, 0xff, 0xfb, 0xea, - 0xaa, 0xaa, 0xbe, 0xbf, 0xef, 0xfb, 0xfb, 0xff, 0xf0, 0x54, 0x55, 0x05, 0x45, 0x54, 0xff, - 0xff, 0x7d, 0x55, 0xd5, 0x75, 0x7f, 0x7f, 0xdf, 0xff, 0xff, 0xff, 0xf0, 0xae, 0x2a, 0x82, - 0xa0, 0xaa, 0x3f, 0xff, 0xfe, 0xaa, 0xea, 0xbb, 0xfe, 0xbf, 0xff, 0xfb, 0xfb, 0xfe, 0xf0, - 0x5f, 0x55, 0x01, 0x50, 0x54, 0x1f, 0xff, 0x7f, 0x55, 0xd5, 0x7f, 0xff, 0x7f, 0xd7, 0xff, - 0xfd, 0xfd, 0xf0, 0x2f, 0xff, 0x20, 0x28, 0x00, 0x0f, 0xff, 0xae, 0xaa, 0xaa, 0xbf, 0xff, - 0xff, 0xeb, 0xfb, 0xff, 0xff, 0xf0, 0x0e, 0x01, 0x50, 0x14, 0x00, 0x3f, 0xff, 0x57, 0x55, - 0xd5, 0x7f, 0xff, 0x7f, 0xd7, 0xfd, 0xff, 0xfd, 0xf0, 0x1e, 0x01, 0xa8, 0x0a, 0x00, 0xff, - 0xff, 0xaf, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xaf, 0xfb, 0xff, 0xff, 0xf0, 0x1f, 0xf9, 0x50, - 0x01, 0x03, 0xff, 0xff, 0x57, 0x55, 0xd5, 0x7d, 0xff, 0x7f, 0xdf, 0xfd, 0xff, 0xfd, 0xf0, - 0x9f, 0xf9, 0xa8, 0x00, 0x8f, 0xff, 0xfe, 0xaf, 0xaa, 0xaa, 0xff, 0xff, 0xfd, 0xbf, 0xfb, - 0xff, 0xfb, 0xf0, 0x5a, 0x01, 0x54, 0x00, 0x3f, 0xff, 0xff, 0x7f, 0x5d, 0xd5, 0xfd, 0xff, - 0xfd, 0xdf, 0xfd, 0xff, 0xfd, 0xf0, 0x8e, 0x01, 0xaa, 0x00, 0x7f, 0xff, 0xfe, 0xbf, 0xae, - 0xef, 0xff, 0xff, 0xfb, 0xef, 0xfb, 0xff, 0xfa, 0xf0, 0xcf, 0xff, 0xf4, 0x00, 0xf7, 0xff, - 0xff, 0x7f, 0x5d, 0xff, 0xff, 0xff, 0xfd, 0xdf, 0xff, 0xff, 0xfd, 0xf0, 0xae, 0x01, 0x2a, - 0x00, 0xfb, 0xff, 0xff, 0xbf, 0xae, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfb, 0xff, 0xfa, 0xf0, - 0xde, 0x01, 0x35, 0x01, 0xfb, 0xff, 0xff, 0x7f, 0x5d, 0xfd, 0xbf, 0xff, 0xff, 0xdf, 0xfd, - 0xff, 0xdd, 0xf0, 0xa7, 0xff, 0xea, 0x81, 0xfc, 0xff, 0x7f, 0xbe, 0xbe, 0xff, 0xe3, 0xff, - 0xff, 0xef, 0xff, 0xf9, 0x3e, 0xf0, 0x56, 0x01, 0x55, 0x41, 0xff, 0x7f, 0xff, 0xff, 0xfd, - 0xfd, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x7d, 0xf0, 0xa6, 0x01, 0x2a, 0x88, 0xfe, 0xff, - 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xe0, 0x03, 0xff, 0xff, 0xfc, 0xfe, 0xf0, 0x52, 0x79, 0x15, - 0x44, 0x7d, 0xff, 0xff, 0xfd, 0x7f, 0xbd, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xf8, 0xfd, 0xf0, - 0x22, 0x69, 0x2a, 0xa0, 0x3d, 0xff, 0xff, 0xfa, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xe2, 0x48, - 0xfa, 0xff, 0xf0, 0x42, 0x59, 0x15, 0x54, 0x1b, 0xff, 0xff, 0xf7, 0xff, 0xbd, 0xf7, 0xff, - 0xff, 0x95, 0x55, 0x37, 0x7d, 0xf0, 0x02, 0x69, 0x0a, 0xa2, 0x1f, 0xfe, 0xff, 0xee, 0xff, - 0xff, 0xfc, 0xff, 0xff, 0x2a, 0x4a, 0x9f, 0xff, 0xf0, 0x03, 0xff, 0x55, 0x11, 0x4f, 0xff, - 0xff, 0x55, 0x7f, 0xfd, 0xff, 0x00, 0xfc, 0x55, 0x55, 0x4f, 0xff, 0xf0, 0x02, 0x01, 0xaa, - 0x88, 0x8f, 0xde, 0xff, 0xaa, 0xbf, 0xfe, 0xff, 0xff, 0x00, 0xa8, 0x02, 0xa7, 0xff, 0xf0, - 0x02, 0x01, 0x55, 0x55, 0x47, 0xff, 0x7f, 0xd5, 0x5f, 0xff, 0xff, 0xff, 0xc8, 0x47, 0x5c, - 0x53, 0xff, 0xf0, 0x82, 0x49, 0xaa, 0x8a, 0xa7, 0xfe, 0xff, 0xea, 0xbf, 0xff, 0xff, 0xff, - 0xb0, 0x3f, 0x5f, 0x89, 0xff, 0xf0, 0xc2, 0x49, 0x55, 0x45, 0x53, 0xff, 0xff, 0xf5, 0x5f, - 0xff, 0xff, 0xfe, 0x70, 0x7f, 0x5f, 0xe5, 0xff, 0xf0, 0xe2, 0x41, 0xa2, 0xa2, 0xab, 0xfe, - 0xfb, 0xfa, 0xaf, 0xef, 0xff, 0xf9, 0xe2, 0xbf, 0x5f, 0xfa, 0xff, 0xf0, 0xe2, 0x41, 0x51, - 0x51, 0x51, 0xff, 0x77, 0xfd, 0x57, 0xf9, 0xff, 0xe7, 0x85, 0x7f, 0x5f, 0xfc, 0xff, 0xf0, - 0xe3, 0xff, 0xf2, 0xa0, 0xa8, 0xff, 0xfb, 0xbe, 0xaf, 0xfe, 0x1e, 0x80, 0x6a, 0x80, 0x00, - 0x7e, 0xff, 0xb0, 0xe2, 0x60, 0x11, 0x50, 0x54, 0x7f, 0xff, 0xfd, 0x57, 0xff, 0xe0, 0x1f, - 0xc4, 0x15, 0x55, 0x06, 0x7f, 0x70, 0xee, 0x60, 0x18, 0xa8, 0x2a, 0x1f, 0xff, 0xfe, 0xaf, - 0xff, 0xe8, 0xf0, 0x00, 0x0a, 0x4a, 0xa8, 0x7f, 0xf0, 0xdf, 0xff, 0xf1, 0x54, 0x15, 0x43, - 0xff, 0xff, 0x5f, 0xff, 0xe8, 0x7b, 0xc0, 0x05, 0x55, 0x55, 0x7f, 0x70, 0xff, 0x81, 0x28, - 0xaa, 0x0a, 0xa1, 0xff, 0xfe, 0xbf, 0xf7, 0xea, 0x09, 0xe0, 0x0a, 0x4a, 0xaa, 0x7f, 0xf0, - 0xff, 0x81, 0x50, 0x54, 0x05, 0x54, 0x7f, 0xff, 0x7f, 0xfc, 0xe8, 0x4b, 0xc0, 0x05, 0x55, - 0x55, 0x7f, 0x70, 0xfe, 0x7f, 0x28, 0xaa, 0x00, 0xa8, 0xff, 0xfe, 0xbf, 0xff, 0x0a, 0xf0, - 0x00, 0x02, 0x4a, 0xa8, 0x7e, 0xb0, 0xfe, 0x7f, 0x14, 0x55, 0x00, 0x03, 0xff, 0xf7, 0x5f, - 0x7f, 0xe0, 0x1f, 0xc4, 0x01, 0x55, 0x06, 0x7f, 0x70, 0xff, 0x81, 0x08, 0x2a, 0x80, 0x07, - 0xff, 0xf6, 0xaf, 0xff, 0xfe, 0x80, 0x6a, 0x80, 0x00, 0x7e, 0xff, 0xb0, 0x7f, 0x81, 0x14, - 0x55, 0x40, 0x0f, 0xff, 0xed, 0x57, 0x7f, 0xff, 0xe7, 0x85, 0x55, 0x5f, 0xfc, 0xff, 0x70, - 0xbf, 0xff, 0xe8, 0x2a, 0xa8, 0x1f, 0xff, 0xf6, 0xae, 0xff, 0xff, 0xf9, 0xea, 0xaa, 0x5f, - 0xfa, 0xff, 0xf0, 0x5e, 0x01, 0x24, 0x15, 0x54, 0x3f, 0xff, 0xf5, 0x57, 0x7f, 0xfb, 0xfe, - 0xf0, 0x55, 0x5f, 0xe5, 0xff, 0x70, 0xbe, 0x01, 0x22, 0x2a, 0xa0, 0xff, 0xff, 0xba, 0xae, - 0xff, 0xfe, 0x1f, 0x30, 0x2a, 0x0f, 0x89, 0xbf, 0xf0, 0x5f, 0xff, 0xe5, 0x15, 0x41, 0xff, - 0xff, 0xd5, 0x57, 0x7f, 0xff, 0xe0, 0x48, 0x05, 0x54, 0x53, 0xff, 0xf0, 0xbe, 0x01, 0xa2, - 0x02, 0x03, 0xff, 0xff, 0xea, 0xaa, 0xbf, 0xff, 0xff, 0x80, 0x00, 0x02, 0xa7, 0xbf, 0xf0, - 0x5e, 0x01, 0x41, 0x00, 0x06, 0xfd, 0xff, 0xd5, 0x55, 0x5f, 0xff, 0xff, 0xfc, 0x00, 0x40, - 0x4f, 0xff, 0xf0, 0xbe, 0x49, 0x20, 0x80, 0x0f, 0x7f, 0xfe, 0xea, 0xaa, 0xbe, 0xff, 0xff, - 0xff, 0x00, 0x00, 0x1f, 0xbf, 0xf0, 0x7e, 0x49, 0x50, 0x00, 0x0f, 0x7f, 0xff, 0xd5, 0x55, - 0x5f, 0x83, 0xff, 0xff, 0x80, 0x40, 0x3f, 0xff, 0xf0, 0xfe, 0x41, 0x28, 0x00, 0x0f, 0xbf, - 0xff, 0xeb, 0xaa, 0xbf, 0xfc, 0x00, 0x03, 0xe0, 0x00, 0xff, 0xbf, 0xf0, 0xfe, 0x41, 0x14, - 0x00, 0x1f, 0xdf, 0xff, 0xd5, 0xd5, 0x57, 0xff, 0xff, 0xfc, 0x00, 0x07, 0xff, 0xdf, 0xf0, - 0xff, 0xff, 0x08, 0x00, 0x1f, 0x3f, 0xdf, 0xeb, 0xaa, 0xab, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xbf, 0xf0, 0xfe, 0x01, 0x14, 0x40, 0x3e, 0xff, 0xbf, 0xf5, 0x55, 0x57, 0xdf, 0xff, - 0xf9, 0xff, 0xff, 0xff, 0xdf, 0xf0, 0xfe, 0x01, 0x0a, 0x20, 0x3f, 0xff, 0xdf, 0xfa, 0xaa, - 0xab, 0xbf, 0xff, 0xf3, 0xff, 0xff, 0xdf, 0xbf, 0xf0, 0xde, 0x7f, 0x05, 0x10, 0x7f, 0xff, - 0xff, 0xfd, 0x55, 0x55, 0xdf, 0xff, 0xe4, 0xff, 0xff, 0xbf, 0x7f, 0xf0, 0xee, 0x7e, 0x02, - 0x88, 0x7f, 0xff, 0xff, 0xfa, 0xaa, 0xab, 0xbf, 0xff, 0xe3, 0xff, 0xbf, 0xbf, 0xbf, 0xf0, - 0xde, 0x05, 0x41, 0x54, 0x3f, 0xff, 0xff, 0xdd, 0x55, 0x55, 0xff, 0xff, 0xd7, 0xff, 0xdf, - 0x7f, 0x7f, 0xf0, 0xee, 0x06, 0xa2, 0xaa, 0x3f, 0xff, 0xff, 0xbe, 0xaa, 0xab, 0xbf, 0xff, - 0xf7, 0xff, 0xbf, 0x3f, 0xbf, 0xf0, 0xde, 0x7d, 0x55, 0x55, 0x1f, 0xfb, 0xff, 0xff, 0x55, - 0x55, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xbf, 0xff, 0xf0, 0xfe, 0x7f, 0xaa, 0xaa, 0x8f, 0xff, - 0xff, 0xba, 0xaa, 0xab, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xdf, 0xbf, 0xf0, 0xfe, 0x01, 0x55, - 0x55, 0x47, 0xff, 0xff, 0xf7, 0xd5, 0x57, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xfe, 0x01, 0xaa, 0xaa, 0xa1, 0xff, 0xff, 0xbf, 0xea, 0xab, 0xff, 0xff, 0xff, 0xff, 0xbf, - 0xff, 0xff, 0xf0, 0xff, 0xff, 0x55, 0x55, 0x54, 0xff, 0xff, 0x5f, 0xf5, 0x57, 0xff, 0xfd, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xda, 0xaa, 0xaa, 0xaa, 0x7f, 0xff, 0xbf, 0xfa, - 0xab, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0x9d, 0x55, 0x55, 0x00, 0xff, - 0xff, 0x7f, 0xfd, 0x57, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xbf, 0xa2, - 0xa8, 0x03, 0xff, 0xfb, 0xbf, 0xfa, 0xaa, 0xbf, 0xfb, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0x3f, 0xc0, 0x00, 0x07, 0xff, 0xff, 0x5f, 0xfd, 0x57, 0x57, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf0, 0xff, 0x3f, 0x80, 0x00, 0x0f, 0xff, 0xfb, 0xaf, 0xfe, 0xae, 0xaa, 0xfb, - 0xff, 0xbf, 0xff, 0xff, 0xff, 0xf0, 0xf6, 0x7f, 0xc0, 0x00, 0x0f, 0xff, 0xff, 0x57, 0xfd, - 0x55, 0x55, 0x77, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf0, -}; - -const lv_img_dsc_t balloon = { - .header.cf = LV_IMG_CF_INDEXED_1BIT, - .header.always_zero = 0, - .header.reserved = 0, - .header.w = 140, - .header.h = 68, - .data_size = 1232, - .data = balloon_map, -}; - -#ifndef LV_ATTRIBUTE_IMG_MOUNTAIN -#define LV_ATTRIBUTE_IMG_MOUNTAIN -#endif - -const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MOUNTAIN uint8_t - mountain_map[] = { -#if CONFIG_NICE_VIEW_WIDGET_INVERTED - 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ - 0x00, 0x00, 0x00, 0xff, /*Color of index 1*/ -#else - 0x00, 0x00, 0x00, 0xff, /*Color of index 0*/ - 0xff, 0xff, 0xff, 0xff, /*Color of index 1*/ -#endif - - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, - 0x00, 0x00, 0x00, 0x90, 0x00, 0x30, 0x80, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xa0, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x10, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf4, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0x10, 0x80, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x01, 0xfe, 0x03, 0xe0, 0x0f, 0x9e, 0x01, 0x90, - 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x00, 0x00, 0x00, 0xff, 0x07, 0xe0, 0x1f, - 0x9e, 0x00, 0x90, 0x80, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x80, 0x00, 0x00, 0x7f, - 0x8f, 0xe0, 0x1f, 0xbe, 0x00, 0x90, 0x80, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, - 0x00, 0x00, 0x3f, 0xcf, 0xf0, 0x1f, 0xbc, 0x00, 0x90, 0x80, 0x7f, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xcf, 0xf0, 0x3f, 0xbc, 0x00, 0x90, 0x80, 0x7f, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x00, 0x00, 0x1f, 0xe7, 0xf0, 0x7f, 0x3c, 0x00, 0x90, - 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x00, 0x0f, 0xe7, 0xf8, 0x7f, - 0x78, 0x01, 0xb0, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0x00, 0x00, 0x00, 0x07, - 0xf3, 0xf8, 0x3f, 0x78, 0x03, 0xd0, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0, 0x00, - 0x00, 0x00, 0x07, 0xfb, 0xf8, 0x3f, 0xf8, 0x0f, 0x90, 0xc0, 0x1f, 0xff, 0xff, 0xff, 0xff, - 0xec, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfd, 0xfc, 0x3f, 0xf8, 0x0f, 0x10, 0xc0, 0x1e, 0xff, - 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x3f, 0xf0, 0x0e, 0x10, - 0xc0, 0x0c, 0x27, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x7f, - 0xf0, 0x1e, 0x30, 0xc0, 0x00, 0x1f, 0xff, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0xfe, 0x7f, 0xf3, 0xfc, 0x50, 0xe0, 0x00, 0x3f, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x7f, 0xf7, 0xf8, 0x90, 0xe0, 0x00, 0x7f, 0xfe, 0xb0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x7f, 0xe7, 0xf1, 0x90, 0xe0, 0x00, 0x7f, - 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0x7f, 0xef, 0xe3, 0x90, - 0xf0, 0x00, 0x7f, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x7f, - 0xff, 0xe7, 0x90, 0xb0, 0x10, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0xff, 0xbf, 0xff, 0xcf, 0x90, 0xf0, 0x30, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0xff, 0xf9, 0xff, 0x9f, 0x90, 0xb0, 0x30, 0xff, 0xff, 0xff, 0xf2, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xff, 0x3e, 0x90, 0xf8, 0x70, 0xff, - 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf6, 0xfe, 0x7c, 0x90, - 0xf8, 0x78, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf9, - 0xfe, 0xf8, 0x90, 0xa8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x03, 0xff, 0xfd, 0xf3, 0x90, 0xdc, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfb, 0xef, 0x90, 0xf5, 0xac, 0xff, 0xff, 0xff, 0xfe, - 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x90, 0xff, 0xd6, 0x7f, - 0xff, 0xff, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0x90, - 0xff, 0xfa, 0x7f, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, - 0xff, 0xff, 0x90, 0xdd, 0xff, 0x7f, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0xea, 0xbf, 0x3f, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xf0, 0x10, 0xff, 0x4f, 0xbf, 0xf5, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x00, 0x10, 0xff, 0xff, 0x9f, - 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf0, - 0xff, 0xb0, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0xff, 0xff, 0x90, 0xcd, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x1f, 0xff, 0xff, 0x90, 0xb2, 0xe0, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0c, 0x7f, 0xff, 0xff, 0x90, 0xff, 0xc0, 0x3f, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0xff, 0x90, 0xfe, 0xc0, 0x7f, - 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0xff, 0xff, 0x7c, 0x90, - 0xfd, 0x80, 0xff, 0xfd, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc3, 0xff, - 0xff, 0xb8, 0x90, 0xff, 0x80, 0xff, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3f, 0x87, 0xff, 0xff, 0xc8, 0x90, 0x9f, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x7f, 0x1f, 0xff, 0xff, 0xe0, 0x90, 0x86, 0x01, 0xff, 0xff, 0xd0, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xfe, 0x3f, 0xff, 0xff, 0xe0, 0x90, 0x80, 0x01, 0xff, - 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0x19, 0x83, 0xfe, 0x7f, 0xff, 0xff, 0xf0, 0x90, - 0x80, 0x01, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x7f, 0xc7, 0xee, 0x7f, 0xff, - 0xff, 0xf8, 0x90, 0x80, 0x1a, 0xbf, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x98, 0xff, 0xff, - 0xc6, 0x7f, 0xff, 0xff, 0xfc, 0x90, 0x80, 0x3f, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0xf1, 0xff, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xfe, 0x90, 0x80, 0x3f, 0xf8, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x07, 0xe3, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x90, 0x80, 0x7f, 0xfe, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc7, 0xff, 0xfe, 0x18, 0xff, 0xef, 0xff, 0xff, 0x90, - 0x80, 0x7f, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x8f, 0xff, 0xfc, 0x7f, 0xff, 0xef, - 0xfd, 0xff, 0x90, 0x80, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x9f, 0xff, 0xf8, - 0xff, 0xff, 0xef, 0xfc, 0xf7, 0x90, 0x80, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x3f, - 0x1f, 0xff, 0xf1, 0xff, 0xff, 0xcf, 0xfc, 0xe1, 0x90, 0x80, 0xff, 0xff, 0xff, 0xf4, 0x00, - 0x00, 0x00, 0x7f, 0x3f, 0xff, 0xe3, 0xff, 0xff, 0xcf, 0xfe, 0x60, 0x90, 0x81, 0xff, 0xff, - 0xff, 0xfe, 0x80, 0x00, 0x00, 0x7f, 0x3f, 0xff, 0xc7, 0xff, 0xff, 0xdf, 0xfe, 0x40, 0x90, - 0x81, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x01, 0xfe, 0x3f, 0xff, 0xcf, 0xbf, 0xff, 0xdf, - 0xfe, 0x00, 0x90, 0x81, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x07, 0xfe, 0x7f, 0xff, 0x8f, - 0x7f, 0xff, 0x9f, 0xfe, 0x00, 0x90, 0x80, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x00, 0x1f, 0xfe, - 0x7f, 0xff, 0x1e, 0xff, 0xff, 0x91, 0xfe, 0x00, 0x90, 0x80, 0xff, 0xff, 0xfe, 0xc0, 0x00, - 0x00, 0x3f, 0xfc, 0x7f, 0xfe, 0x3c, 0xff, 0xff, 0x81, 0xff, 0x00, 0x90, 0x80, 0x7f, 0xff, - 0xec, 0x00, 0x00, 0x3c, 0xff, 0xf8, 0xff, 0xfc, 0x79, 0xfd, 0xff, 0x80, 0xff, 0x00, 0x90, - 0x80, 0x27, 0xff, 0x80, 0x00, 0x00, 0x7f, 0xff, 0xf9, 0xff, 0xfc, 0xf3, 0xfb, 0xff, 0x00, - 0xff, 0x00, 0x90, 0x80, 0x5f, 0xff, 0xd8, 0x00, 0x00, 0xff, 0xff, 0xf1, 0xff, 0xc8, 0xe7, - 0xf3, 0xff, 0x00, 0x7f, 0x00, 0x90, 0x80, 0xff, 0xff, 0xfd, 0x80, 0x01, 0xff, 0xff, 0xe3, - 0xff, 0x81, 0xcf, 0xf7, 0xff, 0x00, 0x7f, 0x00, 0x90, 0x80, 0xff, 0xff, 0xff, 0xd8, 0x03, - 0xff, 0xff, 0x87, 0xff, 0x03, 0x8f, 0xe7, 0xff, 0x00, 0x3f, 0x81, 0x90, 0x81, 0xff, 0xff, - 0xff, 0xfe, 0x83, 0xff, 0xfe, 0x0f, 0xfe, 0x3f, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x10, - 0x80, 0x00, 0x00, 0x00, 0x2f, 0xc6, 0x00, 0x00, 0x38, 0x00, 0x60, 0x00, 0x48, 0x00, 0x00, - 0x00, 0x00, 0x10, 0xc0, 0x00, 0x00, 0x00, 0x17, 0xf4, 0x00, 0x00, 0xe0, 0x00, 0xc0, 0x00, - 0x88, 0x00, 0x00, 0x00, 0x00, 0x30, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, -}; - -const lv_img_dsc_t mountain = { - .header.cf = LV_IMG_CF_INDEXED_1BIT, - .header.always_zero = 0, - .header.reserved = 0, - .header.w = 140, - .header.h = 68, - .data_size = 1232, - .data = mountain_map, -}; - -#ifndef LV_ATTRIBUTE_IMG_WUKONG -#define LV_ATTRIBUTE_IMG_WUKONG -#endif - -const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_WUKONG uint8_t wukong_map[] = { - 0x63, 0x63, 0x63, 0xff, /*Color of index 0*/ - 0x15, 0x15, 0x15, 0xff, /*Color of index 1*/ - - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xf9, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xc0, 0x30, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xe0, 0x17, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xe8, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xf3, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xfb, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x57, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa6, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x00, 0x02, 0xbb, 0xff, 0xff, 0xf0, - 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x24, 0x04, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf0, - 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x3d, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x06, 0x00, 0x0f, 0x00, 0x80, 0x00, 0x00, 0x01, 0xff, 0xf0, - 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0a, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, - 0x7f, 0xff, 0xf8, 0x6f, 0xff, 0xff, 0xff, 0xf0, 0x0e, 0x30, 0x03, 0x06, 0x00, 0x01, 0x00, 0x01, 0xff, 0xf0, - 0xff, 0xff, 0xfe, 0x52, 0xff, 0xff, 0xff, 0xe0, 0xbe, 0xb8, 0x83, 0x1f, 0x00, 0x0e, 0x00, 0x00, 0x1f, 0xf0, - 0xff, 0xff, 0xfe, 0xb4, 0xaf, 0xff, 0xff, 0xa8, 0x7e, 0x0c, 0x4f, 0x07, 0xe0, 0x10, 0x00, 0x00, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xd0, 0x21, 0xff, 0xff, 0xfa, 0xbf, 0x82, 0x1f, 0xa7, 0xf0, 0x20, 0xaa, 0x00, 0xff, 0xf0, - 0xff, 0xff, 0xef, 0xf0, 0x00, 0x67, 0xff, 0xfd, 0x5e, 0x80, 0x1f, 0x37, 0xa8, 0x28, 0x3f, 0x00, 0x0b, 0xf0, - 0xff, 0xff, 0xdf, 0xee, 0x06, 0x01, 0xff, 0xfd, 0x7f, 0x00, 0x1f, 0x9f, 0xfe, 0x14, 0x00, 0xe0, 0x05, 0xf0, - 0xff, 0xfd, 0x7f, 0xff, 0x7e, 0x00, 0xff, 0xff, 0xea, 0xb4, 0x3f, 0xbf, 0xff, 0x57, 0xff, 0xdc, 0x0f, 0xf0, - 0xff, 0xd7, 0xd7, 0xff, 0xf8, 0x03, 0xff, 0xff, 0xee, 0xa0, 0x3f, 0x9f, 0xfd, 0xbf, 0xff, 0xab, 0x03, 0xf0, - 0xff, 0xe9, 0x6d, 0x7f, 0xfc, 0x07, 0xff, 0xff, 0xff, 0x81, 0x3f, 0xbf, 0xff, 0xff, 0xfa, 0x36, 0x81, 0xf0, - 0xff, 0xfe, 0xaa, 0xbf, 0xfe, 0x03, 0xff, 0xff, 0xff, 0x60, 0x7f, 0xdf, 0xff, 0xff, 0xfd, 0xea, 0x03, 0xf0, - 0xff, 0xff, 0xf4, 0xaf, 0xff, 0x85, 0xff, 0xff, 0xff, 0x80, 0x7f, 0xef, 0xff, 0xff, 0xfa, 0xbf, 0x03, 0xf0, - 0xff, 0xff, 0xff, 0x0b, 0xff, 0xfd, 0xef, 0xff, 0xff, 0x88, 0xff, 0xef, 0xff, 0xff, 0xff, 0x50, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xa0, 0xff, 0xb4, 0xdf, 0xff, 0xff, 0xb4, 0xbf, 0xdf, 0xff, 0xff, 0xfd, 0x55, 0x0f, 0xf0, - 0xff, 0xf5, 0xfd, 0x75, 0x7f, 0xff, 0x5f, 0xff, 0xff, 0xf9, 0x7f, 0xff, 0xff, 0xff, 0xfa, 0xaa, 0xf7, 0xf0, - 0xff, 0xfa, 0xff, 0xfd, 0x7f, 0xff, 0xff, 0x7f, 0x7f, 0xf7, 0xbf, 0xff, 0xfe, 0x83, 0xd6, 0x51, 0x5f, 0xf0, - 0xff, 0xff, 0xbf, 0xef, 0xff, 0xff, 0xf6, 0xfb, 0xef, 0xff, 0xf5, 0xff, 0xfd, 0xff, 0xe8, 0x00, 0x2f, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xa6, 0x77, 0xfe, 0xb5, 0xbf, 0xff, 0x7a, 0xa0, 0x00, 0x1f, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xed, 0xff, 0xfb, 0x71, 0xbd, 0x0f, 0xd9, 0xcf, 0x7f, 0xaf, 0x40, 0x00, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfe, 0xd7, 0xfc, 0x5e, 0x00, 0x3b, 0xea, 0x9f, 0xc5, 0xfa, 0x57, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xe9, 0xf1, 0x56, 0x80, 0x15, 0x7f, 0xf5, 0xa2, 0xaa, 0x83, 0xff, 0xf0, - 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xd0, 0x68, 0x1f, 0x40, 0x1b, 0x8f, 0xfe, 0x00, 0x00, 0x01, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x97, 0x9c, 0x0f, 0x03, 0xff, 0x00, 0x00, 0x02, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff, 0xc3, 0xe0, 0xf4, 0x80, 0x00, 0x03, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0x5b, 0xff, 0xff, 0x80, 0x00, 0xab, 0xbf, 0xa7, 0xfa, 0x84, 0x00, 0x00, 0x1f, 0xff, 0xf0, - 0xbf, 0xff, 0xff, 0xef, 0x7f, 0xd4, 0x40, 0x00, 0x2f, 0xfe, 0xbf, 0x85, 0x40, 0x00, 0x03, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0x7f, 0xea, 0x20, 0x05, 0x5f, 0xff, 0xff, 0xa0, 0x10, 0x00, 0x3f, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0x77, 0xfd, 0xf2, 0xaa, 0x15, 0x6f, 0xff, 0xff, 0xfa, 0x1c, 0x08, 0x0f, 0xff, 0xff, 0xf0, - 0xed, 0xff, 0xff, 0xdf, 0xfe, 0xf8, 0xa8, 0x0a, 0xb7, 0xbf, 0xff, 0xff, 0x8f, 0xaf, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xee, 0xff, 0xfe, 0xaa, 0x1d, 0xef, 0x7f, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xef, 0xff, 0xfd, 0x7e, 0xab, 0x57, 0x7f, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xf3, 0xff, 0xfd, 0x5f, 0xdf, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xdf, 0xff, 0xf7, 0xf5, 0xfe, 0xff, 0xaf, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xf5, 0x0b, 0xff, 0x5f, 0xbf, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xfd, 0x55, 0xff, 0xbf, 0xfb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xfa, 0xab, 0xff, 0xbf, 0xbe, 0x51, 0x57, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0x7f, 0xd7, 0xfd, 0xab, 0xff, 0xff, 0x78, 0x57, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xdf, 0x7f, 0xfe, 0xef, 0xff, 0xf7, 0xc0, 0xfd, 0x57, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xfe, 0xfd, 0xff, 0xff, 0x7f, 0xff, 0xdc, 0x01, 0xd6, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xdd, 0xbd, 0xff, 0xfe, 0xff, 0xff, 0xc0, 0x07, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xbf, 0xff, 0xff, 0xff, 0xbf, 0xf6, 0xc0, 0x1f, 0xeb, 0xba, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xdf, 0xef, 0xff, 0xff, 0xff, 0xeb, 0x86, 0x3f, 0xfd, 0x57, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xcf, 0xff, 0xff, 0xcf, 0x51, 0x7f, 0x1d, 0xef, 0xea, 0xb5, 0x55, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, -}; - -const lv_img_dsc_t wukong = { - .header.cf = LV_IMG_CF_INDEXED_1BIT, - .header.always_zero = 0, - .header.reserved = 0, - .header.w = 140, - .header.h = 68, - .data_size = 1232, - .data = wukong_map, -}; - - -#ifndef LV_ATTRIBUTE_IMG_LONGZHU -#define LV_ATTRIBUTE_IMG_LONGZHU -#endif - -const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_LONGZHU uint8_t longzhu_map[] = { - 0x00, 0x00, 0x00, 0xff, /*Color of index 0*/ - 0xff, 0xff, 0xff, 0xff, /*Color of index 1*/ - - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0xdb, 0x6d, 0xb6, 0xdb, 0x6d, 0xb6, 0xdb, 0x6d, 0xab, 0x6d, 0xbb, 0x6d, 0xbb, 0x6d, 0xdb, 0x76, 0xef, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb0, - 0xff, 0xff, 0xdf, 0xff, 0xff, 0xdf, 0x7f, 0xbf, 0xfd, 0xff, 0xdf, 0xff, 0xef, 0xff, 0x7f, 0xdf, 0xbf, 0xf0, - 0xb6, 0xdb, 0x7d, 0xb6, 0xdb, 0x7d, 0xf5, 0xed, 0xb7, 0xb6, 0xf6, 0xdb, 0x7e, 0xdb, 0xf6, 0xfd, 0xff, 0xf0, - 0xff, 0xff, 0xf7, 0xff, 0xff, 0xf7, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xb0, - 0xde, 0xee, 0xff, 0xdf, 0x7d, 0xff, 0xff, 0xbf, 0x7b, 0x7f, 0xbf, 0xff, 0xdb, 0xfe, 0xdf, 0xdb, 0xbf, 0xf0, - 0xfb, 0xff, 0xbe, 0xf7, 0xdf, 0x6e, 0xfb, 0xed, 0xef, 0xdb, 0xf6, 0xdb, 0xff, 0x6f, 0xf6, 0xff, 0xfb, 0xf0, - 0xff, 0xbb, 0xfb, 0xdd, 0xf7, 0xff, 0xde, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0x7f, 0xfb, 0xff, 0xff, 0x7f, 0xb0, - 0xbf, 0xff, 0xdf, 0xb7, 0xff, 0xdf, 0xff, 0xf7, 0x7f, 0xff, 0xbf, 0x7f, 0xdb, 0xff, 0x7f, 0x6d, 0xef, 0xf0, - 0xf6, 0xf7, 0x77, 0xdf, 0xbe, 0xfd, 0xbb, 0xdf, 0xf7, 0xd7, 0xed, 0xed, 0xff, 0xdf, 0xfb, 0xff, 0xfb, 0x70, - 0xff, 0xbf, 0xfd, 0xf7, 0xf7, 0xef, 0xfe, 0xfd, 0xdd, 0xfe, 0xff, 0xff, 0xfd, 0xf7, 0xbf, 0xdf, 0xbf, 0xe0, - 0xdb, 0xfe, 0xfd, 0xdd, 0xbf, 0xbe, 0xef, 0xef, 0xff, 0xbf, 0xff, 0x77, 0xb7, 0x7d, 0xee, 0xfe, 0xff, 0xf0, - 0xff, 0xdb, 0xdb, 0xf6, 0xfb, 0xfb, 0xfd, 0xfe, 0xff, 0xf7, 0xb7, 0xfd, 0xff, 0xff, 0xff, 0xf7, 0xed, 0xb0, - 0xff, 0x7f, 0xff, 0x5f, 0xdf, 0xff, 0xdf, 0xbb, 0xdb, 0x7d, 0xfd, 0xdf, 0xdf, 0xef, 0x7d, 0xdf, 0xff, 0xf0, - 0xb7, 0xff, 0x55, 0xeb, 0x7d, 0xb7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xbf, 0xef, 0xfd, 0xbf, 0xf0, - 0xfd, 0xdb, 0xee, 0xbf, 0xff, 0xfe, 0xed, 0xef, 0x77, 0xb7, 0xb7, 0xbb, 0x7f, 0xfe, 0xff, 0xbf, 0xfd, 0xb0, - 0xff, 0xff, 0xfb, 0xd5, 0xdb, 0xff, 0xff, 0xbf, 0xfd, 0xfe, 0xfd, 0xff, 0xde, 0xf7, 0xfb, 0xef, 0x6f, 0xf0, - 0xdb, 0xbd, 0xbd, 0x6f, 0x7f, 0xdb, 0xdf, 0xfd, 0xdf, 0xff, 0xff, 0xed, 0xf7, 0xdf, 0xde, 0xfd, 0xff, 0x70, - 0xff, 0xef, 0xef, 0x75, 0xfe, 0xfe, 0xf6, 0xff, 0xfe, 0xdb, 0xb7, 0x7f, 0xff, 0xfd, 0xff, 0xff, 0xf7, 0xd0, - 0x77, 0x7f, 0xf5, 0xde, 0xb7, 0xff, 0xff, 0xf7, 0x7b, 0xff, 0xff, 0xff, 0xbf, 0x7f, 0x77, 0xb7, 0xbf, 0xf0, - 0xff, 0xd6, 0xdf, 0x6f, 0xff, 0xb7, 0xdf, 0xbf, 0xef, 0xf7, 0xdd, 0xdb, 0xf7, 0xef, 0xff, 0xfe, 0xfb, 0x70, - 0xde, 0xff, 0xfb, 0xbb, 0xfe, 0xfe, 0xfe, 0xfd, 0xfe, 0xdf, 0x7f, 0xff, 0x7d, 0xfd, 0xfe, 0xef, 0xff, 0xf0, - 0xf7, 0xd5, 0xad, 0xff, 0x6f, 0xff, 0xf7, 0xff, 0xbf, 0xff, 0xef, 0x7f, 0xff, 0xbf, 0xb7, 0xfd, 0xdf, 0xf0, - 0xff, 0xfe, 0xff, 0xf7, 0xff, 0xb7, 0xbf, 0xb7, 0xff, 0xfe, 0xfd, 0xed, 0xee, 0xff, 0xff, 0xff, 0xf6, 0xd0, - 0xdb, 0x57, 0x57, 0x7f, 0xfb, 0xff, 0xff, 0xfe, 0xed, 0xb7, 0xdf, 0xfb, 0xbf, 0xed, 0xfe, 0xdf, 0x7f, 0xf0, - 0xff, 0xfa, 0xfd, 0xde, 0xdf, 0xfe, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xfa, 0xbf, 0x77, 0xfb, 0xff, 0xf0, - 0xfd, 0xef, 0x5f, 0x77, 0xfe, 0xdf, 0xdf, 0xdf, 0xbf, 0xfd, 0xf7, 0xf6, 0xb7, 0xdf, 0xff, 0xff, 0xdb, 0x70, - 0x6f, 0x7a, 0xed, 0xdf, 0xf7, 0xfd, 0xff, 0xfd, 0xfb, 0x6f, 0xbf, 0x7b, 0xfd, 0x75, 0x6f, 0x6e, 0xff, 0xf0, - 0xff, 0xdf, 0xb7, 0x7f, 0x7f, 0xf7, 0xfd, 0xf7, 0xef, 0xff, 0xfa, 0xd6, 0xdf, 0xaf, 0xf5, 0xff, 0xf7, 0x60, - 0xfd, 0xed, 0xdd, 0xff, 0xff, 0xbf, 0xef, 0xbf, 0x7f, 0xfe, 0xe9, 0x6d, 0x7d, 0x69, 0x4f, 0xfb, 0xdf, 0xf0, - 0xdf, 0xbf, 0xbf, 0xdb, 0xed, 0xfe, 0xff, 0xff, 0xfd, 0xb7, 0xaa, 0xab, 0x17, 0xd5, 0x7a, 0xbf, 0x7d, 0xf0, - 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xef, 0xdf, 0xfe, 0xa5, 0x57, 0x45, 0x5a, 0xd7, 0xef, 0xff, 0xb0, - 0xf6, 0xef, 0xd6, 0xfe, 0xff, 0xdb, 0xbf, 0xfd, 0xff, 0xd4, 0xaa, 0x2c, 0x17, 0xfe, 0xaa, 0xbd, 0xef, 0xf0, - 0xdf, 0xfe, 0xff, 0xff, 0xf7, 0xff, 0xff, 0x7f, 0xf7, 0x7b, 0x35, 0x1f, 0xc1, 0x51, 0xad, 0xdf, 0xfe, 0xf0, - 0xfb, 0xbb, 0xff, 0xb7, 0xbe, 0xff, 0xef, 0xff, 0xff, 0xee, 0xca, 0x79, 0x2f, 0xee, 0x4a, 0x76, 0xf7, 0xd0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xed, 0xde, 0x9e, 0x00, 0x5a, 0x5d, 0x1d, 0xb5, 0x9b, 0xdf, 0xf0, - 0xfe, 0xff, 0x6d, 0xff, 0xff, 0xbb, 0xfd, 0xff, 0xf5, 0xf8, 0x29, 0x39, 0xbb, 0xea, 0xdd, 0xd7, 0x7d, 0xf0, - 0xdb, 0xfb, 0xff, 0xfd, 0xbb, 0xff, 0xdf, 0xff, 0xfd, 0x7e, 0xa2, 0x7c, 0x57, 0xb5, 0x7b, 0xa5, 0xff, 0xb0, - 0xff, 0xbf, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xbe, 0xc6, 0xba, 0xa8, 0x1d, 0xfd, 0xd4, 0xb5, 0x7f, 0xdf, 0xf0, - 0xff, 0xff, 0xfd, 0xf7, 0xff, 0xef, 0xff, 0xf7, 0xfb, 0x7f, 0xfe, 0xef, 0xd5, 0x6b, 0xda, 0x5b, 0x7b, 0x70, - 0xf7, 0xff, 0xef, 0xde, 0xed, 0xfe, 0xed, 0xff, 0xae, 0xfb, 0xcb, 0xfa, 0xfb, 0xaa, 0x6f, 0xae, 0xff, 0xd0, - 0xfd, 0xff, 0xff, 0xff, 0xf7, 0x5f, 0xff, 0xff, 0xbb, 0xfe, 0x7e, 0xbd, 0xbe, 0x55, 0x5f, 0x7b, 0xcd, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0xeb, 0xff, 0xff, 0xef, 0xf9, 0x6b, 0xfd, 0x77, 0xaf, 0xa5, 0xde, 0x7b, 0xf0, - 0xff, 0x6f, 0x7f, 0x7f, 0xff, 0xee, 0xad, 0xee, 0xff, 0xbe, 0xaa, 0xfb, 0xff, 0x62, 0xf7, 0x7b, 0xdf, 0xb0, - 0xdb, 0xff, 0xff, 0xdf, 0xff, 0xab, 0xbf, 0x7f, 0xf5, 0xed, 0xb5, 0xfe, 0xff, 0xe9, 0xda, 0xff, 0xf7, 0xf0, - 0x7f, 0xfd, 0xff, 0xfb, 0xdb, 0xf5, 0x55, 0xff, 0xff, 0x7a, 0xda, 0xff, 0xfd, 0xed, 0x7f, 0xdd, 0xdd, 0x70, - 0xfe, 0xdf, 0xb7, 0xff, 0xff, 0xb8, 0x2a, 0xbf, 0xaf, 0xef, 0xb6, 0xfb, 0xff, 0xfe, 0xd7, 0xef, 0x7b, 0xe0, - 0xf7, 0xfb, 0xff, 0x7f, 0xff, 0xde, 0xd5, 0x6d, 0xff, 0xb5, 0xbf, 0xff, 0xff, 0x5f, 0xfe, 0xbf, 0xff, 0xf0, - 0xff, 0x7e, 0xed, 0xff, 0xff, 0xfb, 0xf5, 0x5f, 0xfd, 0xff, 0x4b, 0xfb, 0xff, 0xff, 0xdf, 0xef, 0xd6, 0xf0, - 0xfd, 0xff, 0xff, 0xb7, 0xff, 0xfe, 0xee, 0xdf, 0xff, 0xf6, 0xbb, 0x7f, 0xff, 0xfe, 0xff, 0x7f, 0x7b, 0xb0, - 0xff, 0x6f, 0x7f, 0xfe, 0xff, 0xff, 0xe9, 0x6f, 0xff, 0xff, 0x6b, 0xff, 0xbf, 0xef, 0xfb, 0xfb, 0xee, 0xf0, - 0xff, 0xfd, 0xed, 0xdf, 0xbf, 0xff, 0x92, 0xab, 0xff, 0xff, 0xd5, 0xfb, 0xf7, 0x7f, 0xff, 0xef, 0x7f, 0xf0, - 0xdf, 0xb7, 0x7b, 0xf7, 0xef, 0xff, 0xea, 0xaf, 0xef, 0xfe, 0x77, 0xfe, 0xff, 0xff, 0xbf, 0xdb, 0xb5, 0xb0, - 0xff, 0xff, 0xff, 0xbf, 0x7f, 0xff, 0xff, 0xbd, 0xff, 0xff, 0xdb, 0xff, 0xff, 0xed, 0xfe, 0xfe, 0xdf, 0xf0, - 0xff, 0xff, 0xf7, 0xed, 0xed, 0xff, 0xfb, 0xf7, 0xff, 0x7f, 0xf7, 0x7f, 0xff, 0xff, 0xf7, 0xbf, 0xf7, 0xf0, - 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xdf, 0xff, 0xfe, 0xff, 0xff, 0xeb, 0x6e, 0xd0, - 0xff, 0xfd, 0xff, 0xed, 0xbf, 0x7e, 0xbf, 0x7f, 0xbf, 0xff, 0xbd, 0xdb, 0xf7, 0xff, 0xba, 0xff, 0xdb, 0xf0, - 0xff, 0xef, 0xbb, 0x7f, 0xed, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xed, 0xff, 0x55, 0xbf, 0xf0, - 0xff, 0xff, 0xff, 0xee, 0xff, 0xff, 0xde, 0xff, 0xff, 0xef, 0xff, 0xbf, 0x7f, 0xff, 0x7e, 0xfe, 0xde, 0xf0, - 0xff, 0xff, 0xff, 0xfb, 0xfe, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xfd, 0xed, 0xdf, 0xeb, 0xeb, 0x49, 0x77, 0xd0, - 0xff, 0xff, 0x6d, 0xbf, 0x6f, 0xff, 0xff, 0xdd, 0xff, 0xfb, 0x77, 0xbf, 0xfd, 0xdd, 0x5d, 0xd7, 0xbd, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf6, 0xfe, 0x7f, 0xbf, 0xdf, 0xff, 0xef, 0xf7, 0xbb, 0xb4, 0xff, 0xf0, - 0xff, 0xf7, 0xff, 0x6d, 0xf7, 0xdf, 0xbf, 0xf7, 0xdf, 0xf5, 0x6a, 0xef, 0xfa, 0xfa, 0xed, 0x6b, 0xdf, 0x70, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xbf, 0xeb, 0xb5, 0x5b, 0xbb, 0x7f, 0xed, 0x37, 0x54, 0xfd, 0xf0, - 0xff, 0xfe, 0xdb, 0xff, 0xbf, 0xff, 0xed, 0xf5, 0xbf, 0xf5, 0x8d, 0xff, 0x7f, 0xba, 0xa9, 0x52, 0xb7, 0xd0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x7f, 0xde, 0xfa, 0xef, 0x6a, 0xfd, 0x4e, 0xee, 0x95, 0x00, 0x3f, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf7, 0x7f, 0xb7, 0xfa, 0xd7, 0xfe, 0xbb, 0xda, 0xb4, 0x8a, 0xfe, 0xf0, - 0xff, 0xff, 0xff, 0xdb, 0x7f, 0xdf, 0xbd, 0xdb, 0xff, 0x7f, 0x75, 0xaf, 0xc7, 0x76, 0xc5, 0x0b, 0xf7, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x76, 0xf5, 0xbf, 0xfe, 0xeb, 0xbd, 0xaa, 0xa9, 0x7f, 0xff, 0xb0, - 0xff, 0xff, 0xfe, 0xf7, 0xff, 0xff, 0xfd, 0xef, 0xfb, 0x7d, 0xf7, 0xb7, 0xf7, 0xdd, 0x04, 0x17, 0xde, 0xf0, - 0xff, 0xff, 0xff, 0xfe, 0xef, 0xff, 0xff, 0x5a, 0xfe, 0xdf, 0xde, 0xfc, 0xab, 0x52, 0xa1, 0x7d, 0xfb, 0xf0, - 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xdd, 0xf7, 0xaa, 0xfe, 0xfe, 0xff, 0xfd, 0xaa, 0x9f, 0xff, 0x7f, 0xf0, - 0xff, 0xff, 0xfd, 0xbf, 0xff, 0xbf, 0xfb, 0x6a, 0xdf, 0x7f, 0xfb, 0xff, 0xd4, 0xe4, 0xa5, 0xbf, 0xef, 0x70, - 0xff, 0xff, 0xff, 0xff, 0xdf, 0xf7, 0xff, 0xad, 0xfb, 0x6f, 0x7f, 0xf6, 0xff, 0xb3, 0x1f, 0xed, 0xff, 0xf0, - 0xff, 0xff, 0xf7, 0xf7, 0xf5, 0xff, 0xea, 0xd7, 0x6d, 0xbf, 0xdb, 0xbf, 0xf5, 0x7f, 0xff, 0xff, 0xbb, 0xb0, - 0xff, 0xff, 0xff, 0xbf, 0xfe, 0xbf, 0xfe, 0xa9, 0xbb, 0x5f, 0x7f, 0xff, 0xff, 0xdf, 0xfb, 0x7f, 0xff, 0xf0, - 0xff, 0xff, 0xfe, 0xff, 0xf7, 0xfd, 0xab, 0x56, 0xfd, 0xf7, 0xfe, 0xf7, 0x7f, 0xfd, 0xff, 0xed, 0xee, 0xf0, - 0xff, 0xff, 0xf7, 0xff, 0xdd, 0x7f, 0xfd, 0x6d, 0xd7, 0x5f, 0xff, 0xff, 0xef, 0xff, 0xef, 0xff, 0xbf, 0xf0, - 0xfa, 0xff, 0x7f, 0xff, 0xff, 0xdf, 0xae, 0xd7, 0x7d, 0xff, 0xb7, 0xdf, 0xfd, 0xb7, 0x7d, 0xbf, 0xfb, 0xb0, - 0xfe, 0x0f, 0xff, 0xff, 0xd5, 0x7f, 0xdb, 0xdd, 0xef, 0x6f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xf6, 0xff, 0xf0, - 0xdc, 0xaf, 0xfb, 0xff, 0x7f, 0xff, 0xf7, 0x6b, 0x7b, 0xdf, 0x7d, 0xf7, 0xf7, 0xff, 0xef, 0xff, 0xde, 0xf0, - 0xf2, 0xe7, 0xff, 0xff, 0xfb, 0xf7, 0xee, 0xaf, 0xfe, 0xff, 0xef, 0xbf, 0xff, 0xde, 0xff, 0xbf, 0xf7, 0xb0, - 0xc4, 0xef, 0xff, 0xff, 0x5f, 0xff, 0xbf, 0x75, 0xbf, 0xbe, 0xff, 0xfd, 0xbd, 0xfb, 0xfb, 0xed, 0xff, 0xf0, - 0xfc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xdf, 0xfb, 0xde, 0xff, 0xef, 0xff, 0xff, 0xde, 0xff, 0xbd, 0xf0, - 0xfe, 0xef, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xef, 0x6f, 0xfd, 0xdb, 0x7f, 0xef, 0x7f, 0xff, 0xff, 0xff, 0x70, - 0xf7, 0xff, 0xff, 0xff, 0xed, 0xaf, 0xfb, 0xfd, 0xff, 0xd7, 0xff, 0xfb, 0x7f, 0xdb, 0x7f, 0xdb, 0x77, 0xf0, - 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xdf, 0xdb, 0xff, 0x7f, 0xff, 0xfb, 0xff, 0xed, 0xff, 0xff, 0xb0, - 0xfc, 0x7f, 0xff, 0x7f, 0xf7, 0xb7, 0xf5, 0xf6, 0xff, 0xff, 0xee, 0xef, 0xef, 0xff, 0xff, 0xff, 0xee, 0xf0, - 0xff, 0x7f, 0xff, 0xff, 0xfb, 0x6f, 0xff, 0xff, 0xbe, 0x5b, 0xff, 0xfd, 0xfe, 0xed, 0xfe, 0xdb, 0x7f, 0xf0, - 0xb7, 0x7f, 0xfb, 0xfb, 0xff, 0xff, 0xfb, 0xee, 0xf6, 0xff, 0xfb, 0xbf, 0xbf, 0xff, 0xdb, 0xff, 0xfb, 0xb0, - 0xf5, 0x7f, 0xff, 0xff, 0xf7, 0xbf, 0xff, 0x7b, 0x54, 0xfe, 0xff, 0xf7, 0xf7, 0xbf, 0x7f, 0xef, 0xbf, 0xf0, - 0xff, 0xff, 0xde, 0xff, 0xfa, 0xf7, 0xff, 0xda, 0xa3, 0xf7, 0xef, 0xfe, 0xfd, 0xfb, 0xff, 0xbe, 0xfe, 0xf0, - 0xf7, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xf6, 0xea, 0x9f, 0xdf, 0xfd, 0xbf, 0xdf, 0xff, 0xed, 0xfb, 0xef, 0xb0, - 0xf6, 0x7f, 0xf7, 0x6f, 0xfe, 0xff, 0xfb, 0xd4, 0x16, 0xff, 0xbf, 0xff, 0xff, 0x6f, 0x7f, 0xff, 0xfb, 0xf0, - 0xf5, 0xfd, 0xbf, 0xff, 0xff, 0xaf, 0xbe, 0x29, 0x7f, 0xfd, 0xf7, 0xdb, 0xf7, 0xfd, 0xff, 0x6f, 0x7f, 0xf0, - 0xfc, 0x7f, 0xfe, 0xfb, 0xfd, 0xff, 0xfd, 0x6c, 0xff, 0xef, 0xfe, 0xff, 0xbf, 0xff, 0xfb, 0xff, 0xde, 0xd0, - 0xf6, 0xff, 0x7b, 0xdf, 0xff, 0x77, 0xfd, 0xef, 0xfb, 0x7f, 0xbf, 0xfe, 0xfd, 0xb7, 0xbf, 0xfb, 0xff, 0xf0, - 0xf2, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xea, 0xf7, 0xff, 0xfd, 0xff, 0xb7, 0xef, 0xff, 0xee, 0xde, 0xfd, 0xf0, - 0xff, 0x7f, 0xef, 0x7f, 0xfe, 0xf7, 0xbb, 0xff, 0xbf, 0xff, 0xef, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xdf, 0x70, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xdf, 0xfd, 0xb7, 0x7e, 0xff, 0x7b, 0x6f, 0xfb, 0xf7, 0xfb, 0xf0, - 0xff, 0xff, 0x7d, 0xef, 0x7f, 0x7f, 0xef, 0xfd, 0xf7, 0xff, 0xfb, 0xdb, 0xff, 0xff, 0x7f, 0x7e, 0xff, 0xd0, - 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xfb, 0xef, 0xff, 0xee, 0xf0, -}; - -const lv_img_dsc_t longzhu = { - .header.cf = LV_IMG_CF_INDEXED_1BIT, - .header.always_zero = 0, - .header.reserved = 0, - .header.w = 140, - .header.h = 104, - .data_size = 1880, - .data = longzhu_map, -}; diff --git a/config/boards/shields/nice_view/widgets/bolt.c b/config/boards/shields/nice_view/widgets/bolt.c deleted file mode 100644 index 74dcc2b00..000000000 --- a/config/boards/shields/nice_view/widgets/bolt.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * - * Copyright (c) 2023 The ZMK Contributors - * SPDX-License-Identifier: MIT - * - */ - -#include - -#ifndef LV_ATTRIBUTE_MEM_ALIGN -#define LV_ATTRIBUTE_MEM_ALIGN -#endif - -#ifndef LV_ATTRIBUTE_IMG_BOLT -#define LV_ATTRIBUTE_IMG_BOLT -#endif - -const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_BOLT uint8_t bolt_map[] = { -#if CONFIG_NICE_VIEW_WIDGET_INVERTED - 0x00, 0x00, 0x00, 0x00, /*Color of index 0*/ - 0x00, 0x00, 0x00, 0xff, /*Color of index 1*/ - 0xff, 0xff, 0xff, 0xff, /*Color of index 2*/ - 0x00, 0x00, 0x00, 0x00, /*Color of index 3*/ -#else - 0x00, 0x00, 0x00, 0x00, /*Color of index 0*/ - 0xff, 0xff, 0xff, 0xff, /*Color of index 1*/ - 0x00, 0x00, 0x00, 0xff, /*Color of index 2*/ - 0x00, 0x00, 0x00, 0x00, /*Color of index 3*/ -#endif - - 0x00, 0x14, 0x00, 0x00, 0x64, 0x00, 0x00, 0x64, 0x00, 0x01, 0xa4, 0x00, 0x01, 0xa4, - 0x00, 0x06, 0xa4, 0x00, 0x06, 0xa4, 0x00, 0x1a, 0xa5, 0x54, 0x1a, 0xaa, 0xa4, 0x6a, - 0xaa, 0x90, 0x55, 0x6a, 0x90, 0x00, 0x6a, 0x40, 0x00, 0x6a, 0x40, 0x00, 0x69, 0x00, - 0x00, 0x69, 0x00, 0x00, 0x64, 0x00, 0x00, 0x64, 0x00, 0x00, 0x50, 0x00, -}; - -const lv_img_dsc_t bolt = { - .header.cf = LV_IMG_CF_INDEXED_2BIT, - .header.always_zero = 0, - .header.reserved = 0, - .header.w = 11, - .header.h = 18, - .data_size = 70, - .data = bolt_map, -}; diff --git a/config/boards/shields/nice_view/widgets/peripheral_status.c b/config/boards/shields/nice_view/widgets/peripheral_status.c deleted file mode 100644 index 68195b8e7..000000000 --- a/config/boards/shields/nice_view/widgets/peripheral_status.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * - * Copyright (c) 2023 The ZMK Contributors - * SPDX-License-Identifier: MIT - * - */ - -#include -#include - -#include -LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "peripheral_status.h" - -LV_IMG_DECLARE(balloon); -LV_IMG_DECLARE(mountain); -LV_IMG_DECLARE(wukong); -LV_IMG_DECLARE(longzhu); - -static sys_slist_t widgets = SYS_SLIST_STATIC_INIT(&widgets); - -struct peripheral_status_state { - bool connected; -}; - -static void draw_top(lv_obj_t *widget, lv_color_t cbuf[], const struct status_state *state) { - lv_obj_t *canvas = lv_obj_get_child(widget, 0); - - lv_draw_label_dsc_t label_dsc; - init_label_dsc(&label_dsc, LVGL_FOREGROUND, &lv_font_montserrat_16, LV_TEXT_ALIGN_RIGHT); - lv_draw_rect_dsc_t rect_black_dsc; - init_rect_dsc(&rect_black_dsc, LVGL_BACKGROUND); - - // Fill background - lv_canvas_draw_rect(canvas, 0, 0, CANVAS_SIZE, CANVAS_SIZE, &rect_black_dsc); - - // Draw battery - draw_battery(canvas, state); - - // Draw output status - lv_canvas_draw_text(canvas, 0, 0, CANVAS_SIZE, &label_dsc, - state->connected ? LV_SYMBOL_WIFI : LV_SYMBOL_CLOSE); - - // Rotate canvas - rotate_canvas(canvas, cbuf); -} - -static void set_battery_status(struct zmk_widget_status *widget, - struct battery_status_state state) { -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - widget->state.charging = state.usb_present; -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ - - widget->state.battery = state.level; - - draw_top(widget->obj, widget->cbuf, &widget->state); -} - -static void battery_status_update_cb(struct battery_status_state state) { - struct zmk_widget_status *widget; - SYS_SLIST_FOR_EACH_CONTAINER(&widgets, widget, node) { set_battery_status(widget, state); } -} - -static struct battery_status_state battery_status_get_state(const zmk_event_t *eh) { - return (struct battery_status_state) { - .level = zmk_battery_state_of_charge(), -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - .usb_present = zmk_usb_is_powered(), -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ - }; -} - -ZMK_DISPLAY_WIDGET_LISTENER(widget_battery_status, struct battery_status_state, - battery_status_update_cb, battery_status_get_state) - -ZMK_SUBSCRIPTION(widget_battery_status, zmk_battery_state_changed); -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) -ZMK_SUBSCRIPTION(widget_battery_status, zmk_usb_conn_state_changed); -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ - -static struct peripheral_status_state get_state(const zmk_event_t *_eh) { - return (struct peripheral_status_state){.connected = zmk_split_bt_peripheral_is_connected()}; -} - -static void set_connection_status(struct zmk_widget_status *widget, - struct peripheral_status_state state) { - widget->state.connected = state.connected; - - draw_top(widget->obj, widget->cbuf, &widget->state); -} - -static void output_status_update_cb(struct peripheral_status_state state) { - struct zmk_widget_status *widget; - SYS_SLIST_FOR_EACH_CONTAINER(&widgets, widget, node) { set_connection_status(widget, state); } -} - -ZMK_DISPLAY_WIDGET_LISTENER(widget_peripheral_status, struct peripheral_status_state, - output_status_update_cb, get_state) -ZMK_SUBSCRIPTION(widget_peripheral_status, zmk_split_peripheral_status_changed); - -int zmk_widget_status_init(struct zmk_widget_status *widget, lv_obj_t *parent) { - widget->obj = lv_obj_create(parent); - lv_obj_set_size(widget->obj, 160, 68); - lv_obj_t *top = lv_canvas_create(widget->obj); - lv_obj_align(top, LV_ALIGN_TOP_RIGHT, 0, 0); - lv_canvas_set_buffer(top, widget->cbuf, CANVAS_SIZE, CANVAS_SIZE, LV_IMG_CF_TRUE_COLOR); - - lv_obj_t *art = lv_img_create(widget->obj); - bool random = sys_rand32_get() & 1; - lv_img_set_src(art, random ? &balloon: &mountain); - lv_obj_align(art, LV_ALIGN_TOP_LEFT, 0, 0); - - sys_slist_append(&widgets, &widget->node); - widget_battery_status_init(); - widget_peripheral_status_init(); - - return 0; -} - -lv_obj_t *zmk_widget_status_obj(struct zmk_widget_status *widget) { return widget->obj; } diff --git a/config/boards/shields/nice_view/widgets/peripheral_status.h b/config/boards/shields/nice_view/widgets/peripheral_status.h deleted file mode 100644 index 815963572..000000000 --- a/config/boards/shields/nice_view/widgets/peripheral_status.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * - * Copyright (c) 2023 The ZMK Contributors - * SPDX-License-Identifier: MIT - * - */ - -#pragma once - -#include -#include -#include "util.h" - -struct zmk_widget_status { - sys_snode_t node; - lv_obj_t *obj; - lv_color_t cbuf[CANVAS_SIZE * CANVAS_SIZE]; - struct status_state state; -}; - -int zmk_widget_status_init(struct zmk_widget_status *widget, lv_obj_t *parent); -lv_obj_t *zmk_widget_status_obj(struct zmk_widget_status *widget); diff --git a/config/boards/shields/nice_view/widgets/status.c b/config/boards/shields/nice_view/widgets/status.c deleted file mode 100644 index 061b7127c..000000000 --- a/config/boards/shields/nice_view/widgets/status.c +++ /dev/null @@ -1,333 +0,0 @@ -/* - * - * Copyright (c) 2023 The ZMK Contributors - * SPDX-License-Identifier: MIT - * - */ - -#include - -#include -LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); - -#include -#include -#include "status.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static sys_slist_t widgets = SYS_SLIST_STATIC_INIT(&widgets); - -struct output_status_state { - struct zmk_endpoint_instance selected_endpoint; - int active_profile_index; - bool active_profile_connected; - bool active_profile_bonded; -}; - -struct layer_status_state { - uint8_t index; - const char *label; -}; - -struct wpm_status_state { - uint8_t wpm; -}; - -static void draw_top(lv_obj_t *widget, lv_color_t cbuf[], const struct status_state *state) { - lv_obj_t *canvas = lv_obj_get_child(widget, 0); - - lv_draw_label_dsc_t label_dsc; - init_label_dsc(&label_dsc, LVGL_FOREGROUND, &lv_font_montserrat_16, LV_TEXT_ALIGN_RIGHT); - lv_draw_label_dsc_t label_dsc_wpm; - init_label_dsc(&label_dsc_wpm, LVGL_FOREGROUND, &lv_font_unscii_8, LV_TEXT_ALIGN_RIGHT); - lv_draw_rect_dsc_t rect_black_dsc; - init_rect_dsc(&rect_black_dsc, LVGL_BACKGROUND); - lv_draw_rect_dsc_t rect_white_dsc; - init_rect_dsc(&rect_white_dsc, LVGL_FOREGROUND); - lv_draw_line_dsc_t line_dsc; - init_line_dsc(&line_dsc, LVGL_FOREGROUND, 1); - - // Fill background - lv_canvas_draw_rect(canvas, 0, 0, CANVAS_SIZE, CANVAS_SIZE, &rect_black_dsc); - - // Draw battery - draw_battery(canvas, state); - - // Draw output status - char output_text[10] = {}; - - switch (state->selected_endpoint.transport) { - case ZMK_TRANSPORT_USB: - strcat(output_text, LV_SYMBOL_USB); - break; - case ZMK_TRANSPORT_BLE: - if (state->active_profile_bonded) { - if (state->active_profile_connected) { - strcat(output_text, LV_SYMBOL_WIFI); - } else { - strcat(output_text, LV_SYMBOL_CLOSE); - } - } else { - strcat(output_text, LV_SYMBOL_SETTINGS); - } - break; - } - - lv_canvas_draw_text(canvas, 0, 0, CANVAS_SIZE, &label_dsc, output_text); - - // Draw WPM - lv_canvas_draw_rect(canvas, 0, 21, 68, 42, &rect_white_dsc); - lv_canvas_draw_rect(canvas, 1, 22, 66, 40, &rect_black_dsc); - - char wpm_text[6] = {}; - snprintf(wpm_text, sizeof(wpm_text), "%d", state->wpm[9]); - lv_canvas_draw_text(canvas, 42, 52, 24, &label_dsc_wpm, wpm_text); - - int max = 0; - int min = 256; - - for (int i = 0; i < 10; i++) { - if (state->wpm[i] > max) { - max = state->wpm[i]; - } - if (state->wpm[i] < min) { - min = state->wpm[i]; - } - } - - int range = max - min; - if (range == 0) { - range = 1; - } - - lv_point_t points[10]; - for (int i = 0; i < 10; i++) { - points[i].x = 2 + i * 7; - points[i].y = 60 - (state->wpm[i] - min) * 36 / range; - } - lv_canvas_draw_line(canvas, points, 10, &line_dsc); - - // Rotate canvas - rotate_canvas(canvas, cbuf); -} - -static void draw_middle(lv_obj_t *widget, lv_color_t cbuf[], const struct status_state *state) { - lv_obj_t *canvas = lv_obj_get_child(widget, 1); - - lv_draw_rect_dsc_t rect_black_dsc; - init_rect_dsc(&rect_black_dsc, LVGL_BACKGROUND); - lv_draw_rect_dsc_t rect_white_dsc; - init_rect_dsc(&rect_white_dsc, LVGL_FOREGROUND); - lv_draw_arc_dsc_t arc_dsc; - init_arc_dsc(&arc_dsc, LVGL_FOREGROUND, 2); - lv_draw_arc_dsc_t arc_dsc_filled; - init_arc_dsc(&arc_dsc_filled, LVGL_FOREGROUND, 9); - lv_draw_label_dsc_t label_dsc; - init_label_dsc(&label_dsc, LVGL_FOREGROUND, &lv_font_montserrat_18, LV_TEXT_ALIGN_CENTER); - lv_draw_label_dsc_t label_dsc_black; - init_label_dsc(&label_dsc_black, LVGL_BACKGROUND, &lv_font_montserrat_18, LV_TEXT_ALIGN_CENTER); - - // Fill background - lv_canvas_draw_rect(canvas, 0, 0, CANVAS_SIZE, CANVAS_SIZE, &rect_black_dsc); - - // Draw circles - int circle_offsets[5][2] = { - {13, 13}, {55, 13}, {34, 34}, {13, 55}, {55, 55}, - }; - - for (int i = 0; i < 5; i++) { - bool selected = i == state->active_profile_index; - - lv_canvas_draw_arc(canvas, circle_offsets[i][0], circle_offsets[i][1], 13, 0, 360, - &arc_dsc); - - if (selected) { - lv_canvas_draw_arc(canvas, circle_offsets[i][0], circle_offsets[i][1], 9, 0, 359, - &arc_dsc_filled); - } - - char label[2]; - snprintf(label, sizeof(label), "%d", i + 1); - lv_canvas_draw_text(canvas, circle_offsets[i][0] - 8, circle_offsets[i][1] - 10, 16, - (selected ? &label_dsc_black : &label_dsc), label); - } - - // Rotate canvas - rotate_canvas(canvas, cbuf); -} - -static void draw_bottom(lv_obj_t *widget, lv_color_t cbuf[], const struct status_state *state) { - lv_obj_t *canvas = lv_obj_get_child(widget, 2); - - lv_draw_rect_dsc_t rect_black_dsc; - init_rect_dsc(&rect_black_dsc, LVGL_BACKGROUND); - lv_draw_label_dsc_t label_dsc; - init_label_dsc(&label_dsc, LVGL_FOREGROUND, &lv_font_montserrat_14, LV_TEXT_ALIGN_CENTER); - - // Fill background - lv_canvas_draw_rect(canvas, 0, 0, CANVAS_SIZE, CANVAS_SIZE, &rect_black_dsc); - - // Draw layer - if (state->layer_label == NULL) { - char text[10] = {}; - - sprintf(text, "LAYER %i", state->layer_index); - - lv_canvas_draw_text(canvas, 0, 5, 68, &label_dsc, text); - } else { - lv_canvas_draw_text(canvas, 0, 5, 68, &label_dsc, state->layer_label); - } - - // Rotate canvas - rotate_canvas(canvas, cbuf); -} - -static void set_battery_status(struct zmk_widget_status *widget, - struct battery_status_state state) { -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - widget->state.charging = state.usb_present; -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ - - widget->state.battery = state.level; - - draw_top(widget->obj, widget->cbuf, &widget->state); -} - -static void battery_status_update_cb(struct battery_status_state state) { - struct zmk_widget_status *widget; - SYS_SLIST_FOR_EACH_CONTAINER(&widgets, widget, node) { set_battery_status(widget, state); } -} - -static struct battery_status_state battery_status_get_state(const zmk_event_t *eh) { - const struct zmk_battery_state_changed *ev = as_zmk_battery_state_changed(eh); - - return (struct battery_status_state) { - .level = (ev != NULL) ? ev->state_of_charge : zmk_battery_state_of_charge(), -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - .usb_present = zmk_usb_is_powered(), -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ - }; -} - -ZMK_DISPLAY_WIDGET_LISTENER(widget_battery_status, struct battery_status_state, - battery_status_update_cb, battery_status_get_state) - -ZMK_SUBSCRIPTION(widget_battery_status, zmk_battery_state_changed); -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) -ZMK_SUBSCRIPTION(widget_battery_status, zmk_usb_conn_state_changed); -#endif /* IS_ENABLED(CONFIG_USB_DEVICE_STACK) */ - -static void set_output_status(struct zmk_widget_status *widget, - const struct output_status_state *state) { - widget->state.selected_endpoint = state->selected_endpoint; - widget->state.active_profile_index = state->active_profile_index; - widget->state.active_profile_connected = state->active_profile_connected; - widget->state.active_profile_bonded = state->active_profile_bonded; - - draw_top(widget->obj, widget->cbuf, &widget->state); - draw_middle(widget->obj, widget->cbuf2, &widget->state); -} - -static void output_status_update_cb(struct output_status_state state) { - struct zmk_widget_status *widget; - SYS_SLIST_FOR_EACH_CONTAINER(&widgets, widget, node) { set_output_status(widget, &state); } -} - -static struct output_status_state output_status_get_state(const zmk_event_t *_eh) { - return (struct output_status_state){ - .selected_endpoint = zmk_endpoints_selected(), - .active_profile_index = zmk_ble_active_profile_index(), - .active_profile_connected = zmk_ble_active_profile_is_connected(), - .active_profile_bonded = !zmk_ble_active_profile_is_open(), - }; -} - -ZMK_DISPLAY_WIDGET_LISTENER(widget_output_status, struct output_status_state, - output_status_update_cb, output_status_get_state) -ZMK_SUBSCRIPTION(widget_output_status, zmk_endpoint_changed); - -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) -ZMK_SUBSCRIPTION(widget_output_status, zmk_usb_conn_state_changed); -#endif -#if defined(CONFIG_ZMK_BLE) -ZMK_SUBSCRIPTION(widget_output_status, zmk_ble_active_profile_changed); -#endif - -static void set_layer_status(struct zmk_widget_status *widget, struct layer_status_state state) { - widget->state.layer_index = state.index; - widget->state.layer_label = state.label; - - draw_bottom(widget->obj, widget->cbuf3, &widget->state); -} - -static void layer_status_update_cb(struct layer_status_state state) { - struct zmk_widget_status *widget; - SYS_SLIST_FOR_EACH_CONTAINER(&widgets, widget, node) { set_layer_status(widget, state); } -} - -static struct layer_status_state layer_status_get_state(const zmk_event_t *eh) { - uint8_t index = zmk_keymap_highest_layer_active(); - return (struct layer_status_state){.index = index, .label = zmk_keymap_layer_name(index)}; -} - -ZMK_DISPLAY_WIDGET_LISTENER(widget_layer_status, struct layer_status_state, layer_status_update_cb, - layer_status_get_state) - -ZMK_SUBSCRIPTION(widget_layer_status, zmk_layer_state_changed); - -static void set_wpm_status(struct zmk_widget_status *widget, struct wpm_status_state state) { - for (int i = 0; i < 9; i++) { - widget->state.wpm[i] = widget->state.wpm[i + 1]; - } - widget->state.wpm[9] = state.wpm; - - draw_top(widget->obj, widget->cbuf, &widget->state); -} - -static void wpm_status_update_cb(struct wpm_status_state state) { - struct zmk_widget_status *widget; - SYS_SLIST_FOR_EACH_CONTAINER(&widgets, widget, node) { set_wpm_status(widget, state); } -} - -struct wpm_status_state wpm_status_get_state(const zmk_event_t *eh) { - return (struct wpm_status_state){.wpm = zmk_wpm_get_state()}; -}; - -ZMK_DISPLAY_WIDGET_LISTENER(widget_wpm_status, struct wpm_status_state, wpm_status_update_cb, - wpm_status_get_state) -ZMK_SUBSCRIPTION(widget_wpm_status, zmk_wpm_state_changed); - -int zmk_widget_status_init(struct zmk_widget_status *widget, lv_obj_t *parent) { - widget->obj = lv_obj_create(parent); - lv_obj_set_size(widget->obj, 160, 68); - lv_obj_t *top = lv_canvas_create(widget->obj); - lv_obj_align(top, LV_ALIGN_TOP_RIGHT, 0, 0); - lv_canvas_set_buffer(top, widget->cbuf, CANVAS_SIZE, CANVAS_SIZE, LV_IMG_CF_TRUE_COLOR); - lv_obj_t *middle = lv_canvas_create(widget->obj); - lv_obj_align(middle, LV_ALIGN_TOP_LEFT, 24, 0); - lv_canvas_set_buffer(middle, widget->cbuf2, CANVAS_SIZE, CANVAS_SIZE, LV_IMG_CF_TRUE_COLOR); - lv_obj_t *bottom = lv_canvas_create(widget->obj); - lv_obj_align(bottom, LV_ALIGN_TOP_LEFT, -44, 0); - lv_canvas_set_buffer(bottom, widget->cbuf3, CANVAS_SIZE, CANVAS_SIZE, LV_IMG_CF_TRUE_COLOR); - - sys_slist_append(&widgets, &widget->node); - widget_battery_status_init(); - widget_output_status_init(); - widget_layer_status_init(); - widget_wpm_status_init(); - - return 0; -} - -lv_obj_t *zmk_widget_status_obj(struct zmk_widget_status *widget) { return widget->obj; } diff --git a/config/boards/shields/nice_view/widgets/status.h b/config/boards/shields/nice_view/widgets/status.h deleted file mode 100644 index 53a22518d..000000000 --- a/config/boards/shields/nice_view/widgets/status.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * - * Copyright (c) 2023 The ZMK Contributors - * SPDX-License-Identifier: MIT - * - */ - -#pragma once - -#include -#include -#include "util.h" - -struct zmk_widget_status { - sys_snode_t node; - lv_obj_t *obj; - lv_color_t cbuf[CANVAS_SIZE * CANVAS_SIZE]; - lv_color_t cbuf2[CANVAS_SIZE * CANVAS_SIZE]; - lv_color_t cbuf3[CANVAS_SIZE * CANVAS_SIZE]; - struct status_state state; -}; - -int zmk_widget_status_init(struct zmk_widget_status *widget, lv_obj_t *parent); -lv_obj_t *zmk_widget_status_obj(struct zmk_widget_status *widget); diff --git a/config/boards/shields/nice_view/widgets/util.c b/config/boards/shields/nice_view/widgets/util.c deleted file mode 100644 index b4915ab76..000000000 --- a/config/boards/shields/nice_view/widgets/util.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * - * Copyright (c) 2023 The ZMK Contributors - * SPDX-License-Identifier: MIT - * - */ - -#include -#include "util.h" - -LV_IMG_DECLARE(bolt); - -void rotate_canvas(lv_obj_t *canvas, lv_color_t cbuf[]) { - static lv_color_t cbuf_tmp[CANVAS_SIZE * CANVAS_SIZE]; - memcpy(cbuf_tmp, cbuf, sizeof(cbuf_tmp)); - lv_img_dsc_t img; - img.data = (void *)cbuf_tmp; - img.header.cf = LV_IMG_CF_TRUE_COLOR; - img.header.w = CANVAS_SIZE; - img.header.h = CANVAS_SIZE; - - lv_canvas_fill_bg(canvas, LVGL_BACKGROUND, LV_OPA_COVER); - lv_canvas_transform(canvas, &img, 900, LV_IMG_ZOOM_NONE, -1, 0, CANVAS_SIZE / 2, - CANVAS_SIZE / 2, true); -} - -void draw_battery(lv_obj_t *canvas, const struct status_state *state) { - lv_draw_rect_dsc_t rect_black_dsc; - init_rect_dsc(&rect_black_dsc, LVGL_BACKGROUND); - lv_draw_rect_dsc_t rect_white_dsc; - init_rect_dsc(&rect_white_dsc, LVGL_FOREGROUND); - - lv_canvas_draw_rect(canvas, 0, 2, 29, 12, &rect_white_dsc); - lv_canvas_draw_rect(canvas, 1, 3, 27, 10, &rect_black_dsc); - lv_canvas_draw_rect(canvas, 2, 4, (state->battery + 2) / 4, 8, &rect_white_dsc); - lv_canvas_draw_rect(canvas, 30, 5, 3, 6, &rect_white_dsc); - lv_canvas_draw_rect(canvas, 31, 6, 1, 4, &rect_black_dsc); - - if (state->charging) { - lv_draw_img_dsc_t img_dsc; - lv_draw_img_dsc_init(&img_dsc); - lv_canvas_draw_img(canvas, 9, -1, &bolt, &img_dsc); - } -} - -void init_label_dsc(lv_draw_label_dsc_t *label_dsc, lv_color_t color, const lv_font_t *font, - lv_text_align_t align) { - lv_draw_label_dsc_init(label_dsc); - label_dsc->color = color; - label_dsc->font = font; - label_dsc->align = align; -} - -void init_rect_dsc(lv_draw_rect_dsc_t *rect_dsc, lv_color_t bg_color) { - lv_draw_rect_dsc_init(rect_dsc); - rect_dsc->bg_color = bg_color; -} - -void init_line_dsc(lv_draw_line_dsc_t *line_dsc, lv_color_t color, uint8_t width) { - lv_draw_line_dsc_init(line_dsc); - line_dsc->color = color; - line_dsc->width = width; -} - -void init_arc_dsc(lv_draw_arc_dsc_t *arc_dsc, lv_color_t color, uint8_t width) { - lv_draw_arc_dsc_init(arc_dsc); - arc_dsc->color = color; - arc_dsc->width = width; -} diff --git a/config/boards/shields/nice_view/widgets/util.h b/config/boards/shields/nice_view/widgets/util.h deleted file mode 100644 index fbcb616fa..000000000 --- a/config/boards/shields/nice_view/widgets/util.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * - * Copyright (c) 2023 The ZMK Contributors - * SPDX-License-Identifier: MIT - * - */ - -#include -#include - -#define CANVAS_SIZE 68 - -#define LVGL_BACKGROUND \ - IS_ENABLED(CONFIG_NICE_VIEW_WIDGET_INVERTED) ? lv_color_black() : lv_color_white() -#define LVGL_FOREGROUND \ - IS_ENABLED(CONFIG_NICE_VIEW_WIDGET_INVERTED) ? lv_color_white() : lv_color_black() - -struct status_state { - uint8_t battery; - bool charging; -#if !IS_ENABLED(CONFIG_ZMK_SPLIT) || IS_ENABLED(CONFIG_ZMK_SPLIT_ROLE_CENTRAL) - struct zmk_endpoint_instance selected_endpoint; - int active_profile_index; - bool active_profile_connected; - bool active_profile_bonded; - uint8_t layer_index; - const char *layer_label; - uint8_t wpm[10]; -#else - bool connected; -#endif -}; - -struct battery_status_state { - uint8_t level; -#if IS_ENABLED(CONFIG_USB_DEVICE_STACK) - bool usb_present; -#endif -}; - -void rotate_canvas(lv_obj_t *canvas, lv_color_t cbuf[]); -void draw_battery(lv_obj_t *canvas, const struct status_state *state); -void init_label_dsc(lv_draw_label_dsc_t *label_dsc, lv_color_t color, const lv_font_t *font, - lv_text_align_t align); -void init_rect_dsc(lv_draw_rect_dsc_t *rect_dsc, lv_color_t bg_color); -void init_line_dsc(lv_draw_line_dsc_t *line_dsc, lv_color_t color, uint8_t width); -void init_arc_dsc(lv_draw_arc_dsc_t *arc_dsc, lv_color_t color, uint8_t width); diff --git a/config/boards/shields/nice_view_adapter/Kconfig.defconfig b/config/boards/shields/nice_view_adapter/Kconfig.defconfig deleted file mode 100644 index e69de29bb..000000000 diff --git a/config/boards/shields/nice_view_adapter/Kconfig.shield b/config/boards/shields/nice_view_adapter/Kconfig.shield deleted file mode 100644 index e465bd02b..000000000 --- a/config/boards/shields/nice_view_adapter/Kconfig.shield +++ /dev/null @@ -1,2 +0,0 @@ -config SHIELD_NICE_VIEW_ADAPTER - def_bool $(shields_list_contains,nice_view_adapter) \ No newline at end of file diff --git a/config/boards/shields/nice_view_adapter/boards/corne_left.overlay b/config/boards/shields/nice_view_adapter/boards/corne_left.overlay deleted file mode 100644 index 982bc3215..000000000 --- a/config/boards/shields/nice_view_adapter/boards/corne_left.overlay +++ /dev/null @@ -1,29 +0,0 @@ -&pinctrl { - spi0_default: spi0_default { - group1 { - psels = , - , - ; - }; - }; - spi0_sleep: spi0_sleep { - group1 { - psels = , - , - ; - low-power-enable; - }; - }; -}; - -nice_view_spi: &spi0 { - compatible = "nordic,nrf-spim"; - pinctrl-0 = <&spi0_default>; - pinctrl-1 = <&spi0_sleep>; - pinctrl-names = "default", "sleep"; - cs-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; -}; - -&i2c0 { - status = "disabled"; -}; \ No newline at end of file diff --git a/config/boards/shields/nice_view_adapter/boards/corne_right.overlay b/config/boards/shields/nice_view_adapter/boards/corne_right.overlay deleted file mode 100644 index 982bc3215..000000000 --- a/config/boards/shields/nice_view_adapter/boards/corne_right.overlay +++ /dev/null @@ -1,29 +0,0 @@ -&pinctrl { - spi0_default: spi0_default { - group1 { - psels = , - , - ; - }; - }; - spi0_sleep: spi0_sleep { - group1 { - psels = , - , - ; - low-power-enable; - }; - }; -}; - -nice_view_spi: &spi0 { - compatible = "nordic,nrf-spim"; - pinctrl-0 = <&spi0_default>; - pinctrl-1 = <&spi0_sleep>; - pinctrl-names = "default", "sleep"; - cs-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; -}; - -&i2c0 { - status = "disabled"; -}; \ No newline at end of file diff --git a/config/boards/shields/nice_view_adapter/nice_view_adapter.conf b/config/boards/shields/nice_view_adapter/nice_view_adapter.conf deleted file mode 100644 index 07872d2e0..000000000 --- a/config/boards/shields/nice_view_adapter/nice_view_adapter.conf +++ /dev/null @@ -1,6 +0,0 @@ -CONFIG_SSD1306=n -# Enable Nice View -#CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y -#CONFIG_ZMK_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26=y -#CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26=y -CONFIG_ZMK_DISPLAY_STATUS_SCREEN_CUSTOM=y \ No newline at end of file diff --git a/config/boards/shields/nice_view_adapter/nice_view_adapter.overlay b/config/boards/shields/nice_view_adapter/nice_view_adapter.overlay deleted file mode 100644 index e69de29bb..000000000 diff --git a/config/boards/shields/nice_view_adapter/nice_view_adapter.zmk.yml b/config/boards/shields/nice_view_adapter/nice_view_adapter.zmk.yml deleted file mode 100644 index 3d44235d6..000000000 --- a/config/boards/shields/nice_view_adapter/nice_view_adapter.zmk.yml +++ /dev/null @@ -1,7 +0,0 @@ -file_format: "1" -id: nice_view_adapter -name: nice!view adapter -type: shield -url: https://nicekeyboards.com/nice-view -requires: [i2c_oled] -exposes: [nice_view_header] \ No newline at end of file diff --git a/config/corne.conf b/config/eyelash_corne.conf similarity index 100% rename from config/corne.conf rename to config/eyelash_corne.conf diff --git a/config/corne.json b/config/eyelash_corne.json similarity index 100% rename from config/corne.json rename to config/eyelash_corne.json diff --git a/config/corne.keymap b/config/eyelash_corne.keymap similarity index 100% rename from config/corne.keymap rename to config/eyelash_corne.keymap diff --git a/config/west.yml b/config/west.yml index e2904e643..5815ef153 100644 --- a/config/west.yml +++ b/config/west.yml @@ -7,8 +7,11 @@ manifest: projects: - name: zmk remote: zmkfirmware - revision: feat/pointers-move-scroll + revision: feat/pointers-with-input-processors import: app/west.yml + - name: eyelash_corne + url: https://github.com/a741725193/zmk-new_corne + revision: main - name: mario-peripheral-animation remote: gpeye revision: main