Align configuration between PCBs

- Migrate beta & pico to use RGB Matrix
- Move previously RGB Matrix-dependent OLED code in rev3/rev3.c to top level
- Remove reundant OLED code in beta/beta.c
- Remove RGBLight references
This commit is contained in:
Jack Sangdahl 2025-07-16 13:52:46 -06:00
parent d9c50fb82a
commit 45dc6faa78
No known key found for this signature in database
GPG Key ID: FC53C827D09C7050
6 changed files with 139 additions and 115 deletions

View File

@ -1,77 +0,0 @@
// Copyright 2020 Yushakobo
// SPDX-License-Identifier: GPL-2.0-or-later
#include "quantum.h"
#ifdef OLED_ENABLE
void render_status(void) {
static const char os_logo[][2][3] PROGMEM = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}};
if (!keymap_config.swap_lalt_lgui) {
oled_write_P(os_logo[0][0], false);
oled_write_P(PSTR("\n"), false);
oled_write_P(os_logo[0][1], false);
} else {
oled_write_P(os_logo[1][0], false);
oled_write_P(PSTR("\n"), false);
oled_write_P(os_logo[1][1], false);
}
oled_write_P(PSTR(" Layer: "), false);
switch (get_highest_layer(layer_state)) {
case 0:
oled_write_ln_P(PSTR("Default"), false);
break;
case 1:
oled_write_ln_P(PSTR("Lower"), false);
break;
case 2:
oled_write_ln_P(PSTR("Raise"), false);
break;
case 3:
oled_write_ln_P(PSTR("Adjust"), false);
break;
default:
oled_write_ln_P(PSTR("Undefined"), false);
}
oled_write_P(PSTR("\n"), false);
led_t led_state = host_keyboard_led_state();
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
}
static void render_logo(void) {
static const char PROGMEM qmk_logo[] = {
// clang-format off
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
// clang-format on
};
oled_write_P(qmk_logo, false);
}
static void render_rgblight_status(void) {
oled_write_P(PSTR(" LED"), false);
oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
oled_write_char(':', false);
oled_write(get_u8_str(rgblight_get_hue() / RGBLIGHT_HUE_STEP, ' '), false);
oled_write_char(',', false);
oled_write(get_u8_str(rgblight_get_sat() / RGBLIGHT_SAT_STEP, ' '), false);
oled_write_char(',', false);
oled_write(get_u8_str(rgblight_get_val() / RGBLIGHT_VAL_STEP, ' '), false);
}
bool oled_task_kb(void) {
if (!oled_task_user()) {
return false;
}
if (is_keyboard_master()) {
render_status();
} else {
render_logo();
render_rgblight_status();
}
return false;
}
#endif

View File

@ -1,24 +1,76 @@
{
"keyboard_name": "Helix Beta",
"features": {
"rgblight": true
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
},
"rgblight": {
"animations": {
"breathing": true,
"christmas": true,
"knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"static_gradient": true
},
"led_count": 64,
"max_brightness": 45,
"rgb_matrix": {
"layout": [
{"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
{"matrix": [1, 0], "x": 0, "y": 16, "flags": 4},
{"matrix": [1, 1], "x": 16, "y": 16, "flags": 4},
{"matrix": [1, 2], "x": 32, "y": 16, "flags": 4},
{"matrix": [1, 3], "x": 48, "y": 16, "flags": 4},
{"matrix": [1, 4], "x": 64, "y": 16, "flags": 4},
{"matrix": [1, 5], "x": 80, "y": 16, "flags": 4},
{"matrix": [2, 5], "x": 80, "y": 32, "flags": 4},
{"matrix": [2, 4], "x": 64, "y": 32, "flags": 4},
{"matrix": [2, 3], "x": 48, "y": 32, "flags": 4},
{"matrix": [2, 2], "x": 32, "y": 32, "flags": 4},
{"matrix": [2, 1], "x": 16, "y": 32, "flags": 4},
{"matrix": [2, 0], "x": 0, "y": 32, "flags": 4},
{"matrix": [3, 0], "x": 0, "y": 48, "flags": 4},
{"matrix": [3, 1], "x": 16, "y": 48, "flags": 4},
{"matrix": [3, 2], "x": 32, "y": 48, "flags": 4},
{"matrix": [3, 3], "x": 48, "y": 48, "flags": 4},
{"matrix": [3, 4], "x": 64, "y": 48, "flags": 4},
{"matrix": [3, 5], "x": 80, "y": 48, "flags": 4},
{"matrix": [3, 6], "x": 96, "y": 48, "flags": 4},
{"matrix": [4, 6], "x": 96, "y": 64, "flags": 4},
{"matrix": [4, 5], "x": 80, "y": 64, "flags": 4},
{"matrix": [4, 4], "x": 64, "y": 64, "flags": 4},
{"matrix": [4, 3], "x": 48, "y": 64, "flags": 4},
{"matrix": [4, 2], "x": 32, "y": 64, "flags": 4},
{"matrix": [4, 1], "x": 16, "y": 64, "flags": 4},
{"matrix": [4, 0], "x": 0, "y": 64, "flags": 4},
{"matrix": [5, 5], "x": 144, "y": 0, "flags": 4},
{"matrix": [5, 4], "x": 160, "y": 0, "flags": 4},
{"matrix": [5, 3], "x": 176, "y": 0, "flags": 4},
{"matrix": [5, 2], "x": 192, "y": 0, "flags": 4},
{"matrix": [5, 1], "x": 208, "y": 0, "flags": 4},
{"matrix": [5, 0], "x": 224, "y": 0, "flags": 4},
{"matrix": [6, 0], "x": 224, "y": 16, "flags": 4},
{"matrix": [6, 1], "x": 208, "y": 16, "flags": 4},
{"matrix": [6, 2], "x": 192, "y": 16, "flags": 4},
{"matrix": [6, 3], "x": 176, "y": 16, "flags": 4},
{"matrix": [6, 4], "x": 160, "y": 16, "flags": 4},
{"matrix": [6, 5], "x": 144, "y": 16, "flags": 4},
{"matrix": [7, 5], "x": 144, "y": 32, "flags": 4},
{"matrix": [7, 4], "x": 160, "y": 32, "flags": 4},
{"matrix": [7, 3], "x": 176, "y": 32, "flags": 4},
{"matrix": [7, 2], "x": 192, "y": 32, "flags": 4},
{"matrix": [7, 1], "x": 208, "y": 32, "flags": 4},
{"matrix": [7, 0], "x": 224, "y": 32, "flags": 4},
{"matrix": [8, 0], "x": 224, "y": 48, "flags": 4},
{"matrix": [8, 1], "x": 208, "y": 48, "flags": 4},
{"matrix": [8, 2], "x": 192, "y": 48, "flags": 4},
{"matrix": [8, 3], "x": 176, "y": 48, "flags": 4},
{"matrix": [8, 4], "x": 160, "y": 48, "flags": 4},
{"matrix": [8, 5], "x": 144, "y": 48, "flags": 4},
{"matrix": [8, 6], "x": 128, "y": 48, "flags": 4},
{"matrix": [9, 6], "x": 128, "y": 64, "flags": 4},
{"matrix": [9, 5], "x": 144, "y": 64, "flags": 4},
{"matrix": [9, 4], "x": 160, "y": 64, "flags": 4},
{"matrix": [9, 3], "x": 176, "y": 64, "flags": 4},
{"matrix": [9, 2], "x": 192, "y": 64, "flags": 4},
{"matrix": [9, 1], "x": 208, "y": 64, "flags": 4},
{"matrix": [9, 0], "x": 224, "y": 64, "flags": 4}
],
"split_count": [32, 32]
},
"url": "https://shop.yushakobo.jp/products/oss_pcb?variant=39452554231969",

View File

@ -1,13 +1,29 @@
{
"manufacturer": "Yushakobo",
"maintainer": "MakotoKurauchi",
"build": {
"lto": true
},
"development_board": "promicro",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"oled": true
"oled": true,
"rgb_matrix": true
},
"rgb_matrix": {
"animations": {
"breathing": true,
"cycle_left_right": true,
"cycle_pinwheel": true,
"multisplash": true,
"solid_splash": true
},
"driver": "ws2812",
"max_brightness": 150,
"sleep": true
},
"split": {
"enabled": true,

View File

@ -1,25 +1,65 @@
{
"keyboard_name": "Helix Pico",
"features": {
"audio": false,
"rgblight": true
"audio": false
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
"rows": ["D4", "C6", "D7", "E6"]
},
"rgblight": {
"animations": {
"breathing": true,
"christmas": true,
"knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"static_gradient": true
},
"led_count": 50,
"max_brightness": 45,
"rgb_matrix": {
"layout": [
{"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
{"matrix": [1, 0], "x": 0, "y": 21, "flags": 4},
{"matrix": [1, 1], "x": 16, "y": 21, "flags": 4},
{"matrix": [1, 2], "x": 32, "y": 21, "flags": 4},
{"matrix": [1, 3], "x": 48, "y": 21, "flags": 4},
{"matrix": [1, 4], "x": 64, "y": 21, "flags": 4},
{"matrix": [1, 5], "x": 80, "y": 21, "flags": 4},
{"matrix": [2, 5], "x": 80, "y": 42, "flags": 4},
{"matrix": [2, 4], "x": 64, "y": 42, "flags": 4},
{"matrix": [2, 3], "x": 48, "y": 42, "flags": 4},
{"matrix": [2, 2], "x": 32, "y": 42, "flags": 4},
{"matrix": [2, 1], "x": 16, "y": 42, "flags": 4},
{"matrix": [2, 0], "x": 0, "y": 42, "flags": 4},
{"matrix": [3, 0], "x": 0, "y": 64, "flags": 4},
{"matrix": [3, 1], "x": 16, "y": 64, "flags": 4},
{"matrix": [3, 2], "x": 32, "y": 64, "flags": 4},
{"matrix": [3, 3], "x": 48, "y": 64, "flags": 4},
{"matrix": [3, 4], "x": 64, "y": 64, "flags": 4},
{"matrix": [3, 5], "x": 80, "y": 64, "flags": 4},
{"matrix": [3, 6], "x": 96, "y": 64, "flags": 4},
{"matrix": [4, 5], "x": 144, "y": 0, "flags": 4},
{"matrix": [4, 4], "x": 160, "y": 0, "flags": 4},
{"matrix": [4, 3], "x": 176, "y": 0, "flags": 4},
{"matrix": [4, 2], "x": 192, "y": 0, "flags": 4},
{"matrix": [4, 1], "x": 208, "y": 0, "flags": 4},
{"matrix": [4, 0], "x": 224, "y": 0, "flags": 4},
{"matrix": [5, 0], "x": 224, "y": 21, "flags": 4},
{"matrix": [5, 1], "x": 208, "y": 21, "flags": 4},
{"matrix": [5, 2], "x": 192, "y": 21, "flags": 4},
{"matrix": [5, 3], "x": 176, "y": 21, "flags": 4},
{"matrix": [5, 4], "x": 160, "y": 21, "flags": 4},
{"matrix": [5, 5], "x": 144, "y": 21, "flags": 4},
{"matrix": [6, 5], "x": 144, "y": 42, "flags": 4},
{"matrix": [6, 4], "x": 160, "y": 42, "flags": 4},
{"matrix": [6, 3], "x": 176, "y": 42, "flags": 4},
{"matrix": [6, 2], "x": 192, "y": 42, "flags": 4},
{"matrix": [6, 1], "x": 208, "y": 42, "flags": 4},
{"matrix": [6, 0], "x": 224, "y": 42, "flags": 4},
{"matrix": [7, 0], "x": 224, "y": 64, "flags": 4},
{"matrix": [7, 1], "x": 208, "y": 64, "flags": 4},
{"matrix": [7, 2], "x": 192, "y": 64, "flags": 4},
{"matrix": [7, 3], "x": 176, "y": 64, "flags": 4},
{"matrix": [7, 4], "x": 160, "y": 64, "flags": 4},
{"matrix": [7, 5], "x": 144, "y": 64, "flags": 4},
{"matrix": [7, 6], "x": 128, "y": 64, "flags": 4}
],
"split_count": [25, 25]
},
"url": "https://shop.yushakobo.jp/products/helixpico-pcb",

View File

@ -1,8 +1,5 @@
{
"keyboard_name": "Helix rev3",
"build": {
"lto": true
},
"dip_switch": {
"matrix_grid": [
[0, 6],
@ -18,15 +15,13 @@
},
"features": {
"dip_switch": false,
"encoder": true,
"rgb_matrix": true
"encoder": true
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
},
"rgb_matrix": {
"driver": "ws2812",
"layout": [
{"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
@ -93,8 +88,6 @@
{"matrix": [9, 1], "x": 208, "y": 64, "flags": 4},
{"matrix": [9, 0], "x": 224, "y": 64, "flags": 4}
],
"max_brightness": 150,
"sleep": true,
"split_count": [32, 32]
},
"split": {