Commit Graph

15849 Commits

Author SHA1 Message Date
Purdea Andrei
dbd65d01b6
Fix how USB queue overflow is handled in chibios. (#12576)
* Fix how USB queue overflow is handled in chibios.

This commit reverts PR 12472 (commit c823fe2d3f23ed090e36ce39beed4c448298bd2f),
and it implements the original intent of the commit in a better way.
The original intent of the above mentioned commit was to not deadlock the
keyboard when console is enabled, and hid_listen is not started.

The above mentioned commit had a few drawbacks:
1) When a lot of data was printed to the console, the queue would get full,
and drop data, even if hid_listen was running. (For example having matrix debug
enabled just didn't work right at all)
2) I believe the function in which this was implemented is used by all other
USB endpoints, so with the above change, overflow, and data loss could
happen in other important functions of QMK as well.

This commit implements deadlock prevention in a slightly similar way to how
it's done on AVR. There is an additional static local variable, that memorizes
whether the console has timeouted before. If we are in the timeouted=false
state, then we send the character normally with a 5ms timeout. If it does
time out, then hid_listen is likely not running, and future characters should
not be sent with a timeout, but those characters should still be sent if there
is space in the queue. The difference between the AVR implementation and this
one is that the AVR implementation checks the queue state directly, but this
implementation instead attempts to write the character with a zero timeout.
If it fails, then we remain in the timeouted=true state, if it succeeds, then
hid_listen started removing data from the queue, so we can go out of the
timeouted=true state.

* Added comment explaining the timeouted logic to console flow control.

* Console flow control: refactor chibios flowcontrol code to make it more readable, and rename the timeouted variable to timed_out on both chibios and lufa. Changed comments to says timed_out is an approximation of listener_disconnected, to make it clear that it's not the same thing

* fix typo
2021-04-25 13:11:41 +10:00
QMK Bot
19b3aa3a12 Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:48:16 +00:00
Albert Y
c7ca67a036
Add RGB matrix suspend wake function for Planck/rev6 (#12290)
* Add RGB matrix suspend wake function for Planck/rev6

* Update suggested definition to allow user override.

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: filterpaper <filterpaper@localhost>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-04-25 11:47:43 +10:00
QMK Bot
7718b1598e Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:16:24 +00:00
Nick Brassel
b88498ba85
Fix CLI incorrectly following DEFAULT_FOLDER (#12529)
* Attempt to sort out incorrectly following DEFAULT_FOLDER.

* Fix CI checks.

* qmk pyformat
2021-04-25 11:15:54 +10:00
Sergey Vlasov
65c9752762
Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx (#12403)
* Fix default ADC_RESOLUTION for ADCv3 (and ADCv4)

Recent ChibiOS update removed ADC_CFGR1_RES_10BIT from the ADCv3 headers
(that macro should not have been there, because ADCv3 has CFGR instead of
CFGR1).  Fix the default value for ADC_RESOLUTION to use ADC_CFGR_RES_10BITS
if it is defined (that name is used for ADCv3 and ADCv4).

* Update ADC docs to match the actually used resolution

ADC driver for ChibiOS actually uses the 10-bit resolution by default
(probably to match AVR); fix the documentation accordingly.  Also add
both ADC_CFGR_RES_10BITS and ADC_CFGR1_RES_10BIT constants (these names
differ according to the ADC implementation in the particular MCU).

* Fix pinToMux() for B12 and B13 on STM32F3xx

Testing on STM32F303CCT6 revealed that the ADC mux values for B12 and
B13 pins were wrong.

* Add support for all possible analog pins on STM32F1xx

Added ADC mux values for pins A0...A7, B0, B1, C0...C5 on STM32F1xx
(they are the same at least for STM32F103x8 and larger F103 devices, and
also F102, F105, F107 families).  Actually tested on STM32F103C8T6
(therefore pins C0...C5 were not tested).

Pins F6...F10, which are present on STM32F103x[C-G] in 144-pin packages,
cannot be supported at the moment, because those pins are connected only
to ADC3, but the ChibiOS ADC driver for STM32F1xx supports only ADC1.

* Add support for all possible analog pins on STM32F4xx

Added ADC mux values for pins A0...A7, B0, B1, C0...C5 and optionally
F3...F10 (if STM32_ADC_USE_ADC3 is enabled).  These mux values are
apparently the same for all F4xx devices, except some smaller devices may
not have ADC3.

Actually tested on STM32F401CCU6, STM32F401CEU6, STM32F411CEU6 (using
various WeAct “Blackpill” boards); only pins A0...A7, B0, B1 were tested.

Pins F3...F10 are inside `#if STM32_ADC_USE_ADC3` because some devices
which don't have ADC3 also don't have the GPIOF port, therefore the code
which refers to Fx pins does not compile.

* Fix STM32F3xx ADC mux table in documentation

The ADC driver documentation had some errors in the mux table for STM32F3xx.
Fix this table to match the datasheet and the actual code (mux settings for
B12 and B13 were also tested on a real STM32F303CCT6 chip).

* Add STM32F1xx ADC pins to the documentation

* Add STM32F4xx ADC pins to the documentation
2021-04-25 11:15:37 +10:00
QMK Bot
f12aea5dfb Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:14:55 +00:00
Leon Anavi
0c50a9eae9
[Keymap] Add Git keymap for ANAVI Macro Pad 8 (#12436)
Git keymap for ANAVI Macro Pad 8 with the following shortcuts.
On the first row from left to right:

- git status
- git log
- git pull
- git push

On the second row from left to right:

- git diff
- git add
- git commit
- FN key to switch to the 2nd layout and control lights

Reduce the number of supported RGB animations and effects in
config.h to shrink the firmware size and fit it on the device.

Signed-off-by: Leon Anavi <leon@anavi.org>
2021-04-25 11:14:28 +10:00
QMK Bot
7845cf1fac Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:05:05 +00:00
gkeyboard
35944df7b0
Add lm60n keyboard (#12408)
Add lm60n keyboard
2021-04-25 11:04:38 +10:00
QMK Bot
33a5468a60 Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:02:27 +00:00
Matthew Dias
2a45d99059
Add m3n3van rev2 (#12405)
* Add m3n3van rev2

* Add via support
2021-04-25 11:02:00 +10:00
QMK Bot
34b63cecb1 Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:01:19 +00:00
Christian Fehmer
06f8cb1b8a
Add VIA support for Filco Majestouch 2 /w The Tiger Lily (#12401) 2021-04-25 11:00:56 +10:00
QMK Bot
7748a093cb Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:00:39 +00:00
Pavlos Vinieratos
b2b075c123
not accessible and not needed anyway for a test keymap (#12366) 2021-04-25 11:00:12 +10:00
github-actions[bot]
d8f113bf98
Format code according to conventions (#12680)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-04-25 10:34:38 +10:00
Daniel Rodríguez Rivero
26b9b3aa23
feat: infinite timeout for leader key (#6580)
* feat: implement leader_no_timeout logic

* docs(leader_key): infinite leader timeout docs
2021-04-25 10:22:47 +10:00
QMK Bot
8f5cc8d762 Merge remote-tracking branch 'origin/master' into develop 2021-04-22 21:16:12 +00:00
SonOfAres
54dc6b7bf2
adding keyboard (#12414)
* adding keyboard

* Update keyboards/iriskeyboards/readme.md - picture size

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

* Delete iriskeyboards.json, it belongs in VIA repo

* Update info.json

* Update readme.md

* Update keyboards/iriskeyboards/keymaps/default/keymap.c

Removing unnecessary layers

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-04-22 17:15:28 -04:00
QMK Bot
6be87836dc Merge remote-tracking branch 'origin/master' into develop 2021-04-22 17:14:44 +00:00
George Wietor
ffa1507c2c
VIA support for Planck Rev6 (#9144)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: George Wietor <george@LIGHT-GRAY.local>
Co-authored-by: Jack Humbert <jack.humb@gmail.com>
2021-04-22 10:13:44 -07:00
QMK Bot
417803d7ae Merge remote-tracking branch 'origin/master' into develop 2021-04-22 14:58:49 +00:00
rainkeebs
4f2afaa6fb
Delilah keyboard added (#12638)
* Delilah keyboard added

* Apply suggestions from code review

Co-authored-by: Drashna Jaelre <drashna@live.com>

* removed unnecessary lines as per review

* removed unnecessary lines as per review

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-04-22 10:58:09 -04:00
github-actions[bot]
15ff1927db
[CI] Format code according to conventions (#12650)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-04-22 19:26:17 +10:00
Ryan
d6ab908272
LED Matrix: Split (#12633) 2021-04-22 19:21:13 +10:00
QMK Bot
5d458c6c8a Merge remote-tracking branch 'origin/master' into develop 2021-04-21 23:51:07 +00:00
MechMaster48
0b6d8150e4
Personal keymap for dztech DZ60RGB plus README.md (#12485)
* Personal keymap and README to go along with it.

* Noticed typo in README and removed name from comment in keymap

* Added GPL copyright notice
2021-04-21 19:50:26 -04:00
QMK Bot
fbc5a6c24b Merge remote-tracking branch 'origin/master' into develop 2021-04-20 19:02:29 +00:00
Joshua Coffey
054adbaf1e
Update for the dodger keymap for the Planck (#12456) 2021-04-20 21:01:54 +02:00
QMK Bot
15872bde61 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 18:13:34 +00:00
Drashna Jaelre
6b5e349d7e
Add additional info to PR Checklist (#12630)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-04-20 20:12:57 +02:00
QMK Bot
b09d068bf6 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:52:32 +00:00
Joel Challis
1cecd593c8
Fix for gcc10 teensy_lc eeprom build warning (#12587) 2021-04-20 10:51:55 -07:00
QMK Bot
f7f8f97e6a Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:50:40 +00:00
Brandon Claveria
2bccb7132d
[Keyboard] Siris (#12415)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Swiftrax <swiftrax@gmail.com>
2021-04-20 10:50:06 -07:00
QMK Bot
2927af43e1 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:48:10 +00:00
mechlovin
0d5458a7ad
[Keyboard] add adelais rev4 (#12443) 2021-04-20 10:47:58 -07:00
Felix Jen
cce9ddff80
[Keyboard] Added BKS65 Solder PCB (#12451)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-04-20 10:47:31 -07:00
QMK Bot
7795e167ab Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:46:58 +00:00
Christiano Haesbaert
d330203486
[Keyboard] Add amigopunk, a handwired 75% ALPS (#12489)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-04-20 10:46:19 -07:00
QMK Bot
b68ed9ebea Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:25:10 +00:00
kb-elmo
45a557641d
[Keyboard] Matrix 1.2og AVR PCB - VIA support (#12534) 2021-04-20 10:24:36 -07:00
QMK Bot
ed59337239 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:23:34 +00:00
QMK Bot
120b15458c Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:23:01 +00:00
Mikkel Jeppesen
271c7d4923
[Keyboard] Added support for the older no_led revision (#12563) 2021-04-20 10:23:00 -07:00
duoshock
54bad99e0e
[Keyboard] Update ISO Macro vendor ID to meet VIA requirement (#12564)
Co-authored-by: online <33636898+online@users.noreply.github.com>
2021-04-20 10:22:29 -07:00
QMK Bot
19887f2d35 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:22:13 +00:00
kb-elmo
9a3ba6874c
[Keyboard] fix bella debounce (#12568) 2021-04-20 10:21:59 -07:00
yynmt
5f670fbdc4
[Keyboard] Add Acperience12 macropad (#12573)
Co-authored-by: yynmt <yynmt@yynmt.com>
2021-04-20 10:21:39 -07:00