Commit Graph

1662 Commits

Author SHA1 Message Date
Drashna Jaelre
160b0558f5
Require explicit enabling of RGB Matrix modes (#15018) 2021-11-15 10:41:04 -08:00
vectorstorm
c9fd698711
Reimplements WPM feature to be smaller & precise (#13902)
* 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>
2021-11-16 05:40:52 +11:00
Nick Brassel
36d123e9c5
Add support for deferred executors. (#14859)
* 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>
2021-11-15 18:21:09 +00:00
Drashna Jaelre
b3ee124da6
Add needed include to pointing_device.c (#15167) 2021-11-16 04:09:31 +11:00
Drashna Jaelre
56e3f06a26
Rework and expand Pointing Device support (#14343)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2021-11-14 22:03:24 -08:00
Drashna Jael're
7e86c37962
Merge remote-tracking branch 'origin/master' into develop 2021-11-13 09:32:14 -08:00
Markus Fritsche
8323177472
add wait to unicode for win (#15061)
Co-authored-by: Markus Fritsche <fritsche.markus@gmail.com>
2021-11-12 15:00:36 -08:00
Ryan
f529580860
Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
Joel Challis
2d0ed4367b
Remove deprecated KEYMAP alias (#15037)
* Remove deprecated KEYMAP alias

* Remove some KEYMAP references

* Remove some KEYMAP references
2021-11-03 12:18:11 +11:00
Joel Challis
634e42b2b4
Revert to old init order for host driver (#15029)
* Partially revert 14888
2021-11-02 18:53:46 +00:00
Nick Brassel
699e69bec5
Fixup LED matrix. (#15020) 2021-11-02 10:05:42 +00:00
Purdea Andrei
76fb54403c
haptic: Feature to disable it when usb port is not configured or suspended. (#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.
2021-11-02 16:54:29 +11:00
Albert Y
2173b5373c
Add Pixel Rain RGB Matrix effect (#14155)
* 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>
2021-11-02 10:40:25 +11:00
lalalademaxiya1
f4ea262c17
Add a new led driver for Keychron's keyboards. (#14872)
* 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>
2021-11-02 09:43:53 +11:00
Woody
f775da96b1
define to AUTO_SHIFT_DISABLED_AT_STARTUP (#14201)
Co-authored-by: agodinhost <agodinhost@globo.com>
2021-11-02 09:11:55 +11:00
Vlad K
a29ca1e7f1
Add support for ISSI drivers on both sides of a split keyboard (#13842)
* 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>
2021-11-02 09:04:37 +11:00
Joel Challis
92385e30cd
Manually format develop (#15003) 2021-11-01 19:18:33 +00:00
Albert Y
4bf7ce2298
Add Fractal RGB matrix effects (#12670)
* 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>
2021-11-02 04:30:07 +11:00
Drashna Jaelre
2980c63d3d
Fix issues with Oneshot disabling (#14934) 2021-11-01 09:41:24 -07:00
Joel Challis
0f92614240
Fix develop after recent changes (#14975)
* Fix sleep led issues

* Fix tests
2021-10-28 23:43:57 +01:00
Joel Challis
dcfffa7b67
Relocate protocol files within tmk_core/common/ (#14972)
* Relocate non platform files within tmk_core/common/

* clang
2021-10-28 22:31:59 +01:00
Joel Challis
780e763c13
Remove SERIAL_MOUSE (#14969) 2021-10-28 02:43:51 +01:00
Joel Challis
b780c797be
Migrate makefile utilities to sub-directory (#14917) 2021-10-28 01:07:53 +01:00
Chad Austin
ee23aae87f
Optimize matrix scanning by removing variable shifts (#14947) 2021-10-26 20:01:57 -07:00
QMK Bot
462323418e Merge remote-tracking branch 'origin/master' into develop 2021-10-26 23:11:25 +00:00
MasterSpoon
015c4cf5be
Update mcu_selection.mk with current ChibiOS path (#14909) 2021-10-26 16:10:48 -07:00
Joel Challis
2ec268bd21
Begin to carve out platform/protocol API - Migrate keyboard_* calls (#14888) 2021-10-24 20:39:41 +01:00
QMK Bot
1fb2a0c74e Merge remote-tracking branch 'origin/master' into develop 2021-10-20 03:51:11 +00:00
Drashna Jaelre
0fd45d5984
Fix type of Tap Dance max index variable (#14887) 2021-10-19 20:50:44 -07:00
QMK Bot
034e78c083 Merge remote-tracking branch 'origin/master' into develop 2021-10-20 01:48:39 +00:00
Sergey Vlasov
c9562ebfde
Make the MAGIC_TOGGLE_GUI keycode work (#14886) 2021-10-19 18:48:01 -07:00
Stefan Kerkmann
e50867d52d
[Core] Add support for RISC-V builds and GD32VF103 MCU (#12508)
* 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
2021-10-18 16:23:20 +11:00
Joel Challis
83e978da1f
Further tidy up of STM32 eeprom emulation (#14591) 2021-10-16 02:58:48 +01:00
Ryan
61cc9e8042
Fix misplaced endif in led_matrix_drivers.c (#14785) 2021-10-10 21:32:29 -07:00
Ryan
b487e10753
Clean up LED/RGB Matrix driver config (#14760) 2021-10-10 16:57:49 -07:00
Joel Challis
dace4d5f0d
Remove QWIIC_DRIVERS (#14174) 2021-10-09 14:48:27 +01:00
Joel Challis
00fd404433
Put back eeconfig_update_ functions (#14751) 2021-10-08 13:44:07 +01:00
Joel Challis
e0d688d4c8
Move converter specific tmk_core protocols (#14743) 2021-10-07 23:14:26 +01:00
precondition
0d72438ad6
Correct the Turkish F '?' keycode (TR_QUES) (#14740)
define TR_QUES S(TR_ASTR) // ? → define TR_QUES S(TR_SLSH) // ?
2021-10-07 15:01:50 +01:00
Joel Challis
1c0347b8b8
Remove SERIAL_LINK feature (#14727)
* 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>
2021-10-07 12:32:05 +11:00
Joel Challis
60297a1099
Reuse of EEPROM debounce logic (#14699)
* reuse rgb debounce logic

* Refactor led matrix

* Remove log line

* timeout should not be hard coded
2021-10-07 01:47:14 +01:00
Nick Brassel
b2a186cf92
Purge uGFX. (#14720)
* Purge uGFX.

* Remove remnants of visualizer.

* Remove remnants of uGFX.
2021-10-07 10:57:48 +11:00
Ryan
d8f0c8783a
Remove sysex API (#14723) 2021-10-06 19:34:46 +11:00
Drashna Jaelre
ba8f1454f4
Move Audio drivers from quantum to platform drivers folder (#14308)
* 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>
2021-10-06 12:01:45 +11:00
QMK Bot
9f0e74802a Merge remote-tracking branch 'origin/master' into develop 2021-10-06 00:50:53 +00:00
Drashna Jaelre
3b8c4979dc
[Bug] Fix command feature if mousekey is enabled and using 3-speed setting (#14697) 2021-10-05 17:50:23 -07:00
Purdea Andrei
eb5b24f97c
Add LM() keys to the list of keys disabled by NO_HAPTIC_MOD (#14181) 2021-10-03 12:02:05 -07:00
Ryan
1a9e7b95ab
Change MK66F18 -> MK66FX1M0 (#14659) 2021-09-30 23:14:37 +01:00
Purdea Andrei
b02a539625
Added power tracking api (#12691)
* 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>
2021-09-30 06:31:39 +10:00
QMK Bot
be3d7063a0 Merge remote-tracking branch 'origin/master' into develop 2021-09-29 18:37:46 +00:00