~ruther/qmk_firmware

fcf906657b9e2d22b409aa9f8587fd3535e9b853 — Markus Knutsson 1 year, 1 month ago 73c4ca1
[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>
M keyboards/tweetydabird/lotus58/elite_c/info.json => keyboards/tweetydabird/lotus58/elite_c/info.json +30 -1
@@ 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"
    },
}

M keyboards/tweetydabird/lotus58/info.json => keyboards/tweetydabird/lotus58/info.json +1 -30
@@ 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": [

A keyboards/tweetydabird/lotus58/nanoboot/info.json => keyboards/tweetydabird/lotus58/nanoboot/info.json +32 -0
@@ 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"
    },
}

M keyboards/tweetydabird/lotus58/promicro/info.json => keyboards/tweetydabird/lotus58/promicro/info.json +29 -1
@@ 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"
    },
}

A keyboards/tweetydabird/lotus58/rp2040_ce/config.h => keyboards/tweetydabird/lotus58/rp2040_ce/config.h +9 -0
@@ 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

A keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h => keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h +21 -0
@@ 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>

A keyboards/tweetydabird/lotus58/rp2040_ce/info.json => keyboards/tweetydabird/lotus58/rp2040_ce/info.json +29 -0
@@ 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"
	}
}

A keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h => keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h +22 -0
@@ 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

A keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk => keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk +1 -0
@@ 0,0 1,1 @@
SERIAL_DRIVER = vendor

Do not follow this link