diff options
| author | Nick Brassel <nick@tzarc.org> | 2024-03-02 08:45:11 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-02 08:45:11 +1100 |
| commit | d5ac75385bcff564d7f22a5c419dca2b61eb7ef0 (patch) | |
| tree | dab2faafb5d8f974ada6efa78a9aabde94f369c7 /keyboards/tzarc | |
| parent | 7dd57f16c3c4db558e1fc8919e818aa55ec3d0e1 (diff) | |
Fix up scanning for Djinn, post-asyncUSB. (#23188)
Diffstat (limited to 'keyboards/tzarc')
| -rw-r--r-- | keyboards/tzarc/djinn/djinn_portscan_matrix.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/keyboards/tzarc/djinn/djinn_portscan_matrix.c b/keyboards/tzarc/djinn/djinn_portscan_matrix.c index cb73c47def..ac81ad18c1 100644 --- a/keyboards/tzarc/djinn/djinn_portscan_matrix.c +++ b/keyboards/tzarc/djinn/djinn_portscan_matrix.c | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | // Copyright 2018-2022 Nick Brassel (@tzarc) | 1 | // Copyright 2018-2022 Nick Brassel (@tzarc) |
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | 2 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | #include <ch.h> | ||
| 4 | #include <hal.h> | ||
| 3 | #include "quantum.h" | 5 | #include "quantum.h" |
| 4 | #include <hal_pal.h> | ||
| 5 | #include "djinn.h" | 6 | #include "djinn.h" |
| 6 | 7 | ||
| 7 | #define GPIOB_BITMASK (1 << 13 | 1 << 14 | 1 << 15) // B13, B14, B15 | 8 | #define GPIOB_BITMASK (1 << 13 | 1 << 14 | 1 << 15) // B13, B14, B15 |
| @@ -34,6 +35,8 @@ void matrix_wait_for_port(stm32_gpio_t *port, uint32_t target_bitmask) { | |||
| 34 | } | 35 | } |
| 35 | } | 36 | } |
| 36 | 37 | ||
| 38 | static void dummy_vt_callback(virtual_timer_t *vtp, void *p) {} | ||
| 39 | |||
| 37 | void matrix_init_custom(void) { | 40 | void matrix_init_custom(void) { |
| 38 | for (int i = 0; i < MATRIX_ROWS; ++i) { | 41 | for (int i = 0; i < MATRIX_ROWS; ++i) { |
| 39 | setPinInputHigh(row_pins[i]); | 42 | setPinInputHigh(row_pins[i]); |
| @@ -41,6 +44,11 @@ void matrix_init_custom(void) { | |||
| 41 | for (int i = 0; i < MATRIX_COLS; ++i) { | 44 | for (int i = 0; i < MATRIX_COLS; ++i) { |
| 42 | setPinInputHigh(col_pins[i]); | 45 | setPinInputHigh(col_pins[i]); |
| 43 | } | 46 | } |
| 47 | |||
| 48 | // Start a virtual timer so we'll still get periodic wakeups, now that USB SOF doesn't wake up the main loop | ||
| 49 | static virtual_timer_t vt; | ||
| 50 | chVTObjectInit(&vt); | ||
| 51 | chVTSetContinuous(&vt, TIME_MS2I(10), dummy_vt_callback, NULL); | ||
| 44 | } | 52 | } |
| 45 | 53 | ||
| 46 | bool matrix_scan_custom(matrix_row_t current_matrix[]) { | 54 | bool matrix_scan_custom(matrix_row_t current_matrix[]) { |
