summaryrefslogtreecommitdiff
path: root/quantum
AgeCommit message (Collapse)Author
2021-07-24Refactor some platform dependent logic (#13675)Joel Challis
2021-07-24Avoid LTO conficts on arm_atsam (#13676)Joel Challis
2021-07-24Disables rgblight twinkle by default. (#13677)Nick Brassel
This takes up about 700 bytes of space, and needs to be swapped to opt-in, rather than opt-out. Build failures in general on AVR due to the scarcity of available flash. People can re-enable it by adding to their keymap's config.h files: ``` #define RGBLIGHT_EFFECT_TWINKLE ```
2021-07-21Retain brightness with lighting layers (#13025)Patrick Stadler
Add guard `RGBLIGHT_LAYERS_RETAIN_VAL` to retain the currently used val when applying lighting layers.
2021-07-20Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-07-20Adds Swedish Mac ISO and ANSI keymaps (#13055)Carl-Fredrik Arvidson
* Adds Swedish Mac ISO and ANSI keymaps * Replaces NBSP with space * Adds missing keys * Remove duplicates * Remove duplicates * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Change case and remove whitespace * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Fix uppercase * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Add specific files for Swedish Pro * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Remove whitespace Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_pro_osx_ansi.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19Switch Ergodox Infinity over to split_common (#13481)Joakim Tufvegren
2021-07-17Revert "Add rgblight to RGB Matrix VPATH" (#13559)Ryan
2021-07-17Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-07-17remove `RGBLIGHT_H_DUMMY_DEFINE` macro from rgblight.h (#13569)Takeshi ISHII
2021-07-16Move `SENDSTRING_BELL` code to `send_string.h` (#13566)Ryan
2021-07-16Fix LED Hit Counter for LED/RGB Matrix (#12674)Johannes Choo
2021-07-16Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-07-16remove `#include "rgblight.h"` when `defined(RGB_MATRIX_ENABLE)` from ↵Takeshi ISHII
quantum.h (#13555)
2021-07-15Dual RGB Matrix IS31FL3737 driver support to address #13442 (#13457)Chris Cullin
* 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
2021-07-13[Feature] Key Overrides (#11422)Jonas Gessner
2021-07-13Change the prototype of matrix_output_unselect_delay() (#13045)Takeshi ISHII
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 } } ```
2021-07-12Fix two out of bounds accesses from #13330. (#13525)Joakim Tufvegren
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).
2021-07-11Unify matrix for split common and regular matrix (#13330)Drashna Jaelre
2021-07-06`keymap_extras`: Remove deprecated defines (#12949)Ryan
2021-07-05Allow invert of SPLIT_HAND_PIN logic (#13433)Jameson Thatcher
* 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>
2021-07-03mousekey: expose current report to users (#13069)Thomas Weißschuh
2021-07-03Add support for NO_PIN to all matrix types (#12238)Drashna Jaelre
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-07-03Improve layer mask handling (#13065)Drashna Jaelre
2021-07-02Switch split_common to CRC subsystem (#13418)Stefan Kerkmann
2021-07-01Convert Dip Switch callbacks to boolean functions (#13399)Drashna Jaelre
2021-07-01Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-07-01Cleanup junk chars, part 4 (#13345)Ryan
2021-06-30Adds support for STM32L412xB, STM32L422xB. (#13383)Nick Brassel
* Adds support for STM32L412xB, STM32L422xB. * Add to list of supported MCUs. * Disable SPI1 by default.
2021-06-29Relocate RGB/HSV color defs to a more fitting place (#13377)Ryan
2021-06-28Move RGBLight code into its own folder (#13312)Ryan
2021-06-23Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-06-23Fix zero condition of reactive runners that will suspend RGB animation (#12710)Albert Y
* 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>
2021-06-23Remove rgblight stubs (#13302)Ryan
2021-06-22Move LED/RGB Matrix code into their own directories (#13257)Ryan
2021-06-22Skip EEPROM writes once done. (#13293)Nick Brassel
2021-06-21Remove dfu-util arguments from mcu_selection (#13150)Ryan
2021-06-19Add sync_timer support over serial_link (i.e. Ergodox Infinity) (#12845)Joakim Tufvegren
2021-06-20Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-06-19Add Mac centric Shift and Alt + GUI Macros (#13107)Albert Y
Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-19RGB Matrix eeprom write limiting (#13238)XScorpion2
2021-06-18Extensible split data sync (#11930)Nick Brassel
* 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.
2021-06-18Add CRC8 calculation subsystem to quantum (#12641)Stefan Kerkmann
* 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.
2021-06-16Limit saturation for RGB_MATRIX_JELLYBEAN_RAINDROPS (#12669)Albert Y
* 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>
2021-06-16Add asym_eager_defer_pk debounce type (#12689)Simon Arlott
2021-06-10Add ST7565 LCD driver (#13089)Ryan
Co-authored-by: Joakim Tufvegren <jocke@barbanet.com>
2021-06-09Fix RGB/LED Suspend defines (#13146)Drashna Jaelre
2021-06-10GMMK Pro RGB Support (#13147)Gigahawk
* 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>
2021-06-09Avoid 8-bit timer overflows in debounce algorithms (#12240)Simon Arlott
* 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
2021-06-09Use single memcmp to determine if matrix changed. (#13064)Nick Brassel
* 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.