* Refactor debounce counters with direct indexing
* Refactor code to use array indexing for debounce_counters
* Use global MATRIX_ROW_SHIFTER macro
* Refactor debounce algorithm with static allocation
* Converted arrays to static allocation
* Standardised use of MATRIX_ROWS_PER_HAND for array sizing
* Added Doxygen comments for primary debounce functions
* Removed debounce_free()
* Rewrite sym_defer_pr
* Modernise code using sym_defer_pk as template
* Format consistency with other current algorithms
* Use shorter SPDX-License-Identifier
* Remove ChibiOS core memory manager guard
* Keep type definition within DEBOUNCE guard
* Add change log
* Minor optimisation refactor
* Pre-calculate row_offset in per-key matrix loops
* Add inline compiler hints
* Improve readability with blank lines
* Limit elapsed time to the maximum debounce value
* Apply suggestions from code review
Declare counters with "DEBOUNCE_ELAPSED"
Co-authored-by: Joel Challis <git@zvecr.com>
* Update change log to new breaking change date
---------
Co-authored-by: Joel Challis <git@zvecr.com>
- Update aliases accordingly
- Remove unnecessary elite_c revision; an alternate bootloader or
development board can easily be set by a user. The PCB is not
dependant on an Elite-C pin compatible microcontroller
- Remove unnecessary nanoboot revision; any user going to the trouble of
using this bootloader will have no trouble manually setting the size
of their bootloader
- Move the promicro revision to be the "standard" for this keyboard
- Remove unnecessary rp2040_ce revision; the converter feature should be
used here instead
* Refactor bastardkb/charybdis/4x6
- Update keyboard aliases accordingly
- Migrate various configuration to data-driven
- Use short SPDX license headers
- Remove configuration that trends towards user-specific (CRC Table)
- Migrate common configuration upwards
- Migrate keymap to JSON
- Remove likely unneeded v1 revision per #23811
- Remove revisions splinky_2, splinky_3, and stemcell where a converter
should be used
- Rename v2/elitec -> elitec. Specifically named elitec, as this board
requires pin compatibility with an Elite-C (bottom 5 pins)
* Add aliases
* Replace unecessarily removed split hand pin configuration
* Revert "Replace unecessarily removed split hand pin configuration"
This reverts commit 0b98d1bc140a4b18c16d2b524cc8731f016372b1.
After second thought, it is not necessary to configure this by default,
as any user who wishes to set handedness by pin and is using an Elite-C
pin compatible development board will need to manually set the pin
anyway, which likely means referencing the readme.md file, which also
contains the necessary SPLIT_HAND_PIN_LOW_IS_LEFT configuration.
* Refactor bastardkb/charybdis/3x6
- Update keyboard aliases accordingly
- Migrate various configuration to data-driven
- Use short SPDX license headers
- Remove configuration that trends towards user-specific (CRC Table)
- Migrate common configuration upwards
- Migrate keymap to JSON
- Remove likely unneeded v1 revision per #23810
- Remove revisions splinky_2, splinky_3, and stemcell where a converter
should be used
- Rename v2/elitec -> elitec. Specifically named elitec, as this board
requires pin compatibility with an Elite-C (bottom 5 pins)
* Correct keyboard name in keymap
* Replace unecessarily removed split hand pin configuration
* Revert "Replace unecessarily removed split hand pin configuration"
This reverts commit 737cb635fa8de29bdf0f4ae54cf51b7a4715c7f3.
After second thought, it is not necessary to configure this by default,
as any user who wishes to set handedness by pin and is using an Elite-C
pin compatible development board will need to manually set the pin
anyway, which likely means referencing the readme.md file, which also
contains the necessary SPLIT_HAND_PIN_LOW_IS_LEFT configuration.