summaryrefslogtreecommitdiffstats
path: root/quantum/matrix_common.c
Commit message (Collapse)AuthorAgeFilesLines
* [Bug] Include missing string.h include (#15606)Drashna Jaelre2021-12-281-0/+1
|
* [Core] Fix bug and code regression for Split Common (#15603)Drashna Jaelre2021-12-281-12/+10
|
* Custom matrix lite support for split keyboards (#14674)Jay Greco2021-12-271-5/+70
| | | | | | | * Custom matrix lite support for split keyboards * WIP: matrix -> matrix_common refactor * Move matrix_post_scan() to matrix_common.c
* [Core] Remove matrix_is_modified() and debounce_is_active() (#15349)Stefan Kerkmann2021-11-291-6/+0
|
* Change the prototype of matrix_output_unselect_delay() (#13045)Takeshi ISHII2021-07-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The prototype of matrix_output_unselect_delay() has been changed as follows. ```c void matrix_output_unselect_delay(uint8_t line, bool key_pressed); ``` Currently, no keyboard seems to be redefining `matrix_output_unselect_delay()`, so there is no change in the system behavior. With this change, the keyboard level code can get some optimization hints, for example, the following. ```c void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { /* If none of the keys are pressed, * there is no need to wait for time for the next line. */ if (key_pressed) { #ifdef MATRIX_IO_DELAY # if MATRIX_IO_DELAY > 0 wait_us(MATRIX_IO_DELAY); # endif #else wait_us(30); #endif } } ```
* Remove legacy print backward compatiblitly (#11805)Joel Challis2021-02-061-1/+1
| | | | | | | * Remove legacy print backward compatiblitly * Remove legacy print backward compatiblitly - core * revert comment changes
* fix matrix_io_delay() timing in quantum/matrix.c (#9603)Takeshi ISHII2021-01-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix matrix_io_delay() timing in quantum/matrix.c * Updated comments explaining the need for matrix_io_delay() in quantum/matrix.c * fix matrix_io_delay() timing in quantum/split_common/matrix.c * Update quantum/matrix.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/split_common/matrix.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/matrix.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/split_common/matrix.c Co-authored-by: Ryan <fauxpark@gmail.com> * add waitOutputPinValid() and wait_cpuclock() into quantum/quantum.h and tmk_core/common/wait.h * add matrix_output_select_delay() and matrix_output_unselect_delay() * fix quantum/matrix_common.c, tmk_core/common/matrix.h * fix tmk_core/common/wait.h * fix quantum/quantum.h, tmk_core/common/wait.h * waitOutputPinValid() rename to waitInputPinDelay() in quantum/quantum.h. * waitOutputPinValid() rename to waitInputPinDelay() in quantum/matrix_common.c * update tmk_core/common/wait.h * update comment in quantum/matrix.c, quantum/split_common/matrix.c * update quantum/quantum.h: Make more margin in the GPIO_INPUT_PIN_DELAY default value. Co-authored-by: Ryan <fauxpark@gmail.com>
* format code according to conventions [skip ci]QMK Bot2020-07-041-4/+1
|
* add DIP_SWITCH_MATRIX_GRID support (#8772)Takeshi ISHII2020-07-041-0/+5
| | | | | | | | | | | | | * dipsw test on helix/rev2/sc/back:five_rows * add peek_matrix() to matrix_common.c * add DIP_SWITCH_MATRIX_GRID support to quantum/dip_switch.c * update docs/feature_dip_switch.md about DIP_SWITCH_MATRIX_GRID * Test end. remove test code. Revert "dipsw test on helix/rev2/sc/back:five_rows" This reverts commit 6d4304c74557597c9fb4d324f79c3ae4793ae874.
* Allow 30us matrix delay to be keyboard/user overridable (#8216)Joel Challis2020-02-211-0/+7
| | | | | | | | * Allow 30us matrix delay to be configurable via define * Move wait logic to matrix_common * Move wait logic to matrix_common - fix wait includes
* Fix CUSTOM_MATRIX lite matrix_scan return code (#7908)Joel Challis2020-01-151-1/+1
|
* Migrate more custom matrix 'lite' code to core (#7863)Joel Challis2020-01-151-0/+48
| | | | | | | | * Migrate more custom matrix lite code to core * Align function names * fix up MATRIX_MASKED
* Move some common matrix code to a common location (#7699)Joel Challis2020-01-041-0/+59
* Move some common matrix code to a common location * Refactor some 'custom_matrix_helper' logic to use custom matrix lite * Fix build for kinesis/stapelberg - abuse of vpath was picking up matrix.c from core when custom matrix was enabled * Add validation for CUSTOM_MATRIX