diff options
Diffstat (limited to 'keyboards/sweep')
-rw-r--r-- | keyboards/sweep/config.h | 36 | ||||
-rw-r--r-- | keyboards/sweep/halconf.h | 5 | ||||
-rw-r--r-- | keyboards/sweep/keyboard.json | 273 | ||||
-rw-r--r-- | keyboards/sweep/keymaps/jack/keymap.c | 50 | ||||
-rw-r--r-- | keyboards/sweep/lib/jetbrainsmono11.qff.c | 104 | ||||
-rw-r--r-- | keyboards/sweep/lib/jetbrainsmono11.qff.h | 8 | ||||
-rw-r--r-- | keyboards/sweep/mcuconf.h | 9 | ||||
-rw-r--r-- | keyboards/sweep/readme.md | 8 | ||||
-rw-r--r-- | keyboards/sweep/rules.mk | 10 | ||||
-rw-r--r-- | keyboards/sweep/sweep.c | 36 |
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 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 |