Просмотр исходного кода

[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>
Markus Knutsson 2 лет назад
Родитель
Сommit
fcf906657b

+ 30 - 1
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"
+    },
 }

+ 1 - 30
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": [

+ 32 - 0
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"
+    },
+}

+ 29 - 1
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"
+    },
 }

+ 9 - 0
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

+ 21 - 0
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>

+ 29 - 0
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"
+	}
+}

+ 22 - 0
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

+ 1 - 0
keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk

@@ -0,0 +1 @@
+SERIAL_DRIVER = vendor