summaryrefslogtreecommitdiffstats
path: root/quantum
Commit message (Collapse)AuthorAgeFilesLines
...
* | Dual RGB Matrix IS31FL3737 driver support to address #13442 (#13457)Chris Cullin2021-07-151-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * initial commit * removed changes to write_pwm_buffer * backward compatbility added * fixed issue with backward compatibility * documentation update * removed unneccessary comment. branched from master * updated per comments #13457 * removed blank line * cformat on diff files
* | [Feature] Key Overrides (#11422)Jonas Gessner2021-07-136-3/+714
| |
* | Change the prototype of matrix_output_unselect_delay() (#13045)Takeshi ISHII2021-07-133-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 } } ```
* | Fix two out of bounds accesses from #13330. (#13525)Joakim Tufvegren2021-07-121-2/+2
| | | | | | | | | | Two occurrences of `MATRIX_ROWS` weren't properly changed to `ROWS_PER_HAND` in #13330, causing a crash during boot on at least my Ergodox Infinity (including #13481).
* | Unify matrix for split common and regular matrix (#13330)Drashna Jaelre2021-07-112-348/+125
| |
* | `keymap_extras`: Remove deprecated defines (#12949)Ryan2021-07-0623-925/+1
| |
* | Allow invert of SPLIT_HAND_PIN logic (#13433)Jameson Thatcher2021-07-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * added support for inverting the hand pin for split keyboards * Added docs about SPLIT_HAND_LOW_IS_LEFT * Update docs/feature_split_keyboard.md bring #define for split hand pin low for left half name in line with grid pin define Co-authored-by: Joel Challis <git@zvecr.com> * Update quantum/split_common/split_util.c update split hand pin low is left name to match split hand grid define Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Joel Challis <git@zvecr.com>
* | mousekey: expose current report to users (#13069)Thomas Weißschuh2021-07-032-5/+8
| |
* | Add support for NO_PIN to all matrix types (#12238)Drashna Jaelre2021-07-032-28/+104
| | | | | | Co-authored-by: Nick Brassel <nick@tzarc.org>
* | Improve layer mask handling (#13065)Drashna Jaelre2021-07-032-5/+5
| |
* | Switch split_common to CRC subsystem (#13418)Stefan Kerkmann2021-07-021-16/+1
| |
* | Convert Dip Switch callbacks to boolean functions (#13399)Drashna Jaelre2021-07-012-8/+8
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-07-0157-1027/+1027
|\|
| * Cleanup junk chars, part 4 (#13345)Ryan2021-07-0157-1027/+1027
| |
* | Adds support for STM32L412xB, STM32L422xB. (#13383)Nick Brassel2021-06-301-0/+34
| | | | | | | | | | | | | | * Adds support for STM32L412xB, STM32L422xB. * Add to list of supported MCUs. * Disable SPI1 by default.
* | Relocate RGB/HSV color defs to a more fitting place (#13377)Ryan2021-06-292-44/+56
| |
* | Move RGBLight code into its own folder (#13312)Ryan2021-06-285-1/+1
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-06-233-4/+4
|\|
| * Fix zero condition of reactive runners that will suspend RGB animation (#12710)Albert Y2021-06-233-4/+4
| | | | | | | | | | | | | | | | | | * Avoid zero or overflow from user's rgb_matrix_config.speed * Avoid zero tick for reactive splash. * Avoid zero time for animation runner. Co-authored-by: filterpaper <filterpaper@localhost>
* | Remove rgblight stubs (#13302)Ryan2021-06-232-40/+0
| |
* | Move LED/RGB Matrix code into their own directories (#13257)Ryan2021-06-2279-94/+96
| |
* | Skip EEPROM writes once done. (#13293)Nick Brassel2021-06-222-0/+2
| |
* | Remove dfu-util arguments from mcu_selection (#13150)Ryan2021-06-211-40/+0
| |
* | Add sync_timer support over serial_link (i.e. Ergodox Infinity) (#12845)Joakim Tufvegren2021-06-191-0/+22
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-06-201-6/+14
|\|
| * Add Mac centric Shift and Alt + GUI Macros (#13107)Albert Y2021-06-191-6/+14
| | | | | | Co-authored-by: filterpaper <filterpaper@localhost>
* | RGB Matrix eeprom write limiting (#13238)XScorpion22021-06-192-28/+32
| |
* | Extensible split data sync (#11930)Nick Brassel2021-06-187-420/+1062
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Extensible split data sync capability through transactions. - Split common transport has been split up between the transport layer and data layer. - Split "transactions" model used, with convergence between I2C and serial data definitions. - Slave matrix "generation count" is used to determine if the full slave matrix needs to be retrieved. - Encoders get the same "generation count" treatment. - All other blocks of data are synchronised when a change is detected. - All transmissions have a globally-configurable deadline before a transmission is forced (`FORCED_SYNC_THROTTLE_MS`, default 100ms). - Added atomicity for all core-synced data, preventing partial updates - Added retries to AVR i2c_master's i2c_start, to minimise the number of failed transactions when interrupts are disabled on the slave due to atomicity checks. - Some keyboards have had slight modifications made in order to ensure that they still build due to firmware size restrictions. * Fixup LED_MATRIX compile. * Parameterise ERROR_DISCONNECT_COUNT.
* | Add CRC8 calculation subsystem to quantum (#12641)Stefan Kerkmann2021-06-182-0/+103
| | | | | | | | | | | | | | | | | | | | | | * Intended usage is data validation in split transport code. * Default space efficient algorithm. * Opt-in fast table based algorithmn with #define CRC8_USE_TABLE switch. * Define switches for size and speed optimized versions, the default is size optimized by using uint_least8_t as datatype for calculations. * #define CRC8_OPTIMIZE_SPEED uses uint_fast8_t as datatype for calculations, this only affects 32-bit Archs like ARM and RISC-V. * Placeholder crc_init() function for hardware backed crc calculation, not implemented yet.
* | Limit saturation for RGB_MATRIX_JELLYBEAN_RAINDROPS (#12669)Albert Y2021-06-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | * Set saturation limit to jellybean_raindrops_anim.h * Use faster bit-shift maths and qadd8 * Remove extra parenthesis * Single bitmask operation is sufficient. Co-authored-by: filterpaper <filterpaper@localhost>
* | Add asym_eager_defer_pk debounce type (#12689)Simon Arlott2021-06-164-1/+552
| |
* | Add ST7565 LCD driver (#13089)Ryan2021-06-101-0/+4
| | | | | | Co-authored-by: Joakim Tufvegren <jocke@barbanet.com>
* | Fix RGB/LED Suspend defines (#13146)Drashna Jaelre2021-06-092-8/+0
| |
* | GMMK Pro RGB Support (#13147)Gigahawk2021-06-102-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Enable SPI1 for GMMK pro * Setup initial boilerplate for new LED driver * RGB matrix minimally functional * Map full LED matrix * Return keymap to default * Fix printscreen LED mapping * Reduce max brightness * Default values for AW20216 * Add documentation for AW20216 * Disable console and warnings * Run cformat * Update drivers/awinic/aw20216.h Co-authored-by: Drashna Jaelre <drashna@live.com> * make aw struct match issi struct Co-authored-by: Drashna Jaelre <drashna@live.com> * add led location defines Co-authored-by: Drashna Jaelre <drashna@live.com> * Use led pin definitions in keyboard.c * Add driver indices to led map * Fix elif typo * Run cformat * Update docs * Fix typo in docs * Document global brightness limits Co-authored-by: Drashna Jaelre <drashna@live.com>
* | Avoid 8-bit timer overflows in debounce algorithms (#12240)Simon Arlott2021-06-0914-87/+1508
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add fast_timer_t that is 16-bit or 32-bit based on architecture A 16-bit timer will overflow sooner but be faster to compare on AVR. * Avoid 8-bit timer overflows in debounce algorithms Count down remaining elapsed time instead of trying to do 8-bit timer comparisons. Add a "none" implementation that is automatically used if DEBOUNCE is 0 otherwise it will break the _pk/_pr count down. * Avoid unnecessary polling of the entire matrix in sym_eager_pk The matrix only needs to be updated when a debounce timer expires. * Avoid unnecessary polling of the entire matrix in sym_eager_pr The matrix only needs to be updated when a debounce timer expires. The use of the "needed_update" variable is trying to do what "matrix_need_update" was added to fix but didn't work because it only applied when all keys finished debouncing. * Fix sym_defer_g timing inconsistency compared to other debounce algorithms DEBOUNCE=5 should process the key after 5ms, not 6ms * Add debounce tests
* | Use single memcmp to determine if matrix changed. (#13064)Nick Brassel2021-06-092-78/+62
| | | | | | | | | | | | | | * Use memcmp to determine if matrix changed. * Firmware size issues. * Add documentation for the lack of need of MATRIX_ROW_PINS/MATRIX_COL_PINS, when overriding low-level matrix functions.
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-06-082-2/+2
|\|
| * Fix Bug with (RGB|LED)_DISABLE_WHEN_USB_SUSPENDED define (#13060)Drashna Jaelre2021-06-092-2/+2
| |
| * 2021 May 29 Breaking Changes Update (#13034)James Young2021-05-2964-931/+2424
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |