mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2025-01-07 17:40:19 +06:00
Update v8
This commit is contained in:
parent
4da61b144a
commit
8850c2cf02
@ -28,6 +28,5 @@
|
||||
/* Enable caps-lock LED */
|
||||
#define CAPS_LOCK_LED_INDEX 30
|
||||
|
||||
#define OLED_TIMEOUT 0
|
||||
// #define OLED_DISPLAY_HEIGHT 64
|
||||
#define OLED_DISPLAY_128X64
|
||||
// #define OLED_TIMEOUT 0
|
||||
// #define OLED_DISPLAY_128X64
|
||||
|
@ -1,382 +0,0 @@
|
||||
/* Copyright 2021 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// clang-format off
|
||||
|
||||
enum layers{
|
||||
MAC_BASE,
|
||||
WIN_BASE,
|
||||
_FN1,
|
||||
_FN2,
|
||||
_FN3
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
KC_MISSION_CONTROL = SAFE_RANGE,
|
||||
KC_LAUNCHPAD,
|
||||
KC_LOPTN,
|
||||
KC_ROPTN,
|
||||
KC_LCMMD,
|
||||
KC_RCMMD,
|
||||
KC_TASK_VIEW,
|
||||
KC_FILE_EXPLORER
|
||||
};
|
||||
|
||||
#define KC_MCTL KC_MISSION_CONTROL
|
||||
#define KC_LPAD KC_LAUNCHPAD
|
||||
#define KC_TASK KC_TASK_VIEW
|
||||
#define KC_FLXP KC_FILE_EXPLORER
|
||||
|
||||
typedef struct PACKED {
|
||||
uint8_t len;
|
||||
uint8_t keycode[2];
|
||||
} key_combination_t;
|
||||
|
||||
key_combination_t key_comb_list[2] = {
|
||||
{2, {KC_LWIN, KC_TAB}},
|
||||
{2, {KC_LWIN, KC_E}}
|
||||
};
|
||||
|
||||
static uint8_t mac_keycode[4] = { KC_LOPT, KC_ROPT, KC_LCMD, KC_RCMD };
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[MAC_BASE] = LAYOUT_ansi_69(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, MO(_FN1), MO(_FN3), KC_SPC, KC_RCMMD, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[WIN_BASE] = LAYOUT_ansi_69(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(_FN2), MO(_FN3), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[_FN1] = LAYOUT_ansi_69(
|
||||
KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
|
||||
RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[_FN2] = LAYOUT_ansi_69(
|
||||
KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
|
||||
RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[_FN3] = LAYOUT_ansi_69(
|
||||
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_MCTL:
|
||||
if (record->event.pressed) {
|
||||
host_consumer_send(0x29F);
|
||||
} else {
|
||||
host_consumer_send(0);
|
||||
}
|
||||
return false; // Skip all further processing of this key
|
||||
case KC_LPAD:
|
||||
if (record->event.pressed) {
|
||||
host_consumer_send(0x2A0);
|
||||
} else {
|
||||
host_consumer_send(0);
|
||||
}
|
||||
return false; // Skip all further processing of this key
|
||||
case KC_LOPTN:
|
||||
case KC_ROPTN:
|
||||
case KC_LCMMD:
|
||||
case KC_RCMMD:
|
||||
if (record->event.pressed) {
|
||||
register_code(mac_keycode[keycode - KC_LOPTN]);
|
||||
} else {
|
||||
unregister_code(mac_keycode[keycode - KC_LOPTN]);
|
||||
}
|
||||
return false; // Skip all further processing of this key
|
||||
case KC_TASK:
|
||||
case KC_FLXP:
|
||||
if (record->event.pressed) {
|
||||
for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) {
|
||||
register_code(key_comb_list[keycode - KC_TASK].keycode[i]);
|
||||
}
|
||||
} else {
|
||||
for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) {
|
||||
unregister_code(key_comb_list[keycode - KC_TASK].keycode[i]);
|
||||
}
|
||||
}
|
||||
return false; // Skip all further processing of this key
|
||||
default:
|
||||
return true; // Process all other keycodes normally
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
#if 0
|
||||
bool oled_task_user(void) {
|
||||
// Host Keyboard Layer Status
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case MAC_BASE:
|
||||
if (default_layer_state == 0) {
|
||||
oled_write_P(PSTR("Mac_base\n"), false);
|
||||
} else if (default_layer_state == 0x10) {
|
||||
oled_write_P(PSTR("Win_base\n"), false);
|
||||
}
|
||||
break;
|
||||
case WIN_BASE:
|
||||
oled_write_P(PSTR("Win_base\n"), false);
|
||||
break;
|
||||
case _FN1:
|
||||
oled_write_P(PSTR("Mac_Fn1\n"), false);
|
||||
break;
|
||||
case _FN2:
|
||||
oled_write_P(PSTR("Win_Fn1\n"), false);
|
||||
break;
|
||||
case _FN3:
|
||||
oled_write_P(PSTR("Mac_Fn2\n"), false);
|
||||
break;
|
||||
default:
|
||||
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||
oled_write_ln_P(PSTR("Undefined\n"), false);
|
||||
}
|
||||
|
||||
// Host Keyboard LED Status
|
||||
oled_write_P(PSTR("Keyboard status:\n"), false);
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
static void render_logo1(void) {
|
||||
static const char PROGMEM raw_logo1[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,112,112,112,112,112,112, 96,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,224, 96,112,112,112,112,112,112,112,224,224,192,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,112,112,112,112,112,112, 96,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,224, 96,112,112,112,112,112,112,112,224,224,192,192,128, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0,224,248,254, 31, 7, 3, 15, 14, 14,254,254,254, 14,142,206,228,240,112, 49, 1, 3, 15, 30, 28, 16, 0, 0, 0, 0, 0, 0,128,240,252, 62, 15, 3, 13, 14, 14, 14,254,254, 14, 14,142,204,224,112, 48, 17, 3, 7, 31, 30, 24, 0, 0, 0, 0, 0, 0, 0,224,248,254, 31, 7, 3, 15, 14, 14,254,254,254, 14,142,206,228,240,112, 49, 1, 3, 15, 30, 28, 16, 0, 0, 0, 0, 0, 0,128,240,252, 62, 15, 3, 13, 14, 14, 14,254,254,254, 14,142,204,224,112, 48, 17, 3, 7, 31, 30, 24, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 31,127,255,224,128, 0, 0, 0, 0,255,255,255, 15, 15, 31, 61,120,240,192,128,128,192,224,240, 32, 0, 0, 0, 0, 0, 0, 7, 63,255,240,192,128, 0, 0, 0, 0,255,255, 14, 7, 15, 31,120,240,224,192, 0,128,224,240,112, 0, 0, 0, 0, 0, 0, 0, 31,127,255,224,128, 0, 0, 0, 0,255,255,255, 15, 15, 31, 61,120,240,224,128,128,192,224,240, 32, 0, 0, 0, 0, 0, 0, 3, 63,255,240,192,128, 0, 0, 0, 0,255,255,127, 7, 15, 31,124,240,224,192, 0,128,224,240,112, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 7, 14, 30, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 14, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 14, 7, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 7, 14, 30, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 14, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 30, 14, 7, 7, 3, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
oled_write_raw_P(raw_logo1, sizeof(raw_logo1));
|
||||
}
|
||||
|
||||
static void render_logo2(void) {
|
||||
static const char PROGMEM raw_logo2[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 192, 192, 192, 224, 224, 224, 224, 96, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 224, 224, 224, 224, 192, 192, 192, 192, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 192, 192, 192, 224, 224, 224, 224, 96, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 96, 224, 224, 224, 224, 192, 192, 192, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 240, 248, 252, 126, 31, 15, 7, 7, 3, 3, 13, 15, 14, 14, 14, 14, 14, 254, 254, 254, 254, 254, 14, 14, 14, 142, 142, 206, 204, 224, 224, 240,
|
||||
112, 112, 48, 49, 1, 1, 3, 3, 7, 15, 31, 30, 28, 28, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 240, 248, 252, 126, 30, 15, 7, 7, 3, 3, 5, 15, 14, 14, 14, 14, 14, 254, 254, 254, 254, 254, 14, 14, 14, 142, 142, 206, 206, 224, 224, 240, 112, 112, 48, 48, 17, 1, 3, 3, 7, 15, 15, 30, 30, 28, 24, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 63, 127, 255, 248, 224, 192, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 127, 14, 15, 7, 15, 15, 31, 29, 61, 120, 120, 240, 224, 224, 192, 192, 128, 0, 128, 128, 192, 224, 240, 240, 112, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 63, 127, 255, 252, 240, 224, 192, 128, 128, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 127, 255, 255, 255, 255, 14, 15, 7, 7, 15, 31, 31, 61, 120, 120, 240, 240, 224, 192, 192, 128, 0, 128, 128, 192, 224, 240, 240, 112, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 7, 7, 7, 14, 14, 14, 28, 28, 28, 28, 28, 24, 56, 56, 56, 56, 56, 56, 56, 56, 56, 24, 28, 28, 28, 28, 28, 14, 14, 14, 15, 7, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 7, 7, 7, 15, 14, 14, 28, 28, 28, 28, 28, 24, 24, 56, 56, 56, 56, 56, 56, 56, 56, 24, 24, 28, 28, 28, 28, 14, 14, 14, 15, 7, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
oled_write_raw_P(raw_logo2, sizeof(raw_logo2));
|
||||
}
|
||||
|
||||
static uint32_t time;
|
||||
|
||||
bool oled_task_user(void) {
|
||||
// oled_clear();
|
||||
if (flage == false) {
|
||||
render_logo1();
|
||||
// time = sync_timer_read32();
|
||||
}
|
||||
if (flage) {
|
||||
// oled_clear();
|
||||
render_logo2();
|
||||
// time = 0;
|
||||
// time = sync_timer_read32();
|
||||
// flage = false;
|
||||
}
|
||||
// oled_scroll_right();
|
||||
// oled_scroll_set_speed(6);
|
||||
// oled_set_cursor(0, 0);
|
||||
// oled_advance_page(true);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
// uprintf("function: %s time: %ld\n", __func__, time);
|
||||
if (sync_timer_elapsed32(time) > 100) {
|
||||
flage = !flage;
|
||||
uprintf("function: %s flage: %d\n", __func__, flage);
|
||||
// time = 0;
|
||||
time = sync_timer_read32();
|
||||
}
|
||||
}
|
||||
|
||||
# endif
|
||||
|
||||
# if 1
|
||||
static void render_logo(void) {
|
||||
static const char PROGMEM raw_logo[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 192, 224, 224, 112, 112, 112, 112, 112, 112, 112, 96, 224, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 224, 224, 96, 112, 112, 112, 112, 112, 112, 112, 224, 224, 192, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 192, 224, 224, 112, 112, 112, 112, 112, 112, 112, 96, 224, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 224, 224, 96, 112, 112, 112, 112, 112, 112, 112, 224, 224, 192, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 248, 254, 31, 7, 3, 15, 14, 14, 254, 254, 254, 14, 142, 206, 228, 240, 112, 49, 1, 3, 15, 30, 28, 16, 0, 0, 0, 0, 0, 0, 128, 240, 252, 62, 15, 3, 13,
|
||||
14, 14, 14, 254, 254, 14, 14, 142, 204, 224, 112, 48, 17, 3, 7, 31, 30, 24, 0, 0, 0, 0, 0, 0, 0, 224, 248, 254, 31, 7, 3, 15, 14, 14, 254, 254, 254, 14, 142, 206, 228, 240, 112, 49, 1, 3, 15, 30, 28, 16, 0, 0, 0, 0, 0, 0, 128, 240, 252, 62, 15, 3, 13, 14, 14, 14, 254, 254, 254, 14, 142, 204, 224, 112, 48, 17, 3, 7, 31, 30, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 127, 255, 224, 128, 0, 0, 0, 0, 255, 255, 255, 15, 15, 31, 61, 120, 240, 192, 128, 128, 192, 224, 240, 32, 0, 0, 0, 0, 0, 0, 7, 63, 255, 240, 192, 128, 0, 0, 0, 0, 255, 255, 14, 7, 15, 31, 120, 240, 224, 192, 0, 128, 224, 240, 112, 0, 0, 0, 0, 0, 0, 0, 31, 127, 255, 224, 128, 0, 0, 0, 0, 255, 255, 255, 15, 15, 31, 61, 120, 240,
|
||||
224, 128, 128, 192, 224, 240, 32, 0, 0, 0, 0, 0, 0, 3, 63, 255, 240, 192, 128, 0, 0, 0, 0, 255, 255, 127, 7, 15, 31, 124, 240, 224, 192, 0, 128, 224, 240, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 7, 14, 30, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 14, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 14, 7, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 7, 14, 30, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 14, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 30, 14, 7, 7, 3, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 192, 224, 224, 112, 112, 112, 112, 112, 112, 112, 96, 224, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 224, 224, 96, 112, 112, 112, 112, 112, 112, 112, 224, 224, 192, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 192, 224, 224, 112, 112, 112, 112, 112, 112, 112, 96, 224, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 224, 224, 96, 112, 112, 112, 112, 112, 112, 112, 224, 224, 192, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 248, 254, 31, 7, 3, 15, 14, 14, 254, 254, 254, 14, 142, 206, 228, 240, 112, 49, 1, 3, 15, 30, 28, 16, 0, 0, 0, 0, 0, 0, 128, 240, 252, 62, 15, 3, 13, 14,
|
||||
14, 14, 254, 254, 14, 14, 142, 204, 224, 112, 48, 17, 3, 7, 31, 30, 24, 0, 0, 0, 0, 0, 0, 0, 224, 248, 254, 31, 7, 3, 15, 14, 14, 254, 254, 254, 14, 142, 206, 228, 240, 112, 49, 1, 3, 15, 30, 28, 16, 0, 0, 0, 0, 0, 0, 128, 240, 252, 62, 15, 3, 13, 14, 14, 14, 254, 254, 254, 14, 142, 204, 224, 112, 48, 17, 3, 7, 31, 30, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 127, 255, 224, 128, 0, 0, 0, 0, 255, 255, 255, 15, 15, 31, 61, 120, 240, 192, 128, 128, 192, 224, 240, 32, 0, 0, 0, 0, 0, 0, 7, 63, 255, 240, 192, 128, 0, 0, 0, 0, 255, 255, 14, 7, 15, 31, 120, 240, 224, 192, 0, 128, 224, 240, 112, 0, 0, 0, 0, 0, 0, 0, 31, 127, 255, 224, 128, 0, 0, 0, 0, 255, 255, 255, 15, 15, 31, 61, 120, 240, 224,
|
||||
128, 128, 192, 224, 240, 32, 0, 0, 0, 0, 0, 0, 3, 63, 255, 240, 192, 128, 0, 0, 0, 0, 255, 255, 127, 7, 15, 31, 124, 240, 224, 192, 0, 128, 224, 240, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 7, 14, 30, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 14, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 14, 7, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 7, 14, 30, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 14, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 30, 14, 7, 7, 3, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
oled_write_raw_P(raw_logo, sizeof(raw_logo));
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
// oled_set_cursor(32, 0);
|
||||
render_logo();
|
||||
|
||||
return false;
|
||||
}
|
||||
# endif // Keychron logo four
|
||||
|
||||
# if 0
|
||||
static void render_logo(void) {
|
||||
static const unsigned char PROGMEM raw_logo[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,192,192,192,224,224,224,224, 96,112,112,112,112,112,112,112,112,112,112,112,112,112,112,224,224,224,224,192,192,192,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,192,192,224,224,224,224, 96,112,112,112,112,112,112,112,112,112,112,112,112,112,112, 96,224,224,224,224,192,192,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,240,248,252,126, 31, 15, 7, 7, 3, 3, 13, 15, 14, 14, 14, 14, 14,254,254,254,254,254, 14, 14, 14,142,142,206,204,224,224,240,112,112, 48, 49, 1, 1, 3, 3, 7, 15, 31, 30, 28, 28, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,240,248,252,126, 30, 15, 7, 7, 3, 3, 5, 15, 14, 14, 14, 14, 14,254,254,254,254,254, 14, 14, 14,142,142,206,206,224,224,240,112,112, 48, 48, 17, 1, 3, 3, 7, 15, 15, 30, 30, 28, 24, 16, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 63,127,255,248,224,192,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,127, 14, 15, 7, 15, 15, 31, 29, 61,120,120,240,224,224,192,192,128, 0,128,128,192,224,240,240,112, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 63,127,255,252,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0,127,255,255,255,255, 14, 15, 7, 7, 15, 31, 31, 61,120,120,240,240,224,192,192,128, 0,128,128,192,224,240,240,112, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 7, 7, 7, 14, 14, 14, 28, 28, 28, 28, 28, 24, 56, 56, 56, 56, 56, 56, 56, 56, 56, 24, 28, 28, 28, 28, 28, 14, 14, 14, 15, 7, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 7, 7, 7, 15, 14, 14, 28, 28, 28, 28, 28, 24, 24, 56, 56, 56, 56, 56, 56, 56, 56, 24, 24, 28, 28, 28, 28, 14, 14, 14, 15, 7, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
oled_write_raw_P(raw_logo, sizeof(raw_logo));
|
||||
}
|
||||
# endif
|
||||
|
||||
# if 0
|
||||
static void render_logo(void) {
|
||||
static const char PROGMEM raw_logo[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,192,192,192,224,224,224,224, 96,112,112,112,112,112,112,112,112,112,112,112,112,112,112,224,224,224,224,192,192,192,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,192,192,224,224,224,224, 96,112,112,112,112,112,112,112,112,112,112,112,112,112,112, 96,224,224,224,224,192,192,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,240,248,252,126, 31, 15, 7, 7, 3, 3, 13, 15, 14, 14, 14, 14, 14,254,254,254,254,254, 14, 14, 14,142,142,206,204,224,224,240,112,112, 48, 49, 1, 1, 3, 3, 7, 15, 31, 30, 28, 28, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,240,248,252,126, 30, 15, 7, 7, 3, 3, 5, 15, 14, 14, 14, 14, 14,254,254,254,254,254, 14, 14, 14,142,142,206,206,224,224,240,112,112, 48, 48, 17, 1, 3, 3, 7, 15, 15, 30, 30, 28, 24, 16, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 63,127,255,248,224,192,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,127, 14, 15, 7, 15, 15, 31, 29, 61,120,120,240,224,224,192,192,128, 0,128,128,192,224,240,240,112, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 63,127,255,252,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0,127,255,255,255,255, 14, 15, 7, 7, 15, 31, 31, 61,120,120,240,240,224,192,192,128, 0,128,128,192,224,240,240,112, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 7, 7, 7, 14, 14, 14, 28, 28, 28, 28, 28, 24, 56, 56, 56, 56, 56, 56, 56, 56, 56, 24, 28, 28, 28, 28, 28, 14, 14, 14, 15, 7, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 7, 7, 7, 15, 14, 14, 28, 28, 28, 28, 28, 24, 24, 56, 56, 56, 56, 56, 56, 56, 56, 24, 24, 28, 28, 28, 28, 14, 14, 14, 15, 7, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
oled_write_raw_P(raw_logo, sizeof(raw_logo));
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
render_logo();
|
||||
|
||||
return false;
|
||||
}
|
||||
# endif
|
||||
|
||||
# if 0
|
||||
// static void render_logo(void) {
|
||||
// static const char PROGMEM raw_logo[] = {
|
||||
// 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
// 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
// 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
|
||||
// };
|
||||
// oled_write_raw_P(raw_logo, sizeof(raw_logo));
|
||||
// }
|
||||
|
||||
bool oled_task_user(void) {
|
||||
// render_logo();
|
||||
oled_write_P(PSTR("abcdefghijklmnopqrstuvwxyz"), false);
|
||||
return false;
|
||||
}
|
||||
# endif
|
||||
|
||||
# if 0
|
||||
|
||||
// static bool flage;
|
||||
static uint8_t count;
|
||||
|
||||
static void render_logo(void) {
|
||||
static const char PROGMEM raw_logo1[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,112,112,112,112,112,112, 96,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,224, 96,112,112,112,112,112,112,112,224,224,192,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,112,112,112,112,112,112, 96,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,224, 96,112,112,112,112,112,112,112,224,224,192,192,128, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0,224,248,254, 31, 7, 3, 15, 14, 14,254,254,254, 14,142,206,228,240,112, 49, 1, 3, 15, 30, 28, 16, 0, 0, 0, 0, 0, 0,128,240,252, 62, 15, 3, 13, 14, 14, 14,254,254, 14, 14,142,204,224,112, 48, 17, 3, 7, 31, 30, 24, 0, 0, 0, 0, 0, 0, 0,224,248,254, 31, 7, 3, 15, 14, 14,254,254,254, 14,142,206,228,240,112, 49, 1, 3, 15, 30, 28, 16, 0, 0, 0, 0, 0, 0,128,240,252, 62, 15, 3, 13, 14, 14, 14,254,254,254, 14,142,204,224,112, 48, 17, 3, 7, 31, 30, 24, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 31,127,255,224,128, 0, 0, 0, 0,255,255,255, 15, 15, 31, 61,120,240,192,128,128,192,224,240, 32, 0, 0, 0, 0, 0, 0, 7, 63,255,240,192,128, 0, 0, 0, 0,255,255, 14, 7, 15, 31,120,240,224,192, 0,128,224,240,112, 0, 0, 0, 0, 0, 0, 0, 31,127,255,224,128, 0, 0, 0, 0,255,255,255, 15, 15, 31, 61,120,240,224,128,128,192,224,240, 32, 0, 0, 0, 0, 0, 0, 3, 63,255,240,192,128, 0, 0, 0, 0,255,255,127, 7, 15, 31,124,240,224,192, 0,128,224,240,112, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 7, 14, 30, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 14, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 14, 7, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 7, 14, 30, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 14, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 14, 28, 28, 24, 56, 56, 56, 56, 24, 28, 28, 30, 14, 7, 7, 3, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
|
||||
static const char PROGMEM raw_logo2[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 192, 192, 192, 224, 224, 224, 224, 96, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 224, 224, 224, 224, 192, 192, 192, 192, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 192, 192, 192, 224, 224, 224, 224, 96, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 96, 224, 224, 224, 224, 192, 192, 192, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 240, 248, 252, 126, 31, 15, 7, 7, 3, 3, 13, 15, 14, 14, 14, 14, 14, 254, 254, 254, 254, 254, 14, 14, 14, 142, 142, 206, 204, 224, 224, 240,
|
||||
112, 112, 48, 49, 1, 1, 3, 3, 7, 15, 31, 30, 28, 28, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 240, 248, 252, 126, 30, 15, 7, 7, 3, 3, 5, 15, 14, 14, 14, 14, 14, 254, 254, 254, 254, 254, 14, 14, 14, 142, 142, 206, 206, 224, 224, 240, 112, 112, 48, 48, 17, 1, 3, 3, 7, 15, 15, 30, 30, 28, 24, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 63, 127, 255, 248, 224, 192, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 127, 14, 15, 7, 15, 15, 31, 29, 61, 120, 120, 240, 224, 224, 192, 192, 128, 0, 128, 128, 192, 224, 240, 240, 112, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 63, 127, 255, 252, 240, 224, 192, 128, 128, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 127, 255, 255, 255, 255, 14, 15, 7, 7, 15, 31, 31, 61, 120, 120, 240, 240, 224, 192, 192, 128, 0, 128, 128, 192, 224, 240, 240, 112, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 7, 7, 7, 14, 14, 14, 28, 28, 28, 28, 28, 24, 56, 56, 56, 56, 56, 56, 56, 56, 56, 24, 28, 28, 28, 28, 28, 14, 14, 14, 15, 7, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 7, 7, 7, 15, 14, 14, 28, 28, 28, 28, 28, 24, 24, 56, 56, 56, 56, 56, 56, 56, 56, 24, 24, 28, 28, 28, 28, 14, 14, 14, 15, 7, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
|
||||
static const char PROGMEM raw_logo3[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 192, 224, 240, 240, 240, 240, 240, 240, 240, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 224, 240, 0, 0, 240, 252, 254, 255, 255, 255, 1, 240, 252, 255, 255, 255, 255, 255, 255, 255, 255, 127, 31, 7, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 254, 254, 0, 0, 240, 248, 252, 30, 14, 14, 14, 14, 14, 14, 30, 252, 248, 240, 0, 0, 254, 254, 252, 28, 14, 14, 14, 14, 0, 0, 254, 254, 252, 28, 14, 14, 14, 14, 30, 252, 248, 240, 0, 0, 240, 248, 252, 222, 206, 206, 206, 206, 206, 206, 222, 252, 248, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 255, 255, 255, 254, 240, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 128, 128, 128, 192, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 255, 255, 255, 0, 0, 15, 31, 63, 120, 112, 112, 112, 112, 112, 112, 120, 63, 31, 15, 0, 0, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 127,
|
||||
127, 127, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 0, 15, 31, 63, 121, 113, 113, 113, 113, 113, 113, 121, 61, 29, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 3, 3, 1, 1, 3, 3, 7, 7, 7, 3, 3, 1, 3, 7, 7, 7, 7, 7, 7, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
const char *array[] = {raw_logo1, raw_logo2, raw_logo3};
|
||||
|
||||
// oled_write_raw_P(array[count], sizeof(array[0]));
|
||||
oled_write_raw_P(array[count], sizeof(raw_logo1));
|
||||
// oled_write_raw_P(raw_logo3, sizeof(raw_logo3));
|
||||
}
|
||||
|
||||
static uint32_t time;
|
||||
|
||||
bool oled_task_user(void) {
|
||||
// if (flage == false) {
|
||||
// render_logo1();
|
||||
// }
|
||||
// if (flage) {
|
||||
// render_logo2();
|
||||
// }
|
||||
render_logo();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
if (sync_timer_elapsed32(time) > 100) {
|
||||
// flage = !flage;
|
||||
count += 1;
|
||||
if (count == 3) {
|
||||
count = 0;
|
||||
}
|
||||
time = sync_timer_read32();
|
||||
}
|
||||
}
|
||||
# endif
|
||||
|
||||
# if 0
|
||||
static void render_kyria_logo(void) {
|
||||
static const char PROGMEM kyria_logo[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 192, 224, 240, 112, 120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56, 120, 112, 240, 224, 192, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 224, 240, 124, 62, 31, 15, 7, 3, 1, 128, 192, 224, 240, 120, 56, 60, 28, 30, 14, 14, 7, 7, 135, 231, 127, 31, 255, 255, 31, 127, 231, 135, 7, 7, 14,
|
||||
14, 30, 28, 60, 56, 120, 240, 224, 192, 128, 1, 3, 7, 15, 31, 62, 124, 240, 224, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 252, 255, 31, 7, 1, 0, 0, 192, 240, 252, 254, 255, 247, 243, 177, 176, 48, 48, 48, 48, 48, 48, 48, 120, 254, 135, 1, 0, 0, 255, 255, 0, 0, 1, 135, 254, 120, 48, 48, 48, 48, 48, 48, 48, 176, 177, 243, 247, 255, 254, 252, 240, 192, 0, 0, 1, 7, 31, 255, 252, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 254, 255, 255, 1, 1, 7, 30, 120, 225, 129, 131, 131, 134, 134, 140, 140, 152, 152, 177, 183, 254, 248, 224, 255, 255, 224, 248, 254, 183, 177, 152, 152, 140, 140, 134, 134, 131, 131, 129, 225, 120, 30, 7, 1, 1, 255, 255, 254, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 255, 255, 0, 0, 192, 192, 48, 48, 0, 0, 240, 240, 0, 0, 0, 0, 0, 0, 240, 240, 0, 0, 240, 240, 192, 192, 48, 48, 48, 48, 192, 192, 0, 0, 48, 48, 243, 243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 192, 192, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 127, 255, 255, 128, 128, 224, 120, 30, 135, 129, 193, 193, 97, 97, 49, 49, 25, 25, 141, 237, 127, 31, 7, 255, 255, 7, 31, 127, 237, 141, 25, 25, 49, 49, 97, 97, 193, 193, 129, 135, 30, 120, 224, 128, 128, 255, 255, 127, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 63, 255, 248, 224, 128, 0, 0, 3, 15, 63, 127, 255, 239, 207, 141, 13, 12, 12, 12, 12, 12, 12, 12, 30, 127, 225, 128, 0, 0, 255, 255, 0, 0, 128, 225, 127, 30, 12, 12,
|
||||
12, 12, 12, 12, 12, 13, 141, 207, 239, 255, 127, 63, 15, 3, 0, 0, 128, 224, 248, 255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62, 124, 248, 240, 224, 192, 128, 1, 3, 7, 15, 30, 28, 60, 56, 120, 112, 112, 224, 224, 225, 231, 254, 248, 255, 255, 248, 254, 231, 225, 224, 224, 112, 112, 120, 56, 60, 28, 30, 15, 7, 3, 1, 128, 192, 224, 240, 248, 124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56, 120, 112, 112, 112, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 112, 112, 112, 120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
render_kyria_logo();
|
||||
|
||||
return false;
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif // OLED_ENABLE
|
@ -23,7 +23,7 @@ RAW_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
EEPROM_DRIVER = wear_leveling
|
||||
WEAR_LEVELING_DRIVER = embedded_flash
|
||||
OLED_ENABLE = yes
|
||||
# OLED_ENABLE = yes
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
|
Loading…
Reference in New Issue
Block a user