summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2021-11-10 06:10:00 -0800
committerGitHub <noreply@github.com>2021-11-10 06:10:00 -0800
commit83ab7d41efc8b400ad2870be7f46e5435b8fd550 (patch)
treeaacc75e2be7d11b2451bad751a1e34058e4a612c
parent8df90c63c1195ef3479a43af1de1f2a8821819d3 (diff)
Updates to drashna keymap and minor updates to tractyl manuform (#15101)
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/config.h2
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h6
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md19
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk3
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h11
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c10
-rw-r--r--keyboards/handwired/tractyl_manuform/config.h3
-rw-r--r--users/drashna/config.h20
-rw-r--r--users/drashna/drashna.c58
-rw-r--r--users/drashna/drashna_font.h548
-rw-r--r--users/drashna/wrappers.h75
11 files changed, 693 insertions, 62 deletions
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h
index cd42364b4f..ce35197f71 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h
@@ -41,8 +41,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DYNAMIC_KEYMAP_LAYER_COUNT 16
#define LAYER_STATE_16BIT
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
/* disable action features */
//#define NO_ACTION_LAYER
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
index 172ccf7bc2..4dbe03acbf 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
@@ -44,11 +44,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_DMA_STREAM STM32_DMA1_STREAM7 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
#define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-#define RGBLED_NUM 20
+#define RGBLED_NUM 52
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT \
- { 10, 10 }
-#define RGBLIGHT_LMIT_VAL 80
+ { 26, 26 }
+#define RGBLIGHT_LIMIT_VAL 150
#define DEBUG_LED_PIN C13
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md
index 5fb2c0fc72..b387435122 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md
@@ -1,16 +1,21 @@
# Drashna's Blackpill Tractyl Manuform (5x6) with a right side trackball
-* VBUS mod, using PB10
+* System Timer on TIM5
+* ~~VBUS mod, using PB10~~ (*doesn't seem to work for me*)
* Split Hand Pin, using PC14
-* Full Duplex Serial/USART using PA3 and PA4 on USART2
+* Full Duplex Serial/USART using PA2 and PA3 on USART2
* PWM Audio using PB1 and TIM3 and GPT on TIM4
-* PWM RGB using PA1 TIM2
-* pmw3360 sensor sharing PA5-PA7 on SPI1, with B0 as CS pin
+* PWM WS2812 RGB using PA1 TIM2
* 8KB SPI EEPROM chip sharing PA5-PA7 on SPI1 with PA4 as CS pin
+* pmw3360 sensor sharing PA5-PA7 on SPI1, with B0 as CS pin
* Encoder using PA13 and PA14
* SSD1306 OLED display (128x64) using PB8-PB9 on I2C1
* Pull-up resistor (22k) on PA10 to fix reset issue.
* Pull-up resistor (5.1k) on PA1 for WS2812 LED support, and wire it's VCC to the 5V pin.
+* Pins PA9, PA11, A12 are not useable because they're used for USB connection, and can't be shared.
+* Pin PB2 is used by BOOT1, and is unusable
+
+## Keyboard Info
* Keyboard Maintainer: [Drashna Jael're](https://github.com/drashna)
* Hardware Supported: [Design files](https://gitlab.com/keyboards1/dm_r_track/-/tree/master/boolean), [WeAct BlackPill (F411)](https://github.com/WeActTC/MiniSTM32F4x1), [PMW3360 Optical Sensor](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/)
@@ -24,3 +29,9 @@ Flashing example for this keyboard:
make handwired/tractyl_manuform/5x6_right/f411:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+* **Bootmagic reset**: Hold down the top right key on the right side, or the top left key on the left side while plugging in.
+* **Physical reset button**: Briefly press the "USER" button on the BlackPill
+* **Keycode in layout**: Press the key mapped to `RESET`.
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
index ede1a6baff..d6f972b468 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
@@ -6,8 +6,11 @@ BOOTLOADER = stm32-dfu
KEYBOARD_SHARED_EP = yes
CONSOLE_ENABLE = yes
+MOUSE_SHARED_EP = no
EEPROM_DRIVER = spi
WS2812_DRIVER = pwm
SERIAL_DRIVER = usart
AUDIO_DRIVER = pwm_hardware
+
+DEBOUNCE_TYPE = asym_eager_defer_pk
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
index df3e877f98..a984ba4885 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
@@ -16,16 +16,7 @@
#pragma once
-// #define USE_I2C
-// #define SELECT_SOFT_SERIAL_SPEED 1
-// #define SERIAL_USE_MULTI_TRANSACTION
-#define SPLIT_MODS_ENABLE
-#define EE_HANDS
-
#define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 }
#undef DEBOUNCE
-#define DEBOUNCE 10
-
-#define SOLENOID_PIN F1
-#define SOLENOID_DEFAULT_DWELL 8
+#define DEBOUNCE 15
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
index abfec41a62..5bfc21fd14 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
@@ -348,16 +348,8 @@ void render_kitty(void) {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
// assumes 1 frame prep stage
-#ifdef SWAP_HANDS_ENABLE
- extern bool swap_hands;
-#endif
void animation_phase(void) {
-# ifdef SWAP_HANDS_ENABLE
- if (swap_hands)
-#else
- if (tap_toggling)
-#endif
- {
+ if (tap_toggling) {
anim_frame_duration = 300;
current_rtogi_frame = (current_rtogi_frame + 1) % RTOGI_FRAMES;
oled_write_raw_P(rtogi[abs((RTOGI_FRAMES - 1) - current_rtogi_frame)], ANIM_SIZE);
diff --git a/keyboards/handwired/tractyl_manuform/config.h b/keyboards/handwired/tractyl_manuform/config.h
index ec67cff1ae..cc8a7546f4 100644
--- a/keyboards/handwired/tractyl_manuform/config.h
+++ b/keyboards/handwired/tractyl_manuform/config.h
@@ -24,9 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define VENDOR_ID 0x44DD
#define MANUFACTURER Drashna
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
#define USB_POLLING_INTERVAL_MS 1
/* disable debug print */
diff --git a/users/drashna/config.h b/users/drashna/config.h
index 5e935827bf..f54da9e328 100644
--- a/users/drashna/config.h
+++ b/users/drashna/config.h
@@ -147,6 +147,9 @@
// # define OLED_FONT_5X5
// # define OLED_FONT_AZTECH
// # define OLED_FONT_BMPLAIN
+// # define OLED_FONT_CRACKERS
+// # define OLED_FONT_HISKYF21
+# define OLED_FONT_DEAD_MEAL
// # define OLED_FONT_SUPER_DIGG
// # define OLED_LOGO_GMK_BAD
// # define OLED_LOGO_HUE_MANITEE
@@ -163,17 +166,12 @@
# define ONESHOT_TIMEOUT 3000
#endif // !ONESHOT_TIMEOUT
-// this makes it possible to do rolling combos (zx) with keys that
-// convert to other keys on hold (z becomes ctrl when you hold it,
-// and when this option isn't enabled, z rapidly followed by x
-// actually sends Ctrl-x. That's bad.)
-#define IGNORE_MOD_TAP_INTERRUPT
-#undef PERMISSIVE_HOLD
-//#define TAPPING_FORCE_HOLD_PER_KEY
-//#define RETRO_TAPPING_PER_KEY
-#if !defined(KEYBOARD_kyria) && !defined(KEYBOARD_splitkb_kyria)
-# define TAPPING_TERM_PER_KEY
-#endif
+#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
+#define PERMISSIVE_HOLD_PER_KEY
+#define TAPPING_FORCE_HOLD_PER_KEY
+#define RETRO_TAPPING_PER_KEY
+#define TAPPING_TERM_PER_KEY
+
#ifndef TAPPING_TOGGLE
# define TAPPING_TOGGLE 1
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c
index 71539e8b80..7e07a2c7c5 100644
--- a/users/drashna/drashna.c
+++ b/users/drashna/drashna.c
@@ -259,3 +259,61 @@ void matrix_slave_scan_user(void) {
matrix_slave_scan_keymap();
}
#endif
+
+__attribute__((weak)) uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ default:
+ return TAPPING_TERM;
+ }
+}
+
+__attribute__((weak)) bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
+ // Immediately select the hold action when another key is tapped:
+ // return true;
+ // Do not select the hold action when another key is tapped.
+ // return false;
+ switch (keycode) {
+ default:
+ return false;
+ }
+}
+
+__attribute__((weak)) bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
+ // Immediately select the hold action when another key is pressed.
+ // return true;
+ // Do not select the hold action when another key is pressed.
+ // return false;
+ switch (keycode) {
+ case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
+ return true;
+ default:
+ return false;
+ }
+}
+
+__attribute__((weak)) bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
+ // Do not force the mod-tap key press to be handled as a modifier
+ // if any other key was pressed while the mod-tap key is held down.
+ // return true;
+ // Force the mod-tap key press to be handled as a modifier if any
+ // other key was pressed while the mod-tap key is held down.
+ // return false;
+ switch (keycode) {
+ default:
+ return true;
+ }
+}
+
+__attribute__((weak)) bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ default:
+ return false;
+ }
+}
+
+__attribute__((weak)) bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ default:
+ return false;
+ }
+}
diff --git a/users/drashna/drashna_font.h b/users/drashna/drashna_font.h
index 27dc8b1b5d..844292a53a 100644
--- a/users/drashna/drashna_font.h
+++ b/users/drashna/drashna_font.h
@@ -338,6 +338,297 @@ static const unsigned char font[] PROGMEM = {
0x22, 0x3e, 0x08, 0x00, 0x00, 0x00,
0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+# elif defined(OLED_FONT_CRACKERS)
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x5E, 0x06, 0x06, 0x00, 0x00, 0x00,
+ 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00,
+ 0x20, 0x7C, 0x38, 0x38, 0x7C, 0x08,
+ 0x48, 0xFE, 0x64, 0x64, 0x00, 0x00,
+ 0x64, 0x60, 0x60, 0x18, 0x0C, 0x0C,
+ 0x74, 0x4A, 0x4A, 0x7E, 0x48, 0x00,
+ 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3C, 0x7E, 0x7E, 0x42, 0x00, 0x00,
+ 0x42, 0x7E, 0x7E, 0x3C, 0x00, 0x00,
+ 0x04, 0x0C, 0x04, 0x06, 0x0C, 0x04,
+ 0x10, 0x3C, 0x3C, 0x3C, 0x10, 0x00,
+ 0x00, 0x60, 0xE0, 0x00, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
+ 0x60, 0x60, 0x60, 0x00, 0x00, 0x00,
+ 0x60, 0x78, 0x78, 0x1E, 0x06, 0x00,
+ 0x3C, 0x3C, 0x7E, 0x42, 0x7E, 0x7E,
+ 0x04, 0x7E, 0x7E, 0x7E, 0x00, 0x00,
+ 0x76, 0x7A, 0x7E, 0x7E, 0x4C, 0x00,
+ 0x4A, 0x7E, 0x7E, 0x7C, 0x00, 0x00,
+ 0x0E, 0x08, 0x7E, 0x7E, 0x7E, 0x00,
+ 0x4E, 0x4E, 0x4E, 0x7A, 0x1A, 0x00,
+ 0x3C, 0x7E, 0x7E, 0x4A, 0x7A, 0x00,
+ 0x02, 0x02, 0x0A, 0x7E, 0x7E, 0x7E,
+ 0x7E, 0x7E, 0x7E, 0x4A, 0x7E, 0x00,
+ 0x0C, 0x4A, 0x7E, 0x7E, 0x3C, 0x00,
+ 0x66, 0x66, 0x66, 0x00, 0x00, 0x00,
+ 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x3C, 0x7E, 0x7E, 0x62, 0x00,
+ 0x14, 0x14, 0x14, 0x00, 0x00, 0x00,
+ 0x62, 0x7E, 0x7E, 0x3C, 0x08, 0x00,
+ 0x02, 0x4A, 0x0E, 0x0E, 0x0C, 0x00,
+ 0x3C, 0x7E, 0x7E, 0x4A, 0x72, 0x30,
+ 0x7A, 0x4A, 0x7E, 0x7E, 0x7C, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x4A, 0x24, 0x00,
+ 0x3C, 0x7E, 0x7E, 0x7E, 0x46, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x62, 0x3C, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x4A, 0x00, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x0A, 0x00, 0x00,
+ 0x3C, 0x7E, 0x7E, 0x42, 0x62, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x18, 0x7E, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x00, 0x00, 0x00,
+ 0x40, 0x7E, 0x7E, 0x7E, 0x00, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x3C, 0x66, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x40, 0x00, 0x00,
+ 0x7E, 0x3E, 0x3E, 0x7C, 0x3E, 0x3E,
+ 0x7E, 0x3E, 0x7E, 0x7C, 0x7E, 0x00,
+ 0x3C, 0x3C, 0x7E, 0x62, 0x7E, 0x7E,
+ 0x7E, 0x7E, 0x7E, 0x22, 0x0C, 0x00,
+ 0x3C, 0x7E, 0x7E, 0x62, 0x7E, 0x7C,
+ 0x7E, 0x7E, 0x7E, 0x0A, 0x64, 0x00,
+ 0x4C, 0x4E, 0x4E, 0x7A, 0x1A, 0x00,
+ 0x02, 0x7E, 0x7E, 0x7E, 0x02, 0x00,
+ 0x7E, 0x60, 0x7E, 0x7E, 0x7E, 0x00,
+ 0x3E, 0x60, 0x7E, 0x7E, 0x3E, 0x00,
+ 0x7E, 0x7C, 0x7C, 0x3E, 0x7C, 0x7C,
+ 0x46, 0x7E, 0x08, 0x7E, 0x62, 0x62,
+ 0x5E, 0x5E, 0x5E, 0x70, 0x3E, 0x00,
+ 0x66, 0x7A, 0x7A, 0x5E, 0x66, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x42, 0x00, 0x00,
+ 0x06, 0x1E, 0x1E, 0x78, 0x60, 0x00,
+ 0x42, 0x7E, 0x7E, 0x7E, 0x00, 0x00,
+ 0x0C, 0x06, 0x0C, 0x00, 0x00, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x02, 0x06, 0x06, 0x04, 0x00, 0x00,
+ 0x78, 0x24, 0x7C, 0x7C, 0x78, 0x00,
+ 0x7C, 0x7C, 0x7C, 0x48, 0x20, 0x00,
+ 0x18, 0x7C, 0x7C, 0x7C, 0x4C, 0x00,
+ 0x20, 0x48, 0x7C, 0x7C, 0x7C, 0x00,
+ 0x18, 0x7C, 0x7C, 0x74, 0x4C, 0x00,
+ 0x78, 0x7C, 0x7C, 0x24, 0x00, 0x00,
+ 0x18, 0x7C, 0x7C, 0x44, 0x74, 0x00,
+ 0x7C, 0x7C, 0x7C, 0x08, 0x60, 0x00,
+ 0x7C, 0x7C, 0x7C, 0x00, 0x00, 0x00,
+ 0x40, 0x7C, 0x7C, 0x7C, 0x00, 0x00,
+ 0x7C, 0x7C, 0x7C, 0x20, 0x48, 0x00,
+ 0x7C, 0x7C, 0x7C, 0x40, 0x00, 0x00,
+ 0x7C, 0x3C, 0x3C, 0x78, 0x3C, 0x3C,
+ 0x7C, 0x7C, 0x7C, 0x04, 0x78, 0x00,
+ 0x18, 0x18, 0x7C, 0x44, 0x7C, 0x7C,
+ 0x7C, 0x7C, 0x7C, 0x24, 0x08, 0x00,
+ 0x18, 0x18, 0x7C, 0x44, 0x7C, 0x7C,
+ 0x7C, 0x7C, 0x7C, 0x04, 0x00, 0x00,
+ 0x5C, 0x7C, 0x7C, 0x74, 0x00, 0x00,
+ 0x08, 0x7C, 0x7C, 0x7C, 0x48, 0x00,
+ 0x7C, 0x60, 0x7C, 0x7C, 0x7C, 0x00,
+ 0x3C, 0x60, 0x7C, 0x7C, 0x3C, 0x00,
+ 0x7C, 0x78, 0x78, 0x3C, 0x78, 0x78,
+ 0x4C, 0x3C, 0x3C, 0x78, 0x64, 0x00,
+ 0x4C, 0x4C, 0x4C, 0x78, 0x3C, 0x00,
+ 0x5C, 0x74, 0x44, 0x5C, 0x74, 0x00,
+ 0x24, 0x7E, 0x42, 0x42, 0x00, 0x00,
+ 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x42, 0x7E, 0x24, 0x00, 0x00, 0x00,
+ 0x04, 0x06, 0x06, 0x02, 0x04, 0x06,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+# elif defined(OLED_FONT_EIN)
+ 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,
+ 0x00, 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, 0x00, 0x7F, 0x00, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3F, 0x00, 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,
+ 0x01, 0x01, 0x7F, 0x01, 0x01, 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,
+ 0x78, 0x14, 0x14, 0x78, 0x00, 0x00,
+ 0x7C, 0x54, 0x54, 0x28, 0x00, 0x00,
+ 0x38, 0x44, 0x44, 0x28, 0x00, 0x00,
+ 0x7C, 0x44, 0x44, 0x38, 0x00, 0x00,
+ 0x7C, 0x54, 0x54, 0x44, 0x00, 0x00,
+ 0x7C, 0x14, 0x14, 0x04, 0x00, 0x00,
+ 0x38, 0x44, 0x54, 0x34, 0x00, 0x00,
+ 0x7C, 0x10, 0x10, 0x7C, 0x00, 0x00,
+ 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3C, 0x00, 0x00,
+ 0x7C, 0x10, 0x28, 0x44, 0x00, 0x00,
+ 0x7C, 0x40, 0x40, 0x40, 0x00, 0x00,
+ 0x7C, 0x08, 0x70, 0x08, 0x7C, 0x00,
+ 0x7C, 0x08, 0x10, 0x7C, 0x00, 0x00,
+ 0x38, 0x44, 0x44, 0x38, 0x00, 0x00,
+ 0x7C, 0x14, 0x14, 0x08, 0x00, 0x00,
+ 0x38, 0x44, 0x24, 0x58, 0x00, 0x00,
+ 0x7C, 0x14, 0x34, 0x48, 0x00, 0x00,
+ 0x48, 0x54, 0x54, 0x24, 0x00, 0x00,
+ 0x04, 0x7C, 0x04, 0x00, 0x00, 0x00,
+ 0x3C, 0x40, 0x40, 0x3C, 0x00, 0x00,
+ 0x3C, 0x40, 0x20, 0x1C, 0x00, 0x00,
+ 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+ 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+ 0x0C, 0x10, 0x70, 0x10, 0x0C, 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,
+# elif defined(OLED_FONT_HISKYF21)
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00,
+ 0x28, 0x7C, 0x28, 0x7C, 0x28, 0x00,
+ 0x48, 0x54, 0x54, 0xFE, 0x54, 0x54,
+ 0x44, 0x20, 0x10, 0x08, 0x44, 0x00,
+ 0x28, 0x54, 0x54, 0x54, 0x74, 0x10,
+ 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x78, 0x84, 0x00, 0x00, 0x00, 0x00,
+ 0x84, 0x78, 0x00, 0x00, 0x00, 0x00,
+ 0x48, 0x30, 0x30, 0x48, 0x00, 0x00,
+ 0x10, 0x38, 0x10, 0x00, 0x00, 0x00,
+ 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
+ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x60, 0x10, 0x0C, 0x00, 0x00, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x44, 0x38,
+ 0x08, 0x7C, 0x00, 0x00, 0x00, 0x00,
+ 0x64, 0x54, 0x54, 0x54, 0x48, 0x00,
+ 0x44, 0x54, 0x54, 0x54, 0x28, 0x00,
+ 0x1C, 0x10, 0x10, 0x10, 0x7C, 0x00,
+ 0x4C, 0x54, 0x54, 0x54, 0x24, 0x00,
+ 0x38, 0x54, 0x54, 0x54, 0x54, 0x20,
+ 0x44, 0x24, 0x14, 0x0C, 0x00, 0x00,
+ 0x28, 0x54, 0x54, 0x54, 0x54, 0x28,
+ 0x08, 0x54, 0x54, 0x54, 0x54, 0x38,
+ 0x48, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x28, 0x44, 0x00, 0x00, 0x00,
+ 0x28, 0x28, 0x28, 0x28, 0x00, 0x00,
+ 0x44, 0x28, 0x10, 0x00, 0x00, 0x00,
+ 0x04, 0x54, 0x14, 0x14, 0x08, 0x00,
+ 0x38, 0x44, 0x5C, 0x54, 0x48, 0x00,
+ 0x60, 0x18, 0x14, 0x14, 0x18, 0x60,
+ 0x7C, 0x54, 0x54, 0x54, 0x58, 0x30,
+ 0x38, 0x44, 0x44, 0x44, 0x40, 0x00,
+ 0x7C, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0x7C, 0x54, 0x54, 0x54, 0x54, 0x40,
+ 0x7C, 0x14, 0x14, 0x14, 0x10, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x70, 0x10,
+ 0x7C, 0x10, 0x10, 0x10, 0x10, 0x7C,
+ 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x40, 0x40, 0x3C,
+ 0x7C, 0x10, 0x10, 0x28, 0x44, 0x00,
+ 0x7C, 0x40, 0x40, 0x40, 0x00, 0x00,
+ 0x7C, 0x08, 0x10, 0x60, 0x10, 0x08,
+ 0x7C, 0x08, 0x10, 0x20, 0x7C, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x44, 0x38,
+ 0x7C, 0x24, 0x24, 0x24, 0x18, 0x00,
+ 0x38, 0x44, 0x64, 0x44, 0x38, 0x00,
+ 0x7C, 0x14, 0x14, 0x14, 0x68, 0x00,
+ 0x48, 0x54, 0x54, 0x54, 0x54, 0x20,
+ 0x04, 0x04, 0x7C, 0x04, 0x04, 0x00,
+ 0x3C, 0x40, 0x40, 0x40, 0x3C, 0x00,
+ 0x0C, 0x30, 0x40, 0x30, 0x0C, 0x00,
+ 0x0C, 0x30, 0x40, 0x20, 0x1C, 0x20,
+ 0x74, 0x2C, 0x10, 0x28, 0x44, 0x00,
+ 0x04, 0x08, 0x70, 0x08, 0x04, 0x00,
+ 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+ 0xFC, 0x84, 0x00, 0x00, 0x00, 0x00,
+ 0x0C, 0x10, 0x60, 0x00, 0x00, 0x00,
+ 0x84, 0xFC, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7F, 0x41, 0x7F, 0x00, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
+ 0x00, 0x7F, 0x41, 0x7F, 0x00, 0x00,
+ 0x60, 0x18, 0x14, 0x14, 0x18, 0x60,
+ 0x7C, 0x54, 0x54, 0x54, 0x58, 0x30,
+ 0x38, 0x44, 0x44, 0x44, 0x40, 0x00,
+ 0x7C, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0x7C, 0x54, 0x54, 0x54, 0x54, 0x40,
+ 0x7C, 0x14, 0x14, 0x14, 0x10, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x70, 0x10,
+ 0x7C, 0x10, 0x10, 0x10, 0x10, 0x7C,
+ 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x40, 0x40, 0x3C,
+ 0x7C, 0x10, 0x10, 0x28, 0x44, 0x00,
+ 0x7C, 0x40, 0x40, 0x40, 0x00, 0x00,
+ 0x7C, 0x08, 0x10, 0x60, 0x10, 0x08,
+ 0x7C, 0x08, 0x10, 0x20, 0x7C, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x44, 0x38,
+ 0x7C, 0x24, 0x24, 0x24, 0x18, 0x00,
+ 0x38, 0x44, 0x64, 0x44, 0x38, 0x00,
+ 0x7C, 0x14, 0x14, 0x14, 0x68, 0x00,
+ 0x48, 0x54, 0x54, 0x54, 0x54, 0x20,
+ 0x04, 0x04, 0x7C, 0x04, 0x04, 0x00,
+ 0x3C, 0x40, 0x40, 0x40, 0x3C, 0x00,
+ 0x0C, 0x30, 0x40, 0x30, 0x0C, 0x00,
+ 0x0C, 0x30, 0x40, 0x20, 0x1C, 0x20,
+ 0x74, 0x2C, 0x10, 0x28, 0x44, 0x00,
+ 0x04, 0x08, 0x70, 0x08, 0x04, 0x00,
+ 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+ 0x00, 0x7F, 0x41, 0x7F, 0x00, 0x00,
+ 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7F, 0x41, 0x7F, 0x00, 0x00,
+ 0x00, 0x7F, 0x41, 0x7F, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
# elif defined(OLED_FONT_SUPER_DIGG)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x58, 0x5C, 0x00, 0x00, 0x00, 0x00,
@@ -435,6 +726,103 @@ static const unsigned char font[] PROGMEM = {
0xC2, 0xFE, 0x10, 0x00, 0x00, 0x00,
0x02, 0x01, 0x03, 0x04, 0x06, 0x02,
0x3C, 0x22, 0x21, 0x22, 0x3C, 0x00,
+#elif defined (OLED_FONT_ZXPIX)
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0x00, 0x00, 0x00,
+ 0x12, 0x3F, 0x12, 0x12, 0x3F, 0x12,
+ 0x2E, 0x2A, 0x7F, 0x2A, 0x3A, 0x00,
+ 0x23, 0x13, 0x08, 0x04, 0x32, 0x31,
+ 0x10, 0x2A, 0x25, 0x2A, 0x10, 0x20,
+ 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x1E, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0x21, 0x1E, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x2A, 0x1C, 0x2A, 0x08, 0x08,
+ 0x08, 0x08, 0x3E, 0x08, 0x08, 0x08,
+ 0x80, 0x60, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+ 0x30, 0x30, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+ 0x1E, 0x31, 0x29, 0x25, 0x23, 0x1E,
+ 0x22, 0x21, 0x3F, 0x20, 0x20, 0x20,
+ 0x32, 0x29, 0x29, 0x29, 0x29, 0x26,
+ 0x12, 0x21, 0x21, 0x25, 0x25, 0x1A,
+ 0x18, 0x14, 0x12, 0x3F, 0x10, 0x10,
+ 0x17, 0x25, 0x25, 0x25, 0x25, 0x19,
+ 0x1E, 0x25, 0x25, 0x25, 0x25, 0x18,
+ 0x01, 0x01, 0x31, 0x09, 0x05, 0x03,
+ 0x1A, 0x25, 0x25, 0x25, 0x25, 0x1A,
+ 0x06, 0x29, 0x29, 0x29, 0x29, 0x1E,
+ 0x24, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x64, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x14, 0x22, 0x00, 0x00, 0x00,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+ 0x22, 0x14, 0x08, 0x00, 0x00, 0x00,
+ 0x02, 0x01, 0x01, 0x29, 0x05, 0x02,
+ 0x1E, 0x21, 0x2D, 0x2B, 0x2D, 0x0E,
+ 0x3E, 0x09, 0x09, 0x09, 0x09, 0x3E,
+ 0x3F, 0x25, 0x25, 0x25, 0x25, 0x1A,
+ 0x1E, 0x21, 0x21, 0x21, 0x21, 0x12,
+ 0x3F, 0x21, 0x21, 0x21, 0x12, 0x0C,
+ 0x3F, 0x25, 0x25, 0x25, 0x25, 0x21,
+ 0x3F, 0x05, 0x05, 0x05, 0x05, 0x01,
+ 0x1E, 0x21, 0x21, 0x21, 0x29, 0x1A,
+ 0x3F, 0x04, 0x04, 0x04, 0x04, 0x3F,
+ 0x21, 0x21, 0x3F, 0x21, 0x21, 0x21,
+ 0x10, 0x20, 0x20, 0x20, 0x20, 0x1F,
+ 0x3F, 0x04, 0x0C, 0x0A, 0x11, 0x20,
+ 0x3F, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x3F, 0x02, 0x04, 0x04, 0x02, 0x3F,
+ 0x3F, 0x02, 0x04, 0x08, 0x10, 0x3F,
+ 0x1E, 0x21, 0x21, 0x21, 0x21, 0x1E,
+ 0x3F, 0x09, 0x09, 0x09, 0x09, 0x06,
+ 0x1E, 0x21, 0x29, 0x31, 0x21, 0x1E,
+ 0x3F, 0x09, 0x09, 0x09, 0x19, 0x26,
+ 0x12, 0x25, 0x25, 0x25, 0x25, 0x18,
+ 0x01, 0x01, 0x01, 0x3F, 0x01, 0x01,
+ 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F,
+ 0x0F, 0x10, 0x20, 0x20, 0x10, 0x0F,
+ 0x1F, 0x20, 0x10, 0x10, 0x20, 0x1F,
+ 0x21, 0x12, 0x0C, 0x0C, 0x12, 0x21,
+ 0x01, 0x02, 0x0C, 0x38, 0x04, 0x02,
+ 0x21, 0x31, 0x29, 0x25, 0x23, 0x21,
+ 0x3F, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+ 0x21, 0x3F, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x02, 0x3F, 0x02, 0x04, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
+ 0x01, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x30, 0x2A, 0x2A, 0x3C, 0x00,
+ 0x3F, 0x24, 0x24, 0x24, 0x18, 0x00,
+ 0x0C, 0x14, 0x22, 0x22, 0x00, 0x00,
+ 0x18, 0x24, 0x24, 0x24, 0x3F, 0x00,
+ 0x1C, 0x2C, 0x2A, 0x2A, 0x24, 0x00,
+ 0x3E, 0x05, 0x01, 0x00, 0x00, 0x00,
+ 0x18, 0x28, 0xA4, 0xA4, 0x7C, 0x00,
+ 0x3F, 0x04, 0x04, 0x0C, 0x30, 0x00,
+ 0x24, 0x3D, 0x20, 0x00, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+ 0x3F, 0x0C, 0x12, 0x20, 0x00, 0x00,
+ 0x1F, 0x20, 0x20, 0x00, 0x00, 0x00,
+ 0x3E, 0x02, 0x3C, 0x02, 0x3C, 0x00,
+ 0x3E, 0x02, 0x02, 0x02, 0x3C, 0x00,
+ 0x0C, 0x14, 0x22, 0x32, 0x0C, 0x00,
+ 0xFC, 0x24, 0x24, 0x24, 0x18, 0x00,
+ 0x18, 0x24, 0x24, 0x24, 0xFC, 0x80,
+ 0x3C, 0x04, 0x02, 0x02, 0x00, 0x00,
+ 0x24, 0x2C, 0x2A, 0x2A, 0x10, 0x00,
+ 0x02, 0x1F, 0x22, 0x20, 0x00, 0x00,
+ 0x1E, 0x20, 0x20, 0x20, 0x1E, 0x00,
+ 0x06, 0x18, 0x20, 0x18, 0x06, 0x00,
+ 0x1E, 0x30, 0x1C, 0x30, 0x0E, 0x00,
+ 0x22, 0x14, 0x08, 0x14, 0x22, 0x00,
+ 0x0C, 0x10, 0xA0, 0xA0, 0x7C, 0x00,
+ 0x22, 0x32, 0x2A, 0x26, 0x22, 0x22,
+ 0x0C, 0x3F, 0x21, 0x00, 0x00, 0x00,
+ 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x21, 0x3F, 0x0C, 0x00, 0x00, 0x00,
+ 0x02, 0x01, 0x02, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
# else // default font
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
@@ -525,7 +913,7 @@ static const unsigned char font[] PROGMEM = {
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
- 0x4C, 0x90, 0x10, 0x90, 0x7C, 0x00,
+ 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
@@ -601,6 +989,50 @@ static const unsigned char font[] PROGMEM = {
0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+# elif defined(OLED_LOGO_LOOSE)
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8,
+ 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x00,
+ 0xFC, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
+ 0x02, 0xF9, 0x01, 0x01, 0x05, 0x09,
+ 0x11, 0x22, 0x06, 0xFE, 0xFE, 0xFE,
+ 0xFE, 0xFE, 0xFE, 0xFE, 0x46, 0x46,
+ 0x44, 0x44, 0x45, 0x44, 0x29, 0x28,
+ 0x2A, 0x28, 0x11, 0x13, 0x05, 0x07,
+ 0x05, 0x07, 0x05, 0x07, 0x05, 0x07,
+ 0xE5, 0xE7, 0xE5, 0x07, 0x05, 0x07,
+ 0x05, 0x07, 0x05, 0x07, 0x05, 0x07,
+ 0x85, 0xC7, 0xE5, 0xE7, 0xE5, 0xE7,
+ 0xE5, 0xE7, 0xE5, 0xC7, 0x85, 0x07,
+ 0x85, 0xC7, 0xE5, 0xE7, 0xE5, 0xE7,
+ 0xE5, 0xE7, 0xE5, 0xC7, 0x85, 0x07,
+ 0x85, 0xC7, 0xE5, 0xE7, 0xE5, 0xE7,
+ 0xE5, 0xE7, 0xE5, 0xE7, 0xE5, 0x07,
+ 0xE5, 0xE7, 0xE5, 0xE7, 0xE5, 0xE7,
+ 0xE5, 0xE7, 0xE5, 0xE7, 0xE5, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+# elif defined(OLED_LOGO_SKEEB)
+ 0xC0, 0x20, 0x10, 0x08, 0x04, 0x02,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x03, 0x07, 0x0F, 0x1F,
+ 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01,
+ 0xFF, 0xFF, 0x01, 0x01, 0xFF, 0xFF,
+ 0x01, 0x01, 0xFF, 0xFF, 0x19, 0x19,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x01, 0x01, 0xFF, 0xFF, 0x81, 0x81,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x19, 0x19, 0xFF, 0xFF, 0xF9, 0xF9,
+ 0xF9, 0xF9, 0x01, 0x01, 0xF9, 0xF9,
+ 0xF9, 0xF9, 0xFF, 0xFF, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0xF9, 0xF9, 0xFF, 0xFF, 0x19, 0x19,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x67, 0x67, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F,
+ 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0xC0,
# else
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8,
@@ -705,6 +1137,50 @@ static const unsigned char font[] PROGMEM = {
0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+# elif defined(OLED_LOGO_LOOSE)
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xE3, 0xC1, 0xC1, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x00, 0xFF, 0x00, 0x00, 0x80, 0x00,
+ 0x1C, 0x3E, 0x7F, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x22, 0x22,
+ 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
+ 0x22, 0x22, 0x22, 0x14, 0x14, 0x14,
+ 0x14, 0x14, 0x08, 0x08, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xBE,
+ 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0xBD,
+ 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0x8F, 0x9F, 0x9C, 0x9C, 0x9C, 0x9C,
+ 0x9C, 0x9C, 0x9C, 0xFC, 0xF8, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x9C, 0x9C, 0x9C,
+ 0x9C, 0x9C, 0x9C, 0x80, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+# elif defined(OLED_LOGO_SKEEB)
+ 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x03, 0x07,
+ 0x0F, 0x0F, 0x0F, 0x0F, 0x08, 0x08,
+ 0x0F, 0x0F, 0x0E, 0x0E, 0x0F, 0x0F,
+ 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08,
+ 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x08, 0x08, 0x0F, 0x0F, 0x09, 0x09,
+ 0x09, 0x09, 0xF9, 0xF9, 0x09, 0x09,
+ 0x08, 0x08, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x0F, 0x0F, 0x08, 0x08, 0x0F, 0x0F,
+ 0x0F, 0x0F, 0x0F, 0x0F, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x0F, 0x0F, 0x08, 0x08,
+ 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x08, 0x08, 0x0F, 0x0F, 0x0F, 0x0F,
+ 0x07, 0x03, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
# else
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x49, 0x49, 0x49, 0xFF, 0xFF, 0xFF,
@@ -738,7 +1214,7 @@ static const unsigned char font[] PROGMEM = {
0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x44, 0x28, 0xFF, 0x5A, 0x24,
0xF0, 0xFE, 0xF1, 0x91, 0xF6, 0xF0,
0xF0, 0xFC, 0xF2, 0x92, 0xFC, 0xF0,
@@ -809,16 +1285,42 @@ static const unsigned char font[] PROGMEM = {
0x07, 0x07, 0x03, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-#else
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x01, 0x01, 0x07, 0x0F, 0x0F,
- 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x7E,
- 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F,
- 0x0F, 0x07, 0x01, 0x01, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
+# elif defined(OLED_LOGO_LOOSE)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F,
+ 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00,
+ 0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
+ 0x20, 0x47, 0x48, 0x50, 0x40, 0x41,
+ 0x42, 0x24, 0x30, 0x3F, 0x3F, 0x3F,
+ 0x3F, 0x3F, 0x3F, 0x3F, 0x31, 0x31,
+ 0x11, 0x51, 0x11, 0x11, 0x4A, 0x0A,
+ 0x2A, 0x0A, 0x44, 0x64, 0x50, 0x70,
+ 0x50, 0x70, 0x50, 0x70, 0x50, 0x70,
+ 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
+ 0x53, 0x73, 0x53, 0x73, 0x53, 0x70,
+ 0x50, 0x71, 0x53, 0x73, 0x53, 0x73,
+ 0x53, 0x73, 0x53, 0x71, 0x50, 0x70,
+ 0x50, 0x71, 0x53, 0x73, 0x53, 0x73,
+ 0x53, 0x73, 0x53, 0x71, 0x50, 0x70,
+ 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
+ 0x53, 0x73, 0x53, 0x73, 0x51, 0x70,
+ 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
+ 0x53, 0x73, 0x53, 0x73, 0x53, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+# elif defined(OLED_LOGO_SKEEB)
+ 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0xFF,
+ 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08,
+ 0x03, 0x04, 0x08, 0x10, 0x20, 0x40,
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+ 0x40, 0x20, 0x10, 0x08, 0x04, 0x03,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
+ 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+ 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8,
+ 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8,
+ 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80,
+ 0x01, 0x02, 0xFC, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -826,14 +1328,18 @@ static const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+#else
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x07, 0x0F, 0x0F,
+ 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x7E,
+ 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F,
+ 0x0F, 0