summaryrefslogtreecommitdiff
path: root/keyboards/tzarc
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2024-03-02 08:45:11 +1100
committerGitHub <noreply@github.com>2024-03-02 08:45:11 +1100
commitd5ac75385bcff564d7f22a5c419dca2b61eb7ef0 (patch)
treedab2faafb5d8f974ada6efa78a9aabde94f369c7 /keyboards/tzarc
parent7dd57f16c3c4db558e1fc8919e818aa55ec3d0e1 (diff)
Fix up scanning for Djinn, post-asyncUSB. (#23188)
Diffstat (limited to 'keyboards/tzarc')
-rw-r--r--keyboards/tzarc/djinn/djinn_portscan_matrix.c10
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 @@
// Copyright 2018-2022 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
+#include <ch.h>
+#include <hal.h>
#include "quantum.h"
-#include <hal_pal.h>
#include "djinn.h"
#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) {
}
}
+static void dummy_vt_callback(virtual_timer_t *vtp, void *p) {}
+
void matrix_init_custom(void) {
for (int i = 0; i < MATRIX_ROWS; ++i) {
setPinInputHigh(row_pins[i]);
@@ -41,6 +44,11 @@ void matrix_init_custom(void) {
for (int i = 0; i < MATRIX_COLS; ++i) {
setPinInputHigh(col_pins[i]);
}
+
+ // Start a virtual timer so we'll still get periodic wakeups, now that USB SOF doesn't wake up the main loop
+ static virtual_timer_t vt;
+ chVTObjectInit(&vt);
+ chVTSetContinuous(&vt, TIME_MS2I(10), dummy_vt_callback, NULL);
}
bool matrix_scan_custom(matrix_row_t current_matrix[]) {