From c9990a140544d48f67ad72b0f20b56fb59ad98dd Mon Sep 17 00:00:00 2001 From: DmNosachev Date: Tue, 3 Jan 2023 13:30:07 +0300 Subject: [PATCH 01/10] Sejin --- keyboards/handwired/sejin_eat1010r2/config.h | 33 +++++++++ keyboards/handwired/sejin_eat1010r2/halconf.h | 27 +++++++ keyboards/handwired/sejin_eat1010r2/info.json | 33 +++++++++ .../sejin_eat1010r2/keymaps/debug/keymap.c | 38 ++++++++++ .../sejin_eat1010r2/keymaps/debug/rules.mk | 1 + .../sejin_eat1010r2/keymaps/default/keymap.c | 58 +++++++++++++++ keyboards/handwired/sejin_eat1010r2/mcuconf.h | 31 ++++++++ keyboards/handwired/sejin_eat1010r2/readme.md | 62 ++++++++++++++++ keyboards/handwired/sejin_eat1010r2/rules.mk | 2 + .../sejin_eat1010r2/sejin_eat1010r2.c | 39 ++++++++++ .../sejin_eat1010r2/sejin_eat1010r2.h | 74 +++++++++++++++++++ 11 files changed, 398 insertions(+) create mode 100644 keyboards/handwired/sejin_eat1010r2/config.h create mode 100644 keyboards/handwired/sejin_eat1010r2/halconf.h create mode 100644 keyboards/handwired/sejin_eat1010r2/info.json create mode 100644 keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c create mode 100644 keyboards/handwired/sejin_eat1010r2/keymaps/debug/rules.mk create mode 100644 keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c create mode 100644 keyboards/handwired/sejin_eat1010r2/mcuconf.h create mode 100644 keyboards/handwired/sejin_eat1010r2/readme.md create mode 100644 keyboards/handwired/sejin_eat1010r2/rules.mk create mode 100644 keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c create mode 100644 keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.h diff --git a/keyboards/handwired/sejin_eat1010r2/config.h b/keyboards/handwired/sejin_eat1010r2/config.h new file mode 100644 index 000000000000..f031277713bc --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/config.h @@ -0,0 +1,33 @@ +/* +Copyright 2022 DmNosachev + +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 . +*/ + +#pragma once + +#include "config_common.h" + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 16 + +#define MATRIX_HAS_GHOST + +#define NUM_LOCK_LED_PIN B0 +#define SCROLL_LOCK_LED_PIN B10 +#define CAPS_LOCK_LED_PIN B1 + +#define BOOTMAGIC_LITE_ROW 1 +#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file diff --git a/keyboards/handwired/sejin_eat1010r2/halconf.h b/keyboards/handwired/sejin_eat1010r2/halconf.h new file mode 100644 index 000000000000..37b172126e3c --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/halconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/z150/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next + diff --git a/keyboards/handwired/sejin_eat1010r2/info.json b/keyboards/handwired/sejin_eat1010r2/info.json new file mode 100644 index 000000000000..26daf629b3f7 --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/info.json @@ -0,0 +1,33 @@ +{ + "keyboard_name": "EAT-1010R2", + "manufacturer": "Sejin", + "url": "", + "maintainer": "DmNosachev", + "usb": { + "vid": "0x515A", + "pid": "0x4D4D", + "device_version": "0.0.1" + }, + "diode_direction": "COL2ROW", + "development_board": "bluepill", + "matrix_pins": { + "cols": ["B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "C13", "C14", "C15", "A0", "A1", "A2", "A3", "A4"], + "rows": ["B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"] + }, + "features": { + "audio": false, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "midi": false, + "mousekey": true, + "nkro": false, + "rgblight": false, + "unicode": false, + "bluetooth": false, + "backlight": false, + "sleep_led": false + }, + "debounce": 5 +} diff --git a/keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c b/keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c new file mode 100644 index 000000000000..dd79497db09d --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2020 DmNosachev + * + * 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 . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [0] = LAYOUT_debug( + 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, 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, 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, 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, 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 + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + // If console is enabled, it will print the matrix position and status of each key pressed +#ifdef CONSOLE_ENABLE + uprintf("row: %u, col: %u, pressed: %u\n", record->event.key.row, record->event.key.col, record->event.pressed); +#endif + return true; +} \ No newline at end of file diff --git a/keyboards/handwired/sejin_eat1010r2/keymaps/debug/rules.mk b/keyboards/handwired/sejin_eat1010r2/keymaps/debug/rules.mk new file mode 100644 index 000000000000..032f2ee316aa --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/keymaps/debug/rules.mk @@ -0,0 +1 @@ +CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c b/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c new file mode 100644 index 000000000000..dafac893226c --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c @@ -0,0 +1,58 @@ +/* Copyright 2022 DmNosachev + * + * 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 . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * ,---------------------------------------------------------------------------------------------------------------------------------------. + * | Esc | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | |PrnSc|ScrLk|Pause| | + * |---------------------------------------------------------------------------------------------------------------------------------------| + * | ~ ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | Bsp | |Insrt|Home |PgUp | |NumLk| / | * | - | + * |---------------------------------------------------------------------------------------------------------------------------------------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | | | Del | End |PgDn | | 7 | 8 | 9 | + | + * |-------------------------------------------------------------------------------| | --------------------------------------| | + * | Caps | A | S | D | F | G | H | J | K | L | ;: | '" | Enter | | 4 | 5 | 6 | | + * |---------------------------------------------------------------------------------------------------------------------------------------| + * | Shift | Z | X | C | V | B | N | M | , | . | /? | Shift | | Up | | 1 | 2 | 3 |Enter| + * |-----------------------------------------------------------------------------------------|---------------------------------------| | + * | Ctrl | | Alt | Space | Alt | | Ctr | |Left |Down |Right| | 0 | . | | + * `---------------------------------------------------------------------------------------------------------------------------------------' +*/ + [_BASE] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ) +}; + +/* +void matrix_init_user(void) { +} +void matrix_scan_user(void) { +} +bool led_update_user(led_t led_state) { + return true; +} +*/ diff --git a/keyboards/handwired/sejin_eat1010r2/mcuconf.h b/keyboards/handwired/sejin_eat1010r2/mcuconf.h new file mode 100644 index 000000000000..8567b2628dd4 --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/mcuconf.h @@ -0,0 +1,31 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/z150/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 FALSE + diff --git a/keyboards/handwired/sejin_eat1010r2/readme.md b/keyboards/handwired/sejin_eat1010r2/readme.md new file mode 100644 index 000000000000..a1f0bef8f72c --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/readme.md @@ -0,0 +1,62 @@ +# QMK-based firmware for Zenith Z-150 keyboard + +![Z-150](https://imgur.com/jayyyvJ.jpg) + +Zenith Z-150 keyboard conversion project: direct connection of Black Pill to the matrix. + +* Keyboard Maintainer: [DmNosachev](https://github.com/DmNosachev) +* Hardware Supported: [Zenith Z-150 keyboard, 100-1860 version with white logo](https://deskthority.net/wiki/Zenith_Z-150), Black Pill STM32F103C8T6 MCU board. Alternatevely you can use any MCU which is supported by QMK and has 22 or more IO pins: Arduino Micro, Teensy 2.0, Teensy 2.0++, Blue Pill, etc. + +Earlier 100-1886 version with black logo has different PCB. + +Make example for this keyboard (after setting up your build environment): + + make handwired/z150:default + +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). + +# Modding + +## Matrix + +Z-150 has 11x8 matrix. It's ghost-free thanks to the diodes. + +Columns are located under NEC D8049HC MCU IC: +![Z-150 columns](https://imgur.com/XiOsrnh.jpg) + +Rows are connected to unmarked 24-pin MUX IC: +![Z-150 rows](https://imgur.com/Wu8rHY0.jpg) + +## LEDs + +LEDs (from left to right): NumLock, CapsLock, ScrollLock: +![Z-150 LED cathodes](https://imgur.com/MO5NLlZ.jpg) + +Their anodes are connected to VCC through 220Ω resistors. +![Z-150 LED anodes](https://imgur.com/w1MfjRN.jpg) + +You can keep the original resistors, but with Black Pill or any other 3.3V controller the LEDs may seem a little dim. Try 150Ω or close value if you want to fix that. + + +## Black Pill +Suggested mount position for the Black Pill (view from the bottom side of the PCB): + +``` + R0 R1 R2 R3 R4 R6 R9 LC LN LS +,--------------------------------------------------------------------, +|B12 B13 B14 B15 A8 A9 A10 A11 A12 A15 B3 B4 B5 B6 B7 3V3 GND |---, +| |USB| +|B11 B10 B1 B0 A7 A6 A5 A4 A3 A2 A1 A0 RST C13 B9 B8 GND |---' +'--------------------------------------------------------------------' + C0 C1 C2 C3 C4 C5 C6 C7 R5 R8 R7 RA +``` + + +1. Desolder all ICs, crystal oscillator, capacitors and resistors except R0–R2 (they connect LEDs to VCC). +1. Solder 12-pin header to the Black Pill (pins B11–A0 on the left side). +2. Solder two 3-pin headers for boot jumpers. +3. Solder 4-pin SWD header. +4. Burn [STM32duino bootloader](https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/bootloader_only_binaries/generic_boot20_pb12.bin) to Black Pill. +5. Compile and flash the firmware: `make handwired/z150:default:flash` +5. Align Black Pill pins B11–A4 with columns 0–7 and solder them. +6. Connect rows, LEDs, ground and VCC traces to the corresponding pins of the BlackPill using additional wires. diff --git a/keyboards/handwired/sejin_eat1010r2/rules.mk b/keyboards/handwired/sejin_eat1010r2/rules.mk new file mode 100644 index 000000000000..a92b0993283e --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/rules.mk @@ -0,0 +1,2 @@ +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c b/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c new file mode 100644 index 000000000000..3b0485528d1f --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c @@ -0,0 +1,39 @@ +/* Copyright 2020 DmNosachev + * + * 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 . + */ + +#include "sejin_eat1010r2.h" + +void matrix_init_kb(void) { + setPinOutput(NUM_LOCK_LED_PIN); + setPinOutput(CAPS_LOCK_LED_PIN); + setPinOutput(SCROLL_LOCK_LED_PIN); + + writePinLow(NUM_LOCK_LED_PIN); + writePinLow(CAPS_LOCK_LED_PIN); + writePinLow(SCROLL_LOCK_LED_PIN); + + matrix_init_user(); +} + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if(res) { + writePin(NUM_LOCK_LED_PIN, !led_state.num_lock); + writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); + writePin(SCROLL_LOCK_LED_PIN, !led_state.scroll_lock); + } + return res; +} diff --git a/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.h b/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.h new file mode 100644 index 000000000000..3f390b78ffe7 --- /dev/null +++ b/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.h @@ -0,0 +1,74 @@ +/* Copyright 2020 DmNosachev + * + * 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 . + */ + +#pragma once + +#include "quantum.h" + +/* readability */ +#define XXX KC_NO + +/* 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( \ + K10, K1B, K2B, K27, K17, K15, K25, K14, K13, K24, K35, K26, K16, K1C, K2C, K1D, \ + K20, K30, K3B, K37, K21, K11, K12, K22, K45, K34, K23, K33, K44, K06, K46, K36, K3C, K3D, K2D, K3E, K4E, K3F, \ + K40, K00, K4B, K47, K41, K31, K32, K42, K55, K04, K43, K03, K54, K07, K05, K4C, K0C, K0D, K4D, K0E, K4F, \ + K70, K50, K0B, K67, K51, K01, K02, K52, K65, K64, K53, K63, K5C, K5D, K5E, \ + K7A, K6B, K5B, K77, K71, K61, K62, K72, K75, K74, K73, K6A, K56, K6C, K6D, K6E, K5F, \ + K79, K78, K7B, K68, K69, K66, K76, K7C, K7E, K7F \ +) \ +{ \ +/* 0 */ { K00, K01, K02, K03, K04, K05, K06, K07, XXX, XXX, XXX, K0B, K0C, K0D, K0E, XXX }, \ +/* 1 */ { K10, K11, K12, K13, K14, K15, K16, K17, XXX, XXX, XXX, K1B, K1C, K1D, XXX, XXX }, \ +/* 2 */ { K20, K21, K22, K23, K24, K25, K26, K27, XXX, XXX, XXX, K2B, K2C, K2D, XXX, XXX }, \ +/* 3 */ { K30, K31, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX, K3B, K3C, K3D, K3E, K3F }, \ +/* 4 */ { K40, K41, K42, K43, K44, K45, K46, K47, XXX, XXX, XXX, K4B, K4C, K4D, K4E, K4F }, \ +/* 5 */ { K50, K51, K52, K53, K54, K55, K56, XXX, XXX, XXX, XXX, K5B, K5C, K5D, K5E, K5F }, \ +/* 6 */ { XXX, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, XXX }, \ +/* 7 */ { K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K7A, K7B, K7C, XXX, K7E, K7F } \ +} +/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + +#define LAYOUT_debug( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, \ + K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F, \ + K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F, \ + K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F \ +) \ +{ \ +/* 0 */ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ +/* 1 */ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ +/* 2 */ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ +/* 3 */ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ +/* 4 */ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \ +/* 5 */ { K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, \ +/* 6 */ { K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ +/* 7 */ { K70, K71, K72, K73, K74, K75, K76, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \ +} +/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + From 3caf498d9bdef1f85f60e0232664191b7a75ec1f Mon Sep 17 00:00:00 2001 From: DmNosachev Date: Sat, 11 Feb 2023 11:59:50 +0300 Subject: [PATCH 02/10] readme, layout in info.json --- keyboards/handwired/sejin_eat1010r2/config.h | 8 +- keyboards/handwired/sejin_eat1010r2/info.json | 15 ++- .../sejin_eat1010r2/keymaps/debug/keymap.c | 2 +- .../sejin_eat1010r2/keymaps/default/keymap.c | 2 +- keyboards/handwired/sejin_eat1010r2/readme.md | 95 ++++++++----------- .../sejin_eat1010r2/sejin_eat1010r2.c | 20 ++-- .../sejin_eat1010r2/sejin_eat1010r2.h | 2 +- 7 files changed, 65 insertions(+), 79 deletions(-) diff --git a/keyboards/handwired/sejin_eat1010r2/config.h b/keyboards/handwired/sejin_eat1010r2/config.h index f031277713bc..623bc2700975 100644 --- a/keyboards/handwired/sejin_eat1010r2/config.h +++ b/keyboards/handwired/sejin_eat1010r2/config.h @@ -1,5 +1,5 @@ /* -Copyright 2022 DmNosachev +Copyright 2023 DmNosachev 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 @@ -23,11 +23,5 @@ along with this program. If not, see . #define MATRIX_ROWS 8 #define MATRIX_COLS 16 -#define MATRIX_HAS_GHOST - -#define NUM_LOCK_LED_PIN B0 -#define SCROLL_LOCK_LED_PIN B10 -#define CAPS_LOCK_LED_PIN B1 - #define BOOTMAGIC_LITE_ROW 1 #define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file diff --git a/keyboards/handwired/sejin_eat1010r2/info.json b/keyboards/handwired/sejin_eat1010r2/info.json index 26daf629b3f7..cacb69aa9df4 100644 --- a/keyboards/handwired/sejin_eat1010r2/info.json +++ b/keyboards/handwired/sejin_eat1010r2/info.json @@ -12,7 +12,13 @@ "development_board": "bluepill", "matrix_pins": { "cols": ["B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "C13", "C14", "C15", "A0", "A1", "A2", "A3", "A4"], - "rows": ["B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"] + "rows": ["B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"], + "ghost": true + }, + "indicators": { + "caps_lock": "B1", + "num_lock": "B0", + "scroll_lock": "B10" }, "features": { "audio": false, @@ -29,5 +35,10 @@ "backlight": false, "sleep_led": false }, - "debounce": 5 + "debounce": 5, + "layouts": { + "LAYOUT": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"|", "x":13, "y":1.5}, {"label":"\u2190", "x":14, "y":1.5}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Num Lock", "x":18.5, "y":1.5}, {"label":"/", "x":19.5, "y":1.5}, {"label":"*", "x":20.5, "y":1.5}, {"label":"-", "x":21.5, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"Enter", "x":13.5, "y":2.5, "w":1.5, "h":2}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"7", "x":18.5, "y":2.5}, {"label":"8", "x":19.5, "y":2.5}, {"label":"9", "x":20.5, "y":2.5}, {"label":"+", "x":21.5, "y":2.5, "h":2}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":2.25}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"1", "x":18.5, "y":4.5}, {"label":"2", "x":19.5, "y":4.5}, {"label":"3", "x":20.5, "y":4.5}, {"label":"Enter", "x":21.5, "y":4.5, "h":2}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}, {"label":"0", "x":18.5, "y":5.5, "w":2}, {"label":".", "x":20.5, "y":5.5}] + } + } } diff --git a/keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c b/keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c index dd79497db09d..67691cd54242 100644 --- a/keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c +++ b/keyboards/handwired/sejin_eat1010r2/keymaps/debug/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2020 DmNosachev +/* Copyright 2023 DmNosachev * * 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 diff --git a/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c b/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c index dafac893226c..f06def08b442 100644 --- a/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c +++ b/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2022 DmNosachev +/* Copyright 2023 DmNosachev * * 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 diff --git a/keyboards/handwired/sejin_eat1010r2/readme.md b/keyboards/handwired/sejin_eat1010r2/readme.md index a1f0bef8f72c..7c2dbc92fc2b 100644 --- a/keyboards/handwired/sejin_eat1010r2/readme.md +++ b/keyboards/handwired/sejin_eat1010r2/readme.md @@ -1,62 +1,43 @@ -# QMK-based firmware for Zenith Z-150 keyboard - -![Z-150](https://imgur.com/jayyyvJ.jpg) - -Zenith Z-150 keyboard conversion project: direct connection of Black Pill to the matrix. +# QMK-based firmware for Sejin EAT-1010R2 keyboard * Keyboard Maintainer: [DmNosachev](https://github.com/DmNosachev) -* Hardware Supported: [Zenith Z-150 keyboard, 100-1860 version with white logo](https://deskthority.net/wiki/Zenith_Z-150), Black Pill STM32F103C8T6 MCU board. Alternatevely you can use any MCU which is supported by QMK and has 22 or more IO pins: Arduino Micro, Teensy 2.0, Teensy 2.0++, Blue Pill, etc. - -Earlier 100-1886 version with black logo has different PCB. +* Hardware Supported: Sejin EAT-1010R2 (membrane keyboard, Sejin +Futaba-mount dome, Asian 101 ISO layout), Blue/Black Pill STM32F103 MCU +oard. Alternatevely you can use any MCU which is supported by QMK and +has 27 or more IO pins Make example for this keyboard (after setting up your build environment): - make handwired/z150:default - -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). - -# Modding - -## Matrix - -Z-150 has 11x8 matrix. It's ghost-free thanks to the diodes. - -Columns are located under NEC D8049HC MCU IC: -![Z-150 columns](https://imgur.com/XiOsrnh.jpg) - -Rows are connected to unmarked 24-pin MUX IC: -![Z-150 rows](https://imgur.com/Wu8rHY0.jpg) - -## LEDs - -LEDs (from left to right): NumLock, CapsLock, ScrollLock: -![Z-150 LED cathodes](https://imgur.com/MO5NLlZ.jpg) - -Their anodes are connected to VCC through 220Ω resistors. -![Z-150 LED anodes](https://imgur.com/w1MfjRN.jpg) - -You can keep the original resistors, but with Black Pill or any other 3.3V controller the LEDs may seem a little dim. Try 150Ω or close value if you want to fix that. - - -## Black Pill -Suggested mount position for the Black Pill (view from the bottom side of the PCB): - -``` - R0 R1 R2 R3 R4 R6 R9 LC LN LS -,--------------------------------------------------------------------, -|B12 B13 B14 B15 A8 A9 A10 A11 A12 A15 B3 B4 B5 B6 B7 3V3 GND |---, -| |USB| -|B11 B10 B1 B0 A7 A6 A5 A4 A3 A2 A1 A0 RST C13 B9 B8 GND |---' -'--------------------------------------------------------------------' - C0 C1 C2 C3 C4 C5 C6 C7 R5 R8 R7 RA -``` - - -1. Desolder all ICs, crystal oscillator, capacitors and resistors except R0–R2 (they connect LEDs to VCC). -1. Solder 12-pin header to the Black Pill (pins B11–A0 on the left side). -2. Solder two 3-pin headers for boot jumpers. -3. Solder 4-pin SWD header. -4. Burn [STM32duino bootloader](https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/bootloader_only_binaries/generic_boot20_pb12.bin) to Black Pill. -5. Compile and flash the firmware: `make handwired/z150:default:flash` -5. Align Black Pill pins B11–A4 with columns 0–7 and solder them. -6. Connect rows, LEDs, ground and VCC traces to the corresponding pins of the BlackPill using additional wires. + qmk compile -kb handwired/sejin_eat1010r2 -km default + +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). + +## Additional hardware +* 16 and 8 pin 2.54mm (0.1'') FPC connectors. They can be found at +Aliexpress for 2–3 USD for 10pcs. Two 8 pin connectors can be glued +together as a replacement for 16 pin. +* Three 5mm LEDs and current limiting resistors (150–300Ω, depending on +LED specs). This keyboard has exactly the same spacing between LEDs as +IBM Model M, so a corresponding PCB can be used after adding resistors. + +## Membrane +Sejin EAT-1010R2 has 16x8 matrix. There are 16 and 8 pin flex connectors +from membrane sheets. Solder FPC connectors to devboard (numbering from +left to right, see *matrix_pins* in info.json file). + +## Bootloader +Burn [STM32duino bootloader](https://github.com/rogerclarkmelbourne/STM32duino-bootloader) +to Blue Pill board. + +There are several ways to get into the bootloader: +* STM32duino bootloader waits for 3 seconds in DFU mode before jumping to application. +You just have to start the flashing process, then connect the USB. +* This firmware is configured with [bootmagic feature](https://docs.qmk.fm/#/feature_bootmagic). +Hold the ESC key down when plugging the keyboard in to trigger the bootloader. + +## Troubleshooting +There is *debug* layout which has mapping for every matrix position and +prints column and raw numbers to console (hid_listen or QMK toolbox). diff --git a/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c b/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c index 3b0485528d1f..3419c796a188 100644 --- a/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c +++ b/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c @@ -1,4 +1,4 @@ -/* Copyright 2020 DmNosachev +/* Copyright 2023 DmNosachev * * 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 @@ -17,13 +17,13 @@ #include "sejin_eat1010r2.h" void matrix_init_kb(void) { - setPinOutput(NUM_LOCK_LED_PIN); - setPinOutput(CAPS_LOCK_LED_PIN); - setPinOutput(SCROLL_LOCK_LED_PIN); + setPinOutput(LED_NUM_LOCK_PIN); + setPinOutput(LED_CAPS_LOCK_PIN); + setPinOutput(LED_SCROLL_LOCK_PIN); - writePinLow(NUM_LOCK_LED_PIN); - writePinLow(CAPS_LOCK_LED_PIN); - writePinLow(SCROLL_LOCK_LED_PIN); + writePinLow(LED_NUM_LOCK_PIN); + writePinLow(LED_CAPS_LOCK_PIN); + writePinLow(LED_SCROLL_LOCK_PIN); matrix_init_user(); } @@ -31,9 +31,9 @@ void matrix_init_kb(void) { bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if(res) { - writePin(NUM_LOCK_LED_PIN, !led_state.num_lock); - writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); - writePin(SCROLL_LOCK_LED_PIN, !led_state.scroll_lock); + writePin(LED_NUM_LOCK_PIN, !led_state.num_lock); + writePin(LED_CAPS_LOCK_PIN, !led_state.caps_lock); + writePin(LED_SCROLL_LOCK_PIN, !led_state.scroll_lock); } return res; } diff --git a/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.h b/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.h index 3f390b78ffe7..9618ed6b649b 100644 --- a/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.h +++ b/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.h @@ -1,4 +1,4 @@ -/* Copyright 2020 DmNosachev +/* Copyright 2023 DmNosachev * * 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 From 392575949e1b913729eadcb20f92fe317d2c2f4b Mon Sep 17 00:00:00 2001 From: Dmitry Nosachev Date: Fri, 17 Feb 2023 15:14:44 +0300 Subject: [PATCH 03/10] Update keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c Co-authored-by: Joel Challis --- .../handwired/sejin_eat1010r2/keymaps/default/keymap.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c b/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c index f06def08b442..8ab4907331df 100644 --- a/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c +++ b/keyboards/handwired/sejin_eat1010r2/keymaps/default/keymap.c @@ -46,13 +46,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ) }; - -/* -void matrix_init_user(void) { -} -void matrix_scan_user(void) { -} -bool led_update_user(led_t led_state) { - return true; -} -*/ From 928d59be7599e49539fd14c7ac01bc5ef51d648a Mon Sep 17 00:00:00 2001 From: Dmitry Nosachev Date: Fri, 17 Feb 2023 15:15:05 +0300 Subject: [PATCH 04/10] Update keyboards/handwired/sejin_eat1010r2/config.h Co-authored-by: Joel Challis --- keyboards/handwired/sejin_eat1010r2/config.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/keyboards/handwired/sejin_eat1010r2/config.h b/keyboards/handwired/sejin_eat1010r2/config.h index 623bc2700975..a08dea8fcb81 100644 --- a/keyboards/handwired/sejin_eat1010r2/config.h +++ b/keyboards/handwired/sejin_eat1010r2/config.h @@ -19,9 +19,5 @@ along with this program. If not, see . #include "config_common.h" -/* key matrix size */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 16 - #define BOOTMAGIC_LITE_ROW 1 #define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file From 0093ed885d7bd581302f7886d38839cde25deb88 Mon Sep 17 00:00:00 2001 From: Dmitry Nosachev Date: Fri, 17 Feb 2023 15:19:33 +0300 Subject: [PATCH 05/10] Removing unnecessary files --- keyboards/handwired/sejin_eat1010r2/halconf.h | 27 ------------- keyboards/handwired/sejin_eat1010r2/mcuconf.h | 31 --------------- .../sejin_eat1010r2/sejin_eat1010r2.c | 39 ------------------- 3 files changed, 97 deletions(-) delete mode 100644 keyboards/handwired/sejin_eat1010r2/halconf.h delete mode 100644 keyboards/handwired/sejin_eat1010r2/mcuconf.h delete mode 100644 keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c diff --git a/keyboards/handwired/sejin_eat1010r2/halconf.h b/keyboards/handwired/sejin_eat1010r2/halconf.h deleted file mode 100644 index 37b172126e3c..000000000000 --- a/keyboards/handwired/sejin_eat1010r2/halconf.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2020 QMK - * - * 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/handwired/z150/halconf.h -r platforms/chibios/common/configs/halconf.h` - */ - -#pragma once - -#define HAL_USE_PWM TRUE - -#include_next - diff --git a/keyboards/handwired/sejin_eat1010r2/mcuconf.h b/keyboards/handwired/sejin_eat1010r2/mcuconf.h deleted file mode 100644 index 8567b2628dd4..000000000000 --- a/keyboards/handwired/sejin_eat1010r2/mcuconf.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2020 QMK - * - * 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/handwired/z150/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h` - */ - -#pragma once - -#include_next - -#undef STM32_PWM_USE_TIM4 -#define STM32_PWM_USE_TIM4 TRUE - -#undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 FALSE - diff --git a/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c b/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c deleted file mode 100644 index 3419c796a188..000000000000 --- a/keyboards/handwired/sejin_eat1010r2/sejin_eat1010r2.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2023 DmNosachev - * - * 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 . - */ - -#include "sejin_eat1010r2.h" - -void matrix_init_kb(void) { - setPinOutput(LED_NUM_LOCK_PIN); - setPinOutput(LED_CAPS_LOCK_PIN); - setPinOutput(LED_SCROLL_LOCK_PIN); - - writePinLow(LED_NUM_LOCK_PIN); - writePinLow(LED_CAPS_LOCK_PIN); - writePinLow(LED_SCROLL_LOCK_PIN); - - matrix_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - writePin(LED_NUM_LOCK_PIN, !led_state.num_lock); - writePin(LED_CAPS_LOCK_PIN, !led_state.caps_lock); - writePin(LED_SCROLL_LOCK_PIN, !led_state.scroll_lock); - } - return res; -} From 88c65a4cf366cb4f6aea7c3790ec4f761cf5d1b8 Mon Sep 17 00:00:00 2001 From: Dmitry Nosachev Date: Sat, 18 Feb 2023 11:34:33 +0300 Subject: [PATCH 06/10] Update keyboards/handwired/sejin_eat1010r2/config.h Co-authored-by: Drashna Jaelre --- keyboards/handwired/sejin_eat1010r2/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/handwired/sejin_eat1010r2/config.h b/keyboards/handwired/sejin_eat1010r2/config.h index a08dea8fcb81..15f9863209be 100644 --- a/keyboards/handwired/sejin_eat1010r2/config.h +++ b/keyboards/handwired/sejin_eat1010r2/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#include "config_common.h" #define BOOTMAGIC_LITE_ROW 1 #define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file From 18d274b0b97ec06485662f731909d5f5a6754b3d Mon Sep 17 00:00:00 2001 From: Dmitry Nosachev Date: Sat, 18 Feb 2023 20:46:58 +0300 Subject: [PATCH 07/10] Update keyboards/handwired/sejin_eat1010r2/info.json Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/handwired/sejin_eat1010r2/info.json | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/keyboards/handwired/sejin_eat1010r2/info.json b/keyboards/handwired/sejin_eat1010r2/info.json index cacb69aa9df4..9cb2231230d0 100644 --- a/keyboards/handwired/sejin_eat1010r2/info.json +++ b/keyboards/handwired/sejin_eat1010r2/info.json @@ -8,10 +8,10 @@ "pid": "0x4D4D", "device_version": "0.0.1" }, - "diode_direction": "COL2ROW", - "development_board": "bluepill", + "diode_direction": "COL2ROW", + "development_board": "bluepill", "matrix_pins": { - "cols": ["B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "C13", "C14", "C15", "A0", "A1", "A2", "A3", "A4"], + "cols": ["B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "C13", "C14", "C15", "A0", "A1", "A2", "A3", "A4"], "rows": ["B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"], "ghost": true }, @@ -20,22 +20,17 @@ "num_lock": "B0", "scroll_lock": "B10" }, - "features": { - "audio": false, + "features": { "bootmagic": true, "command": false, "console": false, "extrakey": true, - "midi": false, "mousekey": true, - "nkro": false, - "rgblight": false, - "unicode": false, - "bluetooth": false, - "backlight": false, - "sleep_led": false + "nkro": false + }, + "bootmagic" { + "matrix": [1, 0] }, - "debounce": 5, "layouts": { "LAYOUT": { "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"|", "x":13, "y":1.5}, {"label":"\u2190", "x":14, "y":1.5}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Num Lock", "x":18.5, "y":1.5}, {"label":"/", "x":19.5, "y":1.5}, {"label":"*", "x":20.5, "y":1.5}, {"label":"-", "x":21.5, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"Enter", "x":13.5, "y":2.5, "w":1.5, "h":2}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"7", "x":18.5, "y":2.5}, {"label":"8", "x":19.5, "y":2.5}, {"label":"9", "x":20.5, "y":2.5}, {"label":"+", "x":21.5, "y":2.5, "h":2}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":2.25}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"1", "x":18.5, "y":4.5}, {"label":"2", "x":19.5, "y":4.5}, {"label":"3", "x":20.5, "y":4.5}, {"label":"Enter", "x":21.5, "y":4.5, "h":2}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}, {"label":"0", "x":18.5, "y":5.5, "w":2}, {"label":".", "x":20.5, "y":5.5}] From 052bc9169ef7d8c8b4045b9420f70835cb434af1 Mon Sep 17 00:00:00 2001 From: Dmitry Nosachev Date: Sat, 18 Feb 2023 20:47:06 +0300 Subject: [PATCH 08/10] Update keyboards/handwired/sejin_eat1010r2/readme.md Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/handwired/sejin_eat1010r2/readme.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/keyboards/handwired/sejin_eat1010r2/readme.md b/keyboards/handwired/sejin_eat1010r2/readme.md index 7c2dbc92fc2b..397e1f5c88b9 100644 --- a/keyboards/handwired/sejin_eat1010r2/readme.md +++ b/keyboards/handwired/sejin_eat1010r2/readme.md @@ -8,7 +8,12 @@ has 27 or more IO pins Make example for this keyboard (after setting up your build environment): - qmk compile -kb handwired/sejin_eat1010r2 -km default + make handwired/sejin_eat1010r2:default + +Flashing example for this keyboard: + + make handwired/sejin_eat1010r2: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) From 786bdb9285ddc9dd41628b7d1dc69b356711c03e Mon Sep 17 00:00:00 2001 From: DmNosachev Date: Sat, 18 Feb 2023 20:49:13 +0300 Subject: [PATCH 09/10] removed config.h (all settings in info.json) --- keyboards/handwired/sejin_eat1010r2/config.h | 22 -------------------- 1 file changed, 22 deletions(-) delete mode 100644 keyboards/handwired/sejin_eat1010r2/config.h diff --git a/keyboards/handwired/sejin_eat1010r2/config.h b/keyboards/handwired/sejin_eat1010r2/config.h deleted file mode 100644 index 15f9863209be..000000000000 --- a/keyboards/handwired/sejin_eat1010r2/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2023 DmNosachev - -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 . -*/ - -#pragma once - - -#define BOOTMAGIC_LITE_ROW 1 -#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file From 8401cbc3ecc50709161d05456afbdd70651561ce Mon Sep 17 00:00:00 2001 From: Dmitry Nosachev Date: Sun, 19 Feb 2023 11:18:12 +0300 Subject: [PATCH 10/10] Update keyboards/handwired/sejin_eat1010r2/info.json Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/handwired/sejin_eat1010r2/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/sejin_eat1010r2/info.json b/keyboards/handwired/sejin_eat1010r2/info.json index 9cb2231230d0..e913412a9f76 100644 --- a/keyboards/handwired/sejin_eat1010r2/info.json +++ b/keyboards/handwired/sejin_eat1010r2/info.json @@ -28,7 +28,7 @@ "mousekey": true, "nkro": false }, - "bootmagic" { + "bootmagic": { "matrix": [1, 0] }, "layouts": {