Refactor tweetydabird/lotus58 (#25547)
				
					
				
			- Update aliases accordingly - Remove unnecessary elite_c revision; an alternate bootloader or development board can easily be set by a user. The PCB is not dependant on an Elite-C pin compatible microcontroller - Remove unnecessary nanoboot revision; any user going to the trouble of using this bootloader will have no trouble manually setting the size of their bootloader - Move the promicro revision to be the "standard" for this keyboard - Remove unnecessary rp2040_ce revision; the converter feature should be used here instead
This commit is contained in:
		
							parent
							
								
									b834819a35
								
							
						
					
					
						commit
						7110708d0f
					
				| @ -2265,8 +2265,17 @@ | |||||||
|     "trnthsn/s6xty5neor2": { |     "trnthsn/s6xty5neor2": { | ||||||
|         "target": "trnthsn/s6xty5neor2/stm32f103" |         "target": "trnthsn/s6xty5neor2/stm32f103" | ||||||
|     }, |     }, | ||||||
|     "tweetydabird/lotus58": { |     "tweetydabird/lotus58/elite_c": { | ||||||
|         "target": "tweetydabird/lotus58/promicro" |         "target": "tweetydabird/lotus58" | ||||||
|  |     }, | ||||||
|  |     "tweetydabird/lotus58/nanoboot": { | ||||||
|  |         "target": "tweetydabird/lotus58" | ||||||
|  |     }, | ||||||
|  |     "tweetydabird/lotus58/promicro": { | ||||||
|  |         "target": "tweetydabird/lotus58" | ||||||
|  |     }, | ||||||
|  |     "tweetydabird/lotus58/rp2040_ce": { | ||||||
|  |         "target": "tweetydabird/lotus58" | ||||||
|     }, |     }, | ||||||
|     "unison": { |     "unison": { | ||||||
|         "target": "unison/v04" |         "target": "unison/v04" | ||||||
|  | |||||||
| @ -1,34 +0,0 @@ | |||||||
| { |  | ||||||
| 	"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" |  | ||||||
|         }, |  | ||||||
|         "serial": { |  | ||||||
|             "pin": "D2" |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|     "ws2812": { |  | ||||||
|         "pin": "D3" |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -3,7 +3,16 @@ | |||||||
|     "keyboard_name": "Lotus 58 Glow", |     "keyboard_name": "Lotus 58 Glow", | ||||||
|     "maintainer": "TweetyDaBird", |     "maintainer": "TweetyDaBird", | ||||||
|     "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", |     "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", | ||||||
|  |     "build": { | ||||||
|  |         "lto": true | ||||||
|  |     }, | ||||||
|  |     "development_board": "promicro", | ||||||
|     "diode_direction": "COL2ROW", |     "diode_direction": "COL2ROW", | ||||||
|  |     "encoder": { | ||||||
|  |         "rotary": [ | ||||||
|  |             {"pin_a": "F5", "pin_b": "F4", "resolution": 2} | ||||||
|  |         ] | ||||||
|  |     }, | ||||||
|     "features": { |     "features": { | ||||||
|         "bootmagic": true, |         "bootmagic": true, | ||||||
|         "encoder": true, |         "encoder": true, | ||||||
| @ -11,17 +20,94 @@ | |||||||
|         "mousekey": true, |         "mousekey": true, | ||||||
|         "nkro": true, |         "nkro": true, | ||||||
|         "oled": true, |         "oled": true, | ||||||
|         "rgblight": true, |         "rgb_matrix": true, | ||||||
|         "tri_layer": true |         "tri_layer": true | ||||||
|     }, |     }, | ||||||
|     "rgblight": { |     "host": { | ||||||
|         "default": { |         "default": { | ||||||
|             "val": 87 |             "nkro": true | ||||||
|         }, |         } | ||||||
|         "led_count": 70, |     }, | ||||||
|  |     "matrix_pins": { | ||||||
|  |         "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], | ||||||
|  |         "rows": ["D4", "C6", "D7", "E6", "B4"] | ||||||
|  |     }, | ||||||
|  |     "rgb_matrix": { | ||||||
|  |         "driver": "ws2812", | ||||||
|  |         "layout": [ | ||||||
|  |             {"matrix": [0, 5], "x": 72, "y": 4, "flags": 4}, | ||||||
|  |             {"x": 65, "y": 4, "flags": 2}, | ||||||
|  |             {"matrix": [0, 4], "x": 58, "y": 2, "flags": 4}, | ||||||
|  |             {"matrix": [0, 3], "x": 43, "y": 0, "flags": 4}, | ||||||
|  |             {"x": 36, "y": 4, "flags": 2}, | ||||||
|  |             {"matrix": [0, 2], "x": 29, "y": 2, "flags": 4}, | ||||||
|  |             {"matrix": [0, 1], "x": 14, "y": 6, "flags": 4}, | ||||||
|  |             {"x": 7, "y": 4, "flags": 2}, | ||||||
|  |             {"matrix": [0, 0], "x": 0, "y": 8, "flags": 4}, | ||||||
|  |             {"matrix": [1, 0], "x": 0, "y": 23, "flags": 4}, | ||||||
|  |             {"matrix": [1, 1], "x": 14, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [1, 2], "x": 29, "y": 17, "flags": 4}, | ||||||
|  |             {"matrix": [1, 3], "x": 43, "y": 15, "flags": 4}, | ||||||
|  |             {"matrix": [1, 4], "x": 58, "y": 17, "flags": 4}, | ||||||
|  |             {"matrix": [1, 5], "x": 72, "y": 19, "flags": 4}, | ||||||
|  |             {"matrix": [2, 5], "x": 72, "y": 34, "flags": 4}, | ||||||
|  |             {"matrix": [2, 4], "x": 58, "y": 32, "flags": 4}, | ||||||
|  |             {"matrix": [2, 3], "x": 43, "y": 30, "flags": 4}, | ||||||
|  |             {"matrix": [2, 2], "x": 29, "y": 32, "flags": 4}, | ||||||
|  |             {"matrix": [2, 1], "x": 14, "y": 36, "flags": 4}, | ||||||
|  |             {"matrix": [2, 0], "x": 0, "y": 38, "flags": 4}, | ||||||
|  |             {"matrix": [3, 0], "x": 0, "y": 53, "flags": 4}, | ||||||
|  |             {"x": 7, "y": 52, "flags": 2}, | ||||||
|  |             {"matrix": [3, 1], "x": 14, "y": 51, "flags": 4}, | ||||||
|  |             {"matrix": [3, 2], "x": 29, "y": 47, "flags": 4}, | ||||||
|  |             {"matrix": [3, 3], "x": 43, "y": 45, "flags": 4}, | ||||||
|  |             {"matrix": [3, 4], "x": 58, "y": 47, "flags": 4}, | ||||||
|  |             {"matrix": [3, 5], "x": 72, "y": 49, "flags": 4}, | ||||||
|  |             {"x": 79, "y": 45, "flags": 2}, | ||||||
|  |             {"matrix": [4, 5], "x": 87, "y": 41, "flags": 4}, | ||||||
|  |             {"matrix": [4, 4], "x": 87, "y": 64, "flags": 4}, | ||||||
|  |             {"matrix": [4, 3], "x": 65, "y": 64, "flags": 4}, | ||||||
|  |             {"matrix": [4, 2], "x": 51, "y": 62, "flags": 4}, | ||||||
|  |             {"x": 43, "y": 62, "flags": 2}, | ||||||
|  |             {"matrix": [4, 1], "x": 36, "y": 62, "flags": 4}, | ||||||
|  |             {"matrix": [5, 5], "x": 152, "y": 4, "flags": 4}, | ||||||
|  |             {"x": 159, "y": 4, "flags": 2}, | ||||||
|  |             {"matrix": [5, 4], "x": 166, "y": 2, "flags": 4}, | ||||||
|  |             {"matrix": [5, 3], "x": 181, "y": 0, "flags": 4}, | ||||||
|  |             {"x": 188, "y": 4, "flags": 2}, | ||||||
|  |             {"matrix": [5, 2], "x": 195, "y": 2, "flags": 4}, | ||||||
|  |             {"matrix": [5, 1], "x": 210, "y": 6, "flags": 4}, | ||||||
|  |             {"x": 217, "y": 4, "flags": 2}, | ||||||
|  |             {"matrix": [5, 0], "x": 224, "y": 8, "flags": 4}, | ||||||
|  |             {"matrix": [6, 0], "x": 224, "y": 23, "flags": 4}, | ||||||
|  |             {"matrix": [6, 1], "x": 210, "y": 21, "flags": 4}, | ||||||
|  |             {"matrix": [6, 2], "x": 195, "y": 17, "flags": 4}, | ||||||
|  |             {"matrix": [6, 3], "x": 181, "y": 15, "flags": 4}, | ||||||
|  |             {"matrix": [6, 4], "x": 166, "y": 17, "flags": 4}, | ||||||
|  |             {"matrix": [6, 5], "x": 152, "y": 19, "flags": 4}, | ||||||
|  |             {"matrix": [7, 5], "x": 152, "y": 34, "flags": 4}, | ||||||
|  |             {"matrix": [7, 4], "x": 166, "y": 32, "flags": 4}, | ||||||
|  |             {"matrix": [7, 3], "x": 181, "y": 30, "flags": 4}, | ||||||
|  |             {"matrix": [7, 2], "x": 195, "y": 32, "flags": 4}, | ||||||
|  |             {"matrix": [7, 1], "x": 210, "y": 36, "flags": 4}, | ||||||
|  |             {"matrix": [7, 0], "x": 224, "y": 38, "flags": 4}, | ||||||
|  |             {"matrix": [8, 0], "x": 224, "y": 53, "flags": 4}, | ||||||
|  |             {"x": 217, "y": 52, "flags": 2}, | ||||||
|  |             {"matrix": [8, 1], "x": 210, "y": 51, "flags": 4}, | ||||||
|  |             {"matrix": [8, 2], "x": 195, "y": 47, "flags": 4}, | ||||||
|  |             {"matrix": [8, 3], "x": 181, "y": 45, "flags": 4}, | ||||||
|  |             {"matrix": [8, 4], "x": 166, "y": 47, "flags": 4}, | ||||||
|  |             {"matrix": [8, 5], "x": 152, "y": 49, "flags": 4}, | ||||||
|  |             {"x": 159, "y": 45, "flags": 2}, | ||||||
|  |             {"matrix": [9, 5], "x": 137, "y": 41, "flags": 4}, | ||||||
|  |             {"matrix": [9, 4], "x": 137, "y": 64, "flags": 4}, | ||||||
|  |             {"matrix": [9, 3], "x": 159, "y": 64, "flags": 4}, | ||||||
|  |             {"matrix": [9, 2], "x": 173, "y": 62, "flags": 4}, | ||||||
|  |             {"x": 180, "y": 62, "flags": 2}, | ||||||
|  |             {"matrix": [9, 1], "x": 188, "y": 62, "flags": 4} | ||||||
|  |         ], | ||||||
|         "max_brightness": 175, |         "max_brightness": 175, | ||||||
|         "sleep": true, |         "sleep": true, | ||||||
|         "split": true, |  | ||||||
|         "split_count": [35, 35] |         "split_count": [35, 35] | ||||||
|     }, |     }, | ||||||
|     "split": { |     "split": { | ||||||
| @ -29,6 +115,19 @@ | |||||||
|             "matrix": [5, 0] |             "matrix": [5, 0] | ||||||
|         }, |         }, | ||||||
|         "enabled": true, |         "enabled": true, | ||||||
|  |         "encoder": { | ||||||
|  |             "right": { | ||||||
|  |                 "rotary": [ | ||||||
|  |                     {"pin_a": "F4", "pin_b": "F5", "resolution": 2} | ||||||
|  |                 ] | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         "handedness": { | ||||||
|  |             "pin": "B5" | ||||||
|  |         }, | ||||||
|  |         "serial": { | ||||||
|  |             "pin": "D2" | ||||||
|  |         }, | ||||||
|         "transport": { |         "transport": { | ||||||
|             "sync": { |             "sync": { | ||||||
|                 "indicators": true, |                 "indicators": true, | ||||||
| @ -48,10 +147,8 @@ | |||||||
|         "pid": "0x23B0", |         "pid": "0x23B0", | ||||||
|         "vid": "0xFEED" |         "vid": "0xFEED" | ||||||
|     }, |     }, | ||||||
|     "host": { |     "ws2812": { | ||||||
|         "default": { |         "pin": "D3" | ||||||
|             "nkro": true |  | ||||||
|         } |  | ||||||
|     }, |     }, | ||||||
|     "layouts": { |     "layouts": { | ||||||
|         "LAYOUT": { |         "LAYOUT": { | ||||||
| @ -1,34 +0,0 @@ | |||||||
| { |  | ||||||
|     "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" |  | ||||||
|         }, |  | ||||||
|         "serial": { |  | ||||||
|             "pin": "D2" |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|     "ws2812": { |  | ||||||
|         "pin": "D3" |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -1,2 +0,0 @@ | |||||||
| BOOTLOADER = qmk-hid |  | ||||||
| BOOTLOADER_SIZE = 512 |  | ||||||
| @ -1,33 +0,0 @@ | |||||||
| { |  | ||||||
|     "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" |  | ||||||
|         }, |  | ||||||
|         "serial": { |  | ||||||
|             "pin": "D2" |  | ||||||
|         } |  | ||||||
|     }, |  | ||||||
|     "ws2812": { |  | ||||||
|         "pin": "D3" |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -9,22 +9,13 @@ | |||||||
| * Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking) | * Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking) | ||||||
| * Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) | * Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| #### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of controller/bootloader.  |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| * promicro - This uses the default Caterina bootloader. |  | ||||||
| * elite_c - This uses the Atmel-DFU bootloader. |  | ||||||
| * nanoBoot - A tiny 512 byte bootloader giving far more usable memory for features (can be used on both Elite C and Pro Micro). |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| Make example for this keyboard (after setting up your build environment): | Make example for this keyboard (after setting up your build environment): | ||||||
| 
 | 
 | ||||||
|     make tweetydabird/lotus58/promicro:default |     make tweetydabird/lotus58:default | ||||||
| 
 | 
 | ||||||
| Flashing example for this keyboard: | Flashing example for this keyboard: | ||||||
| 
 | 
 | ||||||
|     make tweetydabird/lotus58/elite_c:default:flash |     make tweetydabird/lotus58: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). | 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). | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,9 +0,0 @@ | |||||||
| // 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 |  | ||||||
| @ -1,21 +0,0 @@ | |||||||
| /* 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> |  | ||||||
| @ -1,32 +0,0 @@ | |||||||
| { |  | ||||||
|     "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} |  | ||||||
|                 ] |  | ||||||
|             } |  | ||||||
|         }, |  | ||||||
|         "serial": { |  | ||||||
|             "driver": "vendor", |  | ||||||
|             "pin": "GP1" |  | ||||||
|         }, |  | ||||||
|         "handedness": { |  | ||||||
|             "pin": "GP9" |  | ||||||
|         } |  | ||||||
| 	}, |  | ||||||
| 	"ws2812": { |  | ||||||
| 		"driver": "vendor", |  | ||||||
| 		"pin": "GP0" |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| @ -1,22 +0,0 @@ | |||||||
| /* 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 |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user