diff --git a/keyboards/binepad/bn009/config.h b/keyboards/binepad/bn009/config.h index 3f233e1488cd..1651cc699e4b 100644 --- a/keyboards/binepad/bn009/config.h +++ b/keyboards/binepad/bn009/config.h @@ -16,7 +16,6 @@ #pragma once - #define MATRIX_ROW_PINS { D2, D1, D0 } #define MATRIX_COL_PINS { B6, B5, B4 } diff --git a/keyboards/binepad/bn009r2/config.h b/keyboards/binepad/bn009r2/config.h new file mode 100644 index 000000000000..45b63ec10528 --- /dev/null +++ b/keyboards/binepad/bn009r2/config.h @@ -0,0 +1,12 @@ +// Copyright 2023 Binepad (@binepad) +// 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. diff --git a/keyboards/binepad/bn009r2/info.json b/keyboards/binepad/bn009r2/info.json new file mode 100644 index 000000000000..5d126c866c01 --- /dev/null +++ b/keyboards/binepad/bn009r2/info.json @@ -0,0 +1,42 @@ +{ + "manufacturer": "Binepad", + "keyboard_name": "BN009 R2", + "maintainer": "binepad", + "bootloader": "stm32duino", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false + }, + "matrix_pins": { + "cols": ["A1", "A2", "A6"], + "rows": ["B6", "B7", "B2"] + }, + "processor": "STM32F103", + "url": "http://binepad.com", + "usb": { + "vid": "0x4249", + "pid": "0x4295", + "device_version": "2.0.0" + }, + "community_layouts": ["ortho_3x3"], + "layouts": { + "LAYOUT_ortho_3x3": { + "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 } + ] + } + } +} diff --git a/keyboards/binepad/bn009r2/keymaps/default/keymap.json b/keyboards/binepad/bn009r2/keymaps/default/keymap.json new file mode 100644 index 000000000000..2d5410de04fb --- /dev/null +++ b/keyboards/binepad/bn009r2/keymaps/default/keymap.json @@ -0,0 +1,15 @@ +{ + "keyboard": "binepad/bn009r2", + "version": 1, + "author": "binepad", + "notes": "This file is a keymap.json file for binepad/bn009r2", + "keymap": "default", + "layout": "LAYOUT_ortho_3x3", + "layers": [ + [ + "KC_7", "KC_8", "KC_9", + "KC_4", "KC_5", "KC_6", + "KC_1", "KC_2", "KC_3" + ] + ] +} diff --git a/keyboards/binepad/bn009r2/keymaps/via/keymap.json b/keyboards/binepad/bn009r2/keymaps/via/keymap.json new file mode 100644 index 000000000000..797c54d43a71 --- /dev/null +++ b/keyboards/binepad/bn009r2/keymaps/via/keymap.json @@ -0,0 +1,35 @@ +{ + "config": { + "features": { + "via": true + } + }, + "keyboard": "binepad/bn009r2", + "version": 1, + "author": "binepad", + "notes": "This file is a keymap.json file for binepad/bn009r2", + "keymap": "via", + "layout": "LAYOUT_ortho_3x3", + "layers": [ + [ + "KC_7", "KC_8", "KC_9", + "KC_4", "KC_5", "KC_6", + "KC_1", "KC_2", "KC_3" + ], + [ + "KC_NO", "KC_NO", "KC_NO", + "KC_NO", "KC_NO", "KC_NO", + "KC_NO", "KC_NO", "KC_NO" + ], + [ + "KC_NO", "KC_NO", "KC_NO", + "KC_NO", "KC_NO", "KC_NO", + "KC_NO", "KC_NO", "KC_NO" + ], + [ + "KC_NO", "KC_NO", "KC_NO", + "KC_NO", "KC_NO", "KC_NO", + "KC_NO", "KC_NO", "KC_NO" + ] + ] +} diff --git a/keyboards/binepad/bn009r2/readme.md b/keyboards/binepad/bn009r2/readme.md new file mode 100644 index 000000000000..5444a088431d --- /dev/null +++ b/keyboards/binepad/bn009r2/readme.md @@ -0,0 +1,27 @@ +# BINEPAD BN009 R2 + +![BINEPAD BN009](https://imgur.com/fu0iXD0h.jpg) + +*A 9% macropad* + +* Keyboard Maintainer: [binepad](https://github.com/binepad) +* Hardware Supported: BN009 *(ft. STM32F103)* +* Hardware Availability: [binepad.com](https://www.binepad.com/bn009) + +Make example for this keyboard (after setting up your build environment): + + make binepad/bn009r2:default + +Flashing example for this keyboard: + + make binepad/bn009r2: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 under the small hole on the back of the macropad +* **Keycode in layout**: Press the key mapped to `QK_BOOT` or `RESET` if it is available diff --git a/keyboards/binepad/bn009r2/rules.mk b/keyboards/binepad/bn009r2/rules.mk new file mode 100644 index 000000000000..837f4bffb53e --- /dev/null +++ b/keyboards/binepad/bn009r2/rules.mk @@ -0,0 +1 @@ +# This file is intentionally left blank