summaryrefslogtreecommitdiff
path: root/keyboards/preonic/rev3_drop/matrix.c
AgeCommit message (Collapse)Author
2022-07-11[Core] Use polled waiting on ChibiOS platforms that support it (#17607)Stefan Kerkmann
* Use polled waiting on platforms that support it Due to context switching overhead waiting a very short amount of time on a sleeping thread is often not accurate and in fact not usable for timing critical usage i.e. in a driver. Thus we use polled waiting for ranges in the us range on platforms that support it instead. The fallback is the thread sleeping mechanism. This includes: * ARM platforms with CYCCNT register (ARMv7, ARMv8) this is incremented at CPU clock frequency * GD32VF103 RISC-V port with CSR_MCYCLE register this is incremented at CPU clock frequency * RP2040 ARMv6 port which uses the integrated timer peripheral which is incremented with a fixed 1MHz frequency * Use wait_us() instead of chSysPolledDelayX ...as it is powered by busy waiting now. * Add chibios waiting methods test bench
2021-10-18preonic/rev3_drop: Fix old custom matrix code (#14857)Sergey Vlasov
The old custom matrix code for Preonic rev3 was relying on the `matrix_col_t` type, because the code actually reads the row pins and assembles the state for whole columns, and then transposes the matrix in the custom debouncing code. Restore that type (which is no longer defined by the core QMK code) to make the custom matrix code work properly (when `matrix_row_t` was used instead of `matrix_col_t`, the state of two electrical rows was lost, and those electrical rows corresponded to the bottom physical row, which did not work).
2021-09-19[Keyboard] Enables I2C for OLKB rev*_drop boards (#14514)Jack Humbert
Co-authored-by: daskygit <32983009+daskygit@users.noreply.github.com>
2021-09-18[Keyboard] Use old custom matrix for Drop Planck+Preonic (#14488)Drashna Jaelre
Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Jack Humbert <jack.humb@gmail.com>