summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xkeyboards/binepad/bn006/config.h79
-rwxr-xr-xkeyboards/binepad/bn006/info.json52
-rwxr-xr-xkeyboards/binepad/bn006/keymaps/default/keymap.c18
-rwxr-xr-xkeyboards/binepad/bn006/keymaps/via/keymap.c33
-rw-r--r--keyboards/binepad/bn006/keymaps/via/rules.mk4
-rwxr-xr-xkeyboards/binepad/bn006/readme.md26
-rwxr-xr-xkeyboards/binepad/bn006/rules.mk5
7 files changed, 217 insertions, 0 deletions
diff --git a/keyboards/binepad/bn006/config.h b/keyboards/binepad/bn006/config.h
new file mode 100755
index 0000000000..9a06ef50ee
--- /dev/null
+++ b/keyboards/binepad/bn006/config.h
@@ -0,0 +1,79 @@
+/* Copyright 2022 Binepad (@binpad) */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+/*
+ * Wear Leveling EEPROM Emulation
+ */
+
+#define WEAR_LEVELING_LOGICAL_SIZE 2048 // Number of bytes "exposed" to the rest of QMK and denotes the size of the usable EEPROM.
+#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) // Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size.
+
+
+/*
+ * RGB Matrix
+ */
+
+#ifdef RGB_MATRIX_ENABLE
+ /* ===========================================================================================
+ * PLEASE NOTE: Because the BN006 only has 6 keys, not all the animations are visually viable
+ * =========================================================================================== */
+
+ #define RGB_DI_PIN B15
+ #define DRIVER_LED_TOTAL 6
+ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
+ #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_BREATHING // Sets the default mode, if none has been set
+ #define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards
+
+ // 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_SOLID_COLOR
+ // #define ENABLE_RGB_MATRIX_ALPHAS_MODS
+ #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
+ // #define ENABLE_RGB_MATRIX_RAINBOW_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
+ // 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
+#endif
diff --git a/keyboards/binepad/bn006/info.json b/keyboards/binepad/bn006/info.json
new file mode 100755
index 0000000000..c0147a564e
--- /dev/null
+++ b/keyboards/binepad/bn006/info.json
@@ -0,0 +1,52 @@
+{
+ "manufacturer": "Binepad",
+ "keyboard_name": "BN006",
+ "maintainer": "Binepad",
+ "bootloader": "stm32duino",
+ "debounce": 5,
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["A15", "B3", "B4"],
+ "rows": ["A8", "C14"]
+ },
+ "processor": "STM32F103",
+ "url": "https://binepad.com",
+ "usb": {
+ "vid": "0x4249",
+ "pid": "0x426E",
+ "device_version": "1.0.0"
+ },
+ "rgb_matrix": {
+ "driver": "WS2812",
+ "layout": [
+ { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 },
+ { "flags": 4, "matrix": [0, 1], "x": 112, "y": 0 },
+ { "flags": 4, "matrix": [0, 2], "x": 224, "y": 0 },
+ { "flags": 4, "matrix": [1, 0], "x": 0, "y": 64 },
+ { "flags": 4, "matrix": [1, 1], "x": 112, "y": 64 },
+ { "flags": 4, "matrix": [1, 2], "x": 224, "y": 64 }
+ ]
+ },
+ "community_layouts": ["ortho_2x3"],
+ "layouts": {
+ "LAYOUT_ortho_2x3": {
+ "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 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/binepad/bn006/keymaps/default/keymap.c b/keyboards/binepad/bn006/keymaps/default/keymap.c
new file mode 100755
index 0000000000..a79ff505a1
--- /dev/null
+++ b/keyboards/binepad/bn006/keymaps/default/keymap.c
@@ -0,0 +1,18 @@
+/* Copyright 2022 Binepad (@binpad) */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┐
+ * │ A │ B │ C │
+ * ├───┼───┼───┤
+ * │ D │ E │ F │
+ * └───┴───┴───┘
+ */
+ [0] = LAYOUT_ortho_2x3(
+ KC_MPLY, KC_MUTE, KC_VOLU,
+ KC_MPRV, KC_MNXT, KC_VOLD
+ )
+};
diff --git a/keyboards/binepad/bn006/keymaps/via/keymap.c b/keyboards/binepad/bn006/keymaps/via/keymap.c
new file mode 100755
index 0000000000..1ee98f890c
--- /dev/null
+++ b/keyboards/binepad/bn006/keymaps/via/keymap.c
@@ -0,0 +1,33 @@
+/* Copyright 2022 Binepad (@binpad) */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┐
+ * │ A │ B │ C │
+ * ├───┼───┼───┤
+ * │ D │ E │ F │
+ * └───┴───┴───┘
+ */
+ [0] = LAYOUT_ortho_2x3(
+ KC_MPLY, KC_MUTE, KC_VOLU,
+ KC_MPRV, KC_MNXT, KC_VOLD
+ ),
+
+ [1] = LAYOUT_ortho_2x3(
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+
+ [2] = LAYOUT_ortho_2x3(
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+
+ [3] = LAYOUT_ortho_2x3(
+ _______, _______, _______,
+ _______, _______, _______
+ )
+};
diff --git a/keyboards/binepad/bn006/keymaps/via/rules.mk b/keyboards/binepad/bn006/keymaps/via/rules.mk
new file mode 100644
index 0000000000..78ee487f45
--- /dev/null
+++ b/keyboards/binepad/bn006/keymaps/via/rules.mk
@@ -0,0 +1,4 @@
+# Copyright 2022 Binepad (@binpad)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+VIA_ENABLE = yes
diff --git a/keyboards/binepad/bn006/readme.md b/keyboards/binepad/bn006/readme.md
new file mode 100755
index 0000000000..1964b5dced
--- /dev/null
+++ b/keyboards/binepad/bn006/readme.md
@@ -0,0 +1,26 @@
+# BINEPAD BN006
+
+The BN006 is a CNC machined 6-key macropad
+
+* Keyboard Maintainer: [Binepad](https://github.com/binepad)
+* Hardware Supported: BN006
+* Hardware Availability: [Binepad.com](https://www.binepad.com/bn006)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make binepad/bn006:default
+
+Flashing example for this keyboard:
+
+ make binepad/bn006:default:flash
+
+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 (usually the top left 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` *(or `RESET`)* if it is available
diff --git a/keyboards/binepad/bn006/rules.mk b/keyboards/binepad/bn006/rules.mk
new file mode 100755
index 0000000000..58561c984b
--- /dev/null
+++ b/keyboards/binepad/bn006/rules.mk
@@ -0,0 +1,5 @@
+# Copyright 2022 Binepad (@binpad)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+EPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash