summaryrefslogtreecommitdiff
path: root/tmk_core
AgeCommit message (Collapse)Author
2020-03-10Fix layer debug calls (#8370)Drashna Jaelre
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-07Fix up Arm builds with nix-shell. (#8312)Nick Brassel
2020-03-06format code according to conventions [skip ci]QMK Bot
2020-03-06Fix typo in uart.c backport and add 32A "support" (#8219)Ryan
2020-03-01format code according to conventions [skip ci]QMK Bot
2020-03-02Short term fix for conflicting types for 'tfp_printf' (#8157)Joel Challis
2020-03-01Clean 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-03-01Allow for ChibiOS 20.x (master), as well as enabling ChibiOS-Contrib HAL. ↵Nick Brassel
(#8272)
2020-03-01Use nano specs (#8270)Joel Challis
2020-03-01Unconditionally enable ChibiOS syscalls (#8268)Joel Challis
* Enable syscalls all the time * fix whitespace
2020-02-292020 February 29 Breaking Changes Update (#8064)James Young
2020-02-25format code according to conventions [skip ci]QMK Bot
2020-02-25New 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-02-25Improvements to extrakey HID descriptors (#8156)Ryan
2020-02-22Update main.c (#8198)yiancar
2020-02-21format code according to conventions [skip ci]QMK Bot
2020-02-21uart.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
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-12format code according to conventions [skip ci]QMK Bot
2020-02-12Align VUSB HID descriptors with LUFA/ChibiOS (#7675)fauxpark
* Align VUSB HID descriptors with LUFA/ChibiOS * Wrap send_system and send_consumer in ifdefs too * Offset system usages to match LUFA/ChibiOS
2020-02-10Compile error if ONESHOT_TIMEOUT defined but oneshot disabled (#8100)Ted Lin
* Compile error if ONESHOT_TIMEOUT defined but oneshot disabled When ONESHOT_TIMEOUT and NO_ACTION_ONESHOT are both defined, this code fails to compile. Wrap the one usage of ONESHOT_TIMEOUT that is inconsistent with the rest so all usages are properly wrapped by a check of NO_ACTION_ONESHOT. * Run file through clang-format Co-authored-by: Ted M Lin <tedmlin@gmail.com>
2020-02-08Remove PJRC USB stackfauxpark
2020-02-07Use function for KEYCODE2 routines instead of macro. (#8101)Ted M Lin
* Option to use function for KEYCODE2 routines. Convert the KEYCODE2SYSTEM and KEYCODE2CONSUMER macros to functions, defaulting to using the macros. The function form allows the compiler to optimize the switch statement itself, over the macro nested ternaries. To enable this feature, #define USE_KEYCODE2_FUNCTION. Testing against a random selection of avr-based keyboards, this increased available flash by ~500 bytes. For arm-based keyboards, the available flash increased by ~400 bytes. * Replace macro with function entirely. As zvecr states, go bold and just commit to using the function instead of the macro. * Reformat whitespace now that functional review is done Verified against clang-format output.
2020-02-04Add Midi Endpoint task to ChibiOS main (#8071)Drashna Jaelre
2020-02-02format code according to conventions [skip ci]QMK Bot
2020-02-02Dedupe extrakey report struct, and send functions in V-USB & LUFA (#7993)fauxpark
* Dedupe extrakey report struct, and send functions in V-USB & LUFA * Doc comment for consistency * Wrap it in ifdef to prevent unused function error * Do the same for ATSAM
2020-02-02format code according to conventions [skip ci]QMK Bot
2020-02-02Align ATSAM HID descriptors with LUFA/ChibiOS (#7651)fauxpark
* Align ATSAM HID descriptors with LUFA/ChibiOS * Don't hardcode raw endpoint size
2020-02-01format code according to conventions [skip ci]QMK Bot
2020-02-01Fix timer_elapsed() overflow issue for STM32F103 and other ChibiOS boards ↵Pavel Župa
(#7595) * fixed strange space cadet timer owerflow on STM32F103 * Moved elapsed time fix to timer.c
2020-01-31Fix misunderstanding of CPPFLAGS and CXXFLAGS.Nick Brassel
2020-01-31Improve VIRTSER performance (#7528)xyzz
2020-01-27Migrate common ld scripts to common location (#7887)Joel Challis
* Migrate common ld scripts to common location * Remove duplicate ld scripts * Update build to look at common ld location
2020-01-25format code according to conventions [skip ci]QMK Bot
2020-01-25Fix unaligned access with LTO (#7801)George Harris
Forces 4 byte alignment for USB input & output buffers to prevent unaligned accesses by chibios with LTO enabled
2020-01-24Fix printf buffer overflow when cols>16 (#7998)Joel Challis
2020-01-24format code according to conventions [skip ci]QMK Bot
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-21format code according to conventions [skip ci]QMK Bot
2020-01-21Fix lock LEDs for ChibiOS when using shared endpoints (#7877)fauxpark
* Fix lock LEDs for ChibiOS when using shared endpoints * Tweak comments * Doesn't need to be uint16 anymore
2020-01-19Remove tmk_core gitignore and gitmodulesfauxpark
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-19Move rgblight and backlight task to common location (#7733)Joel Challis
2020-01-17Implement and document TAPPING_FORCE_HOLD_PER_KEY (#7859)ridingqwerty
* Implement and document TAPPING_FORCE_HOLD_PER_KEY * Added "record" parameter to "get_tapping_force_hold" * Correct typo -- remove 'IGNORE_' from 'IGNORE_TAPPING_FORCE_HOLD_PER_KEY' Co-authored-by: GeorgeKoenig <35542036+GeorgeKoenig@users.noreply.github.com>
2020-01-17Cleanup check for PERMISSIVE_HOLD (#7861)Drashna Jaelre
* Fix bug in PERMISSIVE_HOLD check caused by #5009 (aka, me) * Remove check for per key
2020-01-17Remove `KEYMAP_SECTION_ENABLE` (#7882)fauxpark
2020-01-13chibios/usb_main: re-check USB status in send_keyboard after sleeping the ↵xyzz
thread (#7784) * chibios/usb_main: re-check USB status in send_keyboard after sleeping the thread * change send_keyboard to only have 1 exit point
2020-01-13Fix KEYBOARD_SHARED_EP on ChibiOS (#7860)Joel Challis
2020-01-10Add per-key IGNORE_MOD_TAP_INTERRUPT feature (#7838)zk-phi
* Implement IGNORE_MOD_TAP_INTERRUPT_PER_KEY - Add configurable option IGNORE_MOD_TAP_INTERRUPT_PER_KEY - Add function get_ignore_mod_tap_interrupt iff the option is enabled Unless IGNORE_MOD_TAP_INTERRUPT_PER_KEY is defined, this patch does not affect the resulting binary. * Add documentation for IGNORE_MOD_TAP_INTERRUPT_PER_KEY