summaryrefslogtreecommitdiff
path: root/quantum
AgeCommit message (Collapse)Author
2020-03-10Feature: RGBLight layers (#7768)Nathan Gray
* New feature: RGBLIGHT_LAYERS This feature allows users to define multiple independent layers of lighting that can be toggled on and off individually, making it easy to use your RGB lighting to indicate things like active keyboard layer & modifier state. * Demonstrate built in functions for layer state checking Also link the video in the docs. * Follow existing pattern for setting rgblight_status flags * Eliminate rgblight_is_static_mode since it's not needed Just check to see if the timer is enabled directly.
2020-03-10Refactor rgblight_reconfig.h (#7773)Takeshi ISHII
* Moved contents of rgblight_reconfig.h to rgblight_post_config.h. In #3582, rgblight_reconfig.h had to be newly created. Now, the build system of qmk_firmware has a post_cofig feature, so that what was done in rgblight_reconfig.h can now be realized in rgblight_post_config.h. **This commit does not change the build result.** Testing script ```shell # build on master git checkout master echo master > /tmp/master_md5.txt # RGBLIGHT_ENABLE = no make HELIX=verbose helix/rev2:default:clean make HELIX=verbose helix/rev2:default md5 helix_rev2_default.hex >> /tmp/master_md5.txt # RGBLIGHT_ENABLE = yes, with animations make HELIX=verbose helix/rev2/back:default:clean make HELIX=verbose helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/master_md5.txt # RGBLIGHT_ENABLE = yes, without animations make HELIX=verbose,no_ani helix/rev2/back:default:clean make HELIX=verbose,no_ani helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/master_md5.txt # build on refactor_rgblight_reconfig.h git checkout refactor_rgblight_reconfig.h echo refactor_rgblight_reconfig.h > /tmp/branch_md5.txt # RGBLIGHT_ENABLE = no make HELIX=verbose helix/rev2:default:clean make HELIX=verbose helix/rev2:default md5 helix_rev2_default.hex >> /tmp/branch_md5.txt # RGBLIGHT_ENABLE = yes, with animations make HELIX=verbose helix/rev2/back:default:clean make HELIX=verbose helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/branch_md5.txt # RGBLIGHT_ENABLE = yes, without animations make HELIX=verbose,no_ani helix/rev2/back:default:clean make HELIX=verbose,no_ani helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/branch_md5.txt diff -u /tmp/master_md5.txt /tmp/branch_md5.txt ``` Test result: ``` --- /tmp/master_md5.txt 2020-01-03 15:42:22.000000000 +0900 +++ /tmp/branch_md5.txt 2020-01-03 15:42:42.000000000 +0900 @@ -1,4 +1,4 @@ -master +refactor_rgblight_reconfig.h MD5 (helix_rev2_default.hex) = f360032edd522448366d471d8f4f8181 MD5 (helix_rev2_back_default.hex) = 0c663acc6cccc44476b3b969ad22a48f MD5 (helix_rev2_back_default.hex) = e66b1195ff6d38e6e22c975b8ae42fd3 ``` * Expressions that are too long are difficult to read, so wrap them. * Edit the expression again * remove `defined(RGBLIGHT_ANIMATIONS)` in `tmk_core/common/*/suspend.c`, `tmk_core/protocol/*/main.c` move contents of rgblight_reconfig.h to rgblight.h. The following changes were made to rgblight.h. ```diff +#ifdef RGBLIGHT_USE_TIMER void rgblight_task(void); void rgblight_timer_init(void); void rgblight_timer_enable(void); void rgblight_timer_disable(void); void rgblight_timer_toggle(void); +#else +#define rgblight_task() +#define rgblight_timer_init() +#define rgblight_timer_enable() +#define rgblight_timer_disable() +#define rgblight_timer_toggle() +#endif ``` The following changes were made to tmk_core/common/avr/suspend.c, tmk_core/common/chibios/suspend.c, tmk_core/protocol/chibios/main.c, tmk_core/protocol/lufa/lufa.c, tmk_core/protocol/vusb/main.c. ```diff -# ifdef RGBLIGHT_ANIMATIONS rgblight_timer_enable(); -# endif ``` ```diff -#if defined(RGBLIGHT_ANIMATIONS) && defined(RGBLIGHT_ENABLE) +#if defined(RGBLIGHT_ENABLE) rgblight_task(); #endif ``` * remove 'defined(RGBLIGHT_ANIMATIONS)' in tmk_core/common/keyboard.c Co-authored-by: Joel Challis <git@zvecr.com>
2020-03-09Remove NO_UART defines from config.h for V-USB boards (#8351)Ryan
2020-03-09Update Dvorak, Colemak and Workman keycode aliases (#8217)Ryan
* Update Dvorak, Colemak and Workman keycode aliases * Add missing shifted keycode aliases for Workman
2020-03-08Update Norwegian keymap and add sendstring LUT (#8300)Ryan
2020-03-07Backlight - Carve out a better location for private driver functionality (#8329)Joel Challis
* rename backlight_soft to match rules.mk * rename backlight_soft to match rules.mk - update common_features * Carve out a better location for private driver backlight functionality
2020-03-06Remove unused LED_BREATHING_TABLEzvecr
2020-03-06Refactor more backlight to a common location (#8292)Joel Challis
* Refactor more backlight to a common location * BACKLIGHT_PIN not defined for custom backlight * align function names
2020-03-03Update Hungarian keymap and add sendstring LUT (#8220)Ryan
2020-03-03Reduce PROGMEM usage for sendstring LUT (#8109)Ted M Lin
* Reduce PROGMEM usage for keycode map Bit-pack the keycode bool array to gain back a small amount of flash space. The trade-off is an increase in runtime instructions when running macros. It does make the code a bit harder to read, as well as maintain. For configs that use send_string() et al, it saves ~100 bytes. * Switch to macro and common definition Rewrite the array declarations so both the unpacked (original) and packed LUT arrays can use the same value definitions. This is done by defining a macro that "knows what to do". This makes the code much easier to read and maintain. * Fix macro typos and improve perf Pack the bits in a more efficient order for extraction. And also fix the copy/paste error in the macro... * Switch fully to packed LUT Some minor reformatting. Compile tested all sendstring_xyz.h to make sure they were converted properly. Also checked that an unconverted version would generate a compile error. * Apply whitespace suggestions from code review Co-Authored-By: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-03-01Prune out pure software pwm && custom driver && remove wrapping ↵Joel Challis
BACKLIGHT_PIN (#8041)
2020-03-01Fix recent clang-format breaking quantum.c (#8282)Joel Challis
2020-03-01format code according to conventions [skip ci]QMK Bot
2020-03-01Remove duplicate BRTG case (#8277)Ryan
2020-02-292020 February 29 Breaking Changes Update (#8064)James Young
2020-02-27Add support for delays in send_string. (#8244)Nick Brassel
2020-02-25Split - Avoid race condition during matrix_init_quantum (#8235)Joel Challis
* Avoid race condition during matrix_init_quantum * spelling is hard
2020-02-25`send_unicode_string()`: Add support for code points > 0xFFFF (#8236)Ryan
2020-02-24A proper `send_string()` for the Unicode feature (#8155)Ryan
2020-02-23Add mouse support to SEND_STRING (#8223)Joel Challis
* Add mouse support to SEND_STRING * add short forms
2020-02-21Add Danish keymap and sendstring LUT (#8218)Ryan
2020-02-21Add Turkish keymap aliases and sendstring LUT (#7676)Ryan
* Add Turkish keymap aliases and sendstring LUT * Split into F and Q layouts
2020-02-21Add Arm Teensys to mcu_selection.mk (#8026)Ryan
* Add Arm Teensys to mcu_selection.mk * Roll back halfkeyboard keymap changes * Remove extra newline
2020-02-21Allow 30us matrix delay to be keyboard/user overridable (#8216)Joel Challis
* Allow 30us matrix delay to be configurable via define * Move wait logic to matrix_common * Move wait logic to matrix_common - fix wait includes
2020-02-17dynamic keymap sanity check (#8181)Wilba
2020-02-16Convert f072 backlight build error to message (#8177)Joel Challis
2020-02-13Fix RESET keycode on some STM32F072 keyboards (#8134)Joel Challis
* Add f072 board files with 'enter_bootloader_mode_if_requested' support * rename default f072 board file to GENERIC_STM32_F072XB * Remove board files * Add bootloader def * Update generic f072 board paths * Revert wrong deletion
2020-02-12Align split_common/matrix.c with matrix.c (#8153)Joel Challis
2020-02-04Reduce SPLIT_USB_TIMEOUT by 500ms (#7637)Joel Challis
* Update SPLIT_USB_TIMEOUT -500ms * Align keyboard level SPLIT_USB_TIMEOUT defaults * Align keyboard level SPLIT_USB_TIMEOUT_POLL * Review fixes
2020-02-04Relocate grave keycode processing (#8082)Joel Challis
* Relocate grave keycode processing * Tidy up code * Refactor grave -> grave_esc
2020-01-26Ensure setPinInput actually sets input high-Z (#6237)Mikkel Jeppesen
* Ensure setPinInput actually sets input high-z * Fixed _PIN_ADDRESS Macro arguments as recommended by vomindoraan * Fixed instances of setInput to use new behavour * Changed kmac matrix to use input with pullups * Update keyboards/gh60/revc/revc.h Co-Authored-By: fauxpark <fauxpark@gmail.com> * Fixed input state for unselect_rows * fixed merge conflict * Updated all instances of older uses of setPinInput() * Fixed naming mistake Co-authored-by: fauxpark <fauxpark@gmail.com>
2020-01-24Update split serial code to use driver pattern (#7990)Joel Challis
* Move avr serial code to drivers * Update src+= serial.c to driver pattern
2020-01-24Add customisable EEPROM driver selection (#7274)Nick Brassel
- uprintf -> dprintf - Fix atsam "vendor" eeprom. - Bump Kinetis K20x to 64 bytes, too. - Rollback Kinetis to 32 bytes as partitioning can only be done once. Add warning about changing the value. - Change RAM-backed "fake" EEPROM implementations to match eeconfig's current usage. - Add 24LC128 by request.
2020-01-20format code according to conventions [skip ci]QMK Bot
2020-01-20Add VIA support for QMK backlight, QMK RGBLight (#7911)Wilba
* Add VIA support for QMK backlight, QMK RGBLight * clang-format changes
2020-01-19Remove all references to "CUSTOM_MATRIX" as a diode direction (#7937)fauxpark
2020-01-19Run clang-format manually to fix recently changed files (#7934)Joel Challis
* Run clang-format manually to fix recently changed files * Run clang-format manually to fix recently changed files - revert template files * Run clang-format manually to fix recently changed files - format off for ascii_to_keycode_lut
2020-01-19Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards (#7915)fauxpark
* Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards * Define diode direction for failing boards * Matching parentheses * Put onekey diode directions in top level config
2020-01-19Move rgblight and backlight task to common location (#7733)Joel Challis
2020-01-18Configuration values for starting HSV and speed (#7740)Rob Haswell
* Define default HSV and speed for RGB matrix. * Documentation for configuration values RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT and RGB_MATRIX_STARTUP_VAL. * Document RGB_MATRIX_STARTUP_SPD. * Preserve the ordering.
2020-01-17switching to you know whats up mode (#7921)Jeremy Bernhardt
2020-01-15Fix CUSTOM_MATRIX lite matrix_scan return code (#7908)Joel Challis
2020-01-15Migrate more custom matrix 'lite' code to core (#7863)Joel Challis
* Migrate more custom matrix lite code to core * Align function names * fix up MATRIX_MASKED
2020-01-13Relocate common backlight functionally (#7273)Joel Challis
2020-01-07RGB matrix effect - left-right gradient (#7742)Rob Haswell
* Left-right gradient. * Update the comment to match the new functionality. * CPP does integer division so this round is not necessary. * The x-range is actually 224, update comment and use bit-shifting again. * Update docs with gradient left-right effect and associated "DISABLE" option.
2020-01-04Move some common matrix code to a common location (#7699)Joel Challis
* 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
2020-01-03VIA Configurator Refactor (#7268)Wilba
* VIA Refactor * Remove old code * review changes * review changes * Fix cannonkeys/satisfaction75/prototype:via build * Add via.h to quantum.h * Move backlight init to after backlight config load * Merge branch 'master' into via_refactor_pr * Update user's rules.mk to new way of enabling VIA * Added id_switch_matrix_state * Review changes
2019-12-31Use White channel on RGBW LEDs (#7678)Drashna Jaelre
* Use White channel on RGBW LEDs Co-authored-by: kwerdenker <sebastian.spindler@gmail.com> * Manually apply white channel to array * Move where convert_rgb_to_rgbw is called * Fix type for rgbw led struct * Add changes to Ergodox EZ can revert if deemed necessary * Revert "Add changes to Ergodox EZ" This reverts commit aa44db198d40d758ca10470eb94615513592d1dd. * Revert "Fix type for rgbw led struct" This reverts commit c5c744cba040201cc0d124400773cf13f8a2cf22. * Revert "Move where convert_rgb_to_rgbw is called" This reverts commit cd7f17caf6dd30731c54b3be54490fe4519444f9. * Revert changes and fix up functions * Enable white channel for Ergodox EZ as well * Only run conversion of rgblight is enabled Co-authored-by: kwerdenker <sebastian.spindler@gmail.com>
2019-12-28Add rules.mk defaults for f103,f072,f042 (#7704)Joel Challis
* Add rules.mk defaults for f103,f072,f042 * Add rules.mk defaults for f103,f072,f042 - remove comment * Add rules.mk defaults for f103,f072,f042 - align USE_FPU * Reset MCU to avoid build issues * Move essential config values to top and remove ability for override * Align DFU_SUFFIX_ARGS order with DFU_ARGS
2019-12-25Make the keyboard beep when Audio is enabled and `\a` is encountered in a ↵fauxpark
sendstring