Commit Graph

669 Commits

Author SHA1 Message Date
Stefan Kerkmann
d717396708
[Core] Add Raspberry Pi RP2040 support (#14877)
* Disable RESET keycode because of naming conflicts

* Add Pico SDK as submodule

* Add RP2040 build support to QMK

* Adjust USB endpoint structs for RP2040

* Add RP2040 bootloader and double-tap reset routine

* Add generic and pro micro RP2040 boards

* Add RP2040 onekey keyboard

* Add WS2812 PIO DMA enabled driver and documentation

Supports regular and open-drain output configuration. RP2040 GPIOs are
sadly not 5V tolerant, so this is a bit use-less or needs extra hardware
or you take the risk to fry your hardware.

* Adjust SIO Driver for RP2040

* Adjust I2C Driver for RP2040

* Adjust SPI Driver for RP2040

* Add PIO serial driver and documentation

* Add general RP2040 documentation

* Apply suggestions from code review

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

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-06-30 13:19:27 +02:00
QMK Bot
b625a9c10d Merge remote-tracking branch 'origin/develop' into xap 2022-06-29 23:35:13 +00:00
QMK Bot
fb05b491e7 Merge remote-tracking branch 'origin/master' into develop 2022-06-29 23:34:39 +00:00
Joel Challis
7326a0051b
Allow module check to error out when piped to /dev/null (#17505) 2022-06-30 00:33:59 +01:00
zvecr
2592402627 Use keymap folder hash to reset dynamic keymap eeprom 2022-06-27 21:44:26 +01:00
QMK Bot
2273c5b4e0 Merge remote-tracking branch 'origin/develop' into xap 2022-06-26 22:59:33 +00:00
QMK Bot
33b62b6867 Merge remote-tracking branch 'origin/master' into develop 2022-06-26 22:59:06 +00:00
Joel Challis
fa3dd373b4
Fix error message in generated code (#17484) 2022-06-27 08:58:31 +10:00
QMK Bot
129e9c3952 Merge remote-tracking branch 'origin/develop' into xap 2022-06-26 21:18:55 +00:00
Nick Brassel
01ecf332ff
Generic wear-leveling algorithm (#16996)
* Initial import of wear-leveling algorithm.

* Alignment.

* Docs tweaks.

* Lock/unlock.

* Update quantum/wear_leveling/wear_leveling_internal.h

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>

* More tests, fix issue with consolidation when unlocked.

* More tests.

* Review comments.

* Add plumbing for FNV1a.

* Another test checking that checksum mismatch clears the cache.

* Check that the write log still gets played back.

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-06-27 07:18:21 +10:00
QMK Bot
5835b478f1 Merge remote-tracking branch 'origin/develop' into xap 2022-06-25 19:42:02 +00:00
QMK Bot
99614bd89a Merge remote-tracking branch 'origin/master' into develop 2022-06-25 19:41:30 +00:00
precondition
e13bb58c40
Only omit paths containing "/keymaps/" (#17468)
This allows keyboard names to contain the word "keymaps"
2022-06-25 20:40:49 +01:00
zvecr
c22fedb5b2 Refactor xap client 2022-06-22 23:01:52 +01:00
QMK Bot
cda2901457 Merge remote-tracking branch 'origin/develop' into xap 2022-06-21 03:15:37 +00:00
Joel Challis
1a400d8644
Allow encoder config from info.json (#17295) 2022-06-20 20:15:06 -07:00
zvecr
dab3a4fde0 Refactor based on recent discussion - Add back 'Layer Count' 2022-06-19 23:26:37 +01:00
zvecr
956bd3b7ca Refactor based on recent discussion 2022-06-19 22:04:36 +01:00
QMK Bot
f9f7add22c Merge remote-tracking branch 'origin/develop' into xap 2022-06-18 05:31:27 +00:00
Joel Challis
17ec1650fd
Additional schema fixes (#17414) 2022-06-18 15:30:46 +10:00
QMK Bot
3ed6f56cc2 Merge remote-tracking branch 'origin/develop' into xap 2022-06-16 22:04:28 +00:00
Nick Brassel
999b91fbd9
SPI Bugfix for ChibiOS 21.11.1 -- also rollback AW20216 mode change issue. (#17371) 2022-06-17 08:03:38 +10:00
QMK Bot
c5498e34d2 Merge remote-tracking branch 'origin/develop' into xap 2022-06-16 18:21:11 +00:00
precondition
0b1bed1d41
Use --exclude-from=.gitignore in place of --exclude-standard (#17399) 2022-06-16 11:20:12 -07:00
QMK Bot
f6922d826c Merge remote-tracking branch 'origin/develop' into xap 2022-06-16 11:03:28 +00:00
Ryan
ef80a1dd67
Update V-USB submodule (#17385) 2022-06-16 21:02:40 +10:00
QMK Bot
e8ed843f44 Merge remote-tracking branch 'origin/develop' into xap 2022-06-15 21:45:09 +00:00
QMK Bot
589bdedc47 Merge remote-tracking branch 'origin/master' into develop 2022-06-15 21:44:32 +00:00
Joel Challis
d3dfa83b40
Fix clean arg handling (#17392) 2022-06-15 22:43:54 +01:00
QMK Bot
491949c303 Merge remote-tracking branch 'origin/develop' into xap 2022-06-14 13:56:11 +00:00
QMK Bot
4cde5c243b Merge remote-tracking branch 'origin/master' into develop 2022-06-14 13:55:32 +00:00
Joel Challis
f37de9a212
Perform stricter lint checks (#17348) 2022-06-14 14:54:46 +01:00
QMK Bot
811dccc7be Merge remote-tracking branch 'origin/develop' into xap 2022-06-12 23:17:53 +00:00
Ryan
0d64038b73
Update LUFA submodule (#17368) 2022-06-13 09:17:24 +10:00
QMK Bot
43ce7ab31f Merge remote-tracking branch 'origin/develop' into xap 2022-06-11 18:10:53 +00:00
Ryan
af6435d44d
qmk doctor: show arch for macOS (#17356) 2022-06-11 19:10:09 +01:00
QMK Bot
452c0ba4fb Merge remote-tracking branch 'origin/develop' into xap 2022-06-10 10:45:56 +00:00
QMK Bot
6b838785b7 Merge remote-tracking branch 'origin/master' into develop 2022-06-10 10:45:24 +00:00
Joel Challis
92665aef33
Promote 'layouts require matrix data' to api error (#17349) 2022-06-10 11:44:48 +01:00
Joel Challis
7baf9b3f35
Promote label with newlines to lint error (#17347) 2022-06-10 11:44:23 +01:00
QMK Bot
ce55c73fac Merge remote-tracking branch 'origin/develop' into xap 2022-06-09 20:03:40 +00:00
QMK Bot
474b4083ae Merge remote-tracking branch 'origin/master' into develop 2022-06-09 20:02:58 +00:00
Joel Challis
a599550adb
Add support for linting deprecated and removed functionality (#17063)
* Add support for more lint warnings/errors

* Develop currently needs extra deps installed

* Lint a few more scenarios

* fix tests
2022-06-09 21:02:16 +01:00
zvecr
ff96f67e92 format 2022-06-02 20:17:15 +01:00
zvecr
d923483769 Bodge for breakpoint branch name 2022-05-31 18:43:21 +01:00
QMK Bot
03ca0cc8c9 Merge remote-tracking branch 'origin/develop' into xap 2022-05-30 22:44:39 +00:00
QMK Bot
67e80780bb Merge remote-tracking branch 'origin/master' into develop 2022-05-30 22:44:05 +00:00
Joel Challis
2879573688
Fix various lint errors (#17255)
* Fix various lint errors

* reduce complexity
2022-05-30 23:43:36 +01:00
Nick Brassel
33d779cc16 Merge remote-tracking branch 'upstream/develop' into xap 2022-05-31 08:08:22 +10:00
Dasky
2de70e6f2d
Add uf2-split-* make targets. (#17257) 2022-05-31 08:04:50 +10:00
zvecr
f44a988476 Initial validation of xap.hjson 2022-05-23 20:02:29 +01:00
QMK Bot
3a1b0cdd2f Merge remote-tracking branch 'origin/develop' into xap 2022-05-23 05:57:59 +00:00
Joy Lee
1c7e8b9a9d
Added support for Wb32fq95 (#16871) 2022-05-23 15:57:24 +10:00
zvecr
f2d56f5ca1 Align filenames 2022-05-23 02:14:42 +01:00
zvecr
b1632946c9 stub out keyboard/keymap level xap specs 2022-05-23 00:12:36 +01:00
zvecr
17dbcedc8b bind xap_broadcast_secure_status to secure_hook_quantum 2022-05-22 22:47:50 +01:00
zvecr
a9468f385e stub out route and broadcast_message docs 2022-05-22 16:01:37 +01:00
Nick Brassel
484ec12397 Merge remote-tracking branch 'upstream/develop' into xap 2022-05-16 09:51:49 +10:00
Joel Challis
608fa5154c
Data driven g_led_config (#16728) 2022-05-16 07:39:29 +10:00
zvecr
a8cbda7b8a lower threshold 2022-05-11 03:25:53 +01:00
zvecr
cb7d103ba8 wider keys? 2022-05-11 01:53:47 +01:00
zvecr
68208278e0 Render layers with 'qmk info' logic 2022-05-11 01:53:47 +01:00
zvecr
f9f0d84eb0 Cache xap specs 2022-05-10 03:49:01 +01:00
zvecr
5028d6672a Use keycodes for xap version 2022-05-10 02:29:30 +01:00
zvecr
41a5dcbfa7 Add more DD basic keycodes 2022-05-10 01:38:14 +01:00
zvecr
ea92d5ed7d Block out basic keycodes 2022-05-09 23:51:58 +01:00
zvecr
7e819d7945 specs as json? 2022-05-06 23:33:51 +01:00
zvecr
58642ff40c Publish resolved XAP specs? 2022-05-06 23:11:16 +01:00
zvecr
94ec23ea77 Remove requirement to quote action args 2022-05-05 22:35:04 +01:00
zvecr
cc851142fa Add cli interactive shell 2022-05-05 22:16:38 +01:00
zvecr
c01e8ed75d stash 2022-05-05 12:18:57 +01:00
QMK Bot
f54dcc7962 Merge remote-tracking branch 'origin/develop' into xap 2022-05-03 19:49:15 +00:00
Nick Brassel
be9fa68785
Also format *.hpp files. (#16997) 2022-05-04 05:48:41 +10:00
QMK Bot
5900caa877 Merge remote-tracking branch 'origin/develop' into xap 2022-04-22 08:14:05 +00:00
Nick Brassel
a727bd6463
Update ChibiOS-Contrib (#16915) 2022-04-22 09:14:00 +01:00
zvecr
4d895892e5 Stubs for ENCODER_MAP 2022-04-20 22:38:06 +01:00
Nick Brassel
d17aed8e82 Verify struct sizing at build time. 2022-04-19 12:33:56 +10:00
zvecr
3730ddacac Fix ARM builds due to packing inconsistencies 2022-04-19 02:07:05 +01:00
zvecr
1d96fc866d Add route for hardware_id 2022-04-19 02:07:05 +01:00
zvecr
3c20f00238 Merge remote-tracking branch 'origin/develop' into xap 2022-04-16 23:49:41 +01:00
Joel Challis
92a61aa0cd
Implement XAP 'secure' core requirements (#16843)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-04-16 11:13:05 -07:00
Nick Brassel
85331d56ec Merge remote-tracking branch 'upstream/develop' into xap 2022-04-13 20:11:53 +10:00
Nick Brassel
1f2b1dedcc
Quantum Painter (#10174)
* Install dependencies before executing unit tests.

* Split out UTF-8 decoder.

* Fixup python formatting rules.

* Add documentation for QGF/QFF and the RLE format used.

* Add CLI commands for converting images and fonts.

* Add stub rules.mk for QP.

* Add stream type.

* Add base driver and comms interfaces.

* Add support for SPI, SPI+D/C comms drivers.

* Include <qp.h> when enabled.

* Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789.

* Add support for GC9A01.

* Add support for ILI9341.

* Add support for ILI9163.

* Add support for SSD1351.

* Implement qp_setpixel, including pixdata buffer management.

* Implement qp_line.

* Implement qp_rect.

* Implement qp_circle.

* Implement qp_ellipse.

* Implement palette interpolation.

* Allow for streams to work with either flash or RAM.

* Image loading.

* Font loading.

* QGF palette loading.

* Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images.

* Image drawing.

* Animations.

* Font rendering.

* Check against 256 colours, dump out the loaded palette if debugging enabled.

* Fix build.

* AVR is not the intended audience.

* `qmk format-c`

* Generation fix.

* First batch of docs.

* More docs and examples.

* Review comments.

* Public API documentation.
2022-04-13 18:00:18 +10:00
zvecr
d19285019d All other subsystems are disabled during unlock 2022-04-12 01:37:31 +01:00
zvecr
ffb0575eb8 stub out secure data driven config 2022-04-11 01:59:48 +01:00
zvecr
3e4de1ebd0 format 2022-04-11 00:53:31 +01:00
zvecr
89fab427c4 stub out secure as its own feature 2022-04-11 00:43:18 +01:00
Drashna Jael're
9ac3445454
Merge remote-tracking branch 'origin/develop' into xap 2022-04-08 20:34:54 -07:00
Joel Challis
2cfbc1445c
Allow new-keyboard to use development_board presets (#16785) 2022-04-08 20:12:32 +01:00
Erovia
85de020573
CLI: Bump the 'jsonschema' version (#16635)
* CLI: Bump the 'jsonschema' version

Update the used meta-schema from Draft 7 from 2018 to the latest one,
Draft 2020-12.
Currently, the validator falls back to Draft 7 if the newer validator is
not available. Draft 2020-12 support was introduced to 'jsonschema' in
version 4.0.0.

* Fix formatting
2022-04-06 19:46:16 +01:00
zvecr
c1b57354f6 Stub out more of broadcast messages 2022-04-05 18:54:28 +01:00
QMK Bot
e3afa07ca9 Merge remote-tracking branch 'origin/develop' into xap 2022-04-03 17:45:49 +00:00
Joel Challis
c0ac3f7372
Add frameworking for development board presets (#16637)
* Add frameworking for development board presets

* Update lib/python/qmk/info.py

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

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-04-03 18:45:10 +01:00
zvecr
c9eae1d384 format 2022-04-02 00:11:22 +01:00
zvecr
e7d9d6675c Implement codegen for more data types - codegen for return_execute stubs removed 2022-04-01 23:38:13 +01:00
zvecr
c5842ab9b5 stub out return_execute with zero args 2022-04-01 00:44:27 +01:00
zvecr
e111b9d017 Use slightly more unique data name 2022-03-31 23:31:01 +01:00
zvecr
53052228df Add types codegen 2022-03-31 22:34:25 +01:00
Nick Brassel
ffcdfc6c03 Swap info.json.gz length to #define. 2022-04-01 08:15:33 +11:00
zvecr
81a53ac5b6 gen RESPONSE_FLAG defines 2022-03-31 21:08:18 +01:00
zvecr
646fdc7d17 Rework code gen for return of dynamic variables 2022-03-31 01:18:26 +01:00
zvecr
73d2228524 format 2022-03-30 23:25:33 +01:00
zvecr
6269c6b51c partial gen for return_execute 2022-03-30 23:20:14 +01:00
QMK Bot
5a099e1ad7 Merge remote-tracking branch 'origin/develop' into xap 2022-03-30 20:55:54 +00:00
QMK Bot
d75ae52fe6 Merge remote-tracking branch 'origin/master' into develop 2022-03-30 20:55:16 +00:00
Ryan
64974a7f8f
yapf: disable arithmetic predecence indication (#16749) 2022-03-30 21:54:13 +01:00
zvecr
22b8299230 Fix up print_dotted_output dict handling 2022-03-30 00:43:41 +01:00
zvecr
a65ea1a711 Fix codegen for non led boards 2022-03-30 00:43:41 +01:00
zvecr
13ee88dd21 Data driven g_led config 2022-03-30 00:43:41 +01:00
zvecr
56c9f7b7ff format 2022-03-29 19:25:16 +01:00
zvecr
05911e9908 bodge 'qmk xap -l' for windows 2022-03-29 18:36:08 +01:00
zvecr
7262333857 Use generic 'dump_lines' 2022-03-28 21:18:17 +01:00
zvecr
ff1bb76537 basic info.json handling 2022-03-28 21:06:16 +01:00
QMK Bot
fc45ff1f07 Merge remote-tracking branch 'origin/develop' into xap 2022-03-27 20:29:43 +00:00
QMK Bot
03f9b8db15 Merge remote-tracking branch 'origin/master' into develop 2022-03-27 20:29:09 +00:00
Erovia
8c0198334c
CLI: Lint non-data driven macros in info.json (#16739)
* CLI: Lint non-data driven macros in info.json

Macros in info.json should either have the "matrix" key with the matrix
data or should should be also present in <keyboard>.h

* Add verification of matrix data

* Use generic '<keyboard>.h' in output

* Add keyboard name to output

* Make C layout macro finding more robust

The old code missed C macros if they had whitespace between '#' and
'define' or had whitespace before '#'.
2022-03-27 21:28:36 +01:00
Drashna Jael're
80102c0e83
Merge remote-tracking branch 'origin/develop' into xap 2022-03-26 13:37:01 -07:00
QMK Bot
05ac5727f2 Merge remote-tracking branch 'origin/master' into develop 2022-03-26 19:15:58 +00:00
Erovia
55e5daa868
Fix bug when 'info.json' lookup escapes keyboard dir (#16734) 2022-03-26 19:15:25 +00:00
Drashna Jael're
15e0964108
Merge remote-tracking branch 'origin/develop' into xap 2022-03-26 10:32:27 -07:00
QMK Bot
2957f60dc1 Merge remote-tracking branch 'origin/master' into develop 2022-03-24 20:14:36 +00:00
Erovia
efc9c525b1
CLI: Add 'via2json' subcommand (#16468) 2022-03-24 21:13:40 +01:00
QMK Bot
728305e961 Merge remote-tracking branch 'origin/develop' into xap 2022-03-22 10:48:49 +00:00
Joel Challis
23f365f8bc
Ignore transport defaults if SPLIT_KEYBOARD is unset (#16706)
* Ignore transport defaults if SPLIT_KEYBOARD is unset

* keep exists check
2022-03-22 10:48:13 +00:00
zvecr
e31c605bf7 revert split logic 2022-03-22 00:04:12 +00:00
zvecr
f872fbea7e Merge remote-tracking branch 'origin/develop' into xap 2022-03-21 12:46:36 +00:00
Joel Challis
4f8cc32cf5
Extend 'qmk info' to handle keymap level overrides (#16702) 2022-03-21 11:57:41 +01:00
zvecr
b365cbce15 Merge in keymap level to XAP info.json payload 2022-03-20 01:25:04 +00:00
QMK Bot
29f349b90b Merge remote-tracking branch 'origin/develop' into xap 2022-03-19 20:59:36 +00:00
QMK Bot
729d7c2b2e Merge remote-tracking branch 'origin/master' into develop 2022-03-19 20:59:03 +00:00
Ryan
2f095b8925
qmk.path.FileType: fix argument handling (#16693)
* qmk.path.FileType: pass in mode as first argument

* Better solution

* Grammar...
2022-03-19 20:58:30 +00:00
zvecr
4d4b013e5b Fixup after merge 2022-03-18 17:03:54 +00:00
zvecr
5bb6173cc7 Fixup after merge 2022-03-18 17:01:02 +00:00
zvecr
e5e1e54f39 Merge remote-tracking branch 'origin/develop' into xap 2022-03-18 16:57:34 +00:00
QMK Bot
3a08deb7fe Merge remote-tracking branch 'origin/master' into develop 2022-03-18 16:02:57 +00:00
Joel Challis
ed773ab73c
Relocate CLI git interactions (#16682) 2022-03-18 16:02:24 +00:00
zvecr
72602a3443 Fixup after merge 2022-03-18 01:53:39 +00:00
zvecr
2e8db66201 Merge remote-tracking branch 'origin/develop' into xap 2022-03-18 01:20:16 +00:00
zvecr
bffb209eee Merge remote-tracking branch 'origin/master' into develop 2022-03-18 01:15:23 +00:00
Joel Challis
e5823b5650
[CLI] Add common util for dumping generated content (#16674) 2022-03-18 01:09:29 +00:00
zvecr
31c4864705 Crude CLI device discovery 2022-03-16 19:45:42 +00:00
zvecr
9fd4db1fc7 fix up for pytest - remove fstring escaping 2022-03-16 10:58:21 +00:00
zvecr
52d3b9dcc5 fix up for pytest 2022-03-16 00:10:40 +00:00
zvecr
2b4724bd83 Convert info_json_gz.h generation to CLI 2022-03-15 17:59:12 +00:00
zvecr
b96b862ef9 Merge remote-tracking branch 'origin/develop' into xap 2022-03-15 13:27:35 +00:00
QMK Bot
31eb82c911 Merge remote-tracking branch 'origin/master' into develop 2022-03-10 21:34:11 +00:00
Erovia
b75f6691a1
CLI: Fix 'cd' subcommand on Windows (#16610)
The 'cd' subcommand was failing as the current shell's Windows path was
mangled while milc processed it.
Using 'subprocess' directly avoids this issue and an extra layer of
subshell.
2022-03-10 21:33:41 +00:00
Nick Brassel
c3ac89d1c9 qmk format-c, qmk format-python 2022-03-09 20:01:20 +11:00
Nick Brassel
575d8c19fc Merge remote-tracking branch 'upstream/develop' into xap 2022-03-09 19:47:31 +11:00
Nick Brassel
8d5eacb7dd
Add support for encoder mapping. (#13286) 2022-03-09 19:29:00 +11:00