Browse Source

[Keyboard] boardsource/beiwagon data driven (#17631)

jack 4 years ago
parent
commit
b99ccd4f06

+ 0 - 38
keyboards/boardsource/beiwagon/beiwagon.c

@@ -1,38 +0,0 @@
-/* Copyright 2020 Boardsource
- *
- * 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 "beiwagon.h"
-#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
-  {7,8,9},
-    {10,11,12},
-    {13,14,15},
-    {16,17,18}
-}, {
-   {2, 0}, {1, 0}, {0, 0},
-   {2, 1}, {1, 1}, {0, 1},
-   {2, 2}, {1, 2}, {0, 2},
-   {2, 3}, {1, 3}, {0, 3},
-}, {
-    2, 2, 2, 2, 2, 2, 
-    1, 1, 1,
-    1, 4, 1,
-    1, 4, 1,
-    1, 1, 1 
-
-} };
-#endif
-

+ 0 - 32
keyboards/boardsource/beiwagon/beiwagon.h

@@ -1,32 +0,0 @@
-/* Copyright 2020 Boardsource
- *
- * 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
-
-#include "quantum.h"
-
-#define LAYOUT( \
-    K00, K01, K02, \
-    K10, K11, K12, \
-    K20, K21, K22, \
-    K30, K31, K32\
-    ) { \
-        {K00, K01, K02 }, \
-        {K10, K11, K12 }, \
-        {K20, K21, K22 }, \
-        {K30, K31, K32 } \
-    }
-

+ 2 - 115
keyboards/boardsource/beiwagon/config.h

@@ -1,5 +1,5 @@
 /*
-Copyright 2020 Boardsource
+Copyright 2022 Boardsource
 
 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
@@ -16,62 +16,18 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0x4273
-#define PRODUCT_ID   0x0066
-#define DEVICE_VER   0x0001
-#define MANUFACTURER Boardsource
-#define PRODUCT      Beiwagon
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 3
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-#define MATRIX_ROW_PINS {B0, B1, B2, B3}
-#define MATRIX_COL_PINS {B5,B6,B7}
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-//#define BACKLIGHT_PIN B7
-//#define BACKLIGHT_LEVELS 3
-#define BACKLIGHT_BREATHING
-#define RGBLIGHT_ANIMATIONS
 #define RGB_DI_PIN C6
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define DRIVER_LED_TOTAL 18
 #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 #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_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
 #define ENABLE_RGB_MATRIX_CYCLE_ALL
 #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
 #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
 #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
 #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
 #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
 #define ENABLE_RGB_MATRIX_DUAL_BEACON
@@ -85,81 +41,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define ENABLE_RGB_MATRIX_PIXEL_RAIN
 #define ENABLE_RGB_MATRIX_PIXEL_FLOW
 #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
 #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
 #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
 #define ENABLE_RGB_MATRIX_SPLASH
 #define ENABLE_RGB_MATRIX_MULTISPLASH
 #define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#ifdef RGBLIGHT_ENABLE
-#define RGBLED_NUM 6    // Number of LEDs
-#endif
-
-#define DRIVER_LED_TOTAL  22
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-//#define LOCKING_RESYNC_ENABLE
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-//#define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-
-/* Bootmagic Lite key configuration */
-//#define BOOTMAGIC_LITE_ROW 0
-//#define BOOTMAGIC_LITE_COLUMN 0

+ 61 - 23
keyboards/boardsource/beiwagon/info.json

@@ -1,26 +1,64 @@
 {
-    "keyboard_name": "Beiwagon",
-    "url": "",
-    "maintainer": "Boardsource",
-    "layouts": {
-        "LAYOUT": {
-            "layout": [
-                { "label": "k00", "x": 0, "y": 0 },
-                { "label": "k01", "x": 1, "y": 0 },
-                { "label": "k02", "x": 2, "y": 0 },
-
-                { "label": "k10", "x": 0, "y": 1 },
-                { "label": "k11", "x": 1, "y": 1 },
-                { "label": "k12", "x": 2, "y": 1 },
-
-                { "label": "k20", "x": 0, "y": 2 },
-                { "label": "k21", "x": 1, "y": 2 },
-                { "label": "k22", "x": 2, "y": 2 },
-
-                { "label": "k30", "x": 0, "y": 3 },
-                { "label": "k31", "x": 1, "y": 3 },
-                { "label": "k32", "x": 2, "y": 3 }
-            ]
-        }
+  "manufacturer": "Boardsource",
+  "keyboard_name": "Beiwagon",
+  "maintainer": "waffle87",
+  "bootloader": "atmel-dfu",
+  "diode_direction": "COL2ROW",
+  "features": {
+    "bootmagic": true,
+    "extrakey": true,
+    "mousekey": false,
+    "rgb_matrix": true
+  },
+  "matrix_pins": {
+    "cols": ["B5", "B6", "B7"],
+    "rows": ["B0", "B1", "B2", "B3"]
+  },
+  "processor": "atmega32u4",
+  "url": "https://boardsource.xyz/store/5ffbfe2ab855550844cab109",
+  "usb": {
+    "device_version": "1.0.0",
+    "pid": "0x0066",
+    "vid": "0x4273"
+  },
+  "rgb_matrix": {
+    "layout": [
+      { "flags": 2, "x": 16, "y": 38 },
+      { "flags": 2, "x": 16, "y": 113 },
+      { "flags": 2, "x": 16, "y": 188 },
+      { "flags": 2, "x": 48, "y": 38 },
+      { "flags": 2, "x": 48, "y": 113 },
+      { "flags": 2, "x": 48, "y": 188 },
+      { "flags": 4, "matrix": [0, 0], "x": 0,  "y": 0 },
+      { "flags": 4, "matrix": [0, 1], "x": 32, "y": 0 },
+      { "flags": 4, "matrix": [0, 2], "x": 64, "y": 0 },
+      { "flags": 4, "matrix": [1, 0], "x": 0,  "y": 75 },
+      { "flags": 4, "matrix": [1, 1], "x": 32, "y": 75 },
+      { "flags": 4, "matrix": [1, 2], "x": 64, "y": 75 },
+      { "flags": 4, "matrix": [2, 0], "x": 0,  "y": 150 },
+      { "flags": 4, "matrix": [2, 1], "x": 32, "y": 150 },
+      { "flags": 4, "matrix": [2, 2], "x": 64, "y": 150 },
+      { "flags": 4, "matrix": [3, 0], "x": 0,  "y": 224 },
+      { "flags": 4, "matrix": [3, 1], "x": 32, "y": 224 },
+      { "flags": 4, "matrix": [3, 2], "x": 64, "y": 224 }
+    ]
+  },
+  "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": [1, 0], "x": 0, "y": 1 },
+        { "matrix": [1, 1], "x": 1, "y": 1 },
+        { "matrix": [1, 2], "x": 2, "y": 1 },
+        { "matrix": [2, 0], "x": 0, "y": 2 },
+        { "matrix": [2, 1], "x": 1, "y": 2 },
+        { "matrix": [2, 2], "x": 2, "y": 2 },
+        { "matrix": [3, 0], "x": 0, "y": 2 },
+        { "matrix": [3, 1], "x": 1, "y": 2 },
+        { "matrix": [3, 2], "x": 2, "y": 2 }
+      ]
     }
+  }
 }

+ 3 - 10
keyboards/boardsource/beiwagon/keymaps/default/keymap.c

@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
  *
  * 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
@@ -18,30 +18,23 @@
 
 enum layers {
     _MAIN,
-    _RAISE,
-    _LOWER,
+    _RAISE
 };
 
-// Readability keycodes
 #define LOWER   MO(_LOWER)
 #define RAISE   MO(_RAISE)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
   [_MAIN] = LAYOUT(
      KC_7,  KC_8,  KC_9,
      KC_4,  KC_5,  KC_6,
      KC_1,  KC_2,  KC_3,
      KC_0,  KC_PENT,RAISE
   ),
-
   [_RAISE] = LAYOUT(
      KC_7,  KC_8,  RGB_TOG,
      KC_4,  KC_5,  RGB_MOD,
      KC_1,  KC_2,  KC_3,
-     KC_0,  KC_PENT,KC_TRNS
-
+     KC_0,  KC_PENT,_______
   )
-
 };
-

+ 0 - 1
keyboards/boardsource/beiwagon/keymaps/default/readme.md

@@ -1 +0,0 @@
-# The default keymap for Beiwagon

+ 15 - 10
keyboards/boardsource/beiwagon/keymaps/via/keymap.c

@@ -1,4 +1,4 @@
-/* Copyright 2020 Boardsource
+/* Copyright 2022 Boardsource
  *
  * 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
@@ -18,30 +18,35 @@
 
 enum layers {
     _MAIN,
-    _RAISE,
-    _LOWER,
+    _RAISE
 };
 
-// Readability keycodes
 #define LOWER   MO(_LOWER)
 #define RAISE   MO(_RAISE)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
   [_MAIN] = LAYOUT(
      KC_7,  KC_8,  KC_9,
      KC_4,  KC_5,  KC_6,
      KC_1,  KC_2,  KC_3,
      KC_0,  KC_PENT,RAISE
   ),
-
   [_RAISE] = LAYOUT(
      KC_7,  KC_8,  RGB_TOG,
      KC_4,  KC_5,  RGB_MOD,
      KC_1,  KC_2,  KC_3,
-     KC_0,  KC_PENT,KC_TRNS
-
+     KC_0,  KC_PENT,_______
+  ),
+  [2] = LAYOUT(
+    _______, _______, _______,
+    _______, _______, _______,
+    _______, _______, _______,
+    _______, _______, _______
+  ),
+  [3] = LAYOUT(
+    _______, _______, _______,
+    _______, _______, _______,
+    _______, _______, _______,
+    _______, _______, _______
   )
-
 };
-

+ 0 - 1
keyboards/boardsource/beiwagon/keymaps/via/readme.md

@@ -1 +0,0 @@
-# The via keymap for Beiwagon

+ 0 - 19
keyboards/boardsource/beiwagon/rules.mk

@@ -1,20 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no       # Mouse keys
-EXTRAKEY_ENABLE = no       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-RGB_MATRIX_ENABLE = yes
 RGB_MATRIX_DRIVER = WS2812