diff options
Diffstat (limited to 'keyboards/jacky_studio')
26 files changed, 435 insertions, 135 deletions
diff --git a/keyboards/jacky_studio/bear_65/config.h b/keyboards/jacky_studio/bear_65/config.h index 0caf635045..2303086f2e 100644 --- a/keyboards/jacky_studio/bear_65/config.h +++ b/keyboards/jacky_studio/bear_65/config.h @@ -3,31 +3,12 @@ #pragma once - -/* - * 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, B7 } -#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0 } - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION ROW2COL - /* 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 -#define RGB_DI_PIN E2 -#ifdef RGB_DI_PIN #define RGBLIGHT_LIMIT_VAL 200 #define RGBLIGHT_DEFAULT_VAL 50 #define RGBLIGHT_EFFECT_BREATHING @@ -46,5 +27,3 @@ #define RGBLIGHT_VAL_STEP 8 /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_SLEEP - -#endif diff --git a/keyboards/jacky_studio/bear_65/rev1/info.json b/keyboards/jacky_studio/bear_65/rev1/info.json index ed5768bf32..8bc527606f 100644 --- a/keyboards/jacky_studio/bear_65/rev1/info.json +++ b/keyboards/jacky_studio/bear_65/rev1/info.json @@ -10,9 +10,20 @@ "pid": "0x000A", "device_version": "0.0.1" }, + "rgb_matrix": { + "driver": "WS2812" + }, + "matrix_pins": { + "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0"], + "rows": ["B0", "B1", "B2", "B3", "B7"] + }, + "diode_direction": "ROW2COL", "backlight": { "pin": "B6" }, + "ws2812": { + "pin": "E2" + }, "indicators": { "caps_lock": "C7", "on_state": 0 diff --git a/keyboards/jacky_studio/bear_65/rev1/rev1.h b/keyboards/jacky_studio/bear_65/rev1/rev1.h index 901efe70b7..872436fcd4 100644 --- a/keyboards/jacky_studio/bear_65/rev1/rev1.h +++ b/keyboards/jacky_studio/bear_65/rev1/rev1.h @@ -16,7 +16,7 @@ #pragma once -#include "bear_65.h" +#include "quantum.h" #define LAYOUT_all( \ K31, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ diff --git a/keyboards/jacky_studio/bear_65/rev1/rules.mk b/keyboards/jacky_studio/bear_65/rev1/rules.mk index 5d90baa2af..7e03810942 100644 --- a/keyboards/jacky_studio/bear_65/rev1/rules.mk +++ b/keyboards/jacky_studio/bear_65/rev1/rules.mk @@ -14,4 +14,3 @@ AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes # Use LTO flags to reduce firmware size RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE) -RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support diff --git a/keyboards/jacky_studio/bear_65/rev2/info.json b/keyboards/jacky_studio/bear_65/rev2/info.json index 147dc2ade4..c6565255ed 100644 --- a/keyboards/jacky_studio/bear_65/rev2/info.json +++ b/keyboards/jacky_studio/bear_65/rev2/info.json @@ -10,9 +10,20 @@ "pid": "0x0428", "device_version": "0.0.1" }, + "rgb_matrix": { + "driver": "WS2812" + }, + "matrix_pins": { + "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0"], + "rows": ["B0", "B1", "B2", "B3", "B7"] + }, + "diode_direction": "ROW2COL", "backlight": { "pin": "B6" }, + "ws2812": { + "pin": "E2" + }, "indicators": { "caps_lock": "C7", "on_state": 0 diff --git a/keyboards/jacky_studio/bear_65/rev2/rev2.h b/keyboards/jacky_studio/bear_65/rev2/rev2.h index 31cc430504..61f5a9d6fe 100644 --- a/keyboards/jacky_studio/bear_65/rev2/rev2.h +++ b/keyboards/jacky_studio/bear_65/rev2/rev2.h @@ -16,7 +16,7 @@ #pragma once -#include "bear_65.h" +#include "quantum.h" #define LAYOUT_wk_full( \ K31, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K4E, \ diff --git a/keyboards/jacky_studio/bear_65/rev2/rules.mk b/keyboards/jacky_studio/bear_65/rev2/rules.mk index 5d90baa2af..7e03810942 100644 --- a/keyboards/jacky_studio/bear_65/rev2/rules.mk +++ b/keyboards/jacky_studio/bear_65/rev2/rules.mk @@ -14,4 +14,3 @@ AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes # Use LTO flags to reduce firmware size RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE) -RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support diff --git a/keyboards/jacky_studio/piggy60/info.json b/keyboards/jacky_studio/piggy60/info.json index a3c7f5eb41..a77368e94d 100644 --- a/keyboards/jacky_studio/piggy60/info.json +++ b/keyboards/jacky_studio/piggy60/info.json @@ -1,60 +1,10 @@ { "manufacturer": "Jacky", - "keyboard_name": "Piggy60", "maintainer": "qmk", - "bootloader": "atmel-dfu", - "build": { - "lto": true - }, - "features": { - "bootmagic": true, - "command": false, - "console": false, - "caps_word": true, - "debug": false, - "extrakey": true, - "mousekey": true, - "rgblight": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["F0", "F1", "E6", "C7", "C6", "B6", "D4", "B1", "F7", "B5", "B4", "D7", "D6", "B3", "B2"], - "rows": ["D0", "D1", "D2", "D3", "D5"] - }, - "processor": "atmega32u4", - "url": "https://www.notion.so/Piggy-60-Everything-You-Should-Know-7308d056551d4edabdbcc95748e9dabc", "usb": { - "device_version": "1.0.0", - "vid": "0xA13B", - "pid": "0x1001" - }, - "indicators": { - "caps_lock": "F4", - "on_state": 0 - }, - "rgblight": { - "led_count": 14, - "pin": "E2", - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "rgb_test": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "sleep": true, - "max_brightness": 255 - }, - "tapping": { - "tap_keycode_delay": 10, - "tap_capslock_delay": 10, - "term": 170 + "vid": "0xA13B" }, + "url": "https://www.notion.so/Piggy-60-Everything-You-Should-Know-7308d056551d4edabdbcc95748e9dabc", "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/jacky_studio/piggy60/readme.md b/keyboards/jacky_studio/piggy60/readme.md index bae776deba..79564977ec 100644 --- a/keyboards/jacky_studio/piggy60/readme.md +++ b/keyboards/jacky_studio/piggy60/readme.md @@ -5,17 +5,21 @@ A gasket-mounted 60% in the style of the S7 Elephant. * Keyboard Maintainer: [The QMK Community](https://github.com/qmk) -* Hardware Supported: Piggy60 PCB "rev1" (atmega32u4) - * **Make sure your PCB uses an `atmega32u4` before flashing!** A PCB that uses an `APM32F103CBT6` with `uf2boot` has been shipped with some extras purchases and to replace some defective units. Flashing that PCB with "rev1" firmware may result in a non-functional PCB which can only be recovered using a hardware programmer (e.g. an ST-Link V2) -* Hardware Availability: Group Buy took place between 2021-05-22 1600 UTC and 2021-05-25 1600 UTC on [https://jackylab.com/](https://jackylab.com/). +* Hardware Supported: + * Piggy60 PCB rev 1 (atmega32u4, atmel-dfu) + * Piggy60 PCB rev 2 (APM32F103CBT6, uf2boot) + **Check your PCB before flashing!** Loading rev1 firmware on a rev2 PCB may result in a non-functional PCB which can only be recovered using a hardware programmer (e.g. an ST-Link V2) +* Hardware Availability: Group Buy took place between 2021-05-22 1600 UTC and 2021-05-25 1600 UTC on [https://jackylab.com/](https://jackylab.com/). Rev 2 PCBs were provided during extras sales and as replacements. Make example for this keyboard (after setting up your build environment): - make jacky_studio/piggy60:default + make jacky_studio/piggy60/rev1:default + make jacky_studio/piggy60/rev2:default Flashing example for this keyboard: - make jacky_studio/piggy60:default:flash + make jacky_studio/piggy60/rev1:default:flash + make jacky_studio/piggy60/rev2: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). @@ -23,6 +27,15 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: -* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. This will also clear EEPROM, so it is a good first step if the keyboard is misbehaving. -* **Physical reset**: Short the set of vertical holes on the third row, to the right of Caps Lock. These can be reached with tweezers after the board has been assembled. +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. This will also clear EEPROM/emulated EEPROM, so it is a good first step if the keyboard is misbehaving. +* **Physical reset**: + - Rev 1: Short the set of vertical holes on the third row, to the right of Caps Lock. These can be reached with tweezers after the board has been assembled. + - Rev 2: Near the MCU there are two square pads with a circle in the middle. This is an unpopulated footprint for a reset button. Short these two pads twice in quick succession. * **Keycode in layout**: There is no key mapped to `QK_BOOT` in the pre-created keymaps, but you may assign this key in any keymaps you create. + +## Flashing + +After entering the bootloader through one of the three methods above: + +- Rev 1: The keyboard will appear as an Atmel DFU device. It can be flashed using the QMK CLI or QMK Toolbox. +- Rev 2: The keyboard will appear as a USB mass storage device named `MT.KEY`. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded. diff --git a/keyboards/jacky_studio/piggy60/hotswap/info.json b/keyboards/jacky_studio/piggy60/rev1/hotswap/info.json index 8b10920700..8b10920700 100644 --- a/keyboards/jacky_studio/piggy60/hotswap/info.json +++ b/keyboards/jacky_studio/piggy60/rev1/hotswap/info.json diff --git a/keyboards/jacky_studio/piggy60/hotswap/rules.mk b/keyboards/jacky_studio/piggy60/rev1/hotswap/rules.mk index 6e7633bfe0..6e7633bfe0 100644 --- a/keyboards/jacky_studio/piggy60/hotswap/rules.mk +++ b/keyboards/jacky_studio/piggy60/rev1/hotswap/rules.mk diff --git a/keyboards/jacky_studio/piggy60/rev1/info.json b/keyboards/jacky_studio/piggy60/rev1/info.json new file mode 100644 index 0000000000..8f3ebcf347 --- /dev/null +++ b/keyboards/jacky_studio/piggy60/rev1/info.json @@ -0,0 +1,47 @@ +{ + "keyboard_name": "Piggy60 rev1", + "bootloader": "atmel-dfu", + "build": { + "lto": true + }, + "matrix_pins": { + "cols": ["F0", "F1", "E6", "C7", "C6", "B6", "D4", "B1", "F7", "B5", "B4", "D7", "D6", "B3", "B2"], + "rows": ["D0", "D1", "D2", "D3", "D5"] + }, + "processor": "atmega32u4", + "usb": { + "device_version": "1.0.0", + "pid": "0x1001" + }, + "features": { + "bootmagic": true, + "caps_word": true, + "extrakey": true, + "mousekey": true, + "rgblight": true, + "nkro": true + }, + "indicators": { + "caps_lock": "F4", + "on_state": 0 + }, + "rgblight": { + "led_count": 14, + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "sleep": true + }, + "ws2812": { + "pin": "E2" + } +} diff --git a/keyboards/jacky_studio/piggy60/rev1/rules.mk b/keyboards/jacky_studio/piggy60/rev1/rules.mk new file mode 100644 index 0000000000..873e9334ed --- /dev/null +++ b/keyboards/jacky_studio/piggy60/rev1/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = jacky_studio/piggy60/rev1/solder diff --git a/keyboards/jacky_studio/piggy60/solder/info.json b/keyboards/jacky_studio/piggy60/rev1/solder/info.json index 6a4cacb0fc..6a4cacb0fc 100644 --- a/keyboards/jacky_studio/piggy60/solder/info.json +++ b/keyboards/jacky_studio/piggy60/rev1/solder/info.json diff --git a/keyboards/jacky_studio/piggy60/solder/rules.mk b/keyboards/jacky_studio/piggy60/rev1/solder/rules.mk index 6e7633bfe0..6e7633bfe0 100644 --- a/keyboards/jacky_studio/piggy60/solder/rules.mk +++ b/keyboards/jacky_studio/piggy60/rev1/solder/rules.mk diff --git a/keyboards/jacky_studio/s7_elephant/rev1/rev1.c b/keyboards/jacky_studio/piggy60/rev2/board.h index 0477a9ef5f..e474f8ab33 100644 --- a/keyboards/jacky_studio/s7_elephant/rev1/rev1.c +++ b/keyboards/jacky_studio/piggy60/rev2/board.h @@ -1,4 +1,4 @@ -/* Copyright 2020 MudkipMao +/* Copyright 2022 JasonRen(biu) * * 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 @@ -13,5 +13,9 @@ * 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 "rev1.h" +#include_next <board.h> + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000 diff --git a/keyboards/jacky_studio/bear_65/bear_65.h b/keyboards/jacky_studio/piggy60/rev2/config.h index be8a14a86f..fa884d5f18 100644 --- a/keyboards/jacky_studio/bear_65/bear_65.h +++ b/keyboards/jacky_studio/piggy60/rev2/config.h @@ -1,4 +1,4 @@ -/* Copyright 2020 MudkipMao +/* Copyright 2022 MT * * 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,10 +16,14 @@ #pragma once -#include "quantum.h" +#define RGB_MATRIX_LED_COUNT 14 -#if defined(KEYBOARD_jacky_studio_bear_65_rev1) - #include "rev1.h" -#elif defined(KEYBOARD_jacky_studio_bear_65_rev2) - #include "rev2.h" -#endif +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +#define WS2812_PWM_DRIVER PWMD4 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM7 +#define WS2812_DMA_CHANNEL 7 diff --git a/keyboards/jacky_studio/bear_65/bear_65.c b/keyboards/jacky_studio/piggy60/rev2/halconf.h index a2ae572b82..612ce4fc4a 100644 --- a/keyboards/jacky_studio/bear_65/bear_65.c +++ b/keyboards/jacky_studio/piggy60/rev2/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020 MudkipMao +/* 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 @@ -14,4 +14,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "bear_65.h" +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next <halconf.h> diff --git a/keyboards/jacky_studio/piggy60/rev2/info.json b/keyboards/jacky_studio/piggy60/rev2/info.json new file mode 100644 index 0000000000..91b28898ec --- /dev/null +++ b/keyboards/jacky_studio/piggy60/rev2/info.json @@ -0,0 +1,283 @@ +{ + "board": "STM32_F103_STM32DUINO", + "bootloader": "uf2boot", + "diode_direction": "ROW2COL", + "community_layouts": ["60_hhkb", "60_tsangan_hhkb"], + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "B3", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["A0", "A1", "A2", "A3", "A4", "A6", "A5", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A15"], + "rows": ["A7", "B0", "B1", "B2", "B10"] + }, + "processor": "STM32F103", + "ws2812": { + "pin": "B9", + "driver": "pwm" + }, + "rgb_matrix": { + "driver": "WS2812", + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_rain": true, + "pixel_flow": true, + "pixel_fractal": true, + "typing_heatmap": true, + "digital_rain": true + }, + "layout": [ + { "flags": 2, "x": 0, "y": 63 }, + { "flags": 2, "x": 45, "y": 63 }, + { "flags": 2, "x": 90, "y": 63 }, + { "flags": 2, "x": 135, "y": 63 }, + { "flags": 2, "x": 180, "y": 63 }, + { "flags": 2, "x": 223, "y": 63 }, + { "flags": 2, "x": 160, "y": 32 }, + { "flags": 2, "x": 223, "y": 0 }, + { "flags": 2, "x": 180, "y": 0 }, + { "flags": 2, "x": 135, "y": 0 }, + { "flags": 2, "x": 90, "y": 0 }, + { "flags": 2, "x": 45, "y": 0 }, + { "flags": 2, "x": 0, "y": 0 }, + { "flags": 2, "x": 32, "y": 32 } + ] + }, + "usb": { + "device_version": "2.0.0", + "pid": "0x1002" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 }, + { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 }, + { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 }, + { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 }, + { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 }, + { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 }, + { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 }, + { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 }, + { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 }, + { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 }, + { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 }, + { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 }, + { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, + { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 }, + { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 }, + { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 }, + { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 }, + { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 }, + { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 }, + { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 }, + { "label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2 }, + { "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "|\\", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "Menu", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 }, + { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "GUI", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 }, + { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 }, + { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 }, + { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 }, + { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 }, + { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 }, + { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 }, + { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 }, + { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 }, + { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 }, + { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 }, + { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 }, + { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Control", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, + { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 }, + { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 }, + { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 }, + { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 }, + { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 }, + { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 }, + { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 }, + { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "GUI", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 }, + { "label": "GUI", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 }, + { "label": "Alt", "matrix": [4, 12], "x": 12.5, "y": 4 } + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "1!", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "2@", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "3#", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "4$", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "5%", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "6^", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "7&", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "8*", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "9(", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "0)", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "-_", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "=+", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "Del", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 }, + { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 }, + { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 }, + { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 }, + { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 }, + { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 }, + { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 }, + { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 }, + { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 }, + { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 }, + { "label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1 }, + { "label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1 }, + { "label": "\\|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, + { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 }, + { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 }, + { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 }, + { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 }, + { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 }, + { "label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2 }, + { "label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2 }, + { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Fn", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [4, 7], "w": 7, "x": 4, "y": 4 }, + { "label": "Alt", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 }, + { "label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 } + ] + } + } +} diff --git a/keyboards/jacky_studio/s7_elephant/rev2/rev2.c b/keyboards/jacky_studio/piggy60/rev2/mcuconf.h index 1cc3fd53f0..0d3de3dad5 100644 --- a/keyboards/jacky_studio/s7_elephant/rev2/rev2.c +++ b/keyboards/jacky_studio/piggy60/rev2/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020 MudkipMao +/* 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 @@ -14,4 +14,12 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "rev2.h" +#pragma once + +#include_next <mcuconf.h> + +#undef STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE + +#undef STM32_PLLXTPRE +#define STM32_PLLXTPRE STM32_PLLXTPRE_DIV2 diff --git a/keyboards/jacky_studio/piggy60/rev2/rules.mk b/keyboards/jacky_studio/piggy60/rev2/rules.mk new file mode 100644 index 0000000000..47220e8853 --- /dev/null +++ b/keyboards/jacky_studio/piggy60/rev2/rules.mk @@ -0,0 +1,8 @@ +# Configure for 128K flash +MCU_LDSCRIPT = STM32F103xB + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/jacky_studio/piggy60/rules.mk b/keyboards/jacky_studio/piggy60/rules.mk index 530e6598df..873e9334ed 100644 --- a/keyboards/jacky_studio/piggy60/rules.mk +++ b/keyboards/jacky_studio/piggy60/rules.mk @@ -1 +1 @@ -DEFAULT_FOLDER = jacky_studio/piggy60/solder +DEFAULT_FOLDER = jacky_studio/piggy60/rev1/solder diff --git a/keyboards/jacky_studio/s7_elephant/rev1/config.h b/keyboards/jacky_studio/s7_elephant/rev1/config.h index d7a8bf543b..e2d6aed274 100644 --- a/keyboards/jacky_studio/s7_elephant/rev1/config.h +++ b/keyboards/jacky_studio/s7_elephant/rev1/config.h @@ -16,22 +16,6 @@ #pragma once - -/* key matrix pins */ -#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 } -#define MATRIX_COL_PINS { B6, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7, F1 } - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* 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 - -#define RGB_DI_PIN E6 -#ifdef RGB_DI_PIN #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -47,7 +31,6 @@ #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_SLEEP -#endif /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/jacky_studio/s7_elephant/rev1/info.json b/keyboards/jacky_studio/s7_elephant/rev1/info.json index f2e51f63ac..e024b49bdb 100644 --- a/keyboards/jacky_studio/s7_elephant/rev1/info.json +++ b/keyboards/jacky_studio/s7_elephant/rev1/info.json @@ -8,6 +8,14 @@ "pid": "0x0007", "device_version": "0.0.1" }, + "ws2812": { + "pin": "E6" + }, + "matrix_pins": { + "cols": ["B6", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "C6", "C7", "F4", "F5", "F6", "F7", "F1"], + "rows": ["B0", "B1", "B2", "B3", "B4"] + }, + "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/jacky_studio/s7_elephant/rev2/config.h b/keyboards/jacky_studio/s7_elephant/rev2/config.h index 1a6e9cea9e..5c6eeaf844 100644 --- a/keyboards/jacky_studio/s7_elephant/rev2/config.h +++ b/keyboards/jacky_studio/s7_elephant/rev2/config.h @@ -16,25 +16,6 @@ #pragma once - -/* - * 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) - * - * - * 0 1 2 3 4 5 6 7 8 9 A B C D E F */ -#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 } -#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, F7, F6, F5, F4, F1, F0, E6 } - -#define DIODE_DIRECTION ROW2COL - -#define RGB_DI_PIN E2 -#ifdef RGB_DI_PIN #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -51,7 +32,6 @@ #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -#endif // RGB_DI_PIN /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/jacky_studio/s7_elephant/rev2/info.json b/keyboards/jacky_studio/s7_elephant/rev2/info.json index 639b5a3897..148086c0e6 100644 --- a/keyboards/jacky_studio/s7_elephant/rev2/info.json +++ b/keyboards/jacky_studio/s7_elephant/rev2/info.json @@ -8,6 +8,14 @@ "pid": "0x0008", "device_version": "0.0.2" }, + "matrix_pins": { + "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0", "E6"], + "rows": ["B0", "B1", "B2", "B3", "B7"] + }, + "ws2812": { + "pin": "E2" + }, + "diode_direction": "ROW2COL", "backlight": { "pin": "B6", "levels": 15 |