Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Mino Plus Keyboard #19535

Merged
merged 12 commits into from
Jan 18, 2023
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
292 changes: 292 additions & 0 deletions keyboards/mino_plus/keymaps/default/keymap.c

Large diffs are not rendered by default.

300 changes: 300 additions & 0 deletions keyboards/mino_plus/keymaps/via/keymap.c

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions keyboards/mino_plus/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VIA_ENABLE = yes
16 changes: 16 additions & 0 deletions keyboards/mino_plus/mino_plus.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/* Copyright 2022 ShandonCodes
*
* 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 <https://www.gnu.org/licenses/>.
*/
CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved
#include "mino_plus.h"
CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved
23 changes: 23 additions & 0 deletions keyboards/mino_plus/mino_plus.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/* Copyright 2022 ShandonCodes
*
* 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 <https://www.gnu.org/licenses/>.
*/
CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved

#pragma once
CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved

#include "quantum.h"

#ifdef KEYBOARD_mino_plus_soldered
# include "soldered.h"
#endif
27 changes: 27 additions & 0 deletions keyboards/mino_plus/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# mino_plus

![mino_plus](https://i.imgur.com/vZJ6kaNh.jpg)

*A short description of the keyboard/project*
CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved

* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes)
* Hardware Supported: Mino Plus PCB
* Hardware Availability: https://store.shandon.codes/mino-plus/

Make example for this keyboard (after setting up your build environment):

make mino_plus/soldered:default

Flashing example for this keyboard:

make mino_plus/soldered: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 or Escape) 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 `FN` + `R` if it is available.
23 changes: 23 additions & 0 deletions keyboards/mino_plus/soldered/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2022 ShandonCodes (@ShandonCodes)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "config_common.h"

#define MATRIX_ROWS 5
#define MATRIX_COLS 15

CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved
#define DEBOUNCE 5

#define I2C_DRIVER I2CD1
#define I2C1_SCL_PIN B6
#define I2C1_SDA_PIN B7
#define I2C1_SCL_PAL_MODE 1
#define I2C1_SDA_PAL_MODE 1
#define I2C1_TIMINGR_PRESC 0x00U
#define I2C1_TIMINGR_SCLDEL 0x03U
#define I2C1_TIMINGR_SDADEL 0x01U
#define I2C1_TIMINGR_SCLH 0x03U
#define I2C1_TIMINGR_SCLL 0x09U

7 changes: 7 additions & 0 deletions keyboards/mino_plus/soldered/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Copyright 2022 ShandonCodes (@ShandonCodes)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

#define HAL_USE_I2C TRUE

#include_next <halconf.h>
26 changes: 26 additions & 0 deletions keyboards/mino_plus/soldered/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"manufacturer": "ShandonCodes",
"keyboard_name": "Mino Plus",
"maintainer": "ShandonCodes",
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["B4", "B3", "A15", "A10", "A8", "B14", "B12", "B10", "A5", "A4", "A3", "B0", "A7", "C15", "B5"],
"rows": ["B9", "B8", "A2", "A1", "A0"]
},
"processor": "STM32F072",
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0003",
"vid": "0x7877"
}
CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved
}
6 changes: 6 additions & 0 deletions keyboards/mino_plus/soldered/mcuconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Copyright 2022 ShandonCodes (@ShandonCodes)
// SPDX-License-Identifier: GPL-2.0-or-later
#include_next "mcuconf.h"
CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
7 changes: 7 additions & 0 deletions keyboards/mino_plus/soldered/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
MCU = STM32F072

BOOTLOADER = stm32-dfu

CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved
OLED_ENABLE = yes
WPM_ENABLE = yes
OLED_DRIVER = SSD1306
22 changes: 22 additions & 0 deletions keyboards/mino_plus/soldered/soldered.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/* Copyright 2022 ShandonCodes
*
* 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 <https://www.gnu.org/licenses/>.
*/
CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved

#include "soldered.h"

void board_init(void) {
SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
}
56 changes: 56 additions & 0 deletions keyboards/mino_plus/soldered/soldered.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/* Copyright 2022 ShandonCodes
*
* 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 <https://www.gnu.org/licenses/>.
*/
CheeseL0ver marked this conversation as resolved.
Show resolved Hide resolved

#pragma once

#include "quantum.h"

/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
#define LAYOUT_all( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k2e, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e,\
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
k40, k41, k42, k43, k45, k47, k49, k4a, k4b, k4c, k4d, k4e\
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e}, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e}, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
{ k40, k41, k42, k43, KC_NO, k45, KC_NO, k47, KC_NO, k49, k4a, k4b, k4c, k4d, k4e}, \
}

#define LAYOUT_625( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k2e, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e,\
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
k40, k41, k42, k45, k49, k4a, k4b, k4c, k4d, k4e\
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e}, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e}, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
{ k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, k49, k4a, k4b, k4c, k4d, k4e}, \
}