Add boardsource/lulu RP2040 support (#18200)

by waffle87
master
jack 3 years ago committed by GitHub
parent f3d52d8fe8
commit 035e7fdb8b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 21
      keyboards/boardsource/lulu/avr/info.json
  2. 1
      keyboards/boardsource/lulu/avr/rules.mk
  3. 2
      keyboards/boardsource/lulu/config.h
  4. 22
      keyboards/boardsource/lulu/info.json
  5. 13
      keyboards/boardsource/lulu/readme.md
  6. 11
      keyboards/boardsource/lulu/rp2040/config.h
  7. 5
      keyboards/boardsource/lulu/rp2040/halconf.h
  8. 17
      keyboards/boardsource/lulu/rp2040/info.json
  9. 6
      keyboards/boardsource/lulu/rp2040/mcuconf.h
  10. 2
      keyboards/boardsource/lulu/rp2040/rules.mk
  11. 2
      keyboards/boardsource/lulu/rules.mk

@ -0,0 +1,21 @@
{
"build": {
"lto": true
},
"development_board": "elite_c",
"matrix_pins": {
"cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
"rows": ["C6", "D7", "E6", "B4", "B5"]
},
"split": {
"soft_serial_pin": "D2"
},
"rgblight": {
"pin": "D3"
},
"encoder": {
"rotary": [
{ "pin_a": "F0", "pin_b": "F1" }
]
}
}

@ -0,0 +1 @@
# This file intentionally left blank

@ -2,8 +2,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#pragma once #pragma once
#include "config_common.h"
#define RGB_DI_PIN D3
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
#define DRIVER_LED_TOTAL 70 #define DRIVER_LED_TOTAL 70
#define RGB_MATRIX_SPLIT { 35, 35 } #define RGB_MATRIX_SPLIT { 35, 35 }

@ -2,11 +2,7 @@
"manufacturer": "Boardsource", "manufacturer": "Boardsource",
"keyboard_name": "lulu", "keyboard_name": "lulu",
"maintainer": "waffle87", "maintainer": "waffle87",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW", "diode_direction": "COL2ROW",
"build": {
"lto": true
},
"features": { "features": {
"bootmagic": true, "bootmagic": true,
"extrakey": true, "extrakey": true,
@ -15,11 +11,6 @@
"rgb_matrix": true, "rgb_matrix": true,
"oled": true "oled": true
}, },
"matrix_pins": {
"cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
"rows": ["C6", "D7", "E6", "B4", "B5"]
},
"processor": "atmega32u4",
"url": "https://boardsource.xyz/projects/60de24d6847112054777bbdd", "url": "https://boardsource.xyz/projects/60de24d6847112054777bbdd",
"usb": { "usb": {
"device_version": "1.0.0", "device_version": "1.0.0",
@ -27,16 +18,17 @@
"vid": "0x4273" "vid": "0x4273"
}, },
"split": { "split": {
"enabled": true, "enabled": true
"soft_serial_pin": "D2"
}, },
"encoder": { "encoder": {
"enabled": true, "enabled": true
"rotary": [ },
{ "pin_a": "F0", "pin_b": "F1" } "matrix_size": {
] "cols": 6,
"rows": 10
}, },
"rgb_matrix": { "rgb_matrix": {
"driver": "WS2812",
"layout": [ "layout": [
{ "flags": 2, "x": 86, "y": 55 }, { "flags": 2, "x": 86, "y": 55 },
{ "flags": 2, "x": 51, "y": 55 }, { "flags": 2, "x": 51, "y": 55 },

@ -12,13 +12,20 @@ The lulu is what the ergo community has needed for a long time, a high-end aesth
Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment):
make boardsource/lulu:default make boardsource/lulu/rp2040:default
make boardsource/lulu/avr:default
Flashing example for this keyboard: Flashing example for this keyboard:
make boardsource/lulu:default:flash make boardsource/lulu/rp2040:default:flash
make boardsource/lulu/avr:default:flash
Reset keyboard by holding down top left key while you plug in the usb cable. Or by pushing the reset switch on the pcb.
Compile `rp2040` firmware if you purchased PCB in lulu group buy (integrated microcontroller).
Compile `avr` firmware if your PCB uses a drop-in microcontroller like Pro Micro.
Enter bootloader by holding down the upper outer key while you plug in the usb cable, or by pushing the reset switch on the pcb.
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).

@ -0,0 +1,11 @@
// Copyright 2022 jack (@waffle87)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP0
#define SERIAL_USART_RX_PIN GP1
#define I2C_DRIVER I2CD2
#define I2C1_SDA_PIN GP22
#define I2C1_SCL_PIN GP23

@ -0,0 +1,5 @@
// Copyright 2022 jack (@waffle87)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define HAL_USE_I2C TRUE
#include_next <halconf.h>

@ -0,0 +1,17 @@
{
"bootloader": "rp2040",
"matrix_pins": {
"cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"],
"rows": ["GP14", "GP15", "GP16", "GP17", "GP18"]
},
"processor": "RP2040",
"rgblight": {
"pin": "GP29",
"led_count": 70
},
"encoder": {
"rotary": [
{ "pin_a": "GP8", "pin_b": "GP9" }
]
}
}

@ -0,0 +1,6 @@
// Copyright 2022 jack (@waffle87)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include_next <mcuconf.h>
#undef RP_I2C_USE_I2C1
#define RP_I2C_USE_I2C1 TRUE

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

@ -1 +1 @@
RGB_MATRIX_DRIVER = WS2812 # This file intentionally left blank

Loading…
Cancel
Save