aboutsummaryrefslogtreecommitdiff
path: root/keyboards/sweep
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/sweep')
-rw-r--r--keyboards/sweep/config.h36
-rw-r--r--keyboards/sweep/halconf.h5
-rw-r--r--keyboards/sweep/keyboard.json273
-rw-r--r--keyboards/sweep/keymaps/jack/keymap.c50
-rw-r--r--keyboards/sweep/lib/jetbrainsmono11.qff.c104
-rw-r--r--keyboards/sweep/lib/jetbrainsmono11.qff.h8
-rw-r--r--keyboards/sweep/mcuconf.h9
-rw-r--r--keyboards/sweep/readme.md8
-rw-r--r--keyboards/sweep/rules.mk10
-rw-r--r--keyboards/sweep/sweep.c36
10 files changed, 220 insertions, 319 deletions
diff --git a/keyboards/sweep/config.h b/keyboards/sweep/config.h
index e6ef7f3..a172b9d 100644
--- a/keyboards/sweep/config.h
+++ b/keyboards/sweep/config.h
@@ -1,4 +1,4 @@
-// Copyright 2024 [email protected]
+// Copyright 2025 [email protected]
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
@@ -8,32 +8,22 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
-#ifdef HAL_USE_SPI
#define SPI_DRIVER SPID0
#define SPI_SCK_PIN GP6
#define SPI_MOSI_PIN GP3
-#define SPI_MISO_PIN GP5
-#endif
+#define SPI_MISO_PIN GP4
-#ifdef QUANTUM_PAINTER_ENABLE
-#define LS0XX_CS_PIN GP7
-#define LS0XX_DISPLAY_HEIGHT 160
-#define LS0XX_DISPLAY_WIDTH 68
+#define LCD_CS_PIN GP5
+#define LCD_DC_PIN GP6
+#define LCD_RST_PIN GP28
+#define LCD_DISPLAY_WIDTH 135
+#define LCD_DISPLAY_HEIGHT 240
#define LCD_SPI_DIVISOR 4
-#endif
-#ifdef POINTING_DEVICE_ENABLE
-#define POINTING_DEVICE_CS_PIN GP4
-#define CIRQUE_PINNACLE_CURVED_OVERLAY
-#define CIRQUE_PINNACLE_TAP_ENABLE
-#define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE
-#define CIRQUE_PINNACLE_DIAMETER_MM 35
-#define SPLIT_POINTING_ENABLE
-#define POINTING_DEVICE_RIGHT
-#endif
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 2
-#ifdef HAL_USE_I2C
-#define I2C_DRIVER I2CD1
-#define I2C1_SDA_PIN GP3
-#define I2C1_SCL_PIN GP6
-#endif
+#define ADC_RESOLUTION 12
+#define ADC_SATURATION ((1 << 12) - 1)
+#define ADC_CURRENT_PIN GP26
+#define ADC_VOLTAGE_PIN GP27
diff --git a/keyboards/sweep/halconf.h b/keyboards/sweep/halconf.h
index 63f81cd..f47c7d4 100644
--- a/keyboards/sweep/halconf.h
+++ b/keyboards/sweep/halconf.h
@@ -1,8 +1,9 @@
-// Copyright 2024 [email protected]
+// Copyright 2025 [email protected]
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+#define HAL_USE_ADC TRUE
#define HAL_USE_SPI TRUE
-#define HAL_USE_I2C FALSE
+#define HAL_USE_PWM TRUE
#include_next <halconf.h>
diff --git a/keyboards/sweep/keyboard.json b/keyboards/sweep/keyboard.json
index d625fc9..2e7ef33 100644
--- a/keyboards/sweep/keyboard.json
+++ b/keyboards/sweep/keyboard.json
@@ -1,143 +1,146 @@
{
- "manufacturer": "pngu.org",
- "keyboard_name": "sweep",
- "maintainer": "jack",
- "bootloader": "rp2040",
- "features": {
- "bootmagic": true,
- "oled": false,
- "pointing_device": true,
- "quantum_painter": true,
- "rgb_matrix": true
+ "manufacturer": "pngu.org",
+ "keyboard_name": "sweep",
+ "maintainer": "jack",
+ "bootloader": "rp2040",
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "quantum_painter": true,
+ "rgb_matrix": true
+ },
+ "backlight": {
+ "pin": "GP7"
+ },
+ "matrix_pins": {
+ "direct": [
+ ["GP18", "GP13", "GP12", "GP24", "GP22"],
+ ["GP16", "GP14", "GP10", "GP25", "GP21"],
+ ["GP17", "GP15", "GP11", "GP9", "GP23"],
+ [null, null, null, "GP19", "GP20"]
+ ]
+ },
+ "processor": "RP2040",
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "layout": [
+ { "matrix": [3, 3], "x": 71, "y": 60, "flags": 4 },
+ { "matrix": [3, 4], "x": 92, "y": 64, "flags": 4 },
+ { "matrix": [2, 4], "x": 81, "y": 39, "flags": 4 },
+ { "matrix": [2, 3], "x": 61, "y": 36, "flags": 4 },
+ { "matrix": [2, 2], "x": 41, "y": 32, "flags": 4 },
+ { "matrix": [2, 1], "x": 20, "y": 37, "flags": 4 },
+ { "matrix": [2, 0], "x": 0, "y": 47, "flags": 4 },
+ { "matrix": [1, 0], "x": 0, "y": 31, "flags": 4 },
+ { "matrix": [1, 1], "x": 20, "y": 21, "flags": 4 },
+ { "matrix": [1, 2], "x": 41, "y": 16, "flags": 4 },
+ { "matrix": [1, 3], "x": 61, "y": 20, "flags": 4 },
+ { "matrix": [1, 4], "x": 81, "y": 23, "flags": 4 },
+ { "matrix": [0, 4], "x": 81, "y": 7, "flags": 4 },
+ { "matrix": [0, 3], "x": 61, "y": 4, "flags": 4 },
+ { "matrix": [0, 2], "x": 41, "y": 0, "flags": 4 },
+ { "matrix": [0, 1], "x": 20, "y": 5, "flags": 4 },
+ { "matrix": [0, 0], "x": 0, "y": 15, "flags": 4 },
+ { "x": 10, "y": 14, "flags": 2 },
+ { "x": 71, "y": 6, "flags": 2 },
+ { "x": 83, "y": 56, "flags": 2 },
+ { "x": 10, "y": 45, "flags": 2 },
+ { "matrix": [7, 1], "x": 132, "y": 64, "flags": 4 },
+ { "matrix": [7, 0], "x": 153, "y": 60, "flags": 4 },
+ { "matrix": [6, 0], "x": 143, "y": 39, "flags": 4 },
+ { "matrix": [6, 1], "x": 163, "y": 36, "flags": 4 },
+ { "matrix": [6, 2], "x": 183, "y": 32, "flags": 4 },
+ { "matrix": [6, 3], "x": 204, "y": 37, "flags": 4 },
+ { "matrix": [6, 4], "x": 224, "y": 47, "flags": 4 },
+ { "matrix": [5, 4], "x": 224, "y": 31, "flags": 4 },
+ { "matrix": [5, 3], "x": 204, "y": 21, "flags": 4 },
+ { "matrix": [5, 2], "x": 183, "y": 16, "flags": 4 },
+ { "matrix": [5, 1], "x": 163, "y": 20, "flags": 4 },
+ { "matrix": [5, 0], "x": 143, "y": 23, "flags": 4 },
+ { "matrix": [4, 0], "x": 143, "y": 7, "flags": 4 },
+ { "matrix": [4, 1], "x": 163, "y": 4, "flags": 4 },
+ { "matrix": [4, 2], "x": 183, "y": 0, "flags": 4 },
+ { "matrix": [4, 3], "x": 204, "y": 5, "flags": 4 },
+ { "matrix": [4, 4], "x": 224, "y": 15, "flags": 4 },
+ { "x": 214, "y": 14, "flags": 2 },
+ { "x": 153, "y": 6, "flags": 2 },
+ { "x": 144, "y": 56, "flags": 2 },
+ { "x": 214, "y": 45, "flags": 2 }
+ ],
+ "split_count": [21, 21],
+ "sleep": true
+ },
+ "split": {
+ "enabled": true,
+ "handedness": {
+ "pin": "GP8"
},
"matrix_pins": {
+ "right": {
"direct": [
- ["GP18", "GP13", "GP12", "GP24", "GP22"],
- ["GP16", "GP14", "GP10", "GP25", "GP21"],
- ["GP17", "GP15", "GP11", "GP9", "GP23"],
- [null, null, null, "GP19", "GP20"]
+ ["GP25", "GP21", "GP17", "GP16", "GP13"],
+ ["GP24", "GP20", "GP18", "GP15", "GP12"],
+ ["GP22", "GP23", "GP19", "GP14", "GP11"],
+ ["GP10", "GP9", null, null, null]
]
+ }
},
- "processor": "RP2040",
- "rgb_matrix": {
- "driver": "ws2812",
- "layout": [
- {"matrix": [3, 3], "x": 71, "y": 60, "flags": 4},
- {"matrix": [3, 4], "x": 92, "y": 64, "flags": 4},
- {"matrix": [2, 4], "x": 81, "y": 39, "flags": 4},
- {"matrix": [2, 3], "x": 61, "y": 36, "flags": 4},
- {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4},
- {"matrix": [2, 1], "x": 20, "y": 37, "flags": 4},
- {"matrix": [2, 0], "x": 0, "y": 47, "flags": 4},
- {"matrix": [1, 0], "x": 0, "y": 31, "flags": 4},
- {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4},
- {"matrix": [1, 2], "x": 41, "y": 16, "flags": 4},
- {"matrix": [1, 3], "x": 61, "y": 20, "flags": 4},
- {"matrix": [1, 4], "x": 81, "y": 23, "flags": 4},
- {"matrix": [0, 4], "x": 81, "y": 7, "flags": 4},
- {"matrix": [0, 3], "x": 61, "y": 4, "flags": 4},
- {"matrix": [0, 2], "x": 41, "y": 0, "flags": 4},
- {"matrix": [0, 1], "x": 20, "y": 5, "flags": 4},
- {"matrix": [0, 0], "x": 0, "y": 15, "flags": 4},
- {"x": 10, "y": 14, "flags": 2},
- {"x": 71, "y": 6, "flags": 2},
- {"x": 83, "y": 56, "flags": 2},
- {"x": 10, "y": 45, "flags": 2},
- {"matrix": [7, 1], "x": 132, "y": 64, "flags": 4},
- {"matrix": [7, 0], "x": 153, "y": 60, "flags": 4},
- {"matrix": [6, 0], "x": 143, "y": 39, "flags": 4},
- {"matrix": [6, 1], "x": 163, "y": 36, "flags": 4},
- {"matrix": [6, 2], "x": 183, "y": 32, "flags": 4},
- {"matrix": [6, 3], "x": 204, "y": 37, "flags": 4},
- {"matrix": [6, 4], "x": 224, "y": 47, "flags": 4},
- {"matrix": [5, 4], "x": 224, "y": 31, "flags": 4},
- {"matrix": [5, 3], "x": 204, "y": 21, "flags": 4},
- {"matrix": [5, 2], "x": 183, "y": 16, "flags": 4},
- {"matrix": [5, 1], "x": 163, "y": 20, "flags": 4},
- {"matrix": [5, 0], "x": 143, "y": 23, "flags": 4},
- {"matrix": [4, 0], "x": 143, "y": 7, "flags": 4},
- {"matrix": [4, 1], "x": 163, "y": 4, "flags": 4},
- {"matrix": [4, 2], "x": 183, "y": 0, "flags": 4},
- {"matrix": [4, 3], "x": 204, "y": 5, "flags": 4},
- {"matrix": [4, 4], "x": 224, "y": 15, "flags": 4},
- {"x": 214, "y": 14, "flags": 2},
- {"x": 153, "y": 6, "flags": 2},
- {"x": 144, "y": 56, "flags": 2},
- {"x": 214, "y": 45, "flags": 2}
- ],
- "split_count": [21, 21]
- },
- "split": {
- "enabled": true,
- "handedness": {
- "pin": "GP8"
- },
- "matrix_pins": {
- "right": {
- "direct": [
- ["GP25", "GP22", "GP17", "GP16", "GP13"],
- ["GP24", "GP20", "GP18", "GP15", "GP12"],
- ["GP23", "GP21", "GP19", "GP14", "GP11"],
- ["GP10", "GP9", null, null, null]
- ]
- }
- },
- "serial": {
- "driver": "vendor"
- }
- },
- "url": "https://git.pngu.org/sweep",
- "usb": {
- "device_version": "1.0.0",
- "pid": "0x7370",
- "vid": "0x6A73"
- },
- "ws2812": {
- "driver": "vendor",
- "pin": "GP2"
- },
- "community_layouts": ["split_3x5_2"],
- "layout_aliases": {
- "LAYOUT": "LAYOUT_split_3x5_2"
- },
- "layouts": {
- "LAYOUT_split_3x5_2": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0.25},
- {"matrix": [0, 1], "x": 1, "y": 0.125},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0.125},
- {"matrix": [0, 4], "x": 4, "y": 0.25},
- {"matrix": [4, 0], "x": 7, "y": 0.25},
- {"matrix": [4, 1], "x": 8, "y": 0.125},
- {"matrix": [4, 2], "x": 9, "y": 0},
- {"matrix": [4, 3], "x": 10, "y": 0.125},
- {"matrix": [4, 4], "x": 11, "y": 0.25},
- {"matrix": [1, 0], "x": 0, "y": 1.25},
- {"matrix": [1, 1], "x": 1, "y": 1.125},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1.125},
- {"matrix": [1, 4], "x": 4, "y": 1.25},
- {"matrix": [5, 0], "x": 7, "y": 1.25},
- {"matrix": [5, 1], "x": 8, "y": 1.125},
- {"matrix": [5, 2], "x": 9, "y": 1},
- {"matrix": [5, 3], "x": 10, "y": 1.125},
- {"matrix": [5, 4], "x": 11, "y": 1.25},
- {"matrix": [2, 0], "x": 0, "y": 2.25},
- {"matrix": [2, 1], "x": 1, "y": 2.125},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2.125},
- {"matrix": [2, 4], "x": 4, "y": 2.25},
- {"matrix": [6, 0], "x": 7, "y": 2.25},
- {"matrix": [6, 1], "x": 8, "y": 2.125},
- {"matrix": [6, 2], "x": 9, "y": 2},
- {"matrix": [6, 3], "x": 10, "y": 2.125},
- {"matrix": [6, 4], "x": 11, "y": 2.25},
- {"matrix": [3, 3], "x": 3.5, "y": 3.25},
- {"matrix": [3, 4], "x": 4.5, "y": 3.5},
- {"matrix": [7, 0], "x": 6.5, "y": 3.5},
- {"matrix": [7, 1], "x": 7.5, "y": 3.25}
- ]
- }
+ "serial": {
+ "driver": "vendor"
+ }
+ },
+ "url": "https://git.pngu.org/sweep",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x7370",
+ "vid": "0x6A73"
+ },
+ "ws2812": {
+ "driver": "vendor",
+ "pin": "GP2"
+ },
+ "community_layouts": ["split_3x5_2"],
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_split_3x5_2"
+ },
+ "layouts": {
+ "LAYOUT_split_3x5_2": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0.25 },
+ { "matrix": [0, 1], "x": 1, "y": 0.125 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0.125 },
+ { "matrix": [0, 4], "x": 4, "y": 0.25 },
+ { "matrix": [4, 0], "x": 7, "y": 0.25 },
+ { "matrix": [4, 1], "x": 8, "y": 0.125 },
+ { "matrix": [4, 2], "x": 9, "y": 0 },
+ { "matrix": [4, 3], "x": 10, "y": 0.125 },
+ { "matrix": [4, 4], "x": 11, "y": 0.25 },
+ { "matrix": [1, 0], "x": 0, "y": 1.25 },
+ { "matrix": [1, 1], "x": 1, "y": 1.125 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1.125 },
+ { "matrix": [1, 4], "x": 4, "y": 1.25 },
+ { "matrix": [5, 0], "x": 7, "y": 1.25 },
+ { "matrix": [5, 1], "x": 8, "y": 1.125 },
+ { "matrix": [5, 2], "x": 9, "y": 1 },
+ { "matrix": [5, 3], "x": 10, "y": 1.125 },
+ { "matrix": [5, 4], "x": 11, "y": 1.25 },
+ { "matrix": [2, 0], "x": 0, "y": 2.25 },
+ { "matrix": [2, 1], "x": 1, "y": 2.125 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2.125 },
+ { "matrix": [2, 4], "x": 4, "y": 2.25 },
+ { "matrix": [6, 0], "x": 7, "y": 2.25 },
+ { "matrix": [6, 1], "x": 8, "y": 2.125 },
+ { "matrix": [6, 2], "x": 9, "y": 2 },
+ { "matrix": [6, 3], "x": 10, "y": 2.125 },
+ { "matrix": [6, 4], "x": 11, "y": 2.25 },
+ { "matrix": [3, 3], "x": 3.5, "y": 3.25 },
+ { "matrix": [3, 4], "x": 4.5, "y": 3.5 },
+ { "matrix": [7, 0], "x": 6.5, "y": 3.5 },
+ { "matrix": [7, 1], "x": 7.5, "y": 3.25 }
+ ]
}
+ }
}
diff --git a/keyboards/sweep/keymaps/jack/keymap.c b/keyboards/sweep/keymaps/jack/keymap.c
index d505967..5f836e8 100644
--- a/keyboards/sweep/keymaps/jack/keymap.c
+++ b/keyboards/sweep/keymaps/jack/keymap.c
@@ -1,6 +1,9 @@
-// Copyright 2024 [email protected]
+// Copyright 2025 [email protected]
// SPDX-License-Identifier: GPL-2.0-or-later
#include "jack.h"
+#include "analog.h"
+
+#define NUM_ADC_READS 32
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -14,13 +17,54 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
___LOWER1___,
___LOWER2___,
___LOWER3___,
- KC_TRNS, KC_TRNS, KC_TRNS, PNP
+ _______, _______, _______, UPDIR
),
[_RAISE] = LAYOUT_jack(
___RAISE1___,
___RAISE2___,
___RAISE3___,
- NUKE, KC_TRNS, KC_TRNS, KC_TRNS
+ PNP, _______, _______, _______
)
};
// clang-format on
+
+void housekeeping_task_keymap(void) {
+ static uint32_t last_read = 0;
+ static int16_t current_reads[NUM_ADC_READS] = {0};
+ static int16_t voltage_reads[NUM_ADC_READS] = {0};
+ static uint8_t offset = 0;
+ if (timer_elapsed32(last_read) >= 1) {
+ int16_t current = analogReadPin(ADC_CURRENT_PIN);
+ int16_t voltage = analogReadPin(ADC_VOLTAGE_PIN);
+ int16_t current_ma =
+ (int16_t)(((3300 * (int32_t)current) / ADC_SATURATION));
+ int16_t voltage_mv =
+ (int16_t)((2 * (3300 * (int32_t)voltage)) / ADC_SATURATION);
+ if (!last_read)
+ for (uint8_t i = 0; i < NUM_ADC_READS; ++i) {
+ current_reads[i] = current_ma;
+ voltage_reads[i] = voltage_mv;
+ }
+ current_reads[offset] = current_ma;
+ voltage_reads[offset] = voltage_mv;
+ offset = (offset + 1) % NUM_ADC_READS;
+ static uint16_t counter = 0;
+ counter = (counter + 1) % 2500;
+ if (!counter)
+ dprintf("Current: %dmA\tVoltage: %dmV\n", (int)current_ma,
+ (int)voltage_mv);
+ last_read = timer_read32();
+ }
+ static uint32_t last_draw = 0;
+ if (timer_elapsed32(last_draw) >= 250) {
+ int32_t total_current_ma = 0;
+ int32_t total_voltage_mv = 0;
+ for (uint8_t i = 0; i < NUM_ADC_READS; ++i) {
+ total_current_ma += current_reads[i];
+ total_voltage_mv += voltage_reads[i];
+ }
+ // int16_t avg_current_ma = (int16_t)(total_current_ma / NUM_ADC_READS);
+ // int16_t avg_voltage_mv = (int16_t)(total_voltage_mv / NUM_ADC_READS);
+ last_draw = timer_read32();
+ }
+}
diff --git a/keyboards/sweep/lib/jetbrainsmono11.qff.c b/keyboards/sweep/lib/jetbrainsmono11.qff.c
deleted file mode 100644
index 9a60c9f..0000000
--- a/keyboards/sweep/lib/jetbrainsmono11.qff.c
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright 2024 QMK
-// copyright SPDX-License-Identifier: GPL-2.0-or-later
-
-// Font's metadata
-// ---------------
-// Glyphs: , !, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, 0, 1, 2, 3, 4, 5, 6,
-// 7, 8, 9, :, ;, <, =, >, ?, @, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P,
-// Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, `, a, b, c, d, e, f, g, h, i, j,
-// k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, {, |, }, ~
-
-#include <qp.h>
-
-const uint32_t font_jetbrainsmono11_length = 1365;
-
-// clang-format off
-const uint8_t font_jetbrainsmono11[1365] = {
- 0x00, 0xFF, 0x14, 0x00, 0x00, 0x51, 0x46, 0x46, 0x01, 0x55, 0x05, 0x00, 0x00, 0xAA, 0xFA, 0xFF,
- 0xFF, 0x0C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0xFE, 0x1D, 0x01, 0x00, 0x07, 0x00,
- 0x00, 0xC7, 0x02, 0x00, 0x87, 0x05, 0x00, 0x47, 0x08, 0x00, 0x07, 0x0B, 0x00, 0xC7, 0x0D, 0x00,
- 0x87, 0x10, 0x00, 0x47, 0x13, 0x00, 0x07, 0x16, 0x00, 0xC7, 0x18, 0x00, 0x87, 0x1B, 0x00, 0x47,
- 0x1E, 0x00, 0x07, 0x21, 0x00, 0xC7, 0x23, 0x00, 0x87, 0x26, 0x00, 0x47, 0x29, 0x00, 0x07, 0x2C,
- 0x00, 0xC7, 0x2E, 0x00, 0x87, 0x31, 0x00, 0x47, 0x34, 0x00, 0x07, 0x37, 0x00, 0xC7, 0x39, 0x00,
- 0x87, 0x3C, 0x00, 0x47, 0x3F, 0x00, 0x07, 0x42, 0x00, 0xC7, 0x44, 0x00, 0x87, 0x47, 0x00, 0x47,
- 0x4A, 0x00, 0x07, 0x4D, 0x00, 0xC7, 0x4F, 0x00, 0x87, 0x52, 0x00, 0x47, 0x55, 0x00, 0x07, 0x58,
- 0x00, 0xC7, 0x5A, 0x00, 0x87, 0x5D, 0x00, 0x47, 0x60, 0x00, 0x07, 0x63, 0x00, 0xC7, 0x65, 0x00,
- 0x87, 0x68, 0x00, 0x47, 0x6B, 0x00, 0x07, 0x6E, 0x00, 0xC7, 0x70, 0x00, 0x87, 0x73, 0x00, 0x47,
- 0x76, 0x00, 0x07, 0x79, 0x00, 0xC7, 0x7B, 0x00, 0x87, 0x7E, 0x00, 0x47, 0x81, 0x00, 0x07, 0x84,
- 0x00, 0xC7, 0x86, 0x00, 0x87, 0x89, 0x00, 0x47, 0x8C, 0x00, 0x07, 0x8F, 0x00, 0xC7, 0x91, 0x00,
- 0x87, 0x94, 0x00, 0x47, 0x97, 0x00, 0x07, 0x9A, 0x00, 0xC7, 0x9C, 0x00, 0x87, 0x9F, 0x00, 0x47,
- 0xA2, 0x00, 0x07, 0xA5, 0x00, 0xC7, 0xA7, 0x00, 0x87, 0xAA, 0x00, 0x47, 0xAD, 0x00, 0x07, 0xB0,
- 0x00, 0xC7, 0xB2, 0x00, 0x87, 0xB5, 0x00, 0x47, 0xB8, 0x00, 0x07, 0xBB, 0x00, 0xC7, 0xBD, 0x00,
- 0x87, 0xC0, 0x00, 0x47, 0xC3, 0x00, 0x07, 0xC6, 0x00, 0xC7, 0xC8, 0x00, 0x87, 0xCB, 0x00, 0x47,
- 0xCE, 0x00, 0x07, 0xD1, 0x00, 0xC7, 0xD3, 0x00, 0x87, 0xD6, 0x00, 0x47, 0xD9, 0x00, 0x07, 0xDC,
- 0x00, 0xC7, 0xDE, 0x00, 0x87, 0xE1, 0x00, 0x47, 0xE4, 0x00, 0x07, 0xE7, 0x00, 0xC7, 0xE9, 0x00,
- 0x87, 0xEC, 0x00, 0x47, 0xEF, 0x00, 0x07, 0xF2, 0x00, 0xC7, 0xF4, 0x00, 0x87, 0xF7, 0x00, 0x47,
- 0xFA, 0x00, 0x07, 0xFD, 0x00, 0xC7, 0xFF, 0x00, 0x87, 0x02, 0x01, 0x04, 0xFB, 0x15, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x81, 0x40,
- 0x20, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x85, 0x42, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x89, 0xE0, 0xA3, 0x40, 0x7E, 0x12, 0x01, 0x00, 0x00, 0x08, 0x84, 0x47, 0xE1,
- 0xE0, 0xE0, 0x50, 0x1A, 0x04, 0x02, 0x00, 0x00, 0x80, 0xA9, 0x50, 0x71, 0xE0, 0x18, 0x8A, 0x18,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x42, 0x30, 0xA4, 0x22, 0x31, 0x17, 0x00, 0x00, 0x00, 0x00, 0x02,
- 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x82, 0x40, 0x20, 0x10, 0x08, 0x04,
- 0x04, 0x04, 0x00, 0x00, 0x03, 0x02, 0x01, 0x80, 0x40, 0x00, 0x08, 0x84, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x81, 0xF0, 0x31, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xF8, 0x10,
- 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x82, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x10, 0x04, 0x82, 0x40, 0x20, 0x08, 0x04, 0x81, 0x00, 0x00,
- 0x00, 0x00, 0x47, 0x26, 0x52, 0x89, 0x44, 0x32, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x43, 0x81, 0x40,
- 0x20, 0x10, 0x08, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x47, 0x06, 0x82, 0x60, 0x18, 0x04, 0x1F, 0x00,
- 0x00, 0x00, 0x80, 0x07, 0x82, 0xE0, 0x40, 0x40, 0x12, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x02, 0x41,
- 0x90, 0x48, 0x3C, 0x10, 0x08, 0x00, 0x00, 0x00, 0x80, 0x47, 0x20, 0xF0, 0xC0, 0x40, 0x32, 0x0E,
- 0x00, 0x00, 0x00, 0x00, 0x82, 0x41, 0xF0, 0x88, 0x44, 0x22, 0x0E, 0x00, 0x00, 0x00, 0x80, 0x4F,
- 0x04, 0x81, 0x60, 0x10, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x26, 0xE1, 0xC8, 0x44, 0x22,
- 0x0E, 0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x92, 0x71, 0x20, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x80, 0x40, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00,
- 0x00, 0x04, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x08, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xE0, 0x03, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xC0, 0xC0,
- 0x30, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x81, 0x30, 0x08, 0x00, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x47, 0x04, 0xC2, 0xA5, 0x52, 0x28, 0x8C, 0x80, 0x03, 0x00, 0x00, 0x82, 0x41, 0xA1,
- 0x48, 0x3C, 0x22, 0x11, 0x00, 0x00, 0x00, 0x80, 0x47, 0x26, 0xF1, 0xC8, 0x44, 0x22, 0x0F, 0x00,
- 0x00, 0x00, 0x00, 0x47, 0x24, 0x10, 0x08, 0x04, 0x22, 0x0E, 0x00, 0x00, 0x00, 0x80, 0x47, 0x22,
- 0x12, 0x89, 0x44, 0x12, 0x0F, 0x00, 0x00, 0x00, 0x80, 0x4F, 0x20, 0xF0, 0x08, 0x04, 0x02, 0x1F,
- 0x00, 0x00, 0x00, 0x80, 0x4F, 0x20, 0x10, 0x78, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x47,
- 0x26, 0x10, 0xE8, 0x44, 0x32, 0x0E, 0x00, 0x00, 0x00, 0x80, 0x48, 0x24, 0xF2, 0x89, 0x44, 0x22,
- 0x11, 0x00, 0x00, 0x00, 0x80, 0x07, 0x81, 0x40, 0x20, 0x10, 0x08, 0x0F, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x02, 0x81, 0x40, 0x20, 0x12, 0x0F, 0x00, 0x00, 0x00, 0x80, 0x48, 0x22, 0x71, 0x68, 0x24,
- 0x12, 0x11, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x1F, 0x00, 0x00, 0x00,
- 0x80, 0xCC, 0x66, 0x52, 0x89, 0x44, 0x22, 0x11, 0x00, 0x00, 0x00, 0x80, 0xC8, 0x64, 0x52, 0xA9,
- 0x74, 0x32, 0x19, 0x00, 0x00, 0x00, 0x00, 0x47, 0x22, 0x12, 0x89, 0x44, 0x12, 0x0E, 0x00, 0x00,
- 0x00, 0x80, 0x47, 0x24, 0x12, 0x79, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x47, 0x26, 0x12,
- 0x89, 0x44, 0x32, 0x0E, 0x04, 0x02, 0x00, 0x80, 0x47, 0x24, 0x92, 0x79, 0x24, 0x12, 0x11, 0x00,
- 0x00, 0x00, 0x00, 0x47, 0x22, 0x60, 0x40, 0x40, 0x22, 0x0E, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x81,
- 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x80, 0x48, 0x24, 0x12, 0x89, 0x44, 0x12, 0x0E,
- 0x00, 0x00, 0x00, 0x80, 0x48, 0x24, 0x91, 0x50, 0x28, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x40, 0x2A,
- 0xC5, 0x32, 0x99, 0x6C, 0x36, 0x09, 0x00, 0x00, 0x00, 0x80, 0x48, 0x42, 0x61, 0x30, 0x28, 0x12,
- 0x11, 0x00, 0x00, 0x00, 0x80, 0x48, 0x42, 0xE1, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x80,
- 0x0F, 0x02, 0x41, 0x10, 0x08, 0x02, 0x1F, 0x00, 0x00, 0x00, 0x0E, 0x81, 0x40, 0x20, 0x10, 0x08,
- 0x04, 0x02, 0x07, 0x00, 0x00, 0x81, 0x80, 0x40, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x00, 0x00,
- 0x06, 0x02, 0x81, 0x40, 0x20, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x82, 0x00, 0x11, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00,
- 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x81,
- 0xF1, 0x44, 0x32, 0x1F, 0x00, 0x00, 0x00, 0x80, 0x40, 0xE0, 0x91, 0x89, 0x44, 0x32, 0x0F, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xC0, 0x11, 0x09, 0x04, 0x22, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x08, 0xC4,
- 0x93, 0x89, 0x44, 0x32, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x11, 0xF9, 0x04, 0x02, 0x0E,
- 0x00, 0x00, 0x00, 0x00, 0x8E, 0x40, 0xF0, 0x11, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xC0, 0x93, 0x89, 0x44, 0x32, 0x1E, 0x84, 0x03, 0x00, 0x80, 0x40, 0xE0, 0x91, 0x89, 0x44, 0x22,
- 0x11, 0x00, 0x00, 0x00, 0x00, 0x02, 0xE0, 0x40, 0x20, 0x10, 0x08, 0x1F, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0xE0, 0x81, 0x40, 0x20, 0x10, 0x08, 0xC4, 0x01, 0x00, 0x80, 0x40, 0x20, 0x93, 0x38, 0x24,
- 0x12, 0x11, 0x00, 0x00, 0x00, 0xC0, 0x81, 0x40, 0x20, 0x10, 0x08, 0x04, 0x1C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0x53, 0xA9, 0x54, 0x2A, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x91, 0x89,
- 0x44, 0x22, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x91, 0x89, 0x44, 0x32, 0x0E, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xE0, 0x91, 0x89, 0x44, 0x32, 0x8F, 0x40, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x93,
- 0x89, 0x44, 0x32, 0x1E, 0x08, 0x04, 0x00, 0x00, 0x00, 0xE0, 0x11, 0x89, 0x04, 0x02, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xC0, 0x11, 0x38, 0x20, 0x22, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0,
- 0x23, 0x10, 0x08, 0x04, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x12, 0x89, 0x44, 0x12, 0x0E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x92, 0x48, 0x28, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x90, 0x42, 0x99, 0x4C, 0x16, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xA3, 0x30, 0x18, 0x14,
- 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x92, 0x50, 0x28, 0x0C, 0x04, 0x82, 0x00, 0x00, 0x00,
- 0x00, 0xE0, 0x81, 0x20, 0x08, 0x06, 0x1F, 0x00, 0x00, 0x00, 0x08, 0x02, 0x81, 0x30, 0x20, 0x10,
- 0x08, 0x04, 0x04, 0x00, 0x00, 0x04, 0x02, 0x81, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00,
- 0x03, 0x83, 0x40, 0xC0, 0x11, 0x08, 0x0C, 0x86, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x69,
- 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-// clang-format on
diff --git a/keyboards/sweep/lib/jetbrainsmono11.qff.h b/keyboards/sweep/lib/jetbrainsmono11.qff.h
deleted file mode 100644
index de556e3..0000000
--- a/keyboards/sweep/lib/jetbrainsmono11.qff.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2024 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#include <qp.h>
-
-extern const uint32_t font_jetbrainsmono11_length;
-extern const uint8_t font_jetbrainsmono11[1365];
diff --git a/keyboards/sweep/mcuconf.h b/keyboards/sweep/mcuconf.h
index be63774..c53d80d 100644
--- a/keyboards/sweep/mcuconf.h
+++ b/keyboards/sweep/mcuconf.h
@@ -1,11 +1,14 @@
-// Copyright 2024 [email protected]
+// Copyright 2025 [email protected]
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include_next <mcuconf.h>
+#undef RP_ADC_USE_ADC1
+#define RP_ADC_USE_ADC1 TRUE
+
#undef RP_SPI_USE_SPI0
#define RP_SPI_USE_SPI0 TRUE
-#undef RP_I2C_USE_I2C1
-#define RP_I2C_USE_I2C1 TRUE
+#undef RP_PWM_USE_PWM3
+#define RP_PWM_USE_PWM3 TRUE
diff --git a/keyboards/sweep/readme.md b/keyboards/sweep/readme.md
index 1ccc4f3..be6c1a6 100644
--- a/keyboards/sweep/readme.md
+++ b/keyboards/sweep/readme.md
@@ -1,8 +1,8 @@
# Sweep RP2040
-![%KEYBOARD%](imgur.com image replace me!)
+![image](https://git.pngu.org/sweep/about/img/image1.jpg)
-* Keyboard Maintainer: [Jack Sangdahl](https://github.com/waffle87)
+* Keyboard Maintainer: [[email protected]](mailto:[email protected])
* Hardware Supported: PCBs with integrated RP2040 microcontroller
* Hardware Availability: [git/sweep](https://git.pngu.org/sweep)
@@ -20,6 +20,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
-* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix and plug in the keyboard
+* **Physical reset button**: Hold button labeled BOOT and tap RESET button
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/sweep/rules.mk b/keyboards/sweep/rules.mk
index 172fd27..5533ed9 100644
--- a/keyboards/sweep/rules.mk
+++ b/keyboards/sweep/rules.mk
@@ -1,8 +1,2 @@
-POINTING_DEVICE_DRIVER = cirque_pinnacle_spi
-
-# depends on 21844
-QUANTUM_PAINTER_DRIVERS += ls0xx_spi
-
-ifeq ($(strip $(QUANTUM_PAINTER_ENABLE)), yes)
- SRC += lib/jetbrainsmono11.qff.c
-endif
+QUANTUM_PAINTER_DRIVERS += st7789_spi
+ANALOG_DRIVER_REQUIRED = yes
diff --git a/keyboards/sweep/sweep.c b/keyboards/sweep/sweep.c
index f14a591..c7023bd 100644
--- a/keyboards/sweep/sweep.c
+++ b/keyboards/sweep/sweep.c
@@ -1,28 +1,17 @@
-// Copyright 2024 [email protected]
+// Copyright 2025 [email protected]
// SPDX-License-Identifier: GPL-2.0-or-later
-#include <quantum.h>
+#include "quantum.h"
#ifdef QUANTUM_PAINTER_ENABLE
-#include "lib/jetbrainsmono11.qff.h"
-#include <qp.h>
-#include <qp_surface.h>
+#include "qp.h"
+
static painter_device_t display;
-static painter_font_handle_t font;
-static uint8_t framebuffer[SURFACE_REQUIRED_BUFFER_BYTE_SIZE(
- LS0XX_DISPLAY_WIDTH, LS0XX_DISPLAY_HEIGHT, 1)] = {0};
void keyboard_post_init_kb(void) {
- display = qp_ls0xx_device_t_make_spi_device(
- LS0XX_DISPLAY_WIDTH, LS0XX_DISPLAY_HEIGHT, LS0XX_CS_PIN, LCD_SPI_DIVISOR,
- 0, framebuffer);
+ display = qp_st7789_make_spi_device(LCD_DISPLAY_WIDTH, LCD_DISPLAY_HEIGHT,
+ LCD_CS_PIN, LCD_DC_PIN, LCD_RST_PIN,
+ LCD_SPI_DIVISOR, 0);
qp_init(display, QP_ROTATION_0);
- font = qp_load_font_mem(font);
- if (font) {
- static const char *data = "foo bar baz";
- int16_t width = qp_textwidth(font, data);
- qp_drawtext(display, LS0XX_DISPLAY_WIDTH - width - 1,
- LS0XX_DISPLAY_HEIGHT - font->line_height - 1, font, data);
- }
keyboard_post_init_user();
}
@@ -36,14 +25,3 @@ void suspend_wakeup_init_kb(void) {
suspend_wakeup_init_user();
}
#endif // QUANTUM_PAINTER_ENABLE
-
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return rotation; }
-
-bool oled_task_kb(void) {
- if (!oled_task_user())
- return false;
- oled_write(PSTR("foo bar baz"), false);
- return true;
-}
-#endif // OLED_ENABLE