From fcf906657b9e2d22b409aa9f8587fd3535e9b853 Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Sun, 3 Mar 2024 18:37:35 +0100 Subject: [PATCH] [Keyboard] Add rp2040_ce option to lotus58 (#23185) * Update keymap Corrected OLED orientation, added autoshift status on OLED. * Update keymap Corrected OLED orientation, added autoshift status on OLED. * Added make target to bottom folder With default folder * Update keyboards/tweetydabird/lotus58/keymaps/default/keymap.c Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> * Reformatted files * Update keymap.c Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> * Updated name * Added rp2040ce * Update info.json * Update info.json * Added rp2040ce * Small fix * Update info.json Co-authored-by: jack <0x6a73@protonmail.com> * Update info.json * Update info.json * Update info.json * Update info.json * Update info.json * Update info.json * Apply suggestions from code review Co-authored-by: jack <0x6a73@protonmail.com> * Fixed stray char * Apply suggestions from code review Co-authored-by: jack <0x6a73@protonmail.com> * Update info.json Co-authored-by: Drashna Jaelre * Update info.json Co-authored-by: Drashna Jaelre * Moved LTO --------- Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre --- .../tweetydabird/lotus58/elite_c/info.json | 31 +++++++++++++++++- keyboards/tweetydabird/lotus58/info.json | 31 +----------------- .../tweetydabird/lotus58/nanoboot/info.json | 32 +++++++++++++++++++ .../tweetydabird/lotus58/promicro/info.json | 30 ++++++++++++++++- .../tweetydabird/lotus58/rp2040_ce/config.h | 9 ++++++ .../tweetydabird/lotus58/rp2040_ce/halconf.h | 21 ++++++++++++ .../tweetydabird/lotus58/rp2040_ce/info.json | 29 +++++++++++++++++ .../tweetydabird/lotus58/rp2040_ce/mcuconf.h | 22 +++++++++++++ .../tweetydabird/lotus58/rp2040_ce/rules.mk | 1 + 9 files changed, 174 insertions(+), 32 deletions(-) create mode 100644 keyboards/tweetydabird/lotus58/nanoboot/info.json create mode 100644 keyboards/tweetydabird/lotus58/rp2040_ce/config.h create mode 100644 keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h create mode 100644 keyboards/tweetydabird/lotus58/rp2040_ce/info.json create mode 100644 keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h create mode 100644 keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk diff --git a/keyboards/tweetydabird/lotus58/elite_c/info.json b/keyboards/tweetydabird/lotus58/elite_c/info.json index 606784570c7..af1a9f913c5 100644 --- a/keyboards/tweetydabird/lotus58/elite_c/info.json +++ b/keyboards/tweetydabird/lotus58/elite_c/info.json @@ -1,3 +1,32 @@ { - "bootloader": "atmel-dfu" + "build": { + "lto": true + }, + "development_board": "elite_c", + "pin_compatible": "elite_c", + "encoder": { + "rotary": [ + {"pin_a": "F5", "pin_b": "F4", "resolution": 2} + ] + }, + "matrix_pins": { + "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "split": { + "encoder": { + "right": { + "rotary": [ + {"pin_a": "F4", "pin_b": "F5", "resolution": 2} + ] + } + }, + "handedness": { + "pin": "B5" + }, + "soft_serial_pin": "D2", + }, + "ws2812": { + "pin": "D3" + }, } diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json index 646843e7652..f4660c3ad9f 100644 --- a/keyboards/tweetydabird/lotus58/info.json +++ b/keyboards/tweetydabird/lotus58/info.json @@ -1,17 +1,9 @@ { "manufacturer": "Tweetys Wild Thinking", - "keyboard_name": "Lotus 58 Glow (QMK)", + "keyboard_name": "Lotus 58 Glow", "maintainer": "TweetyDaBird", "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", - "build": { - "lto": true - }, "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "F5", "pin_b": "F4", "resolution": 2} - ] - }, "features": { "bootmagic": true, "command": false, @@ -25,12 +17,6 @@ "split": true, "tri_layer": true }, - "matrix_pins": { - "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], - "rows": ["D4", "C6", "D7", "E6", "B4"] - }, - "pin_compatible": "promicro", - "processor": "atmega32u4", "rgblight": { "default": { "val": 87 @@ -46,19 +32,7 @@ "matrix": [5, 0] }, "enabled": true, - "encoder": { - "right": { - "rotary": [ - {"pin_a": "F4", "pin_b": "F5", "resolution": 2} - ] - } - }, - "handedness": { - "pin": "B5" - }, - "soft_serial_pin": "D2", "transport": { - "protocol": "serial", "sync": { "indicators": true, "layer_state": true, @@ -78,9 +52,6 @@ "pid": "0x23B0", "vid": "0xFEED" }, - "ws2812": { - "pin": "D3" - }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/tweetydabird/lotus58/nanoboot/info.json b/keyboards/tweetydabird/lotus58/nanoboot/info.json new file mode 100644 index 00000000000..e7586e6f2f2 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/nanoboot/info.json @@ -0,0 +1,32 @@ +{ + "build": { + "lto": true + }, + "pin_compatible": "promicro", + "processor": "atmega32u4", + "encoder": { + "rotary": [ + {"pin_a": "F5", "pin_b": "F4", "resolution": 2} + ] + }, + "matrix_pins": { + "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "split": { + "encoder": { + "right": { + "rotary": [ + {"pin_a": "F4", "pin_b": "F5", "resolution": 2} + ] + } + }, + "handedness": { + "pin": "B5" + }, + "soft_serial_pin": "D2", + }, + "ws2812": { + "pin": "D3" + }, +} diff --git a/keyboards/tweetydabird/lotus58/promicro/info.json b/keyboards/tweetydabird/lotus58/promicro/info.json index 56062f7ad37..62ee0355ef8 100644 --- a/keyboards/tweetydabird/lotus58/promicro/info.json +++ b/keyboards/tweetydabird/lotus58/promicro/info.json @@ -1,3 +1,31 @@ { - "bootloader": "caterina" + "build": { + "lto": true + }, + "development_board": "promicro", + "encoder": { + "rotary": [ + {"pin_a": "F5", "pin_b": "F4", "resolution": 2} + ] + }, + "matrix_pins": { + "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "split": { + "encoder": { + "right": { + "rotary": [ + {"pin_a": "F4", "pin_b": "F5", "resolution": 2} + ] + } + }, + "handedness": { + "pin": "B5" + }, + "soft_serial_pin": "D2", + }, + "ws2812": { + "pin": "D3" + }, } diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/config.h b/keyboards/tweetydabird/lotus58/rp2040_ce/config.h new file mode 100644 index 00000000000..e4a23b7d7f0 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/rp2040_ce/config.h @@ -0,0 +1,9 @@ +// Copyright 2024 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define SERIAL_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the Serial implementation uses the PIO0 peripheral + +#define I2C_DRIVER I2CD1 +#define I2C1_SDA_PIN GP2 +#define I2C1_SCL_PIN GP3 diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h b/keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h new file mode 100644 index 00000000000..2e098f5113d --- /dev/null +++ b/keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2022 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 . + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/info.json b/keyboards/tweetydabird/lotus58/rp2040_ce/info.json new file mode 100644 index 00000000000..c8bf7117477 --- /dev/null +++ b/keyboards/tweetydabird/lotus58/rp2040_ce/info.json @@ -0,0 +1,29 @@ +{ + "development_board": "promicro_rp2040", + "encoder": { + "rotary": [ + {"pin_a": "GP28", "pin_b": "GP29", "resolution": 2} + ] + }, + "matrix_pins": { + "cols": ["GP22", "GP23", "GP20", "GP21", "GP26", "GP27"], + "rows": ["GP4", "GP5", "GP6", "GP7", "GP8"] + }, + "split": { + "encoder": { + "right": { + "rotary": [ + {"pin_a": "GP29", "pin_b": "GP28", "resolution": 2} + ] + } + }, + "soft_serial_pin": "GP1", + "handedness": { + "pin": "GP9" + } + }, + "ws2812": { + "driver": "vendor", + "pin": "GP0" + } +} diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h b/keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h new file mode 100644 index 00000000000..2ae39bf675d --- /dev/null +++ b/keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2022 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 . + */ + +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk b/keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk new file mode 100644 index 00000000000..161ec22b16e --- /dev/null +++ b/keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor