Commit Graph

17565 Commits

Author SHA1 Message Date
Joakim Tufvegren
0ae20e7457
Make solo half of split keyboards (more) usable. (#13523)
* Make solo half of split keyboards (more) usable.

Using only one half of a split keyboard (that's using the split_common
framework to communicate) is not a great experience, since several read
timeouts per scan cycle cause an unusably slow scan rate.

This change blocks all split communication attempts for 500 ms
(configurable) after an error occurs, causing the scan rate to become at
least _more_ usable, but might need some tweaking to work fully on most
keyboards. One read timeout still needs to occur after the 500 ms has
passed, and if that timeout isn't low enough, some scan cycles may still
be too slow.

* Fix lint complaint.

* Require 25 consecutive comm errors to see comms as disconnected.

The number of max errors can be overridden by defining
`SPLIT_MAX_CONNECTION_ERRORS`.

* Add comments to new defines, and ability to disable disconnection check.

Also increase `SPLIT_MAX_CONNECTION_ERRORS` to 40, since it's divisible
by most relevant numbers for the description.

* Make lint happy ...again

* Only update `connection_check_timer` when needed.

* Add new defines to split keyboard documentation.

* Move connection timeout logic to transport.c, add `is_transport_connected`.

* Use split_common disconnection logic in matrix.c.

Instead of doing more or less the same thing twice.

* Move disconnection logic to `transport_master`.

Is a cleaner implementation, and causes the scan rate while disconnected
to increase instead of decrease.

* Lint fixes.

* Lower default `SERIAL_USART_TIMEOUT` to 20 ms.

The read timeout must be low enough to not cause exessively long scan
cycles when using a solo split half. 10 ms was determined from testing
to work fine even with the slowest defined baudrate of 19200 (5 ms was
too low for that case), so 20 ms should be fine for most cases.

* Remove `SERIAL_USART_TIMEOUT` from ergodox_infinity/config.h

Was somewhat mistakenly included in an earlier PR.

* Fix building with `USE_I2C`.

* Reduce built firmware size.

Not really sure why this works, the idea was taken from tzarc's work on
split disconnection.

* Tweak and improve opt-out for split disconnection logic.

There are now two ways to opt out from this feature:
* Set `SPLIT_MAX_CONNECTION_ERRORS` to 0. This will completely disable
  the connection status checks (also affects the slave matrix reset logic in
  matrix.c, though).
* Set `SPLIT_CONNECTION_CHECK_TIMEOUT` to 0. This will only disable the
  communication throttling while disconnected. Will make the firmware
  smaller.

* Make split disconnection logic work with custom transports.

Includes a fallback implementation for keyboards using a custom
split_util.c but not a custom matrix.c (currently no such keyboard seems
to be merged, though).

* Remove unnecessary include of timer.h

Co-authored-by: Joel Challis <git@zvecr.com>

Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-22 10:51:17 +10:00
Drashna Jaelre
c5f41d42d8
Updated RGB Matrix suspend define part 3 (#13954)
* Updated RGB Matrix suspend define part 3

* Revert "Update config.h for kbdfans/kbd67/mkiirgb/v3 (#13978)"

This reverts commit 80015f7fb0.

* Add additional boards/keymaps
2021-08-22 09:46:35 +10:00
Drashna Jaelre
58a5030661
[Keymap] Drashna's Improve OLEDs and custom Split code (#14063)
* Fill the oleds with right mods

* Enable double mods on x32 oleds

* Disable forced NKRO

* Make oleds fancy only on good MCUs

* Overhaul oled display

* Further enhance oled, with kitty!

* Final oled form

* Not working transport

* Transport id of woring

* Add acceleration

* fix button placement for accel macro

* Fix accelartion location and behavior

* Remove OLED sync code

* Fix alignment issue

* Remove audio hack

* Fix up zima keymap

* Add matrix slave scan function and cleanup drashna.h

* Clean up user space

* Allow userspace sync to be disable-able

* Fix weird issue with audio

* Fix alignment issue with user split sync

* Disable second rgb matrix task

* Disable additional animations

* Change dynamic keymap settings

* Hacky fix for borked corne

* Add Blackpill (F411) support to tractyl manuform

* remove manual via eeprom reset

* Remove all references to rgblight twinkle

* Fix issues with config processing
2021-08-21 13:34:44 -07:00
Drashna Jaelre
da1c011afc
Improve pmw3360 sensor and make it more hardware agnostic (#14097) 2021-08-20 21:14:23 -07:00
QMK Bot
3452c89c8b Merge remote-tracking branch 'origin/master' into develop 2021-08-21 04:13:34 +00:00
Drashna Jaelre
c1cad5b751
[Keyboard] Fix naiping/npminila layout macro (#14098) 2021-08-21 14:13:02 +10:00
Drashna Jaelre
a80d789147
Fix issues with VIA EEPROM init and bring in line with eeconfig functionality (#13243)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-20 21:02:53 -07:00
Nick Brassel
afd3bcbf45
Fix up compilation issues. (#14095) 2021-08-21 13:38:38 +10:00
QMK Bot
ce379ef458 Merge remote-tracking branch 'origin/master' into develop 2021-08-20 22:32:01 +00:00
Spaceman
c71d67ba3f
[Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
Ryan
a7d48b063e
Fix LED Matrix suspend code (#14090) 2021-08-20 10:43:49 -07:00
QMK Bot
e8943a8b0c Merge remote-tracking branch 'origin/master' into develop 2021-08-20 17:33:25 +00:00
Weirdo
30bb807c13
[Keyboard] Add Naiping series keyboard (#14040)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-20 10:32:53 -07:00
Zach White
1ec6ce8c37 Merge remote-tracking branch 'origin/master' into develop
Resolved Conflicts:
	lib/python/qmk/info.py
2021-08-20 08:22:41 -07:00
Joel Challis
c1add5d0e2
Restore layout count validation (#14068) 2021-08-20 08:16:59 -07:00
Drashna Jaelre
92fa07336c
[Bug] Fix RGB/LED Matrix Suspend code (#14084) 2021-08-20 06:14:42 -07:00
QMK Bot
da11a49905 Merge remote-tracking branch 'origin/master' into develop 2021-08-20 13:14:35 +00:00
tiltowait
90ff4fe749
[Keyboard] Add IBM Model M SSK configuration (#14050)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-20 06:13:59 -07:00
Joel Challis
69c71d4843
Align DIP_SWITCH_PINS_RIGHT implementation with encoders (#14079) 2021-08-20 10:15:11 +01:00
Joel Challis
b229b0fba7
Fix issues with recent keymap.json changes (#14089)
* Fix issues with recent keymap.json changes

* Allow empty author string
2021-08-20 19:11:49 +10:00
QMK Bot
0741aae1d9 Merge remote-tracking branch 'origin/master' into develop 2021-08-20 04:36:09 +00:00
Drashna Jaelre
fd54992e1f
[Keyboard] Fix Feels65 Via keymap (#14086) 2021-08-19 21:35:29 -07:00
QMK Bot
8dfd33e3d1 Merge remote-tracking branch 'origin/master' into develop 2021-08-20 04:27:09 +00:00
Drashna Jaelre
37b5ead17d
[Keyboard] Fix space_space rev1 keyboard files (#14087) 2021-08-19 21:26:37 -07:00
QMK Bot
c6f24f66bd Merge remote-tracking branch 'origin/master' into develop 2021-08-20 04:22:05 +00:00
Drashna Jaelre
cc0ae9cc4c
Revert "[Keyboard] Dumbpad VIA support added (#13512)" 2021-08-19 21:21:00 -07:00
Simon Arlott
0a1bf7f6aa
Support using a timer for wait_us() on ChibiOS-based boards (#12211)
* Support using a timer for wait_us() on ChibiOS-based boards (#12198)

There are spare GPT timers that can be used to get a more accurate
wait_ms() time. This is required for the matrix scan unselect delay (30µs)
to be shorter than the system tick rate of 100µs.

This is limited to the maximum GPT duration of 65535 so values above that
will automatically use the previous implementation based on the system
tick.

Using a specific timer means it can't be shared by another thread at the
same time so when wait_us() is called from anything other than the main
thread it will use the system tick implementation too.

* Update tmk_core/common/chibios/wait.c

* Update tmk_core/common/chibios/wait.c

Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-20 00:31:23 +01:00
moyi4681
462e7f075a
move volcano660 to ilumkb folder (#13550)
* move volcano660 to ilumkb folder

* Update rules.mk

* Fix up readme

Co-authored-by: zvecr <git@zvecr.com>
2021-08-19 20:02:07 +01:00
QMK Bot
3413766649 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 18:59:06 +00:00
SneakboxKB
b724a0dfd5
[Keyboard] Ava initial commit (#13845)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: SneakboxKB <64090325+mujimanic@users.noreply.github.com>
2021-08-19 11:58:35 -07:00
Dasky
7f1c90b7a8
[Core] Speed up pimoroni trackball driver (#13823) 2021-08-19 11:58:17 -07:00
QMK Bot
e988f58374 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 18:45:19 +00:00
minibois
a12f3a3fb8
[Keyboard] Minor fixes for mini_elixivy/info.json (#14022)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-19 11:44:47 -07:00
James Young
4279b14adf
Merge remote-tracking branch 'upstream/master' into develop
Conflicts:
	keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk
	keyboards/space_space/rules.mk
2021-08-19 11:32:23 -07:00
GG
f4f679779e
[Keyboard] Add Mammoth20x (#14014) 2021-08-19 11:17:54 -07:00
Yaroslav Smirnov
c592128219
[Keyboard] Add Elrgo S to keyboards/handwired (#13893)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 11:15:30 -07:00
weteor
1bfbaae533
[Keyboard] add 3w6 (#13746) 2021-08-19 11:13:00 -07:00
kb-elmo
8200804e96
[Keyboard] Add Voice65 (#13744)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 11:12:34 -07:00
James Young
c039796d9d
keebzdotnet F-Me Configurator fixes and codebase touch-up (#14077)
* rename LAYOUT to LAYOUT_all

* add info.json

* override DYNAMIC_KEYMAP_LAYER_COUNT for via keymap

The via keymap only initialized two layers without overriding the default value of DYNAMIC_KEYMAP_LAYER_COUNT (4).

This commit sets DYNAMIC_KEYMAP_LAYER_COUNT for the via keymap to 2.
2021-08-19 18:47:10 +01:00
James Young
9aedf515c0
kb-elmo Noah AVR Community Layout support and Configurator fix (#14078)
* noah_avr.h: use QMK 3-character notation for matrix positions

* Community Layout support, Stage 1

- rename LAYOUT_ansi to LAYOUT_65_ansi_blocker
- rename LAYOUT_ansi_splitbs to LAYOUT_65_ansi_blocker_split_bs
- enable Community Layout support

* info.json: add line breaks between rows

* info.json: correct LAYOUT_iso data

- unsplit the Backspace
- change ANSI Enter to ISO Enter
- split the left Shift

* Community Layout support, Stage 2

- rename LAYOUT_iso to LAYOUT_65_iso_blocker
- update Community Layout support

* Community Layout support, Stage 3

- add LAYOUT_65_iso_blocker_split_bs
- update Community Layout support

* noah_avr.h: add matrix diagram
2021-08-19 18:46:22 +01:00
jonavin
98af5bc64e
[Keymap] Add jonavin user space / common functions (#13876)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Jonavin <=>
2021-08-19 10:45:49 -07:00
jfescobar18
425e1e665d
[Keyboard] Dumbpad VIA support added (#13512)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 10:39:30 -07:00
XScorpion2
9d1c98c891
Added right vs left specific pin assignments for dip switch (#13074)
* Added right vs left specific pin assignments for dip switch

* Update feature_dip_switch.md

* Ran formatting tools
2021-08-19 18:39:15 +01:00
Alan Pocklington
3b4c35da6b
[Keymap] Quark AJP10304 layout (#13290) 2021-08-19 10:36:20 -07:00
qpockets
c98e1694fb
[Keyboard] update space_space keyboard (#13305)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 10:17:01 -07:00
QMK Bot
af3673a5b6 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 17:14:07 +00:00
James Young
48a8682438
Linworks Whale75 Layout Macro refactor and Configurator fixes (#14059)
* info.json: human-friendly formatting

* info.json: remove "w":1 instances

* info.json: correct positions of Left, Down and Right Arrow keys

* info.json: add LAYOUT_all data

* move Home key to end of home row

According to photographs of the keyboard, the fourth key down on the right side is physically on the home row. This commit moves the key argument and keycodes to the home row.

* whale75.h: use QMK 3-character notation for matrix

* whale75.h: add matrix diagram

* add keyboard-level encoder functionality

* info.json: correct key sequence on ISO layouts
2021-08-19 10:13:31 -07:00
QMK Bot
a85126b79e Merge remote-tracking branch 'origin/master' into develop 2021-08-19 16:41:46 +00:00
BifbofII
c148476188
[Keymap] Add personal layout for 60% ISO boards (#13232) 2021-08-19 09:41:14 -07:00
Evelien-Lillian Dekkers
81e19d61c0
[Keyboard] Refactor atom47 and add rev4 and rev5 (#13201)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-19 09:40:28 -07:00