mirror of
https://github.com/qmk/qmk_userspace.git
synced 2026-07-25 03:03:36 -04:00
Whole bunch of updates on an old branch
This commit is contained in:
parent
f6013b1c40
commit
b4fdcf7eb3
44 changed files with 2318 additions and 89 deletions
21
keyboards/doio/kb16/config.h
Normal file
21
keyboards/doio/kb16/config.h
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
/* Use the custom font */
|
||||||
|
#define OLED_FONT_H "./lib/glcdfont.c"
|
||||||
100
keyboards/doio/kb16/info.json
Normal file
100
keyboards/doio/kb16/info.json
Normal file
|
|
@ -0,0 +1,100 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "KB16-01",
|
||||||
|
"manufacturer": "DOIO",
|
||||||
|
"maintainer": "HorrorTroll",
|
||||||
|
"usb": {
|
||||||
|
"vid": "0xD010",
|
||||||
|
"pid": "0x1601",
|
||||||
|
"force_nkro": true
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"build": {
|
||||||
|
"lto": true
|
||||||
|
},
|
||||||
|
"rgb_matrix": {
|
||||||
|
"driver": "ws2812",
|
||||||
|
"max_brightness": 200,
|
||||||
|
"default": {
|
||||||
|
"animation": "cycle_up_down"
|
||||||
|
},
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 1], "x": 75, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 2], "x": 149, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 3], "x": 224, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 21, "flags": 1},
|
||||||
|
{"matrix": [1, 1], "x": 75, "y": 21, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 149, "y": 21, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 224, "y": 21, "flags": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 43, "flags": 1},
|
||||||
|
{"matrix": [2, 1], "x": 75, "y": 43, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 149, "y": 43, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 224, "y": 43, "flags": 1},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [3, 1], "x": 75, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [3, 2], "x": 149, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [3, 3], "x": 224, "y": 64, "flags": 1}
|
||||||
|
],
|
||||||
|
"animations": {
|
||||||
|
"alphas_mods": true,
|
||||||
|
"gradient_up_down": true,
|
||||||
|
"breathing": true,
|
||||||
|
"band_sat": true,
|
||||||
|
"band_val": true,
|
||||||
|
"band_pinwheel_sat": true,
|
||||||
|
"band_pinwheel_val": true,
|
||||||
|
"cycle_all": true,
|
||||||
|
"cycle_up_down": true,
|
||||||
|
"cycle_out_in": true,
|
||||||
|
"cycle_pinwheel": true,
|
||||||
|
"dual_beacon": true,
|
||||||
|
"rainbow_pinwheels": true,
|
||||||
|
"raindrops": true,
|
||||||
|
"jellybean_raindrops": true,
|
||||||
|
"hue_breathing": true,
|
||||||
|
"hue_pendulum": true,
|
||||||
|
"hue_wave": true,
|
||||||
|
"pixel_fractal": true,
|
||||||
|
"pixel_flow": true,
|
||||||
|
"pixel_rain": true,
|
||||||
|
"solid_reactive_simple": true,
|
||||||
|
"solid_reactive": true,
|
||||||
|
"solid_reactive_multiwide": true,
|
||||||
|
"solid_reactive_multicross": true,
|
||||||
|
"solid_reactive_multinexus": true,
|
||||||
|
"multisplash": true,
|
||||||
|
"solid_multisplash": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [0, 4], "x": 4.75, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||||
|
|
||||||
|
{"matrix": [1, 4], "x": 6, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||||
|
|
||||||
|
{"matrix": [2, 4], "x": 5.375, "y": 2.5},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3, "y": 3}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -48,22 +48,3 @@
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef RGB_MATRIX_ENABLE
|
|
||||||
led_config_t g_led_config = { {
|
|
||||||
{ 0, 1, 2, 3, NO_LED },
|
|
||||||
{ 4, 5, 6, 7, NO_LED },
|
|
||||||
{ 8, 9, 10, 11, NO_LED },
|
|
||||||
{ 12, 13, 14, 15, NO_LED }
|
|
||||||
}, {
|
|
||||||
{0 , 0}, {75 , 0}, {149, 0}, {224, 0},
|
|
||||||
{0 , 21}, {75 , 21}, {149, 21}, {224, 21},
|
|
||||||
{0 , 43}, {75 , 43}, {149, 43}, {224, 43},
|
|
||||||
{0 , 64}, {75 , 64}, {149, 64}, {224, 64},
|
|
||||||
}, {
|
|
||||||
1, 1, 1, 1,
|
|
||||||
1, 4, 4, 1,
|
|
||||||
1, 4, 4, 1,
|
|
||||||
1, 1, 1, 1,
|
|
||||||
} };
|
|
||||||
#endif
|
|
||||||
|
|
|
||||||
140
keyboards/doio/kb16/keymaps/default/keymap.c
Normal file
140
keyboards/doio/kb16/keymaps/default/keymap.c
Normal file
|
|
@ -0,0 +1,140 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
// OLED animation
|
||||||
|
#include "lib/layer_status/layer_status.h"
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
|
||||||
|
enum layer_names {
|
||||||
|
_BASE,
|
||||||
|
_FN,
|
||||||
|
_FN1,
|
||||||
|
_FN2
|
||||||
|
};
|
||||||
|
|
||||||
|
// enum layer_keycodes { };
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ 5 │ 6 │ 7 │ 8 │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ 9 │ 0 │ ↑ │Ent│ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │Mut│
|
||||||
|
│Fn2│ ← │ ↓ │ → │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ ! │ @ │ # │ $ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ % │ ^ │ & │ * │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ ( │ ) │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_BASE] = LAYOUT(
|
||||||
|
KC_1, KC_2, KC_3, KC_4, KC_MPLY,
|
||||||
|
KC_5, KC_6, KC_7, KC_8, TO(_FN),
|
||||||
|
KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
|
||||||
|
MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ │ │ │ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ │ │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, TO(_FN1),
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ │ │ │ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ │ │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN1] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, TO(_FN2),
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│Spi│Spd│ │ │ │ │ │TO0│
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│Sai│Sad│ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│Tog│Mod│Hui│ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │Vai│Hud│Vad│ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN2] = LAYOUT(
|
||||||
|
RM_SPDU, RM_SPDD, _______, QK_BOOT, _______,
|
||||||
|
RM_SATU, RM_SATD, _______, _______, TO(_BASE),
|
||||||
|
RM_TOGG, RM_NEXT, RM_HUEU, _______, _______,
|
||||||
|
_______, RM_VALU, RM_HUED, RM_VALD
|
||||||
|
),
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
bool oled_task_user(void) {
|
||||||
|
render_layer_status();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ENCODER_MAP_ENABLE
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
|
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
};
|
||||||
|
#endif
|
||||||
218
keyboards/doio/kb16/keymaps/personal/keymap.c
Normal file
218
keyboards/doio/kb16/keymaps/personal/keymap.c
Normal file
|
|
@ -0,0 +1,218 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
#include "print.h"
|
||||||
|
|
||||||
|
// OLED animation
|
||||||
|
#include "lib/layer_status/layer_status.h"
|
||||||
|
|
||||||
|
void keyboard_post_init_user(void) {
|
||||||
|
debug_enable=true;
|
||||||
|
debug_matrix=true;
|
||||||
|
debug_keyboard=true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define _BASE 0
|
||||||
|
#define _FN 1
|
||||||
|
#define _FN1 2
|
||||||
|
#define _FN2 3
|
||||||
|
|
||||||
|
enum custom_keycodes {
|
||||||
|
DEFAULT = SAFE_RANGE,
|
||||||
|
KC_JIGG
|
||||||
|
}
|
||||||
|
|
||||||
|
__attribute__((weak))
|
||||||
|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
|
||||||
|
|
||||||
|
__attribute__((weak))
|
||||||
|
bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { return true; }
|
||||||
|
|
||||||
|
/*declare boolean for jiggler*/
|
||||||
|
bool is_jiggling = false;
|
||||||
|
|
||||||
|
/*timers*/
|
||||||
|
uint32_t idle_timeout = 30000; // (after 30s)
|
||||||
|
uint32_t mouse_interval = 10000; // (every 10s)
|
||||||
|
|
||||||
|
static uint32_t idle_callback(uint32_t trigger_time, void* cb_arg) {
|
||||||
|
// now idle
|
||||||
|
if(is_jiggling) {
|
||||||
|
#ifdef CONSOLE_ENABLE
|
||||||
|
dprintf("sending: %s\n", "X_F15");
|
||||||
|
#endif
|
||||||
|
SEND_STRING(SS_TAP(X_F15));
|
||||||
|
}
|
||||||
|
return mouse_interval;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
|
||||||
|
// on every key event start or extend `idle_callback()` deferred execution after IDLE_TIMEOUT_MS
|
||||||
|
static deferred_token idle_token = INVALID_DEFERRED_TOKEN;
|
||||||
|
|
||||||
|
#ifdef CONSOLE_ENABLE
|
||||||
|
dprintf("deferred_exec: %s\n", !extend_deferred_exec(idle_token, idle_timeout) ? "true" : "false");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!extend_deferred_exec(idle_token, idle_timeout)) {
|
||||||
|
idle_token = defer_exec(idle_timeout, idle_callback, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef CONSOLE_ENABLE
|
||||||
|
// uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %u, time: %5u, int: %u, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
switch (keycode) {
|
||||||
|
case KC_JIGG:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
is_jiggling = !is_jiggling; /*flip boolean to true*/
|
||||||
|
#ifdef CONSOLE_ENABLE
|
||||||
|
dprintf("is_jiggling: %s\n", is_jiggling ? "true" : "false");
|
||||||
|
#endif
|
||||||
|
if(is_jiggling) {
|
||||||
|
layer_on(_FN);
|
||||||
|
} else {
|
||||||
|
layer_off(_FN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// return true;
|
||||||
|
return process_record_keymap(keycode, record) && process_record_secrets(keycode, record);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
|
||||||
|
// enum layer_names {
|
||||||
|
// _BASE,
|
||||||
|
// _FN,
|
||||||
|
// _FN1,
|
||||||
|
// _FN2
|
||||||
|
// };
|
||||||
|
|
||||||
|
// enum layer_keycodes { };
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ 5 │ 6 │ 7 │ 8 │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ 9 │ 0 │ ↑ │Ent│ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │Mut│
|
||||||
|
│Fn2│ ← │ ↓ │ → │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ ! │ @ │ # │ $ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ % │ ^ │ & │ * │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ ( │ ) │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_BASE] = LAYOUT(
|
||||||
|
KC_1, KC_2, KC_3, KC_4, KC_MPLY,
|
||||||
|
KC_5, KC_6, KC_7, KC_8, TO(_FN),
|
||||||
|
KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
|
||||||
|
MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ │ │ │ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ │ │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
_______, _______, _______, KC_JIGG, _______,
|
||||||
|
_______, _______, _______, _______, TO(_FN1),
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ │ │ │ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ │ │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN1] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, TO(_FN2),
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│Spi│Spd│ │ │ │ │ │TO0│
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│Sai│Sad│ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│Tog│Mod│Hui│ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │Vai│Hud│Vad│ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN2] = LAYOUT(
|
||||||
|
RM_SPDU, RM_SPDD, _______, QK_BOOT, _______,
|
||||||
|
RM_SATU, RM_SATD, _______, _______, TO(_BASE),
|
||||||
|
RM_TOGG, RM_NEXT, RM_HUEU, _______, _______,
|
||||||
|
_______, RM_VALU, RM_HUED, RM_VALD
|
||||||
|
),
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
bool oled_task_user(void) {
|
||||||
|
render_layer_status();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ENCODER_MAP_ENABLE
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
|
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
};
|
||||||
|
#endif
|
||||||
6
keyboards/doio/kb16/keymaps/personal/rules.mk
Normal file
6
keyboards/doio/kb16/keymaps/personal/rules.mk
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
# Encoder enabled
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
||||||
|
CONSOLE_ENABLE = yes
|
||||||
|
COMMAND_ENABLE = no
|
||||||
|
DEFERRED_EXEC_ENABLE = yes
|
||||||
|
LINK_TIME_OPTIMIZATION_ENABLE = yes
|
||||||
|
|
@ -14,7 +14,13 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "bongocat.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "oled_driver.h"
|
||||||
|
#include "progmem.h"
|
||||||
|
#include "timer.h"
|
||||||
|
#include "wpm.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
// WPM-responsive animation stuff here
|
// WPM-responsive animation stuff here
|
||||||
#define IDLE_FRAMES 5
|
#define IDLE_FRAMES 5
|
||||||
|
|
@ -28,7 +34,6 @@
|
||||||
#define ANIM_FRAME_RATIO 2.5 // how aggressively animation speeds up with wpm
|
#define ANIM_FRAME_RATIO 2.5 // how aggressively animation speeds up with wpm
|
||||||
// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
|
// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
|
||||||
#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
|
#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
|
||||||
#define MAX(x, y) (((x) > (y)) ? (x) : (y)) // Math.max macro
|
|
||||||
|
|
||||||
uint32_t curr_anim_duration = 0; // variable animation duration
|
uint32_t curr_anim_duration = 0; // variable animation duration
|
||||||
uint32_t bongo_timer = 0;
|
uint32_t bongo_timer = 0;
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,9 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "oled_driver.h"
|
||||||
|
#include "action_layer.h"
|
||||||
|
#include "progmem.h"
|
||||||
|
|
||||||
#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
|
#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,8 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "oled_driver.h"
|
||||||
|
#include "progmem.h"
|
||||||
|
|
||||||
#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
|
#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
|
||||||
|
|
||||||
|
|
|
||||||
33
keyboards/doio/kb16/rev1/keyboard.json
Normal file
33
keyboards/doio/kb16/rev1/keyboard.json
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.0.1"
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"oled": true,
|
||||||
|
"rgb_matrix": true,
|
||||||
|
"encoder": true,
|
||||||
|
"grave_esc": false,
|
||||||
|
"space_cadet": false,
|
||||||
|
"magic": false
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F5", "F4", "F1", "F0", "B7"],
|
||||||
|
"rows": ["D5", "D4", "D3", "D2"]
|
||||||
|
},
|
||||||
|
"encoder": {
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "F7", "pin_b": "E6"},
|
||||||
|
{"pin_a": "C7", "pin_b": "C6"},
|
||||||
|
{"pin_a": "D7", "pin_b": "D6"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "F6"
|
||||||
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"bootloader": "atmel-dfu"
|
||||||
|
}
|
||||||
30
keyboards/doio/kb16/rev1/readme.md
Normal file
30
keyboards/doio/kb16/rev1/readme.md
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
# KB16-01 (Revision 1)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A macropad that have 16-key keyboard made by DOIO, which controlled by an Atmega32u4 chipset. The keyboard features per-key RGB, 3 encoder and an OLED screen for displaying useful information.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll)
|
||||||
|
* Hardware Supported: Atmega32u4
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
`make doio/kb16/rev1:default`
|
||||||
|
or with the qmk cli:
|
||||||
|
`qmk compile -kb doio/kb16/rev1 -km default`
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
`make doio/kb16/rev1:default:flash`
|
||||||
|
or with the qmk cli:
|
||||||
|
`qmk flash -kb doio/kb16/rev1 -km default`
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (1! key) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||||
2
keyboards/doio/kb16/rev1/rules.mk
Normal file
2
keyboards/doio/kb16/rev1/rules.mk
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
SRC += ./lib/layer_status/layer_status.c
|
||||||
|
SRC += ./lib/logo.c
|
||||||
|
|
@ -22,46 +22,4 @@
|
||||||
#define I2C1_SCL_PIN B10
|
#define I2C1_SCL_PIN B10
|
||||||
#define I2C1_SDA_PIN B11
|
#define I2C1_SDA_PIN B11
|
||||||
#define I2C_DRIVER I2CD2
|
#define I2C_DRIVER I2CD2
|
||||||
|
|
||||||
/* Use the custom font */
|
|
||||||
#define OLED_FONT_H "./lib/glcdfont.c"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef RGB_MATRIX_ENABLE
|
|
||||||
/* RGB Matrix config */
|
|
||||||
#define RGB_MATRIX_LED_COUNT 16
|
|
||||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
|
|
||||||
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN
|
|
||||||
#define RGB_MATRIX_KEYPRESSES
|
|
||||||
|
|
||||||
/* RGB Matrix effect */
|
|
||||||
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
|
||||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
|
||||||
#define ENABLE_RGB_MATRIX_BREATHING
|
|
||||||
#define ENABLE_RGB_MATRIX_BAND_SAT
|
|
||||||
#define ENABLE_RGB_MATRIX_BAND_VAL
|
|
||||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
|
||||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
|
||||||
#define ENABLE_RGB_MATRIX_CYCLE_ALL
|
|
||||||
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
|
||||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
|
||||||
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
|
||||||
#define ENABLE_RGB_MATRIX_DUAL_BEACON
|
|
||||||
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
|
||||||
#define ENABLE_RGB_MATRIX_RAINDROPS
|
|
||||||
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
|
||||||
#define ENABLE_RGB_MATRIX_HUE_BREATHING
|
|
||||||
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
|
||||||
#define ENABLE_RGB_MATRIX_HUE_WAVE
|
|
||||||
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
|
||||||
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
|
||||||
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
|
||||||
|
|
||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
|
||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
|
||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
|
||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
|
||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
|
||||||
#define ENABLE_RGB_MATRIX_MULTISPLASH
|
|
||||||
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
30
keyboards/doio/kb16/rev2/keyboard.json
Normal file
30
keyboards/doio/kb16/rev2/keyboard.json
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.0.2"
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["B14", "B13", "B12", "B0", "A7"],
|
||||||
|
"rows": ["B3", "B4", "B9", "B8"]
|
||||||
|
},
|
||||||
|
"encoder": {
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "B5", "pin_b": "B6"},
|
||||||
|
{"pin_a": "A1", "pin_b": "A2"},
|
||||||
|
{"pin_a": "A3", "pin_b": "A4"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "A10"
|
||||||
|
},
|
||||||
|
"processor": "STM32F103",
|
||||||
|
"bootloader": "stm32duino",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"oled": true,
|
||||||
|
"rgb_matrix": true,
|
||||||
|
"encoder": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,25 +3,3 @@ SRC += ./lib/logo.c
|
||||||
|
|
||||||
# Configure for 128K flash
|
# Configure for 128K flash
|
||||||
MCU_LDSCRIPT = STM32F103xB
|
MCU_LDSCRIPT = STM32F103xB
|
||||||
|
|
||||||
# Build Options
|
|
||||||
# change yes to no to disable
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
|
|
||||||
# OLED enabled
|
|
||||||
OLED_ENABLE = yes
|
|
||||||
|
|
||||||
# RGB Matrix enabled
|
|
||||||
RGB_MATRIX_ENABLE = yes
|
|
||||||
|
|
||||||
# Encoder enabled
|
|
||||||
ENCODER_ENABLE = yes
|
|
||||||
|
|
|
||||||
69
keyboards/doio_old/kb16/kb16.c
Normal file
69
keyboards/doio_old/kb16/kb16.c
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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 "quantum.h"
|
||||||
|
|
||||||
|
// OLED animation
|
||||||
|
#include "./lib/logo.h"
|
||||||
|
|
||||||
|
// Default timeout for displaying boot logo.
|
||||||
|
#ifndef OLED_LOGO_TIMEOUT
|
||||||
|
#define OLED_LOGO_TIMEOUT 5000
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
uint16_t startup_timer;
|
||||||
|
|
||||||
|
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||||
|
startup_timer = timer_read();
|
||||||
|
|
||||||
|
return rotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool oled_task_kb(void) {
|
||||||
|
static bool finished_logo = false;
|
||||||
|
|
||||||
|
if ((timer_elapsed(startup_timer) < OLED_LOGO_TIMEOUT) && !finished_logo) {
|
||||||
|
render_logo();
|
||||||
|
} else {
|
||||||
|
finished_logo = true;
|
||||||
|
if (!oled_task_user()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
led_config_t g_led_config = { {
|
||||||
|
{ 0, 1, 2, 3, NO_LED },
|
||||||
|
{ 4, 5, 6, 7, NO_LED },
|
||||||
|
{ 8, 9, 10, 11, NO_LED },
|
||||||
|
{ 12, 13, 14, 15, NO_LED }
|
||||||
|
}, {
|
||||||
|
{0 , 0}, {75 , 0}, {149, 0}, {224, 0},
|
||||||
|
{0 , 21}, {75 , 21}, {149, 21}, {224, 21},
|
||||||
|
{0 , 43}, {75 , 43}, {149, 43}, {224, 43},
|
||||||
|
{0 , 64}, {75 , 64}, {149, 64}, {224, 64},
|
||||||
|
}, {
|
||||||
|
1, 1, 1, 1,
|
||||||
|
1, 4, 4, 1,
|
||||||
|
1, 4, 4, 1,
|
||||||
|
1, 1, 1, 1,
|
||||||
|
} };
|
||||||
|
#endif
|
||||||
378
keyboards/doio_old/kb16/lib/bongocat/bongocat.c
Normal file
378
keyboards/doio_old/kb16/lib/bongocat/bongocat.c
Normal file
|
|
@ -0,0 +1,378 @@
|
||||||
|
/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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 "quantum.h"
|
||||||
|
|
||||||
|
// WPM-responsive animation stuff here
|
||||||
|
#define IDLE_FRAMES 5
|
||||||
|
#define IDLE_SPEED 10 // below this wpm value your animation will idle
|
||||||
|
// #define PREP_FRAMES 1 // uncomment if >1
|
||||||
|
#define TAP_FRAMES 2
|
||||||
|
#define ANIM_WPM_LOWER 20 // above this wpm value typing animation to trigger
|
||||||
|
#define ANIM_FRAME_DURATION_MAX 450 // longest animation duration in ms
|
||||||
|
#define ANIM_FRAME_DURATION_MIN 100 // shortest animation duration in ms
|
||||||
|
#define IDLE_FRAME_DURATION 300 // how long each frame lasts in ms
|
||||||
|
#define ANIM_FRAME_RATIO 2.5 // how aggressively animation speeds up with wpm
|
||||||
|
// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
|
||||||
|
#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
|
||||||
|
#define MAX(x, y) (((x) > (y)) ? (x) : (y)) // Math.max macro
|
||||||
|
|
||||||
|
uint32_t curr_anim_duration = 0; // variable animation duration
|
||||||
|
uint32_t bongo_timer = 0;
|
||||||
|
uint32_t bongo_sleep = 0;
|
||||||
|
uint8_t current_idle_frame = 0;
|
||||||
|
// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
|
||||||
|
uint8_t current_tap_frame = 0;
|
||||||
|
|
||||||
|
// Code containing pixel art, contains:
|
||||||
|
// 5 idle frames, 1 prep frame, and 2 tap frames
|
||||||
|
|
||||||
|
// To make your own pixel art:
|
||||||
|
// save a png/jpeg of an 128x32 image (resource: https://www.pixilart.com/draw )
|
||||||
|
// follow this guide up to and including "CONVERT YOUR IMAGE" https://docs.splitkb.com/hc/en-us/articles/360013811280-How-do-I-convert-an-image-for-use-on-an-OLED-display-
|
||||||
|
// replace numbers in brackets with your own
|
||||||
|
// if you start getting errors when compiling make sure you didn't accedentally delete a bracket
|
||||||
|
void render_bongocat(void) {
|
||||||
|
static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
|
||||||
|
{
|
||||||
|
//Idle 1 - 128x32
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 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, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
|
||||||
|
0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80,
|
||||||
|
0x80, 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,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
|
||||||
|
0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 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, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
|
||||||
|
0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 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, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
|
||||||
|
0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
|
||||||
|
0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
|
||||||
|
0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
|
||||||
|
0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
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
|
||||||
|
},
|
||||||
|
{
|
||||||
|
//Idle 2 - 128x32
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 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, 0x80, 0x80, 0xc0, 0xe0, 0xf0,
|
||||||
|
0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 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,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0xff,
|
||||||
|
0xff, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 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, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
|
||||||
|
0x9f, 0x9f, 0x1e, 0x1e, 0x3f, 0x3d, 0x3d, 0x3e, 0x7f, 0x7f, 0x7f, 0x7f, 0xf9, 0xf9, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 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, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
|
||||||
|
0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
|
||||||
|
0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
|
||||||
|
0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
|
||||||
|
0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
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
|
||||||
|
},
|
||||||
|
{
|
||||||
|
//Idle 3 - 128x32
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 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, 0x80, 0x80, 0xc0, 0xe0,
|
||||||
|
0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 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,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0xff,
|
||||||
|
0xff, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0x7e, 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, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
|
||||||
|
0x9f, 0x9f, 0x1e, 0x1e, 0x3f, 0x3d, 0x3d, 0x3e, 0x7f, 0x7f, 0x7f, 0x7f, 0xf9, 0xf9, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xc0, 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, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
|
||||||
|
0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
|
||||||
|
0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
|
||||||
|
0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
|
||||||
|
0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
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
|
||||||
|
},
|
||||||
|
{
|
||||||
|
//Idle 4 - 128x32
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 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, 0x80, 0x80, 0xc0, 0xe0,
|
||||||
|
0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 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,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
|
||||||
|
0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xfe, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0x3c, 0x1c, 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, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
|
||||||
|
0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 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, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
|
||||||
|
0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
|
||||||
|
0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
|
||||||
|
0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
|
||||||
|
0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
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
|
||||||
|
},
|
||||||
|
{
|
||||||
|
//Idle 5 - 128x32
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 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, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
|
||||||
|
0xf8, 0xfc, 0xfe, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80,
|
||||||
|
0x80, 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,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
|
||||||
|
0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x0f, 0x06, 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, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
|
||||||
|
0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 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, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
|
||||||
|
0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
|
||||||
|
0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
|
||||||
|
0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
|
||||||
|
0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
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
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static const char PROGMEM prep[][ANIM_SIZE] = {
|
||||||
|
{
|
||||||
|
//Prepare - 128x32
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 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, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
|
||||||
|
0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 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,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0xf0, 0xf8,
|
||||||
|
0xdc, 0x36, 0x3e, 0xee, 0xfc, 0xe0, 0x9c, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
|
||||||
|
0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0x7e, 0xbe, 0xbc, 0xbc, 0x7c, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 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, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x44, 0xc4, 0xc4, 0x68, 0x78,
|
||||||
|
0x59, 0x89, 0x91, 0x91, 0xd3, 0xf3, 0xa3, 0x23, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
|
||||||
|
0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0x81,
|
||||||
|
0xfa, 0xff, 0xe6, 0xe7, 0xfd, 0xff, 0xfc, 0xf3, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 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, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
|
||||||
|
0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x13, 0x12, 0x3c,
|
||||||
|
0x2c, 0x26, 0x27, 0x45, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
|
||||||
|
0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x34, 0x3c, 0x2c, 0x44, 0xc8, 0xc8,
|
||||||
|
0xe9, 0xb9, 0x11, 0x11, 0x13, 0x93, 0xe3, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
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
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
|
||||||
|
{
|
||||||
|
//Tap left - 128x32
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 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, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
|
||||||
|
0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 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,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0xf0, 0xf8,
|
||||||
|
0xdc, 0x36, 0x3e, 0xee, 0xfc, 0xe0, 0x9c, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
|
||||||
|
0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x80, 0x80, 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, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x30, 0x38, 0x2c, 0x44, 0xc4, 0xc4, 0x68, 0x78,
|
||||||
|
0x59, 0x89, 0x91, 0x91, 0xd3, 0xf3, 0xa3, 0x23, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
|
||||||
|
0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 0x00, 0x00,
|
||||||
|
0x3f, 0x1f, 0x07, 0x83, 0xc0, 0xe0, 0xe0, 0xc0, 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, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
|
||||||
|
0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x13, 0x12, 0x3c,
|
||||||
|
0x2c, 0x26, 0x27, 0x45, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
|
||||||
|
0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x24, 0x18, 0x3c, 0x7e, 0x7f, 0x7f,
|
||||||
|
0x7f, 0xbf, 0x3f, 0x1f, 0x1f, 0x8f, 0xe7, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
|
||||||
|
0x10, 0x10, 0x11, 0x11, 0x21, 0x23, 0x23, 0x21, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
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
|
||||||
|
},
|
||||||
|
{
|
||||||
|
//Tap right - 128x32
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xce, 0x9c, 0xf8, 0xfc, 0xfe, 0x80, 0xe0, 0x20, 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, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xf0,
|
||||||
|
0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 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,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x38, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0x31, 0x00, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0xa0, 0xa0, 0x20, 0x20, 0x40, 0x46, 0x4f, 0x5f, 0x9f, 0x9c, 0x90, 0x80,
|
||||||
|
0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff,
|
||||||
|
0xff, 0xbf, 0x7f, 0x7f, 0xbf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0x7e, 0xbe, 0xbc, 0xbc, 0x7c, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x3f, 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, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x07, 0x0f, 0x8f, 0xc7, 0xe3, 0x31, 0x38, 0x2c, 0x04, 0x64, 0xf8, 0xfe, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x8f, 0x27, 0x27, 0x27, 0xc7, 0xc7, 0x4f, 0x4f, 0x8f, 0x8f,
|
||||||
|
0x9f, 0x9f, 0x1f, 0x1f, 0x3f, 0x3e, 0x3e, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfc, 0xfc, 0xff, 0x81,
|
||||||
|
0xfa, 0xff, 0xe6, 0xe7, 0xfd, 0xff, 0xfc, 0xf3, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xe0, 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, 0x80, 0xc0, 0x60, 0x30, 0x10, 0x18, 0x08, 0x08, 0x08, 0x18, 0x10, 0x30,
|
||||||
|
0x60, 0x40, 0xc0, 0x86, 0x87, 0x85, 0xc4, 0x49, 0x69, 0x3e, 0x0e, 0x13, 0x11, 0x12, 0x12, 0x3d,
|
||||||
|
0x2d, 0x25, 0x26, 0x44, 0x68, 0x78, 0x58, 0x9d, 0x97, 0x93, 0xe3, 0x62, 0x34, 0x3c, 0x2c, 0x26,
|
||||||
|
0xc7, 0xc5, 0x69, 0x39, 0x19, 0x1d, 0x36, 0xa2, 0xe2, 0x62, 0x34, 0x3c, 0x2c, 0x44, 0xc8, 0xc8,
|
||||||
|
0xe9, 0xb9, 0x11, 0x11, 0x13, 0x93, 0xe3, 0x63, 0x27, 0x27, 0x47, 0x47, 0xcf, 0xcf, 0x0f, 0x08,
|
||||||
|
0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
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
|
||||||
|
void animation_phase(void) {
|
||||||
|
if (get_current_wpm() <= IDLE_SPEED) {
|
||||||
|
current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
|
||||||
|
oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < ANIM_WPM_LOWER) {
|
||||||
|
// oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1
|
||||||
|
oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
|
||||||
|
}
|
||||||
|
|
||||||
|
if (get_current_wpm() >= ANIM_WPM_LOWER) {
|
||||||
|
current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
|
||||||
|
oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// variable animation duration. Don't want this value to get near zero as it'll bug out.
|
||||||
|
curr_anim_duration = MAX(ANIM_FRAME_DURATION_MIN, ANIM_FRAME_DURATION_MAX - ANIM_FRAME_RATIO * get_current_wpm());
|
||||||
|
|
||||||
|
if (get_current_wpm() > ANIM_WPM_LOWER) {
|
||||||
|
oled_on(); // not essential but turns on animation OLED with any alpha keypress
|
||||||
|
|
||||||
|
if (timer_elapsed32(bongo_timer) > curr_anim_duration) {
|
||||||
|
bongo_timer = timer_read32();
|
||||||
|
animation_phase();
|
||||||
|
}
|
||||||
|
|
||||||
|
bongo_sleep = timer_read32();
|
||||||
|
} else {
|
||||||
|
if (timer_elapsed32(bongo_sleep) > OLED_TIMEOUT) {
|
||||||
|
oled_off();
|
||||||
|
} else {
|
||||||
|
if (timer_elapsed32(bongo_timer) > IDLE_FRAME_DURATION) {
|
||||||
|
bongo_timer = timer_read32();
|
||||||
|
animation_phase();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
19
keyboards/doio_old/kb16/lib/bongocat/bongocat.h
Normal file
19
keyboards/doio_old/kb16/lib/bongocat/bongocat.h
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
void render_bongocat(void);
|
||||||
249
keyboards/doio_old/kb16/lib/glcdfont.c
Normal file
249
keyboards/doio_old/kb16/lib/glcdfont.c
Normal file
|
|
@ -0,0 +1,249 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
|
||||||
|
// See gfxfont.h for newer custom bitmap font info.
|
||||||
|
|
||||||
|
#include "progmem.h"
|
||||||
|
|
||||||
|
// Standard ASCII 5x7 font
|
||||||
|
const unsigned char font[] PROGMEM = {
|
||||||
|
0x07, 0x08, 0x7F, 0x08, 0x07, 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,
|
||||||
|
0x2A, 0x1C, 0x77, 0x1C, 0x2A, 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, 0x3E, 0x04, 0x08, 0x00,
|
||||||
|
0x08, 0x10, 0x3E, 0x10, 0x08, 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,
|
||||||
|
0x41, 0x22, 0x14, 0x08, 0x00, 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, 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, 0x38, 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,
|
||||||
|
0x10, 0x38, 0x10, 0x10, 0x1C, 0x00,
|
||||||
|
0x0C, 0x7A, 0x41, 0x7A, 0x0C, 0x00,
|
||||||
|
0x18, 0x2F, 0x41, 0x2F, 0x18, 0x00,
|
||||||
|
0x22, 0x72, 0x22, 0x27, 0x22, 0x00,
|
||||||
|
0x08, 0x1C, 0x08, 0x08, 0x08, 0x00,
|
||||||
|
0x08, 0x08, 0x38, 0x20, 0x28, 0x28,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x2A, 0x2A, 0x2A, 0x00, 0x00,
|
||||||
|
0x4E, 0x46, 0x4A, 0x50, 0x2F, 0x00,
|
||||||
|
0x3E, 0x45, 0x55, 0x51, 0x3E, 0x00,
|
||||||
|
0x48, 0x50, 0x7E, 0x50, 0x48, 0x00,
|
||||||
|
0x3E, 0x49, 0x71, 0x49, 0x3E, 0x00,
|
||||||
|
0x10, 0x22, 0x4F, 0x20, 0x10, 0x00,
|
||||||
|
0x0E, 0x06, 0x0A, 0x10, 0x20, 0x00,
|
||||||
|
0x20, 0x10, 0x0A, 0x06, 0x0E, 0x00,
|
||||||
|
0x08, 0x08, 0x08, 0x1C, 0x08, 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,
|
||||||
|
0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
|
||||||
|
0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
|
||||||
|
0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
|
||||||
|
0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
|
||||||
|
0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
|
||||||
|
0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
|
||||||
|
0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
|
||||||
|
0xDE, 0xD7, 0xDC, 0x00, 0xC0, 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, 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,
|
||||||
|
0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
|
||||||
|
0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
|
||||||
|
0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
|
||||||
|
0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
|
||||||
|
0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
|
||||||
|
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, 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, 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,
|
||||||
|
};
|
||||||
167
keyboards/doio_old/kb16/lib/layer_status/layer_status.c
Normal file
167
keyboards/doio_old/kb16/lib/layer_status/layer_status.c
Normal file
|
|
@ -0,0 +1,167 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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 "quantum.h"
|
||||||
|
|
||||||
|
#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
|
||||||
|
|
||||||
|
void render_layer_status(void) {
|
||||||
|
static const char PROGMEM layer_status[][ANIM_SIZE] = {
|
||||||
|
{
|
||||||
|
//Layer 1
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||||
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 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, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf1, 0x01, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0x9e, 0x9e, 0x9e, 0x86, 0x86, 0x86,
|
||||||
|
0x86, 0x86, 0xc6, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
|
||||||
|
0x86, 0x86, 0x86, 0xf6, 0xfe, 0xfe, 0xfe, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xfe, 0xfe, 0x3e, 0x02, 0x00,
|
||||||
|
0x00, 0x80, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x6f, 0x61, 0x61, 0x61, 0x61,
|
||||||
|
0x61, 0x61, 0x61, 0x61, 0x61, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
|
||||||
|
0x61, 0x61, 0x79, 0x7f, 0x7f, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x0f, 0x0f, 0x0d, 0x0c, 0x0c, 0x0c,
|
||||||
|
0x4c, 0x7f, 0x7f, 0x7f, 0x7f, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||||
|
0x0f, 0x0f, 0x0f, 0x0f, 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, 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
|
||||||
|
},
|
||||||
|
{
|
||||||
|
//Layer 2
|
||||||
|
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, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||||
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 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, 0x08, 0x0e, 0xfe, 0xfe, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x61, 0x61, 0x61, 0x61, 0x79, 0x79, 0x79,
|
||||||
|
0x79, 0x79, 0x39, 0x01, 0x01, 0x01, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
|
||||||
|
0x86, 0x86, 0x86, 0xf6, 0xfe, 0xfe, 0xfe, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xfe, 0xfe, 0x3e, 0x02, 0x00,
|
||||||
|
0x00, 0x80, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x90, 0x9e, 0x9e, 0x9e, 0x9e,
|
||||||
|
0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
|
||||||
|
0x61, 0x61, 0x79, 0x7f, 0x7f, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x0f, 0x0f, 0x0d, 0x0c, 0x0c, 0x0c,
|
||||||
|
0x4c, 0x7f, 0x7f, 0x7f, 0x7f, 0x0c, 0x0c, 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, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||||
|
0x0f, 0x0f, 0x0f, 0x0f, 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, 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
|
||||||
|
},
|
||||||
|
{
|
||||||
|
//Layer 3
|
||||||
|
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, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||||
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 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, 0x08, 0x0e, 0xfe, 0xfe, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0x9e, 0x9e, 0x9e, 0x86, 0x86, 0x86,
|
||||||
|
0x86, 0x86, 0xc6, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
|
||||||
|
0x79, 0x79, 0x79, 0x09, 0x01, 0x01, 0x01, 0xf1, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfc, 0xfe, 0xfe, 0x3e, 0x02, 0x00,
|
||||||
|
0x00, 0x80, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x6f, 0x61, 0x61, 0x61, 0x61,
|
||||||
|
0x61, 0x61, 0x61, 0x61, 0x61, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x9f, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e,
|
||||||
|
0x9e, 0x9e, 0x86, 0x80, 0x80, 0x80, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x0f, 0x0f, 0x0d, 0x0c, 0x0c, 0x0c,
|
||||||
|
0x4c, 0x7f, 0x7f, 0x7f, 0x7f, 0x0c, 0x0c, 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, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||||
|
0x0f, 0x0f, 0x0f, 0x0f, 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, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
|
},
|
||||||
|
{
|
||||||
|
//Layer 4
|
||||||
|
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, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||||
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0e, 0xfe, 0xfe, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0x9e, 0x9e, 0x9e, 0x86, 0x86, 0x86,
|
||||||
|
0x86, 0x86, 0xc6, 0xfe, 0xfe, 0xfe, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
|
||||||
|
0x86, 0x86, 0x86, 0xf6, 0xfe, 0xfe, 0xfe, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x03, 0x01, 0x01, 0xc1, 0xfd, 0xff,
|
||||||
|
0xff, 0x7f, 0x01, 0x01, 0x01, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x6f, 0x61, 0x61, 0x61, 0x61,
|
||||||
|
0x61, 0x61, 0x61, 0x61, 0x61, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
|
||||||
|
0x61, 0x61, 0x79, 0x7f, 0x7f, 0x7f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf0, 0xf0, 0xf0, 0xf2, 0xf3, 0xf3, 0xf3,
|
||||||
|
0xb3, 0x80, 0x80, 0x80, 0x80, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||||
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
oled_write_raw_P(layer_status[get_highest_layer(layer_state)], sizeof(layer_status[0]));
|
||||||
|
}
|
||||||
20
keyboards/doio_old/kb16/lib/layer_status/layer_status.h
Normal file
20
keyboards/doio_old/kb16/lib/layer_status/layer_status.h
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
void render_layer_status(void);
|
||||||
61
keyboards/doio_old/kb16/lib/logo.c
Normal file
61
keyboards/doio_old/kb16/lib/logo.c
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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 "quantum.h"
|
||||||
|
|
||||||
|
#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024
|
||||||
|
|
||||||
|
void render_logo(void) {
|
||||||
|
static const char PROGMEM doio[][ANIM_SIZE] = {
|
||||||
|
{
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x60, 0x20, 0x30, 0x10, 0x18, 0x08, 0x08,
|
||||||
|
0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02,
|
||||||
|
0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x18, 0x10, 0x30, 0x20, 0x60, 0xc0,
|
||||||
|
0x80, 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, 0x80, 0xf0, 0xfc, 0x0e, 0x03, 0x01, 0x00, 0xf8, 0xf8, 0xf8, 0x38, 0x38, 0x38, 0xf0,
|
||||||
|
0xf0, 0xe0, 0x00, 0xc0, 0xe0, 0xf0, 0x70, 0x38, 0x38, 0x38, 0x70, 0xf0, 0xe0, 0xc0, 0x00, 0x18,
|
||||||
|
0xf8, 0xf8, 0xf8, 0x18, 0x00, 0xc0, 0xe0, 0xf0, 0x70, 0x38, 0x38, 0x38, 0x70, 0xf0, 0xe0, 0xc0,
|
||||||
|
0x01, 0x03, 0x0e, 0xfc, 0xf8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf8,
|
||||||
|
0xf8, 0xf8, 0x80, 0xc0, 0xe0, 0xf0, 0x78, 0x38, 0x18, 0x00, 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8,
|
||||||
|
0xf8, 0xf8, 0x70, 0x00, 0x60, 0x60, 0x70, 0x78, 0xf8, 0xf8, 0xf8, 0x00, 0xe0, 0xf0, 0xf0, 0xb8,
|
||||||
|
0xb8, 0xb8, 0xb8, 0xb8, 0x30, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0xe0, 0xf0, 0xf8,
|
||||||
|
0x38, 0x38, 0x38, 0xf8, 0xf0, 0xe0, 0x00, 0x60, 0x60, 0x70, 0x78, 0xf8, 0xf8, 0xf8, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x01, 0x0f, 0x3f, 0x70, 0xc0, 0x80, 0x00, 0x1f, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x0f,
|
||||||
|
0x0f, 0x07, 0x00, 0x03, 0x07, 0x0f, 0x0e, 0x1c, 0x1c, 0x1c, 0x0e, 0x0f, 0x07, 0x03, 0x00, 0x18,
|
||||||
|
0x1f, 0x1f, 0x1f, 0x18, 0x00, 0x03, 0x07, 0x0f, 0x0e, 0x1c, 0x1c, 0x1c, 0x0e, 0x0f, 0x07, 0x03,
|
||||||
|
0x80, 0xc0, 0x70, 0x3f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1f,
|
||||||
|
0x1f, 0x1f, 0x01, 0x03, 0x07, 0x0f, 0x1e, 0x1c, 0x18, 0x00, 0x1f, 0x1f, 0x1f, 0x1d, 0x1d, 0x1d,
|
||||||
|
0x1f, 0x1f, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x07, 0x0f, 0x0f, 0x1d,
|
||||||
|
0x1d, 0x1d, 0x1f, 0x1f, 0x0f, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x07, 0x0f, 0x1f,
|
||||||
|
0x1c, 0x1c, 0x1c, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x04, 0x0c, 0x08, 0x18, 0x10, 0x10,
|
||||||
|
0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40,
|
||||||
|
0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x18, 0x08, 0x0c, 0x04, 0x06, 0x03,
|
||||||
|
0x01, 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
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
oled_write_raw_P(doio[0], ANIM_SIZE);
|
||||||
|
}
|
||||||
20
keyboards/doio_old/kb16/lib/logo.h
Normal file
20
keyboards/doio_old/kb16/lib/logo.h
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
void render_logo(void);
|
||||||
13
keyboards/doio_old/kb16/readme.md
Normal file
13
keyboards/doio_old/kb16/readme.md
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
# KB16-01
|
||||||
|
|
||||||
|
#### This keyboard have 2 revision, so before you need to write your own firmware code. Please read it carefully, or you could accident bricked your keeb after that.
|
||||||
|
|
||||||
|
- **Revision 1**: Using ATMEGA32U4.
|
||||||
|
|
||||||
|
When you try to go bootloader mode, QMK Toolbox will showing this message `Atmel DFU device connected (libusb0): Atmel Corp. ATmega32U4 (03EB:2FF4:0000)`. So please compile Revision 1 and flash after that.
|
||||||
|
|
||||||
|
Oh, and one more thing. As for the Bongo Cat on OLED screen, due to small flash size that ATMEGA32U4 support. It need to be disable Mouse key support.
|
||||||
|
|
||||||
|
- **Revision 2**: Using APM32F103CBT6 (clone STM32F103CBT6).
|
||||||
|
|
||||||
|
When you try to go bootloader mode, QMK Toolbox will showing this message `STM32Duino device connected: LeafLabs Maple 003 (1EAF:0003:0201)`. So please compile Revision 2 and flash after that.
|
||||||
60
keyboards/doio_old/kb16/rev1/config.h
Normal file
60
keyboards/doio_old/kb16/rev1/config.h
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
/* Use the custom font */
|
||||||
|
#define OLED_FONT_H "./lib/glcdfont.c"
|
||||||
|
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
/* RGB Matrix config */
|
||||||
|
#define RGB_MATRIX_LED_COUNT 16
|
||||||
|
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
|
||||||
|
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN
|
||||||
|
#define RGB_MATRIX_KEYPRESSES
|
||||||
|
|
||||||
|
/* RGB Matrix effect */
|
||||||
|
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||||
|
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||||
|
#define ENABLE_RGB_MATRIX_BREATHING
|
||||||
|
#define ENABLE_RGB_MATRIX_BAND_SAT
|
||||||
|
#define ENABLE_RGB_MATRIX_BAND_VAL
|
||||||
|
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||||
|
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||||
|
#define ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||||
|
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||||
|
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||||
|
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||||
|
#define ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||||
|
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||||
|
#define ENABLE_RGB_MATRIX_RAINDROPS
|
||||||
|
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||||
|
#define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||||
|
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||||
|
#define ENABLE_RGB_MATRIX_HUE_WAVE
|
||||||
|
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||||
|
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||||
|
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||||
|
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||||
|
#define ENABLE_RGB_MATRIX_MULTISPLASH
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||||
|
#endif
|
||||||
63
keyboards/doio_old/kb16/rev1/info.json
Normal file
63
keyboards/doio_old/kb16/rev1/info.json
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "KB16-01",
|
||||||
|
"manufacturer": "DOIO",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "HorrorTroll",
|
||||||
|
"usb": {
|
||||||
|
"vid": "0xD010",
|
||||||
|
"pid": "0x1601",
|
||||||
|
"device_version": "0.0.1",
|
||||||
|
"force_nkro": true
|
||||||
|
},
|
||||||
|
"rgb_matrix": {
|
||||||
|
"driver": "ws2812"
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F5", "F4", "F1", "F0", "B7"],
|
||||||
|
"rows": ["D5", "D4", "D3", "D2"]
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"encoder": {
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "F7", "pin_b": "E6"},
|
||||||
|
{"pin_a": "C7", "pin_b": "C6"},
|
||||||
|
{"pin_a": "D7", "pin_b": "D6"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "F6"
|
||||||
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"bootloader": "atmel-dfu",
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [0, 4], "x": 4.75, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||||
|
|
||||||
|
{"matrix": [1, 4], "x": 6, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||||
|
|
||||||
|
{"matrix": [2, 4], "x": 5.375, "y": 2.5},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3, "y": 3}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
211
keyboards/doio_old/kb16/rev1/keymaps/default/keymap.c
Normal file
211
keyboards/doio_old/kb16/rev1/keymaps/default/keymap.c
Normal file
|
|
@ -0,0 +1,211 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
#include "print.h"
|
||||||
|
|
||||||
|
// OLED animation
|
||||||
|
#include "./lib/layer_status/layer_status.h"
|
||||||
|
|
||||||
|
|
||||||
|
void keyboard_post_init_user(void) {
|
||||||
|
debug_enable=true;
|
||||||
|
debug_matrix=true;
|
||||||
|
debug_keyboard=true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
|
||||||
|
enum layer_names {
|
||||||
|
_BASE,
|
||||||
|
_FN,
|
||||||
|
_FN1,
|
||||||
|
_FN2
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
__attribute__((weak))
|
||||||
|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
|
||||||
|
|
||||||
|
__attribute__((weak))
|
||||||
|
bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { return true; }
|
||||||
|
|
||||||
|
/*declare boolean for jiggler*/
|
||||||
|
bool is_jiggling = false;
|
||||||
|
|
||||||
|
/*timers*/
|
||||||
|
uint32_t idle_timeout = 30000; // (after 30s)
|
||||||
|
uint32_t mouse_interval = 10000; // (every 10s)
|
||||||
|
|
||||||
|
static uint32_t idle_callback(uint32_t trigger_time, void* cb_arg) {
|
||||||
|
// now idle
|
||||||
|
if(is_jiggling) {
|
||||||
|
#ifdef CONSOLE_ENABLE
|
||||||
|
dprintf("sending: %s\n", "X_F15");
|
||||||
|
#endif
|
||||||
|
SEND_STRING(SS_TAP(X_F15));
|
||||||
|
}
|
||||||
|
return mouse_interval;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
|
||||||
|
// on every key event start or extend `idle_callback()` deferred execution after IDLE_TIMEOUT_MS
|
||||||
|
static deferred_token idle_token = INVALID_DEFERRED_TOKEN;
|
||||||
|
|
||||||
|
#ifdef CONSOLE_ENABLE
|
||||||
|
dprintf("deferred_exec: %s\n", !extend_deferred_exec(idle_token, idle_timeout) ? "true" : "false");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!extend_deferred_exec(idle_token, idle_timeout)) {
|
||||||
|
idle_token = defer_exec(idle_timeout, idle_callback, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef CONSOLE_ENABLE
|
||||||
|
// uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %u, time: %5u, int: %u, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
switch (keycode) {
|
||||||
|
case KC_JIGG:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
is_jiggling = !is_jiggling; /*flip boolean to true*/
|
||||||
|
#ifdef CONSOLE_ENABLE
|
||||||
|
dprintf("is_jiggling: %s\n", is_jiggling ? "true" : "false");
|
||||||
|
#endif
|
||||||
|
if(is_jiggling) {
|
||||||
|
layer_on(_SPCHRS);
|
||||||
|
} else {
|
||||||
|
layer_off(_SPCHRS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// return true;
|
||||||
|
return process_record_keymap(keycode, record) && process_record_secrets(keycode, record);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// enum layer_keycodes { };
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ 5 │ 6 │ 7 │ 8 │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ 9 │ 0 │ ↑ │Ent│ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │Mut│
|
||||||
|
│Fn2│ ← │ ↓ │ → │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ ! │ @ │ # │ $ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ % │ ^ │ & │ * │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ ( │ ) │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_BASE] = LAYOUT(
|
||||||
|
KC_1, KC_2, KC_3, KC_4, KC_MPLY,
|
||||||
|
KC_5, KC_6, KC_7, KC_8, TO(_FN),
|
||||||
|
KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
|
||||||
|
MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ │ │ │ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ │ │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
_______, _______, _______, KC_JIGG, _______,
|
||||||
|
_______, _______, _______, _______, TO(_FN1),
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ │ │ │ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ │ │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN1] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, TO(_FN2),
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│Spi│Spd│ │ │ │ │ │TO0│
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│Sai│Sad│ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│Tog│Mod│Hui│ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │Vai│Hud│Vad│ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN2] = LAYOUT(
|
||||||
|
RGB_SPI, RGB_SPD, _______, QK_BOOT, _______,
|
||||||
|
RGB_SAI, RGB_SAD, _______, _______, TO(_BASE),
|
||||||
|
RGB_TOG, RGB_MOD, RGB_HUI, _______, _______,
|
||||||
|
_______, RGB_VAI, RGB_HUD, RGB_VAD
|
||||||
|
),
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
bool oled_task_user(void) {
|
||||||
|
render_layer_status();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ENCODER_MAP_ENABLE
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
|
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
};
|
||||||
|
#endif
|
||||||
8
keyboards/doio_old/kb16/rev1/keymaps/default/rules.mk
Normal file
8
keyboards/doio_old/kb16/rev1/keymaps/default/rules.mk
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Encoder enabled
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
||||||
|
DEFERRED_EXEC_ENABLE = yes
|
||||||
|
LINK_TIME_OPTIMIZATION_ENABLE = yes
|
||||||
|
|
||||||
|
CONSOLE_ENABLE = yes
|
||||||
|
|
||||||
|
LINK_TIME_OPTIMIZATION_ENABLE = yes
|
||||||
30
keyboards/doio_old/kb16/rev1/readme.md
Normal file
30
keyboards/doio_old/kb16/rev1/readme.md
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
# KB16-01 (Revision 1)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A macropad that have 16-key keyboard made by DOIO, which controlled by an Atmega32u4 chipset. The keyboard features per-key RGB, 3 encoder and an OLED screen for displaying useful information.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll)
|
||||||
|
* Hardware Supported: Atmega32u4
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
`make doio/kb16/rev1:default`
|
||||||
|
or with the qmk cli:
|
||||||
|
`qmk compile -kb doio/kb16/rev1 -km default`
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
`make doio/kb16/rev1:default:flash`
|
||||||
|
or with the qmk cli:
|
||||||
|
`qmk flash -kb doio/kb16/rev1 -km default`
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (1! key) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||||
28
keyboards/doio_old/kb16/rev1/rules.mk
Normal file
28
keyboards/doio_old/kb16/rev1/rules.mk
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
SRC += ./lib/layer_status/layer_status.c
|
||||||
|
SRC += ./lib/logo.c
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
|
||||||
|
# Additional thing to reduce compiled size
|
||||||
|
LTO_ENABLE = yes
|
||||||
|
SPACE_CADET_ENABLE = no
|
||||||
|
|
||||||
|
# OLED enabled
|
||||||
|
OLED_ENABLE = yes
|
||||||
|
|
||||||
|
# RGB Matrix enabled
|
||||||
|
RGB_MATRIX_ENABLE = yes
|
||||||
|
|
||||||
|
# Encoder enabled
|
||||||
|
ENCODER_ENABLE = yes
|
||||||
67
keyboards/doio_old/kb16/rev2/config.h
Normal file
67
keyboards/doio_old/kb16/rev2/config.h
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
/* Mapping I2C2 for OLED */
|
||||||
|
#define I2C1_SCL_PIN B10
|
||||||
|
#define I2C1_SDA_PIN B11
|
||||||
|
#define I2C_DRIVER I2CD2
|
||||||
|
|
||||||
|
/* Use the custom font */
|
||||||
|
#define OLED_FONT_H "./lib/glcdfont.c"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
/* RGB Matrix config */
|
||||||
|
#define RGB_MATRIX_LED_COUNT 16
|
||||||
|
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
|
||||||
|
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN
|
||||||
|
#define RGB_MATRIX_KEYPRESSES
|
||||||
|
|
||||||
|
/* RGB Matrix effect */
|
||||||
|
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||||
|
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||||
|
#define ENABLE_RGB_MATRIX_BREATHING
|
||||||
|
#define ENABLE_RGB_MATRIX_BAND_SAT
|
||||||
|
#define ENABLE_RGB_MATRIX_BAND_VAL
|
||||||
|
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||||
|
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||||
|
#define ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||||
|
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||||
|
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||||
|
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||||
|
#define ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||||
|
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||||
|
#define ENABLE_RGB_MATRIX_RAINDROPS
|
||||||
|
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||||
|
#define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||||
|
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||||
|
#define ENABLE_RGB_MATRIX_HUE_WAVE
|
||||||
|
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||||
|
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||||
|
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||||
|
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||||
|
#define ENABLE_RGB_MATRIX_MULTISPLASH
|
||||||
|
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||||
|
#endif
|
||||||
27
keyboards/doio_old/kb16/rev2/halconf.h
Normal file
27
keyboards/doio_old/kb16/rev2/halconf.h
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file was auto-generated by:
|
||||||
|
* `qmk chibios-confmigrate -i keyboards/doio/kb16/rev2/halconf.h -r platforms/chibios/common/configs/halconf.h`
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_I2C TRUE
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
||||||
2
keyboards/doio_old/kb16/rev2/keymaps/default/rules.mk
Normal file
2
keyboards/doio_old/kb16/rev2/keymaps/default/rules.mk
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Encoder enabled
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
||||||
140
keyboards/doio_old/kb16/rev2/keymaps/via/keymap.c
Normal file
140
keyboards/doio_old/kb16/rev2/keymaps/via/keymap.c
Normal file
|
|
@ -0,0 +1,140 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
// OLED animation
|
||||||
|
#include "lib/layer_status/layer_status.h"
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
|
||||||
|
enum layer_names {
|
||||||
|
_BASE,
|
||||||
|
_FN,
|
||||||
|
_FN1,
|
||||||
|
_FN2
|
||||||
|
};
|
||||||
|
|
||||||
|
// enum layer_keycodes { };
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ 1 │ 2 │ 3 │ 4 │ │Ply│ │TO1│
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ 5 │ 6 │ 7 │ 8 │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ 9 │ 0 │ ↑ │Ent│ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │Mut│
|
||||||
|
│Fn2│ ← │ ↓ │ → │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ ! │ @ │ # │ $ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ % │ ^ │ & │ * │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ ( │ ) │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_BASE] = LAYOUT(
|
||||||
|
KC_1, KC_2, KC_3, KC_4, KC_MPLY,
|
||||||
|
KC_5, KC_6, KC_7, KC_8, TO(_FN),
|
||||||
|
KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
|
||||||
|
MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ │ │ │ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ │ │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, TO(_FN1),
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│ │ │ │ │ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│ │ │ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│ │ │ │ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │ │ │ │ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN1] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, TO(_FN2),
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
┌───┬───┬───┬───┐ ┌───┐ ┌───┐
|
||||||
|
│Spi│Spd│ │ │ │ │ │TO0│
|
||||||
|
├───┼───┼───┼───┤ └───┘ └───┘
|
||||||
|
│Sai│Sad│ │ │
|
||||||
|
├───┼───┼───┼───┤
|
||||||
|
│Tog│Mod│Hui│ │ ┌───┐
|
||||||
|
├───┼───┼───┼───┤ │ │
|
||||||
|
│ │Vai│Hud│Vad│ └───┘
|
||||||
|
└───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
/* Row: 0 1 2 3 4 */
|
||||||
|
[_FN2] = LAYOUT(
|
||||||
|
RGB_SPI, RGB_SPD, _______, QK_BOOT, _______,
|
||||||
|
RGB_SAI, RGB_SAD, _______, _______, TO(_BASE),
|
||||||
|
RGB_TOG, RGB_MOD, RGB_HUI, _______, _______,
|
||||||
|
_______, RGB_VAI, RGB_HUD, RGB_VAD
|
||||||
|
),
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
bool oled_task_user(void) {
|
||||||
|
render_layer_status();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ENCODER_MAP_ENABLE
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
|
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
};
|
||||||
|
#endif
|
||||||
4
keyboards/doio_old/kb16/rev2/keymaps/via/rules.mk
Normal file
4
keyboards/doio_old/kb16/rev2/keymaps/via/rules.mk
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
VIA_ENABLE = yes
|
||||||
|
|
||||||
|
# Encoder enabled
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
||||||
28
keyboards/doio_old/kb16/rev2/mcuconf.h
Normal file
28
keyboards/doio_old/kb16/rev2/mcuconf.h
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
/* Copyright 2022 DOIO
|
||||||
|
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file was auto-generated by:
|
||||||
|
* `qmk chibios-confmigrate -i keyboards/doio/kb16/rev2/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include_next <mcuconf.h>
|
||||||
|
|
||||||
|
#undef STM32_I2C_USE_I2C2
|
||||||
|
#define STM32_I2C_USE_I2C2 TRUE
|
||||||
30
keyboards/doio_old/kb16/rev2/readme.md
Normal file
30
keyboards/doio_old/kb16/rev2/readme.md
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
# KB16-01 (Revision 2)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A macropad that have 16-key keyboard made by DOIO, which controlled by an APM32F103CBT6 chipset. The keyboard features per-key RGB, 3 encoder and an OLED screen for displaying useful information.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll)
|
||||||
|
* Hardware Supported: APM32F103CBT6
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
`make doio/kb16/rev2:default`
|
||||||
|
or with the qmk cli:
|
||||||
|
`qmk compile -kb doio/kb16/rev2 -km default`
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
`make doio/kb16/rev2:default:flash`
|
||||||
|
or with the qmk cli:
|
||||||
|
`qmk flash -kb doio/kb16/rev2 -km default`
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (1! key) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||||
27
keyboards/doio_old/kb16/rev2/rules.mk
Normal file
27
keyboards/doio_old/kb16/rev2/rules.mk
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
SRC += ./lib/layer_status/layer_status.c
|
||||||
|
SRC += ./lib/logo.c
|
||||||
|
|
||||||
|
# Configure for 128K flash
|
||||||
|
MCU_LDSCRIPT = STM32F103xB
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
|
||||||
|
# OLED enabled
|
||||||
|
OLED_ENABLE = yes
|
||||||
|
|
||||||
|
# RGB Matrix enabled
|
||||||
|
RGB_MATRIX_ENABLE = yes
|
||||||
|
|
||||||
|
# Encoder enabled
|
||||||
|
ENCODER_ENABLE = yes
|
||||||
5
qmk.json
5
qmk.json
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
"userspace_version": "1.0",
|
"userspace_version": "1.0",
|
||||||
"build_targets": [
|
"build_targets": [
|
||||||
|
|
@ -6,6 +7,8 @@
|
||||||
["boardsource/unicorne", "markstos"],
|
["boardsource/unicorne", "markstos"],
|
||||||
["beekeeb/piantor", "default"],
|
["beekeeb/piantor", "default"],
|
||||||
["inland/mk47", "inland"],
|
["inland/mk47", "inland"],
|
||||||
["planck/rev7", "default"]
|
["planck/rev7", "default"],
|
||||||
|
["doio/kb16/rev1", "via"],
|
||||||
|
["doio/kb16/rev1", "default"]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Loading…
Reference in a new issue