Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a new keyboard "Unicorne" #12993

Merged
merged 36 commits into from
Nov 5, 2021
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
2d9bb42
Add keyboards/yanghu/unicorne initial files.
yanghu May 9, 2021
52da82f
add default keymap to yanghu/unicorne
yanghu May 9, 2021
d781aeb
use slow i2c and enable internal pullup resistor
yanghu May 10, 2021
c902aa4
add oled to default keymaps
yanghu May 14, 2021
80df38d
Merge remote-tracking branch 'upstream/master' into unicorne
yanghu May 14, 2021
7cdf2d5
fix unicorne default keymap
yanghu May 14, 2021
bcb1bcb
fix encoder pad direction
yanghu May 21, 2021
51aedda
fix marauder
yanghu May 22, 2021
7fe7694
Merge remote-tracking branch 'upstream/master' into unicorne
yanghu May 22, 2021
7a0d203
add led matrix configs.
yanghu May 22, 2021
9936fd6
add encoder code to default keymap.
yanghu May 22, 2021
4bb3195
fix encoder direction
yanghu May 22, 2021
568706f
add readme, info.json and update copyright for c files.
yanghu May 23, 2021
141eef5
fix build error by clean up include in unicorne.c
yanghu May 24, 2021
14e2138
fix images in readme files
yanghu May 24, 2021
c4ea096
Fix various issues in PR #12993 feedback.
yanghu Jun 17, 2021
48ba881
Update keyboards/yanghu/unicorne/keymaps/default/rules.mk
yanghu Jun 22, 2021
fb741ff
Update keyboards/yanghu/unicorne/keymaps/default/oled.c
yanghu Jun 22, 2021
5b871fd
Update keyboards/yanghu/unicorne/keymaps/default/oled.c
yanghu Jun 22, 2021
a8f1b4a
move oled code to unicorne.c, and set weakly.
yanghu Jun 22, 2021
b4c1100
Update keyboards/yanghu/unicorne/config.h
yanghu Aug 20, 2021
68de2b2
Update keyboards/yanghu/unicorne/keymaps/default/keymap.c
yanghu Aug 20, 2021
33a0ffc
Update keyboards/yanghu/unicorne/keymaps/default/keymap.c
yanghu Aug 20, 2021
ec2bc60
Update keyboards/yanghu/unicorne/keymaps/default/keymap.c
yanghu Aug 20, 2021
0ab64aa
Update keyboards/yanghu/unicorne/unicorne.c
yanghu Aug 20, 2021
3a3b2a8
Update keyboards/yanghu/unicorne/readme.md
yanghu Aug 20, 2021
ea6944c
Update keyboards/yanghu/unicorne/readme.md
yanghu Aug 20, 2021
613af58
Update keyboards/yanghu/unicorne/readme.md
yanghu Aug 20, 2021
94d6d57
Update keyboards/yanghu/unicorne/readme.md
yanghu Aug 20, 2021
2fd61ec
Update keyboards/yanghu/unicorne/keymaps/default/oled.c
yanghu Aug 20, 2021
ecb23cd
Update keyboards/yanghu/unicorne/f411/rules.mk
yanghu Aug 20, 2021
6782cfb
Update keyboards/yanghu/unicorne/rules.mk
yanghu Aug 20, 2021
9892a23
remove oled.h
yanghu Aug 20, 2021
4fb8dd5
remove include of oled.h after the file is deleted.
yanghu Aug 22, 2021
350cba7
Apply suggestions from code review: remove redundant macros and refor…
yanghu Oct 11, 2021
e029c95
Apply suggestions from code review: change OLED driver macro.
yanghu Oct 11, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions keyboards/yanghu/unicorne/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
/* Copyright 2021 Yang Hu
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0204
#define DEVICE_VER 0x0001
#define MANUFACTURER yanghu
#define PRODUCT unicorne

/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12

#define MATRIX_COL_PINS \
{ A14, A15, B13, B14, B15, A13, A0, A1, A2, A3, A6, A7 }
#define MATRIX_ROW_PINS \
{ B9, B8, A10, A9 }

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define ENCODERS_PAD_A \
{ B10, B2 }
#define ENCODERS_PAD_B \
{ B12, B0 }

/* Audio */
#define AUDIO_PIN A8
#define AUDIO_PWM_PAL_MODE 1
#define AUDIO_PWM_DRIVER PWMD1
#define AUDIO_PWM_CHANNEL 1
#define AUDIO_STATE_TIMER GPTD4

/* RGB LED */
#define RGB_DI_PIN B1
#define RGBLED_NUM 8
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
yanghu marked this conversation as resolved.
Show resolved Hide resolved

#define WS2812_PWM_DRIVER PWMD3
#define WS2812_PWM_CHANNEL 4
#define WS2812_PWM_PAL_MODE 2
#define WS2812_DMA_STREAM STM32_DMA1_STREAM2
#define WS2812_DMA_CHANNEL 5
#define WS2812_EXTERNAL_PULLUP

/* OLED display */
#define I2C_DRIVER I2CD1
#define I2C1_SCL_BANK GPIOB
#define I2C1_SCL 6
#define I2C1_SCL_PAL_MODE 4
#define I2C1_SDA_BANK GPIOB
#define I2C1_SDA 7
#define I2C1_SDA_PAL_MODE 4
yanghu marked this conversation as resolved.
Show resolved Hide resolved

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
27 changes: 27 additions & 0 deletions keyboards/yanghu/unicorne/f411/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/* Copyright 2020 QMK
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

/* PWM for AUDIO and RGB LED */
#define HAL_USE_PWM TRUE
/* GPT and PAL for Audio */
#define HAL_USE_GPT TRUE
#define HAL_USE_PAL TRUE
/* I2C for OLED display */
#define HAL_USE_I2C TRUE

#include_next <halconf.h>
34 changes: 34 additions & 0 deletions keyboards/yanghu/unicorne/f411/mcuconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/* Copyright 2020 QMK
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include_next <mcuconf.h>

/* TIM1 PWM used for audio driver */
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
/* TIM5 GPT used for audio driver */
#undef STM32_GPT_USE_TIM4
#define STM32_GPT_USE_TIM4 TRUE

/* TIM3 used for WS2812 driver */
#undef STM32_PWM_USE_TIM3
#define STM32_PWM_USE_TIM3 TRUE

/* I2C used for OLED display */
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
7 changes: 7 additions & 0 deletions keyboards/yanghu/unicorne/f411/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# MCU name
MCU = STM32F411

# Address of the bootloader in system memory
# * It is chip dependent, the correct number can be looked up here: (page 359)
# * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
yanghu marked this conversation as resolved.
Show resolved Hide resolved
247 changes: 247 additions & 0 deletions keyboards/yanghu/unicorne/glcdfont.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,247 @@
/* Copyright 2021 Yang Hu
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
drashna marked this conversation as resolved.
Show resolved Hide resolved

#include "progmem.h"

// clang-format off
const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
0x58, 0xA4, 0xA4, 0x9C, 0x78, 0x00,
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
0xFC, 0x18, 0x24, 0x24, 0x18, 0x00,
0x18, 0x24, 0x24, 0x18, 0xFC, 0x00,
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
0x4C, 0x10, 0x10, 0x10, 0x7C, 0x00,
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
0x00, 0x00, 0xF0, 0xF8, 0x9C, 0x0C,
0x0C, 0x1C, 0xF8, 0xE0, 0x00, 0x00,
0x00, 0xE0, 0xF8, 0x1C, 0x0C, 0x0C,
0x9C, 0xF8, 0x60, 0x00, 0x00, 0x00,
0x00, 0x0C, 0x0C, 0x0C, 0x3C, 0xF8,
0xC0, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0,
0xF0, 0xF8, 0xFC, 0xFC, 0xF8, 0xF0,
0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0xC0, 0xE0, 0x70, 0x38,
0x1C, 0x0C, 0x06, 0x86, 0x86, 0x86,
0x86, 0x86, 0xC6, 0xC6, 0x0C, 0x1C,
0x38, 0xF0, 0xE0, 0xC0, 0x00, 0x00,
0x00, 0x60, 0xF8, 0x0C, 0x24, 0xE6,
0xE6, 0x24, 0x06, 0x06, 0x24, 0xE6,
0xE6, 0x24, 0x06, 0x06, 0x24, 0xE6,
0xE6, 0x24, 0x0C, 0xF8, 0x60, 0x00,
0x00, 0xE0, 0xF0, 0x18, 0x0C, 0x04,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x86, 0x86, 0xC6, 0x46, 0xE6, 0x66,
0x04, 0x0C, 0x18, 0xF0, 0xE0, 0x00,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFE, 0x8A, 0x92, 0xA2, 0xC2,
0xFE, 0xC2, 0xA2, 0x92, 0x0A, 0x02,
0x82, 0xE2, 0x7A, 0x5A, 0x42, 0x42,
0x42, 0xC2, 0xC2, 0x42, 0xFE, 0x00,
0xFE, 0x02, 0x02, 0x02, 0x02, 0x02,
0x02, 0x02, 0x82, 0xE2, 0xFA, 0x7A,
0xFA, 0xE2, 0x82, 0x02, 0x02, 0x02,
0x02, 0x02, 0x02, 0x02, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x81, 0x81, 0xC3,
0xC3, 0xC3, 0xFF, 0xFF, 0xC3, 0xC3,
0xC3, 0xFF, 0xFF, 0xC3, 0xC3, 0xC3,
0x81, 0x81, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0x0F, 0x3C, 0xF0, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x06, 0x07, 0x07, 0x07, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x07, 0x07, 0x07, 0x06, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x7F, 0xFF, 0xC1, 0xC1,
0xC1, 0xC1, 0xFF, 0x7F, 0xE0, 0x80,
0x80, 0xC0, 0xFF, 0x7F, 0x00, 0x00,
0x00, 0xDB, 0xFF, 0x00, 0x00, 0x1F,
0x3F, 0x70, 0xE0, 0xC0, 0xC0, 0xFF,
0xFF, 0xC0, 0xC0, 0xE0, 0x70, 0x3F,
0x1F, 0x00, 0x00, 0xFF, 0xDB, 0x00,
0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0xC0, 0xF8, 0xFE, 0xFF, 0xF9, 0xF1,
0x61, 0x60, 0x3C, 0x07, 0x01, 0x00,
0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0xC0, 0xF0, 0x3C, 0x0E,
0x0E, 0x3C, 0xF0, 0xC0, 0x00, 0x00,
0x00, 0xFF, 0x48, 0x44, 0xC2, 0xE1,
0x7F, 0x51, 0xC2, 0xC4, 0x4C, 0x06,
0x03, 0x0F, 0x38, 0x60, 0xC0, 0xE0,
0x38, 0x0F, 0x00, 0x00, 0xFF, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x80, 0xE0,
0xF8, 0x7E, 0x67, 0x63, 0x60, 0x60,
0x60, 0x63, 0x67, 0x7E, 0xF8, 0xE0,
0x80, 0x00, 0x00, 0x00, 0xFF, 0x00,
0x00, 0x00, 0x0F, 0x1F, 0x39, 0x30,
0x30, 0x18, 0x1F, 0x07, 0x00, 0x00,
0x00, 0x07, 0x1F, 0x38, 0x30, 0x30,
0x39, 0x1F, 0x06, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x0F,
0x3C, 0x30, 0x30, 0x30, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0x07, 0x0E,
0x1C, 0x38, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x38, 0x18, 0x18, 0x01,
0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x06, 0x1F, 0x30, 0x20, 0x60,
0x60, 0x20, 0x64, 0x64, 0x26, 0x67,
0x67, 0x26, 0x64, 0x64, 0x20, 0x60,
0x60, 0x20, 0x30, 0x1F, 0x06, 0x00,
0x00, 0x07, 0x0F, 0x18, 0x30, 0x23,
0x63, 0x61, 0x61, 0x60, 0x60, 0x60,
0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
0x20, 0x30, 0x18, 0x0F, 0x07, 0x00,
0x0C, 0x0F, 0x03, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0x0F, 0x0C,
0x00, 0x7F, 0x60, 0x71, 0x53, 0x5E,
0x4C, 0x4E, 0x5B, 0x50, 0x60, 0x70,
0x58, 0x4C, 0x46, 0x43, 0x41, 0x43,
0x4E, 0x78, 0x70, 0x60, 0x7F, 0x00,
0x7F, 0x40, 0x4C, 0x4E, 0x4F, 0x43,
0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
0x40, 0x40, 0x40, 0x40, 0x40, 0x43,
0x4F, 0x4E, 0x4C, 0x40, 0x7F, 0x00,
};
// clang-format on
Loading