mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-27 11:38:58 +06:00
7019d0bce8
* Initial commit * testing modes * working on puckbuddy firmware. This is all working for now but need to clean it up and personalize it. * needs to be updated from vial build * prepping for PR * added rgb mode cycling to fn1 since it isn't on the encoder for these maps * readme written in preparation for pr * reverting driver print line * Removed old reference to OBE in the readme from copypaste error * applying changes based on review * applying changes from review * Update keyboards/mechwild/puckbuddy/puckbuddy.c * trailing whitespaces removed * added clear screen condition for switching back to name rendering * Added uf2 keymap and fixed display glitch for the logo render art. * Removed extra definition of FEE_PAGE_BASE_ADDRESS * Removed the uf2 keymap and made it automatic when selecting bootloader instead * Fixed the bad bootloader check * moved the uf2 check from rules.mk to post_rules.mk to satisfy lint * changing it back to stm32-dfu bootloader default * Fixed RGBLIGHT enable oversight. * Added persistent dynamic tapping configuration for the cirque touchpad tap term * new lines at end of files for formatting and diff sanity * changing default bootloader back to stm32-dfu * Had to completely redefine the tap keycodes instead of using the DT_UP and DT_DOWN keycodes because I was not able to specify them easily in the via/vial configs and this allows me to keep the original functionality instead of tying it to eeprom like these are. * Added tap toggling keycodes to quick enable and disable the tapping term * working out an issue where the tap status keeps turning to off on power cycle * correcting submodule garbo * Fixed display issue and rewrote TAP config approach to make it a little easier to control * removing backup puckbuddy.c code * Added some comment, removed some commented out old code, removed trailing whitespace * Changed to handle tinyuf2 by expecting emulated eeprom so that adding other forms of eeprom can be handled for the memory offset separately, and added user oled conditional inside the keyboard oled code block * Updated default keymaps to have the tap and dpi keys on by default * Apply suggestions from code review * Apply suggestions from code review
232 lines
8.9 KiB
C
232 lines
8.9 KiB
C
// Copyright 2022 Kyle McCreery (@kylemccreery)
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#include "progmem.h"
|
|
|
|
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,
|
|
0x18, 0x24, 0x24, 0x1C, 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,
|
|
0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
|
|
0x18, 0x24, 0x24, 0x18, 0x7C, 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, 0x90, 0x90, 0x90, 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, 0x00, 0x00, 0xE0, 0xF0,
|
|
0x78, 0x1C, 0x0E, 0x06, 0x06, 0x06,
|
|
0x06, 0x06, 0x0E, 0x0C, 0x0C, 0x18,
|
|
0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
|
|
0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
|
0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0,
|
|
0xC0, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0,
|
|
0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
|
|
0xFF, 0xFF, 0x03, 0x03, 0x03, 0x03,
|
|
0x03, 0x03, 0x03, 0x07, 0x0E, 0x1C,
|
|
0xF8, 0xF0, 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, 0xFC, 0xFC,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0xE0, 0x78, 0x1E, 0x00,
|
|
0x00, 0x00, 0x00, 0xF8, 0xF8, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x40, 0x40, 0x40, 0x40, 0x40,
|
|
0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
|
|
0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF,
|
|
0xFE, 0xF8, 0xC0, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFE,
|
|
0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x01, 0x3E,
|
|
0xE0, 0x80, 0x70, 0x0E, 0x01, 0x00,
|
|
0x00, 0x00, 0x00, 0x07, 0x3C, 0xE0,
|
|
0x80, 0x78, 0x07, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
|
|
0x70, 0x30, 0x30, 0x30, 0xB0, 0xF0,
|
|
0xF0, 0x00, 0xFE, 0xFF, 0x33, 0x31,
|
|
0x31, 0x31, 0x31, 0x31, 0x31, 0x33,
|
|
0x3F, 0x1C, 0x00, 0x00, 0x00, 0x00,
|
|
0xE0, 0xFF, 0x3F, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFF, 0xFF, 0x18, 0x18, 0x18, 0x18,
|
|
0x18, 0x18, 0x08, 0x0C, 0x0E, 0x07,
|
|
0x03, 0x03, 0x00, 0x00, 0x00, 0xFF,
|
|
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF,
|
|
0x00, 0x00, 0x00, 0xF8, 0xFE, 0x0F,
|
|
0x07, 0x03, 0x03, 0x03, 0x03, 0x02,
|
|
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
|
|
0xE0, 0xF0, 0x38, 0x1F, 0x0F, 0x00,
|
|
0x00, 0x00, 0x80, 0xE0, 0x70, 0x38,
|
|
0x18, 0x18, 0x18, 0xFF, 0xFF, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x40, 0xC0, 0xF0, 0xFC, 0x7E, 0x4E,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x1F,
|
|
0x07, 0x1F, 0xFF, 0xFE, 0xF0, 0xC0,
|
|
0xF8, 0xFF, 0x7F, 0x0F, 0x07, 0x7F,
|
|
0xFF, 0xFE, 0xFC, 0x04, 0x04, 0x78,
|
|
0x80, 0x00, 0x00, 0x00, 0xC0, 0x38,
|
|
0x0C, 0x1C, 0x60, 0x80, 0x00, 0x00,
|
|
0x00, 0xF0, 0x0C, 0x04, 0xF4, 0x1C,
|
|
0x80, 0xC0, 0xFC, 0xE6, 0xC3, 0xC1,
|
|
0xC1, 0xC3, 0xE6, 0xFC, 0xC0, 0x80,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
|
0x03, 0x06, 0x0E, 0x0C, 0x0C, 0x0C,
|
|
0x0C, 0x0C, 0x0C, 0x0E, 0x07, 0x03,
|
|
0x00, 0x00, 0x01, 0x03, 0x07, 0x06,
|
|
0x0E, 0x0C, 0x0C, 0x0C, 0x06, 0x06,
|
|
0x06, 0x02, 0x00, 0x00, 0x00, 0x00,
|
|
0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
|
0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C,
|
|
0x0C, 0x06, 0x07, 0x03, 0x1F, 0x1F,
|
|
0x00, 0x00, 0x00, 0x00, 0x03, 0x06,
|
|
0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x06,
|
|
0x06, 0x00, 0x00, 0x00, 0x1F, 0x1F,
|
|
0x00, 0x01, 0x07, 0x0E, 0x18, 0x10,
|
|
0x00, 0x00, 0x07, 0x1F, 0x18, 0x30,
|
|
0x30, 0x30, 0x30, 0x1F, 0x0F, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x18, 0x3C, 0x3C, 0x1C, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x1F, 0x1F, 0x1F, 0x07, 0x00,
|
|
0x00, 0x00, 0x00, 0x03, 0x1F, 0x1F,
|
|
0x0F, 0x01, 0x00, 0x00, 0x00, 0x00,
|
|
0x07, 0x1F, 0x1F, 0x1E, 0xF8, 0x00,
|
|
0x0F, 0x70, 0x30, 0x0E, 0xC1, 0x38,
|
|
0x07, 0x0E, 0x70, 0x83, 0x1C, 0x60,
|
|
0x1E, 0x03, 0xC0, 0x3E, 0x01, 0x00,
|
|
0x3F, 0x7F, 0xFF, 0xFF, 0xF9, 0xC0,
|
|
0xC0, 0xF9, 0xFF, 0xFF, 0x7F, 0x3F,
|
|
};
|