diff --git a/keyboards/boardsource/lulu/avr/info.json b/keyboards/boardsource/lulu/avr/info.json new file mode 100644 index 0000000000..ad7eefa77f --- /dev/null +++ b/keyboards/boardsource/lulu/avr/info.json @@ -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" } + ] + } +} diff --git a/keyboards/boardsource/lulu/avr/rules.mk b/keyboards/boardsource/lulu/avr/rules.mk new file mode 100644 index 0000000000..6e7633bfe0 --- /dev/null +++ b/keyboards/boardsource/lulu/avr/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/boardsource/lulu/config.h b/keyboards/boardsource/lulu/config.h index f96a228429..8e635a24eb 100644 --- a/keyboards/boardsource/lulu/config.h +++ b/keyboards/boardsource/lulu/config.h @@ -2,8 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#include "config_common.h" -#define RGB_DI_PIN D3 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 #define DRIVER_LED_TOTAL 70 #define RGB_MATRIX_SPLIT { 35, 35 } diff --git a/keyboards/boardsource/lulu/info.json b/keyboards/boardsource/lulu/info.json index 5ee5c59c1a..3418cd6e7a 100644 --- a/keyboards/boardsource/lulu/info.json +++ b/keyboards/boardsource/lulu/info.json @@ -2,11 +2,7 @@ "manufacturer": "Boardsource", "keyboard_name": "lulu", "maintainer": "waffle87", - "bootloader": "atmel-dfu", "diode_direction": "COL2ROW", - "build": { - "lto": true - }, "features": { "bootmagic": true, "extrakey": true, @@ -15,11 +11,6 @@ "rgb_matrix": 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", "usb": { "device_version": "1.0.0", @@ -27,16 +18,17 @@ "vid": "0x4273" }, "split": { - "enabled": true, - "soft_serial_pin": "D2" + "enabled": true }, "encoder": { - "enabled": true, - "rotary": [ - { "pin_a": "F0", "pin_b": "F1" } - ] + "enabled": true + }, + "matrix_size": { + "cols": 6, + "rows": 10 }, "rgb_matrix": { + "driver": "WS2812", "layout": [ { "flags": 2, "x": 86, "y": 55 }, { "flags": 2, "x": 51, "y": 55 }, diff --git a/keyboards/boardsource/lulu/readme.md b/keyboards/boardsource/lulu/readme.md index e7c530161b..a1c184eaac 100644 --- a/keyboards/boardsource/lulu/readme.md +++ b/keyboards/boardsource/lulu/readme.md @@ -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 boardsource/lulu:default + make boardsource/lulu/rp2040:default + make boardsource/lulu/avr:default 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). diff --git a/keyboards/boardsource/lulu/rp2040/config.h b/keyboards/boardsource/lulu/rp2040/config.h new file mode 100644 index 0000000000..2e02e03500 --- /dev/null +++ b/keyboards/boardsource/lulu/rp2040/config.h @@ -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 diff --git a/keyboards/boardsource/lulu/rp2040/halconf.h b/keyboards/boardsource/lulu/rp2040/halconf.h new file mode 100644 index 0000000000..9b8ab5d023 --- /dev/null +++ b/keyboards/boardsource/lulu/rp2040/halconf.h @@ -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 diff --git a/keyboards/boardsource/lulu/rp2040/info.json b/keyboards/boardsource/lulu/rp2040/info.json new file mode 100644 index 0000000000..a384241944 --- /dev/null +++ b/keyboards/boardsource/lulu/rp2040/info.json @@ -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" } + ] + } +} diff --git a/keyboards/boardsource/lulu/rp2040/mcuconf.h b/keyboards/boardsource/lulu/rp2040/mcuconf.h new file mode 100644 index 0000000000..6f05b8bbe8 --- /dev/null +++ b/keyboards/boardsource/lulu/rp2040/mcuconf.h @@ -0,0 +1,6 @@ +// Copyright 2022 jack (@waffle87) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once +#include_next +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/boardsource/lulu/rp2040/rules.mk b/keyboards/boardsource/lulu/rp2040/rules.mk new file mode 100644 index 0000000000..8fb51ec82d --- /dev/null +++ b/keyboards/boardsource/lulu/rp2040/rules.mk @@ -0,0 +1,2 @@ +SERIAL_DRIVER = vendor +WS2812_DRIVER = vendor diff --git a/keyboards/boardsource/lulu/rules.mk b/keyboards/boardsource/lulu/rules.mk index 32afd21635..6e7633bfe0 100644 --- a/keyboards/boardsource/lulu/rules.mk +++ b/keyboards/boardsource/lulu/rules.mk @@ -1 +1 @@ -RGB_MATRIX_DRIVER = WS2812 +# This file intentionally left blank