summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-06-12Feature: 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-06-12Fix layer debug calls (#8370)Drashna Jaelre
2020-06-12Refactor 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-06-12Add gcc version detection to qmk doctor (#8338)skullydazed
2020-06-12Backlight - 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-06-12Remove unused LED_BREATHING_TABLEzvecr
2020-06-12Buffer based OLED panning, write byte to buffer at arbitrary index (#8055)brickbots
* Add buffer based single line pan, arbitrary byte write to buffer * Change dirty mask to inverse of OLED_BLOCK_TYPE for future proofing larger buffer sizes * Updating docs to include new functions * Updating to clarify scroll vs pan
2020-06-12Fix up Arm builds with nix-shell. (#8312)Nick Brassel
2020-06-12Fix typo in uart.c backport and add 32A "support" (#8219)Ryan
2020-06-12Refactor 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-06-12Add f401 and f411 blackpill examples (#7930)Joel Challis
* Add f401 and f411 blackpill examples * Add readme files * Align dfu args with core * Add support for RESET keycode * move STM32_BOOTLOADER_ADDRESS to rules * Update conf files to latest ChibiOS * Update conf files to latest ChibiOS
2020-06-12Prune out pure software pwm && custom driver && remove wrapping ↵Joel Challis
BACKLIGHT_PIN (#8041)
2020-06-12Short term fix for conflicting types for 'tfp_printf' (#8157)Joel Challis
format code according to conventions [skip ci]
2020-06-12Fix recent clang-format breaking quantum.c (#8282)Joel Challis
2020-06-12Clean up includes for glcdfont headers (#7745)Ryan
* Clean up includes for glcdfont headers * Remove pragma once, most of these are not headers * Missed these
2020-06-12PWM DMA based RGB Underglow for STM32 (#7928)Joel Challis
* Add pwm ws2812 driver * Add docs for pwm ws2812 driver * Update ws2812_pwm for ChibiOS 19 Co-Authored-By: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>
2020-06-12Track master branches for lib/chibios, lib/chibios-contrib, lib/ugfx. (#8273)Nick Brassel
2020-06-12Allow for ChibiOS 20.x (master), as well as enabling ChibiOS-Contrib HAL. ↵Nick Brassel
(#8272)
2020-06-12Revert Audio Fixes (for now)Drashna Jael're
Precursor for arm audio fixes, and so make sure that things compileg inbetween
2020-06-12Fix timer calls in arm_audioDrashna Jael're
2020-06-122020 February 29 Breaking Changes Update (#8064)James Young
2020-06-12Made windows driver installation accept y as All to allow CI (#8189)Mikkel Jeppesen
* Made windows driver installation accept y as all to allow CI * Fix some formatting * Made None default
2020-06-12Use pathlib everywhere we can (#7872)skullydazed
* Use pathlib everywhere we can * Update lib/python/qmk/path.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * Update lib/python/qmk/path.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * Improvements based on @erovia's feedback * rework qmk compile and qmk flash to use pathlib * style * Remove the subcommand_name argument from find_keyboard_keymap() Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-06-12Fix os detection in OSX python 3.8 (#8187)Mikkel Jeppesen
* Fix os detection in osx python 3.8 * oops
2020-06-12CLI: add support for list_keymapsErovia
List all the available keymaps for a given keyboard Add bs4 to requirements.txt UnicodeDammit is needed from bs4 for reading files. Major update to work better with revisions Find the community keymaps supported by each revision. Get all buildable keymaps for each revision The command now return all keymaps that's buildable for a keyboard/revision. If the base directory of a keyboard does not contain a 'rules.mk' file, nothing is returned. If the base directory contains a 'keymaps' directory, those keycaps will be returned for every revision. Fix help message. Try to figure out revision, drop -rv/--revision argument Fix output format Another major refactoring, add documentation Move all useful functions to the qmk module and use the cli subcommand as a wrapper around it. Add both inline comments and documentation. Add test for list_keymaps Fix regex for parsing rules.mk files I don't know why it couldn't put it together before... ¯\_(ツ)_/¯ Drop bs4 dependency, update docs, minor improvements Return only the unique keymaps Fix merging community and base keymaps Major rework, no regex/globbing, more walking Instead of using regexes and globbing to find the rules.mk and keymap.c files, walk the directory tree to find them. Also, do away with the concept of revision. Fix commandline parsing and flake8 findings, rebase Fixed commandline and config parsing. Thx @xplusplus. Rebased on master and fixed merge conflicts. Code cleanup, use pathlib, use pytest keyboard Clean up checks and logics that are unnecessary due to MILC updates. Use pathlib instead of os.path for readability. Use the 'pytest' keyboard for the tests. Add community layout for 'handwired/onekey/pytest' so we can test community layouts. Pathlib-ify qmk.keymap.list_keymaps() fix list_keymaps for python 3.5
2020-06-12Remove entries for Minidox eep files from gitignore (#8077)fauxpark
2020-06-12Align ATSAM HID descriptors with LUFA/ChibiOS (#7651)fauxpark
* Align ATSAM HID descriptors with LUFA/ChibiOS * Don't hardcode raw endpoint size format code according to conventions [skip ci]
2020-06-02Enable LED Blinking for Dynamic Macro Recording status for MoonlanderDrashna Jael're
2020-06-02Enable LED Blinking for Dynamic Macro Recording status for Planck EZDrashna Jael're
2020-06-02Enable LED Blinking for Dynamic Macro Recording status for Ergodox EZDrashna Jael're
2020-03-26Unconditionally enable ChibiOS syscalls (#8268)Joel Challis
* Enable syscalls all the time * fix whitespace
2020-03-26Fixed OS detection such that OSX doesn't take over the world (#8248)Mikkel Jeppesen
2020-03-26New feature: PERMISSIVE_HOLD_PER_KEY (#7994)ridingqwerty
* Implement 'PERMISSIVE_HOLD_PER_KEY' * Document 'PERMISSIVE_HOLD_PER_KEY' Co-authored-by: GeorgeKoenig <35542036+GeorgeKoenig@users.noreply.github.com>
2020-03-26Split - Avoid race condition during matrix_init_quantum (#8235)Joel Challis
* Avoid race condition during matrix_init_quantum * spelling is hard
2020-03-26Improvements to extrakey HID descriptors (#8156)Ryan
2020-03-26New functionality for cformat (#7893)Akaash Suresh
Fixing complexity remove lambda PR review fixes #1 Removing unneccesary string substitution Handle -a and specified files Complexity rewrite, use pathlib
2020-03-26Update main.c (#8198)yiancar
2020-03-26Fix QWIIC OLED for AVR (#7769)Nick Winans
* Fix QWIIC OLED for AVR * Change missed width * width to width * height * Fix typo in comment Co-Authored-By: fauxpark <fauxpark@gmail.com> * Fix last incorrect uses of LCDWIDTH Co-authored-by: Ryan <fauxpark@gmail.com> format code according to conventions [skip ci]
2020-03-26uart.c fix from TMK (#7628)Drashna Jaelre
* uart.c fix from TMK Backport from tmk/tmk_keyboard@c41e48a0ab0712d2667feb6b5dd8a4d5491cfcc5 * Avoid deadlock when uart.c is usind in ISR Backport from tmk/tmk_keyboard@55443fabb731459e21b45781c6d951edac5d75f4 format code according to conventions [skip ci]
2020-03-26Add Arm Teensys to mcu_selection.mk (#8026)Ryan
* Add Arm Teensys to mcu_selection.mk * Roll back halfkeyboard keymap changes * Remove extra newline
2020-03-26Allow 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-03-26Set Dynamic Keymap max size for MoonlanderDrashna Jael're
2020-03-26dynamic keymap sanity check (#8181)Wilba
2020-03-26Use pathlib everywhere we can (#7872)skullydazed
* Use pathlib everywhere we can * Update lib/python/qmk/path.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * Update lib/python/qmk/path.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * Improvements based on @erovia's feedback * rework qmk compile and qmk flash to use pathlib * style * Remove the subcommand_name argument from find_keyboard_keymap() Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-03-26Fix os detection in OSX python 3.8 (#8187)Mikkel Jeppesen
* Fix os detection in osx python 3.8 * oops
2020-03-26Convert f072 backlight build error to message (#8177)Joel Challis
2020-03-26CLI: add support for list_keymapsErovia
List all the available keymaps for a given keyboard Add bs4 to requirements.txt UnicodeDammit is needed from bs4 for reading files. Major update to work better with revisions Find the community keymaps supported by each revision. Get all buildable keymaps for each revision The command now return all keymaps that's buildable for a keyboard/revision. If the base directory of a keyboard does not contain a 'rules.mk' file, nothing is returned. If the base directory contains a 'keymaps' directory, those keycaps will be returned for every revision. Fix help message. Try to figure out revision, drop -rv/--revision argument Fix output format Another major refactoring, add documentation Move all useful functions to the qmk module and use the cli subcommand as a wrapper around it. Add both inline comments and documentation. Add test for list_keymaps Fix regex for parsing rules.mk files I don't know why it couldn't put it together before... ¯\_(ツ)_/¯ Drop bs4 dependency, update docs, minor improvements Return only the unique keymaps Fix merging community and base keymaps Major rework, no regex/globbing, more walking Instead of using regexes and globbing to find the rules.mk and keymap.c files, walk the directory tree to find them. Also, do away with the concept of revision. Fix commandline parsing and flake8 findings, rebase Fixed commandline and config parsing. Thx @xplusplus. Rebased on master and fixed merge conflicts. Code cleanup, use pathlib, use pytest keyboard Clean up checks and logics that are unnecessary due to MILC updates. Use pathlib instead of os.path for readability. Use the 'pytest' keyboard for the tests. Add community layout for 'handwired/onekey/pytest' so we can test community layouts. Pathlib-ify qmk.keymap.list_keymaps() fix list_keymaps for python 3.5
2020-03-26Fix 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 format code according to conventions [skip ci]
2020-03-26Align split_common/matrix.c with matrix.c (#8153)Joel Challis
2020-03-26Run 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