logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git
commit: fcf906657b9e2d22b409aa9f8587fd3535e9b853
parent 73c4ca175bfdca9bdee31a789380991903efd617
Author: Markus Knutsson <markus.knutsson@tweety.se>
Date:   Sun,  3 Mar 2024 18:37:35 +0100

[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 <drashna@live.com>

* Update info.json

Co-authored-by: Drashna Jaelre <drashna@live.com>

* 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 <drashna@live.com>

Diffstat:

Mkeyboards/tweetydabird/lotus58/elite_c/info.json31++++++++++++++++++++++++++++++-
Mkeyboards/tweetydabird/lotus58/info.json31+------------------------------
Akeyboards/tweetydabird/lotus58/nanoboot/info.json32++++++++++++++++++++++++++++++++
Mkeyboards/tweetydabird/lotus58/promicro/info.json30+++++++++++++++++++++++++++++-
Akeyboards/tweetydabird/lotus58/rp2040_ce/config.h9+++++++++
Akeyboards/tweetydabird/lotus58/rp2040_ce/halconf.h21+++++++++++++++++++++
Akeyboards/tweetydabird/lotus58/rp2040_ce/info.json29+++++++++++++++++++++++++++++
Akeyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h22++++++++++++++++++++++
Akeyboards/tweetydabird/lotus58/rp2040_ce/rules.mk1+
9 files changed, 174 insertions(+), 32 deletions(-)

diff --git 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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next <halconf.h> diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/info.json 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 @@ -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 <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include_next <mcuconf.h> + +#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 @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor