Commit Graph

485 Commits (09ddc9fb2f877ecd9828834366677505e5a80a1d)

Author SHA1 Message Date
QMK Bot 00b9ec088d Merge remote-tracking branch 'origin/master' into develop 2021-02-03 01:31:03 +00:00
Drashna Jaelre c0de49e393
Fix DEBUG_MATRIX_SCAN_RATE on chibiOS when console is enabled (#11776)
* Fix DEBUG_MATRIX_SCAN_RATE on chibiOS when console is enabled

* update type in dprintf

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-02-03 12:30:33 +11:00
Joshua Diamond 9a4618b05b
Address wake from sleep instability (#11450)
* resolve race condition between suspend and wake in LUFA

* avoid multiple calls to suspend_power_down() / suspend_wakeup_init()

* Remove duplicate suspend_power_down_kb() call

* pause on wakeup to wait for USB state to settle

* need the repeated suspend_power_down() (that's where the sleep is)

* more efficient implementation

* fine tune the pause after sending wakeup

* speculative chibios version of pause-after-wake

* make wakeup delay configurable, and adjust value

* better location for wakeup delay
2021-02-02 11:12:41 +11:00
Joshua Diamond ae4ee7553a
Stop sounds when suspended (#11553)
* fix stopping audio on suspend vs. startup sound

* trim firmware size

* fix stuck audio on startup (ARM)
2021-02-01 09:25:55 +11:00
Nick Brassel d65db68f9f Merge remote-tracking branch 'upstream/master' into develop 2021-01-28 10:52:59 +11:00
Drashna Jaelre 99f3df2893
Add support for 8 buttons to mouse report (#10807)
* Add support for 8 buttons to mouse report

This includes support for 8 buttons in mousekeys.  However, this does move the keys around due to the fact that the last mousekey keycode is already 0xFF, so any past that would not work with register_code and the like, breaking them for tap hold keys, encoders, and other features.

* Update mouse key docs

* Add changes based on feedback

* Fix VUSB report size comment

Because drashna red gud

* Fix typo in action.c

* Fix IS_MOUSE_BUTTON check

* Change start range for mousekeys so that the end is 0xFF properly

* condense mousekeys check
2021-01-28 04:38:34 +11:00
Takeshi ISHII c27f16158d
add get_matrix_scan_rate() to tmk_core/common/keyboard.c (#11489) 2021-01-28 04:34:50 +11:00
Ryan 30b46fad57
UART driver refactor (#11637) 2021-01-27 17:42:49 +11:00
Nick Brassel 1108210f1b
Keep track of encoder activity (#11595)
* Keep track of encoder activity, provide API for either matrix/encoder.

* Fixup build when no RGBLIGHT or Backlight enabled.
2021-01-21 22:24:07 +11:00
Nick Brassel 9e18f41fcf Merge remote-tracking branch 'upstream/master' into develop 2021-01-20 10:00:28 +11:00
Nick Brassel 49dcc824db
Fixup declaration for _kill, add other missing syscalls, populate errno. (#11608) 2021-01-19 14:23:03 +00:00
Nick Brassel 31c57aab35 `qmk cformat` 2021-01-17 10:19:56 -08:00
Nick Brassel e702c7f1b4
Keep track of last matrix activity. (#11552)
Co-authored-by: Dasky <daskygit@users.noreply.github.com>

Co-authored-by: Dasky <daskygit@users.noreply.github.com>
2021-01-18 05:01:38 +11:00
QMK Bot d6d15b91f3 Merge remote-tracking branch 'origin/master' into develop 2021-01-17 17:46:01 +00:00
Nick Brassel e524e0a397
Add syscall fallbacks to ChibiOS builds (#11573)
* Add fallback syscalls to ChibiOS builds that are present but able to be overridden as appropriate.

* Modified location to be ChibiOS-specific.
2021-01-18 04:45:21 +11:00
Nick Brassel ab375d3d07 Revert "Keep track of last matrix activity (#10730)"
This reverts commit 79d1db3324.
2021-01-15 06:55:07 +11:00
Takeshi ISHII 302b35c2a0
fix matrix_io_delay() timing in quantum/matrix.c (#9603)
* fix matrix_io_delay() timing in quantum/matrix.c

* Updated comments explaining the need for matrix_io_delay() in quantum/matrix.c

* fix matrix_io_delay() timing in quantum/split_common/matrix.c

* Update quantum/matrix.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/split_common/matrix.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/matrix.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update quantum/split_common/matrix.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* add waitOutputPinValid() and wait_cpuclock() into quantum/quantum.h and tmk_core/common/wait.h

* add matrix_output_select_delay() and matrix_output_unselect_delay()

* fix quantum/matrix_common.c, tmk_core/common/matrix.h

* fix tmk_core/common/wait.h

* fix quantum/quantum.h, tmk_core/common/wait.h

* waitOutputPinValid() rename to waitInputPinDelay() in quantum/quantum.h.

* waitOutputPinValid() rename to waitInputPinDelay() in quantum/matrix_common.c

* update tmk_core/common/wait.h

* update comment in quantum/matrix.c, quantum/split_common/matrix.c

* update quantum/quantum.h: Make more margin in the GPIO_INPUT_PIN_DELAY default value.

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-13 12:46:22 +11:00
Nick Brassel 79d1db3324
Keep track of last matrix activity (#10730)
* Allow recording of the last matrix activity time, to simplify implementation of display timeouts and the like.

* Add requested changes from code review.

* Simplify split matrix last changed.
2021-01-12 19:48:24 +11:00
QMK Bot 3bc436988d Merge remote-tracking branch 'origin/master' into develop 2021-01-11 08:47:07 +00:00
Ryan aa0e33eca0
Add support for shared EP on V-USB boards (#11103) 2021-01-11 19:46:30 +11:00
QMK Bot 6f9db2b48e Merge remote-tracking branch 'origin/master' into develop 2021-01-11 08:07:48 +00:00
Joshua Diamond 4d96b85b6f
Lighting Layers should be disabled when suspended (#11442)
* Lighting Layers should be disabled when suspended

* bugfixes
2021-01-11 00:07:09 -08:00
QMK Bot c8320726bd Merge remote-tracking branch 'origin/master' into develop 2021-01-10 22:16:06 +00:00
Joel Challis d58d7dd192
manually run formatting job (#11503) 2021-01-10 22:15:29 +00:00
Dasky e7db582e35
Set avr's bootloader_jump function to be weak (#11418)
Co-authored-by: Dasky <dasky@nowhere>
2021-01-04 21:53:37 -08:00
QMK Bot d0aa9ff972 Merge remote-tracking branch 'origin/master' into develop 2021-01-05 00:37:55 +00:00
Drashna Jaelre 810eafad12
Fix Tap-Hold Configs (#11127)
* Add proper prototypes for Tap-Hold Per Key functions

* Fix handwired/tennie default keymap

* Remove unneeded references

* Fix tapping term per key check in space cadet

* Pre-emptive fix for tap dance

* Fix marksard/leftover30

* Replace hard coded tapping term with define
2021-01-04 16:37:20 -08:00
QMK Bot 633d2cb648 Merge remote-tracking branch 'origin/master' into develop 2020-12-31 06:21:45 +00:00
Takeshi ISHII 6169b47e82
Add target 'check-md5' to `build_keyboard.mk` (#11338)
* Add target 'build-for-compare' to `build_keyboard.mk`

The `build-for-compare` target provides an easy way to check the md5 checksum of the generated binary.

You can easily see if there is any change in the generated binaries between the two versions, as in the example below.

```
$ git checkout 0.11.0
M	build_keyboard.mk
M	tmk_core/rules.mk
Note: checking out '0.11.0'.
HEAD is now at c66df1664 2020 November 28 Breaking Changes Update (#11053)

$ make helix:all:build-for-compare | grep ^MD5
MD5 (.build/helix_rev2_default.hex) = 5c3606562c944bb4d18832e601b45d4a
MD5 (.build/helix_rev2_edvorakjp.hex) = 9e43d13d389d518ba7e99cd7337e28d6
MD5 (.build/helix_rev2_five_rows.hex) = 8bcb61c2fd5d237c2997f2fa007d4934
MD5 (.build/helix_rev2_five_rows_jis.hex) = b97cd818d52f73ca2d4e78c86d90a791
MD5 (.build/helix_rev2_froggy.hex) = c492172364188f4e2918b10bf0f3a0a6
MD5 (.build/helix_rev2_froggy_106.hex) = b0861fd735a8f81881a8c02730641a2b
MD5 (.build/helix_rev2_led_test.hex) = 5c97d982a5da5cfb3dacb28a8934b81d
MD5 (.build/helix_rev2_xulkal.hex) = 01f603dc46bcf9094d7e106831d8f5b1
MD5 (.build/helix_rev2_yshrsmz.hex) = 5a008bca2d0c5790a151c02834c529ba

$ git checkout 0.11.1
M	build_keyboard.mk
M	tmk_core/rules.mk
Previous HEAD position was c66df1664 2020 November 28 Breaking Changes Update (#11053)
HEAD is now at cc08e3082 nix-shell: add milc dependency (#11086)

$ make helix:all:build-for-compare | grep ^MD5
MD5 (.build/helix_rev2_default.hex) = 5c3606562c944bb4d18832e601b45d4a
MD5 (.build/helix_rev2_edvorakjp.hex) = 9e43d13d389d518ba7e99cd7337e28d6
MD5 (.build/helix_rev2_five_rows.hex) = 8bcb61c2fd5d237c2997f2fa007d4934
MD5 (.build/helix_rev2_five_rows_jis.hex) = b97cd818d52f73ca2d4e78c86d90a791
MD5 (.build/helix_rev2_froggy.hex) = c492172364188f4e2918b10bf0f3a0a6
MD5 (.build/helix_rev2_froggy_106.hex) = b0861fd735a8f81881a8c02730641a2b
MD5 (.build/helix_rev2_led_test.hex) = 5c97d982a5da5cfb3dacb28a8934b81d
MD5 (.build/helix_rev2_xulkal.hex) = d848383adfd7463b138c6da179cf1436
MD5 (.build/helix_rev2_yshrsmz.hex) = 5a008bca2d0c5790a151c02834c529ba
```

* make builds reproducable by default

* update build_keyboard.mk: remove 'build-for-compare' target

* GNU make (3.81) on macOS 10.14(Mojave) does not have the 'undefine' directive.

* Adopted fauxpark's suggestion.

* Update tmk_core/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* update tmk_core/rules.mk

* fix tmk_core/rules.mk

Co-authored-by: Zach White <skullydazed@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-31 15:20:56 +09:00
QMK Bot f801c69c75 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 09:59:32 +00:00
Ryan 411b92e206
Remove useless wait in AVR suspend code (#11352) 2020-12-30 20:58:57 +11:00
QMK Bot 9634c72d7e Merge remote-tracking branch 'origin/master' into develop 2020-12-29 21:45:35 +00:00
xyzz 2573ed8c6b
Remove MATRIX_IS_ON macro (#11330)
* Remove MATRIX_IS_ON macro

this macro is both incorrect and excessive given that macro_is_on()
exists

* Remove massdrop matrix.h
2020-12-29 21:45:04 +00:00
QMK Bot 99d6349978 Merge remote-tracking branch 'origin/master' into develop 2020-12-27 17:37:04 +00:00
Ryan 1b7b72c0e9
Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
QMK Bot 0b37c0dfa0 Merge remote-tracking branch 'origin/master' into develop 2020-12-26 04:56:43 +00:00
Ryan 1d1d5da43f
Change include guards in tmk_core/ and drivers/ to pragma once (#11240) 2020-12-26 15:56:11 +11:00
Jan Christoph Ebersbach 010271d6ea
Implement kinetic mouse movement algorithm (#6739)
* Implement kinetic mouse movement algorithm

* Adjust mouse wheel speed

* Remove unused math.h include

* Wrap mouse_timer definition in ifdef

* Replace double space by single space

* Clarify documentation of kinetic mouse speed

Co-Authored-By: lf <software@lfcode.ca>

* Clarify documentation of kinetic mouse speed

Co-Authored-By: lf <software@lfcode.ca>

* Remove superfluous definition of speed

* fix(variable): remove unused variable

Co-authored-by: lf <software@lfcode.ca>
2020-12-24 14:12:19 -08:00
QMK Bot 2e0f2025bd Merge remote-tracking branch 'origin/master' into develop 2020-12-16 03:27:52 +00:00
Ryan 9366ed7282
Normalise include statements in keyboard code (#11185) 2020-12-16 14:27:23 +11:00
QMK Bot fdfcce57e1 Merge remote-tracking branch 'origin/master' into develop 2020-12-11 02:46:19 +00:00
Ryan 501f2fdef1
Normalise include statements in core code (#11153)
* Normalise include statements in core code

* Missed one
2020-12-11 13:45:24 +11:00
XScorpion2 a8d0ec0749
[Split] Sync Timer feature (#10997)
A timer that is kept in sync between the halves of a split keyboard
2020-12-01 10:04:42 -08:00
XScorpion2 485e4524f4
Fix int wrapping for timer_expired macros and use MAX defines for consistency and clarity (#10996) 2020-11-30 21:18:19 +11:00
James Young c66df16644
2020 November 28 Breaking Changes Update (#11053)
* Branch point for 2020 November 28 Breaking Change                                                

* Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183)                                           

* Add support for soft serial to ATmega32U2 (#10204)                                               

* Change MIDI velocity implementation to allow direct control of velocity value (#9940)            

* Add ability to build a subset of all keyboards based on platform.                                

* Actually use eeprom_driver_init().                                                               

* Make bootloader_jump weak for ChibiOS. (#10417)                                                  

* Joystick 16-bit support (#10439)                                                                 

* Per-encoder resolutions (#10259)                                                                 

* Share button state from mousekey to pointing_device (#10179)                                     

* Add hotfix for chibios keyboards not wake (#10088)                                               

* Add advanced/efficient RGB Matrix Indicators (#8564)                                             

* Naming change.                                                                                   

* Support for STM32 GPIOF,G,H,I,J,K (#10206)                                                       

* Add milc as a dependency and remove the installed milc (#10563)                                  

* ChibiOS upgrade: early init conversions (#10214)                                                 

* ChibiOS upgrade: configuration file migrator (#9952)                                             

* Haptic and solenoid cleanup (#9700)                                                              

* XD75 cleanup (#10524)                                                                            

* OLED display update interval support (#10388)                                                    

* Add definition based on currently-selected serial driver. (#10716)                               

* New feature: Retro Tapping per key (#10622)                                                      

* Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638)             

* Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530)

* Rescale both ChibiOS and AVR backlighting.                                                       

* Reduce Helix keyboard build variation (#8669)                                                    

* Minor change to behavior allowing display updates to continue between task ticks (#10750)        

* Some GPIO manipulations in matrix.c change to atomic. (#10491)                                   

* qmk cformat (#10767)                                                                             

* [Keyboard] Update the Speedo firmware for v3.0 (#10657)                                          

* Maartenwut/Maarten namechange to evyd13/Evy (#10274)                                             

* [quantum] combine repeated lines of code (#10837)                                                

* Add step sequencer feature (#9703)                                                               

* aeboards/ext65 refactor (#10820)                                                                 

* Refactor xelus/dawn60 for Rev2 later (#10584)                                                    

* add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824)                                 

* [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549)                                    

* update chibios os usb for the otg driver (#8893)                                                 

* Remove HD44780 References, Part 4 (#10735)                                                       

* [Keyboard] Add Valor FRL TKL (+refactor) (#10512)                                                

* Fix cursor position bug in oled_write_raw functions (#10800)                                     

* Fixup version.h writing when using SKIP_VERSION=yes (#10972)                                     

* Allow for certain code in the codebase assuming length of string. (#10974)                       

* Add AT90USB support for serial.c (#10706)                                                        

* Auto shift: support repeats and early registration (#9826)                                       

* Rename ledmatrix.h to match .c file (#7949)                                                      

* Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231)                                        

* Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840)                                        

* Merge point for 2020 Nov 28 Breaking Change
2020-11-28 12:02:18 -08:00
Drashna Jaelre e7497b3fba
Add references for is_keyboard_left() (#10850)
* Add references for is_keyboard_left()

* Remove proto from bootmagic_lite.c
2020-11-18 16:50:32 -08:00
Joel Challis 1ff5ee255f
Indicator LEDs as config (#10816)
* First pass

* Add config options to docs

* Update some wording

* Slight tidy up of backlight caps logic

* Init pin to correct state

* Move init location

* Reverse default state
2020-11-08 22:31:16 +00:00
Adrian 120c42255b
Added EEPROM emulation for STM32F042x6 series processors (#10685)
* Added STM32F042x6 support for EEPROM emulation

* Default to lower stack size on STM32F042

* Moved stack setting

* Re-moved stack definition

* Removed unnecessary check
2020-10-22 21:05:01 +11:00
QMK Bot a3db72df72 format code according to conventions [skip ci] 2020-08-29 22:57:48 +00:00
Ryan b89b2030af Kiibohd bootloader, take 2 (#10129) 2020-08-29 14:30:02 -07:00