summaryrefslogtreecommitdiffstats
path: root/quantum
Commit message (Collapse)AuthorAgeFilesLines
* Reimplements WPM feature to be smaller & precise (#13902)vectorstorm2021-11-162-23/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Reimplements WPM feature. - Now calculates exact WPM over the last up to three seconds of typing. - WPM_SMOOTHING removed, as it's no longer needed. - WPM_SAMPLE_SECONDS added, to specify how long a period to average WPM over, set to 5 seconds by default. - WPM_SAMPLE_PERIODS added, to specify how many sampling buffers we'll use. Each one uses one extra byte of space. Having more will lead to smoother decay of WPM values. Defaults to 50 (we're saving so many bytes of firmware space I felt like being extravagent, and this change is still a big size saving overall) - WPM_UNFILTERED option added (defaults to unset), which disables all filtering within the WPM feature. This saves some space in the firmware and also reduces latency between typing and the WPM calculation measuring it. (saves 70 bytes in my tests) - WPM_LAUNCH_CONTROL added (defaults to unset). When typing begins while the current displayed WPM value is zero, the WPM calculation only considers the time elapsed since typing began, not the whole WPM_SAMPLE_SECONDS buffer. The result of this is that the displayed WPM value much more rapidly reaches an accurate WPM value, even when results are being filtered. (costs 22 bytes in my tests) - Updates documentation to reflect changed options. Saves about 900 bytes, in my tests, compared against the previous implementation, with default settings. * Apply suggestions from code review Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Trevor Powell <trevor@vectorstorm.org> Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Add support for deferred executors. (#14859)Nick Brassel2021-11-154-0/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for deferred executors. * More docs. * Include from quantum.h * Cleanup. * Parameter checks * Comments. * qmk format-c * I accidentally a few words. * API name change. * Apply suggestions from code review Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Review comments. * qmk format-c * Review comments. Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Add needed include to pointing_device.c (#15167)Drashna Jaelre2021-11-161-0/+1
|
* Rework and expand Pointing Device support (#14343)Drashna Jaelre2021-11-145-33/+419
| | | Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
* Merge remote-tracking branch 'origin/master' into developDrashna Jael're2021-11-131-0/+1
|\
| * add wait to unicode for win (#15061)Markus Fritsche2021-11-121-0/+1
| | | | | | Co-authored-by: Markus Fritsche <fritsche.markus@gmail.com>
* | Basic keycode overhaul (#14726)Ryan2021-11-0320-677/+730
| |
* | Remove deprecated KEYMAP alias (#15037)Joel Challis2021-11-031-3/+0
| | | | | | | | | | | | | | * Remove deprecated KEYMAP alias * Remove some KEYMAP references * Remove some KEYMAP references
* | Revert to old init order for host driver (#15029)Joel Challis2021-11-021-3/+12
| | | | | | * Partially revert 14888
* | Fixup LED matrix. (#15020)Nick Brassel2021-11-021-7/+7
| |
* | haptic: Feature to disable it when usb port is not configured or suspended. ↵Purdea Andrei2021-11-023-4/+77
| | | | | | | | | | | | | | (#12692) This also add support for specifying a LED pin to indicate haptic status, and also adds support for a haptic-enable pin, which is useful to turn off the boost converter on the solenoid driver.
* | Add Pixel Rain RGB Matrix effect (#14155)Albert Y2021-11-022-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add Pixel animation header file * Add Pixel animation to documentation * Add Pixel animation to core include file * Remove unintended spaces * Remove seeding of PRNG * Increase frequency of lit keys Co-authored-by: filterpaper <filterpaper@localhost>
* | Add a new led driver for Keychron's keyboards. (#14872)lalalademaxiya12021-11-022-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a new led driver for Keychron's keyboards. * Update ckled2001.c/ckled2001.h. * Update ckled2001.c/ckled2001.h. * Update ckled2001.c/ckled2001.h. * Update ckled2001.c * Add a new led driver * Update ckled2001.c * Update ckled2001.c * Update ckled2001.c * Update ckled2001.c * Delete ckled2001.c * Create ckled2001.c * Update ckled2001.c * Update chibios-contrib Co-authored-by: keychron-dev <85598583+keychron-dev@users.noreply.github.com> Co-authored-by: lokher <lokher@gmail.com>
* | define to AUTO_SHIFT_DISABLED_AT_STARTUP (#14201)Woody2021-11-021-1/+7
| | | | | | Co-authored-by: agodinhost <agodinhost@globo.com>
* | Add support for ISSI drivers on both sides of a split keyboard (#13842)Vlad K2021-11-0228-57/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Gets RGB working on a split keyboard with IS31FL3733. Currently needs small tweak to re-enable WS2812 * Added helper function * Trying to integrate the function * Moved functionality into a macro * Swapped conditional for a macro everywhere * Tidying up * More code cleanup * Documentation updates * Fixed formatting via linter * Switching to a function from a macro * Fixed compile error * Fixing WS2812 behavior. UNTESTED. * Updated documentation about the driver addresses. * Fixed code for WS2812 * Trying to add in LED_MATRIX support * Updated effects for LED matrix * Updated third-party effect defines. * Ran format-c on modified files * Apply suggestions from code review Co-authored-by: Ryan <fauxpark@gmail.com> * Move to static inline. Avoids issues with gcc v8+ * Move helper function for LED_matrix to static inline to avoid issues with gcc v8+ Co-authored-by: Vlad Kvitnevskiy <vladkvit@outlook.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* | Manually format develop (#15003)Joel Challis2021-11-0122-373/+464
| |
* | Add Fractal RGB matrix effects (#12670)Albert Y2021-11-022-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Squashed fractal effect commit for easier rebase * Update documentation * Squashed fractal effect commit for easier rebase * Update documentation * Update doc spacing Co-authored-by: Ryan <fauxpark@gmail.com> * Update feature_rgb_matrix.md Co-authored-by: filterpaper <filterpaper@localhost> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
* | Fix issues with Oneshot disabling (#14934)Drashna Jaelre2021-11-012-65/+104
| |
* | Fix develop after recent changes (#14975)Joel Challis2021-10-281-0/+3
| | | | | | | | | | * Fix sleep led issues * Fix tests
* | Relocate protocol files within tmk_core/common/ (#14972)Joel Challis2021-10-287-90/+129
| | | | | | | | | | * Relocate non platform files within tmk_core/common/ * clang
* | Remove SERIAL_MOUSE (#14969)Joel Challis2021-10-281-10/+0
| |
* | Migrate makefile utilities to sub-directory (#14917)Joel Challis2021-10-281-668/+0
| |
* | Optimize matrix scanning by removing variable shifts (#14947)Chad Austin2021-10-261-10/+13
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-10-261-13/+12
|\|
| * Update mcu_selection.mk with current ChibiOS path (#14909)MasterSpoon2021-10-261-13/+12
| |
* | Begin to carve out platform/protocol API - Migrate keyboard_* calls (#14888)Joel Challis2021-10-242-1/+20
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-10-201-1/+1
|\|
| * Fix type of Tap Dance max index variable (#14887)Drashna Jaelre2021-10-191-1/+1
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-10-201-0/+1
|\|
| * Make the MAGIC_TOGGLE_GUI keycode work (#14886)Sergey Vlasov2021-10-191-0/+1
| |
* | [Core] Add support for RISC-V builds and GD32VF103 MCU (#12508)Stefan Kerkmann2021-10-181-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for RISC-V builds and GD32VF103 MCU * Add toolchain selection in chibios.mk based on the mcu selected in mcu_selection.mk * Reorder and added comments to chibios.mk to have a streamlined makefile * Add GD32VF103 mcu to possible targets for QMK. * Add STM32 compatibility for GD32VF103 MCU, this is hacky but more efficent then rewriting every driver. * Add GigaDevice DFU bootloader as flash target, please note that dfu-util of at least version 0.10 is needed. * Add analog driver compatibility * Add apa102 bitbang driver compatibility * Add ws2812 bitbang driver compatibility * Add eeprom in flash emulation compatibility * Allow faster re-builds with ccache * Add SiPeed Longan Nano to platform files * Add SiPeed Longan Nano Onekeys * Make quine compatible with other bootloaders * Support builds with picolibc * Add risc-v toolchain to arch and debian/ubuntu scripts
* | Further tidy up of STM32 eeprom emulation (#14591)Joel Challis2021-10-161-0/+5
| |
* | Fix misplaced endif in led_matrix_drivers.c (#14785)Ryan2021-10-101-4/+4
| |
* | Clean up LED/RGB Matrix driver config (#14760)Ryan2021-10-102-123/+139
| |
* | Remove QWIIC_DRIVERS (#14174)Joel Challis2021-10-091-10/+0
| |
* | Put back eeconfig_update_ functions (#14751)Joel Challis2021-10-082-0/+4
| |
* | Move converter specific tmk_core protocols (#14743)Joel Challis2021-10-071-10/+0
| |
* | Correct the Turkish F '?' keycode (TR_QUES) (#14740)precondition2021-10-071-1/+1
| | | | | | define TR_QUES S(TR_ASTR) // ? → define TR_QUES S(TR_SLSH) // ?
* | Remove SERIAL_LINK feature (#14727)Joel Challis2021-10-0725-2203/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove SERIAL_LINK * more stale paths in doxygen-todo * Fix * More refs * Update testing docs * Update doxygen-todo Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* | Reuse of EEPROM debounce logic (#14699)Joel Challis2021-10-073-44/+46
| | | | | | | | | | | | | | | | | | * reuse rgb debounce logic * Refactor led matrix * Remove log line * timeout should not be hard coded
* | Purge uGFX. (#14720)Nick Brassel2021-10-0722-2115/+0
| | | | | | | | | | | | | | * Purge uGFX. * Remove remnants of visualizer. * Remove remnants of uGFX.
* | Remove sysex API (#14723)Ryan2021-10-066-353/+6
| |
* | Move Audio drivers from quantum to platform drivers folder (#14308)Drashna Jaelre2021-10-069-1412/+4
| | | | | | | | | | | | | | | | | | * Move Audio drivers from quantum to platform drivers folder * fix path for audio drivers Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-10-061-3/+3
|\|
| * [Bug] Fix command feature if mousekey is enabled and using 3-speed setting ↵Drashna Jaelre2021-10-051-3/+3
| | | | | | | | (#14697)
* | Add LM() keys to the list of keys disabled by NO_HAPTIC_MOD (#14181)Purdea Andrei2021-10-031-0/+1
| |
* | Change `MK66F18` -> `MK66FX1M0` (#14659)Ryan2021-09-301-1/+1
| |
* | Added power tracking api (#12691)Purdea Andrei2021-09-302-0/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add power tracking API to lufa and chibios targets * power.c: Pass through power state to the notify function * power: added notify_power_state_change_user too. * making it pass the PR linter * Add a POWER_STATE_NO_INIT state, that we start in before calling power_init(); * Rename *power* to *usb_power* * removing stray newline * Rename usb_power* to usb_device_state* * Update quantum/usb_device_state.h Co-authored-by: Drashna Jaelre <drashna@live.com> * Fix comment * usb_device_state.h: Don't include quantum.h, only the necessary headers. Co-authored-by: Drashna Jaelre <drashna@live.com>
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-09-291-10/+0
|\|
| * [Core] Fix "6kro enable" and clarify naming (#14563)Drashna Jaelre2021-09-291-10/+0
| | | | | | | | | | | | | | | | | | | | | | * Fix USB_6KRO_ENABLE compilation errors * Add info to docs * Rename define to be more accurate * Remove unused rule * Refixe docs