Commit Graph

734 Commits

Author SHA1 Message Date
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
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
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
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
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
QMK Bot
49bc3b530b Merge remote-tracking branch 'origin/master' into develop 2022-03-08 20:46:24 +00:00
Ryan
b593cfccbd
qmk info: Nicer rendering of big-ass enter (#16541)
* `qmk info`: Nicer rendering of big-ass enter

* Formatting...
2022-03-08 20:45:47 +00:00
Ryan
75544d9127
Move Doxygen docs to subdirectory (#16561) 2022-03-07 11:22:22 +00:00
QMK Bot
f7512d61bd Merge remote-tracking branch 'origin/master' into develop 2022-03-05 22:55:11 +00:00
Ryan
8e9d45d270
qmk info: nicer rendering of ISO enter (#16466) 2022-03-05 22:54:32 +00:00
Ryan
7d41639d54
Map data driven DESCRIPTION as string literal (#16523) 2022-03-05 00:20:34 +00:00
Ryan
ace0603f4f
Change data driven "str" type to represent a quoted string literal (#16516)
* Change data driven "str" type to represent a quoted string literal

* Update docs
2022-03-04 13:25:24 +00:00
QMK Bot
36e47cb3aa Merge remote-tracking branch 'origin/master' into develop 2022-02-28 20:03:22 +00:00
Erovia
fbfd5312b9
CLI: Validate JSON keymap input (#16261)
* Fix schema validator

It should use the passed schema.

* Add required attributes to keymap schema

* Rework subcommands to validate the JSON keymaps

The 'compile', 'flash' and 'json2c' subcommands were reworked to add
JSON keymap validation so error is reported for non-JSON and
non-compliant-JSON inputs.

* Fix required fields in keymap schema

* Add tests

* Fix compiling keymaps directly from keymap directory

* Schema should not require version for now.
2022-02-28 20:02:39 +00:00
QMK Bot
3c7c9bdd86 Merge remote-tracking branch 'origin/master' into develop 2022-02-27 12:40:01 +00:00
Joel Challis
779c7debcf
Fix issues with data driven split keyboards (#16457) 2022-02-27 13:39:24 +01:00
Joel Challis
e4a6afa369
Rework generate-api CLI command to use .build directory (#16441) 2022-02-27 12:28:51 +01:00
Joel Challis
77cdb20e16
Revert CLI default for manufacturer (#16467) 2022-02-27 10:34:26 +00:00
Joel Challis
cf31355f08
Changelog 2022q1 (#16380)
* Initial changelog pass

* update generate-develop-pr-list content

* Fix bad word-ness

* Fix generate-develop-pr-list ignores

* Update docs/ChangeLog/20220226.md

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-02-23 17:33:08 +00:00
QMK Bot
bd01e1cee8 Merge remote-tracking branch 'origin/master' into develop 2022-02-22 18:32:43 +00:00
QMK Bot
8aec20c0da
Format code according to conventions (#16435) 2022-02-22 18:29:47 +00:00
fauxpark
a44abeb99a Merge remote-tracking branch 'upstream/master' into develop 2022-02-22 03:04:41 +11:00
Ryan
f30f963a0b
Internal docs generation updates (#16411) 2022-02-21 15:47:44 +00:00
Nick Brassel
6c7afbb859 Migrate XAP docs generator into CLI now that most logic is in Jinja2 files. 2022-02-16 10:53:35 +11:00
Joel Challis
b0621223bc
Various fixes for new-keyboard (#16358) 2022-02-15 01:42:58 +00:00
Nick Brassel
69e9c80ec3 Reworked docs rendering using jinja2. 2022-02-15 05:19:13 +11:00
Erovia
23c238a180
CLI: Minor additions #12795 (#16276) 2022-02-14 12:02:35 +01:00
Nick Brassel
c9ec8a1309 Merge remote-tracking branch 'upstream/develop' into xap 2022-02-14 09:01:22 +11:00
Joel Challis
f7e7671f69
Migrate more makefile utilities to builddefs sub-directory (#16002) 2022-02-10 09:45:51 -08:00
Joel Challis
2e279f1b88
Initial pass at data driven new-keyboard subcommand (#12795)
* Initial pass at a data driven keyboard subcommand

* format

* lint

* Handle bootloader now its mandatory
2022-02-09 06:03:30 +11:00
Nick Brassel
8fd8b2dc92
Skip categorisation of PR if it's only for code formatting. (#16215) 2022-02-05 07:36:57 +11:00
Nick Brassel
db43e45077
Ensure version.h is recreated each build. (#16188) 2022-02-04 07:36:02 +11:00
Nick Brassel
dcf4bf6d29 Merge remote-tracking branch 'upstream/develop' into xap 2022-02-03 03:15:01 +11:00
Drashna Jaelre
d4dc743a85
Fix issues with Python Tests (#16162)
* Reformat python due to yapf changes

* Fix pytest keymap list test

* revert formatting

* Use contra, because, well

https://www.reddit.com/r/MechanicalKeyboards/comments/8riofq/did_i_kill_my_contra/
2022-02-02 15:44:42 +11:00
QMK Bot
7d38aec3ac Merge remote-tracking branch 'origin/master' into develop 2022-02-02 04:31:44 +00:00
Ryan
c9f88d7c67
qmk doctor: display qmk_firmware version tag (#16155) 2022-02-01 20:31:42 -08:00
Nick Brassel
6e2b03cf69
Fixup multibuild filegen (#16166)
* Add env variable support to multibuild.

* Generate version.h in build-specific location.
2022-02-02 15:30:22 +11:00
Nick Brassel
77062e9a36
Add L432, L442. (#16016) 2022-01-24 08:49:36 +11:00
QMK Bot
fe1f53ce8f Merge remote-tracking branch 'origin/master' into develop 2022-01-20 20:12:20 +00:00
Gigahawk
1a676c927f
Add missing STM32F405 definition in qmk.constants (#15937) 2022-01-21 07:11:24 +11:00
Ryan
c72ed7c024
CLI: Parse USB device version BCD (#14580)
* CLI: Parse USB device version BCD

* Apply suggestions
2022-01-17 08:44:34 +11:00
Ryan
5fb93934d0
Fixes for bootloader refactor build failures (#15638) 2022-01-06 06:55:46 +11:00
QMK Bot
c089541938 Merge remote-tracking branch 'origin/master' into develop 2022-01-03 22:42:47 +00:00
Joel Challis
550c9a315f
Refix "No C files in filelist: None" (#15728) 2022-01-03 22:42:15 +00:00
QMK Bot
73e372d920 Merge remote-tracking branch 'origin/master' into develop 2022-01-03 21:55:23 +00:00
Joel Challis
aea7155423
Fix "No C files in filelist: None" (#15560)
* Fix "No C files in filelist: None"

* Align other commands

* force absolute paths
2022-01-03 21:54:46 +00:00
QMK Bot
dde5cd1c54 Merge remote-tracking branch 'origin/master' into develop 2021-12-29 21:36:08 +00:00
Joel Challis
1a8a842cfb
Fix compilation-database command under MSYS (#15652)
* Fix compilation-database command under MSYS

* Add comment
2021-12-30 08:35:35 +11:00
Nick Brassel
7b018f097d
Use the PR title rather than parsing the commit message. (#15537) 2021-12-22 05:44:47 +11:00
Joel Challis
aecb387692
Add test filter to 'qmk pytest' (#15432)
* Add test filter to 'qmk pytest'

* Bodge for some test filters not resolving qmk

* Update docs
2021-12-09 17:42:11 +11:00
Joel Challis
285afa3a8a
Fix 'format-c --core-only' matching keyboard level folders (#15337) 2021-11-29 15:08:39 +00:00
Nick Brassel
bf66b91433 Merge remote-tracking branch 'upstream/develop' into xap 2021-11-28 12:56:46 +11:00
Nick Brassel
88fe5c16a5
Changelog 2021q4 (#15325)
* Changelog.

* Remove the asymmetric encoder PR from listing due to revert.

* More docs

* More docs

* More docs

* Links to changelog, updated schedule, slotted in 2 weeks of testing at the end so that there's no ambiguity with PR merge dates.

* Clarify keyboard moves.

* Fix dates

* Sidebar

* Fixup dates.

* Fixup dates.

* Wording.
2021-11-28 10:41:48 +11:00
Joy Lee
68838bb700
Westberrytech pr (#14422)
* Added support for WB32 MCU

* Modified eeprom_wb32.c

* Remove the eeprom_wb32-related code
2021-11-27 09:28:18 +11:00
QMK Bot
69853175d0 Merge remote-tracking branch 'origin/master' into develop 2021-11-23 00:24:00 +00:00
Joel Challis
dbc7b53517
qmk format-python - filter for Python files (#15271)
* qmk format-python filter all files

* filter changed files too
2021-11-23 00:23:23 +00:00
Zach White
08ce0142ba
Macros in JSON keymaps (#14374)
* macros in json keymaps

* add advanced macro support to json

* add a note about escaping macro strings

* add simple examples

* format json

* add support for language specific keymap extras

* switch to dictionaries instead of inline text for macros

* use SS_TAP on the innermost tap keycode

* add the new macro format to the schema

* document the macro limit

* add the json keyword for syntax highlighting

* fix format that vscode screwed up

* Update feature_macros.md

* add tests for macros

* change ding to beep

* add json support for SENDSTRING_BELL

* update doc based on feedback from sigprof

* document host_layout

* remove unused var

* improve carriage return handling

* support tab characters as well

* Update docs/feature_macros.md

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

* escape backslash characters

* format

* flake8

* Update quantum/quantum_keycodes.h

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-11-22 11:11:35 -08:00
Drashna Jael're
4be9919e9f
Merge remote-tracking branch 'origin/master' into develop 2021-11-19 09:48:23 -08:00
Ryan
aee10ccc5c
[CLI] list-keymaps/list-layouts: Check keyboard passed in (#15204)
* [CLI] `list-keymaps`/`list-layouts`: Check keyboard passed in

* Update lib/python/qmk/cli/list/keymaps.py

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

* Update lib/python/qmk/cli/list/layouts.py

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

Co-authored-by: Joel Challis <git@zvecr.com>
2021-11-18 17:55:07 +00:00
Nick Brassel
b9148eb1bd
[cli] Export list of develop PRs to be merged into master (#13944)
* Add developer-only command for exporting the list of PRs associated with a merge to `develop`.

* qmk pytest

* Imports.

* Remove dependencies from requirements file, manually handle.

* Reduce complexity, qmk generate-api taking too long so relying on CI
2021-11-18 17:05:08 +00:00
Joel Challis
cd50fdf7ee
Add diff logic to python format subcommand (#15156)
* Add diff logic to python format subcommand

* Update test

* Add in filter per format-c

* fix tests

* Update new workflow
2021-11-17 23:02:45 +00:00
QMK Bot
462c3a6151 Merge remote-tracking branch 'origin/master' into develop 2021-11-14 23:06:50 +00:00
Joel Challis
ec0bb791f8
Partially reinstate CI formatting process (#15155)
* Partially reinstate CI formatting process

* Fix exit code on clean run

* Fix exit code on clean run
2021-11-14 23:06:22 +00:00
Nick Brassel
92e9bbd9b9 Merge remote-tracking branch 'upstream/master' into develop 2021-11-05 08:55:55 +11:00
Nick Brassel
c8da63382c
Fixup actions. (#15057) 2021-11-04 21:49:09 +00:00
Erovia
c8b09d0d4a
CLI: Add 'cd' subcommand (#12584)
* CLI: Add 'cd' subcommand

Go to your qmk_firmware dir with ease.

* Fix for Windows and do not run if already under QMK Home

* Make flake8 happy

* Fix prompt for Windows

* Make flake8 happy once again

* I'll get it right eventually

* Apply suggestions from code review

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

* Add subcommand to __init__.py and fixup after rebase

* Update Windows code to use milc's run

* Unify the subshell starting with os.execl

* Exit with error msg when output is redirected to non-TTY.

* Revert Windows-specific code

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-11-05 08:21:09 +11:00
James Young
84ea77ead6
Remove BOOTMAGIC_ENABLE = lite option (#15002)
* remove BOOTMAGIC_ENABLE=lite setting

* change keyboard BOOTMAGIC_ENABLE rules

Edits keyboard-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

* change keyboard BOOTMAGIC_ENABLE inline comments

Edits keyboard-level BOOTMAGIC_ENABLE inline comments to "Enable Bootmagic Lite".

* change keymap BOOTMAGIC_ENABLE rules

Edits keymap-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

* change keymap BOOTMAGIC_ENABLE inline comments

Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite".

* change layout/user BOOTMAGIC_ENABLE rules/comments

Edits instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite".

* update non-rules.mk BOOTMAGIC_ENABLE references in keyboards/

* remove docs references to Full Bootmagic

* convert data-driven Bootmagic Lite instances

* remove Bootmagic Lite bodge from data-driven generation

* Merge remote-tracking branch 'upstream/develop' into rm/bootmagic-full_q4a

* update docs/ja/config_options.md per mtei

* update docs/faq_misc.md per mtei

Remove remaining Full Bootmagic reference.
2021-11-05 08:18:09 +11:00
QMK Bot
4b6db33a1d Merge remote-tracking branch 'origin/master' into develop 2021-11-04 21:15:20 +00:00
Mikkel Jeppesen
fefd7fdc51
Refactor new-keyboard to be python3.7 compatible (#14707)
* Use copy_tree from distutils for python 3.7 support

* Bump python version in docs

* Changed new-keyboard to use printf-style format strings

* Use username for manunfacturer / maintainer

* Update lib/python/qmk/cli/new/keyboard.py

Co-authored-by: Zach White <skullydazed@drpepper.org>

Co-authored-by: Zach White <skullydazed@drpepper.org>
2021-11-05 08:14:43 +11:00
Ryan
9401836727
Map PRODUCT define to keyboard_name (#14372)
* Map `PRODUCT` define to `keyboard_name`

* Fix tests

* Fix last test
2021-11-05 08:08:52 +11:00
QMK Bot
45a8176e32 Merge remote-tracking branch 'origin/master' into develop 2021-11-04 21:03:11 +00:00
Ryan
6437045166
qmk docs: Run docsify serve if available (#15056) 2021-11-05 08:02:27 +11:00
QMK Bot
b25218ccc1 Merge remote-tracking branch 'origin/master' into develop 2021-10-31 08:21:50 +00:00
Mateusz Ż
fe0acdd2cb
[CLI] Fix broken layout rendering in qmk info by '\n' (#14970) 2021-10-31 01:21:20 -07:00
Joel Challis
01b702bece
Split out HAPTIC_ENABLE to have separate DRIVER option (#14854)
* DRIVER -> ENABLE

* Update generic_features.mk

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

* Update common_features.mk

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-10-18 12:55:44 +01: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
QMK Bot
b0c2dd8d50 Merge remote-tracking branch 'origin/master' into develop 2021-10-16 16:45:28 +00:00
Ryan
3c0eeec755
Try to clarify "number of elements in info.json does not match" error (#14844) 2021-10-16 17:44:56 +01:00
Joel Challis
40bc5a8192
Enable CLI flashing via mdloader (#14729)
* Enable CLI flashing via mdloader

* remove flag

* Update qmk flash help
2021-10-15 22:07:33 +01:00
Joel Challis
dace4d5f0d
Remove QWIIC_DRIVERS (#14174) 2021-10-09 14:48:27 +01:00
QMK Bot
4af4ef3428 Merge remote-tracking branch 'origin/master' into develop 2021-10-04 16:26:57 +00:00
Zach White
20f81af98a
Allow community layouts to be specified in info.json (#14682)
* move the community layout detection to python

* fixup tests
2021-10-04 09:26:19 -07:00
Ryan
1a9e7b95ab
Change MK66F18 -> MK66FX1M0 (#14659) 2021-09-30 23:14:37 +01:00
QMK Bot
bca7a99e7a Merge remote-tracking branch 'origin/master' into develop 2021-09-27 17:03:42 +00:00
Zach White
fce9cb9338
Cleanup issues identified by lgtm (#14459)
* cleanup issues identified by lgtm

* fix the git_status check
2021-09-27 10:02:54 -07:00
Nick Brassel
28b8b578b0
compiledb: query include paths from gcc directly. (#14462)
* Query include paths from gcc directly.

* Change to -isystem

* qmk format-python

* tests
2021-09-20 14:15:07 +10:00
Bao
590b405468
New CLI subcommand to create clang-compatible compilation database (compile_commands.json) (#14370)
* pulled source from dev branch

* missed a file from origin

* formatting

* revised argument names. relaxed matching rules to work for avr too

* add docstrings

* added docs. tightened up regex

* remove unused imports

* cleaning up command file. use existing qmk dir constant

* rename parser library file

* move lib functions into command file. there are only 2 and they aren't large

* currently debugging...

* more robustly find config

* updated docs

* remove unused imports

* reuse make executable from the main make command

* pulled source from dev branch

* missed a file from origin

* formatting

* revised argument names. relaxed matching rules to work for avr too

* add docstrings

* added docs. tightened up regex

* remove unused imports

* cleaning up command file. use existing qmk dir constant

* rename parser library file

* move lib functions into command file. there are only 2 and they aren't large

* currently debugging...

* more robustly find config

* updated docs

* remove unused imports

* reuse make executable from the main make command

* remove MAKEFLAGS from environment for better control over process management

* Update .gitignore

Co-authored-by: Michael Forster <forster@google.com>

* add a usage line to docs

* doc change as suggested

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

* rename command

* remove debug print statements

* generate-compilation-database: fix arg handling

* generate-comilation-db: improve error handling

* use cli.run() instead of Popen()

Co-authored-by: Xton <cdewan@apple.com>
Co-authored-by: Christon DeWan <cmdpix@mac.com>
Co-authored-by: Michael Forster <forster@google.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-09-16 14:59:57 +10:00
Nick Brassel
3c66b9b0ec Merge remote-tracking branch 'upstream/develop' into xap 2021-09-15 11:40:29 +10:00
Nick Brassel
5aae5a767f Use the correct input type. 2021-09-15 08:49:51 +10:00
Nick Brassel
437559cd03 Swap to fnvhash due to deps. 2021-09-15 08:45:14 +10:00
fauxpark
1895151a9c Merge remote-tracking branch 'upstream/master' into develop 2021-09-12 14:10:26 +10:00
Ryan
4791cfae1a
Remove width, height and key_count from info.json (#14274) 2021-09-12 14:04:56 +10:00
Ryan
d5cb7de5e4
Change USBasp and bootloadHID bootloaders to lowercase (#14354) 2021-09-10 17:17:54 +10:00
Zach White
596c4a1f87
Remove bin/qmk (#14231)
* Remove the bin/qmk script

* remove bin/qmk from workflows
2021-08-29 16:50:22 -07:00
QMK Bot
b46064a891 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 23:47:04 +00:00
Zach White
baa423004a
ensure that the directory for sys.executable is in the user's path (#14229) 2021-08-29 16:46:36 -07:00
Zach White
c729df09ca
fix automatic directory for qmk lint (#14215) 2021-08-28 23:02:31 -07:00
Zach White
566d598516
Add check for non-assignment code in rules.mk (#12108)
* Add check for non-assignment code in rules.mk

* fix lint check

* fix lint

* fixup to reflect the final state of #8422

* fix lint
2021-08-29 12:37:55 +10:00
Zach White
f155865804
remove qmk console, which is now part of the global cli (#14206) 2021-08-29 11:27:57 +10:00
Joel Challis
2cade3a483
Align some quantum sub-directories (#14134)
* Misc folder tidy

* Review comments

* Remove redundant entry
2021-08-24 17:07:11 +01: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
Joel Challis
2e734fb6b9
Add config.h and rules.mk support for data driven keymaps (#12859)
* Add config.h and rules.mk support for data driven keymaps

* tidy up after rebase

* Rename key as it can contain more than just keyboard overrides

* tidy up after rebase

* Add validation
2021-08-18 21:52:41 +01:00
ruro
3b28178deb
--parallel improvements (#13800)
* improve make parallel jobs support

* document the --parallel option

* disable the output-sync for interactive targets
2021-08-18 08:46:59 +10:00
Drashna Jaelre
85351dc23d
[CLI] Add qmk-hid bootloader detection support to qmk console (#14038)
* [CLI] Add qmk-hid bootloader detection support to `qmk console`

* Remove duplicate entry

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

* Begrudgingly add lufa-ms

* Add udev rules for hid bootloaders

* Update util/udev/50-qmk.rules

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Fix VID/PID combos

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2021-08-18 04:13:54 +10:00
Zach White
8d9bfdc254
Add a lot more data to info.json (#13366)
* add some split data to info.json

* add tags

* add half of config_options.md to info.json

* add support for designating master split

* sort out split transport and primary

* fix bad data in UNUSED_PINS

* fixup custom transport

* wip

* allow for setting split right half keyboard matrix

* add SPLIT_USB_DETECT

* minor cleanup

* fix an erroneous message

* rework split.usb_detect

* adding missing rgblight vars to info.json

* add mouse_key to info.json

* add all remaining options from docs/config_options.md

* fix audio voices

* qmk info: Change text output to use dotted notation

* tweak layout output

* resolve alias names

* break out some functions to make flake8 happy

* add a field for bootloader instructions

* qmk generate-info-json: add a write-to-file argument

Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal.

* -arg_only, +action

Because it was never my intention that one would have to specify a value for the argument that enables writing the file.

* Bring qmk generate-info-json inline with other generate commands

* pytest fixup

* fix esca/getawayvan

* fix data driven errors for bpiphany converters

* features.force_nkro -> usb.force_nkro

* split.primary->split.main

* fix esca/getawayvan_f042

* fix the bpiphany converters for real

* fix bpiphany/tiger_lily

* Apply suggestions from code review

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

* fix generate-api errors

* fix matrix pin extraction for split boards

* fix ploopyco/trackball_nano/rev1_001

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-16 23:33:30 +01:00
Zach White
fd340f8957
Defer the expensive search for layout macros until info.json has been processed (#14007)
* defer the expensive search for layout macros until info.json has been processed

* fixup names
2021-08-16 06:30:58 +10:00
QMK Bot
cdba934f86 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 17:38:51 +00:00
Zach White
4742a3a48f
use sudo to install modules if needed (#13984) 2021-08-13 10:38:05 -07:00
Nick Brassel
eba91c6e28 Initial implementation of XAP protocol. 2021-08-11 21:08:32 +10:00
QMK Bot
d888ac17ea Merge remote-tracking branch 'origin/master' into develop 2021-08-10 14:48:55 +00:00
Zach White
ed84a4e7e3
Improve the qmk lint readme check (#13941)
* improve lint readme check

* improve if
2021-08-10 07:48:22 -07:00
Zach White
12681bacc4 Merge remote-tracking branch 'origin/master' into develop
Conflicts:
	keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c
2021-08-09 08:34:14 -07:00
Zach White
e6c171bdd6
Fix generate api (#13930)
* Add missing returncode to exit()

* fix the aozora/hotswap vendor id
2021-08-09 08:28:51 -07:00
Zach White
5eb0e406fd
make json imports more robust (#13928) 2021-08-09 08:27:02 -07:00
thpoll83
b43c6bc176
Add support for STM32F407x MCUs. (#13718)
* Add support for STM32F407x MCUs.

* Removing STMF407 MCU variation

* Update quantum/mcu_selection.mk

Remove options for dfu flashing

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

* DISABLE STM32_USB_USE_OTG1

* Update platforms/chibios/GENERIC_STM32_F407XE/configs/mcuconf.h

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

* Update platforms/chibios/GENERIC_STM32_F407XE/configs/mcuconf.h

Co-authored-by: thomas.pollak <thomas.pollak@dynatrace.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-09 06:52:13 +10:00
ruro
52dad230d6
[CLI] Make qmk doctor more lenient about system config (#13804) 2021-07-30 21:43:42 -07:00
Ryan
b021c2f2c5
Port new_keyboard.sh to CLI (#13706)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-07-30 21:57:40 +01:00
QMK Bot
4735aab75b Merge remote-tracking branch 'origin/master' into develop 2021-07-30 13:48:29 +00:00
Ryan
8b39a3c484
qmk docs: Add flag to open in browser (#13788)
* `qmk docs`: Add flag to open in browser

* Add docs
2021-07-30 14:47:34 +01:00
Ryan
25f43837d2
Remove references to info.json width and height in CLI (#13728) 2021-07-29 22:37:18 -07:00
Erovia
fdcea06336
CLI/Docs: Fix the format commands' name (#13668)
PR #13296 changed the name of the `cformat` and `pyformat` commands to
`format-c` and `format-py` respectively. This PR updates the documentation
and some parts of the CLI to use the new names.
Also add documentation for the new `format-text` subcommand, introduced
in the same PR.
2021-07-23 21:41:33 +01:00
Zach White
4ab8734d6e
Move all our CLI file formatters to the format dir (#13296)
* move all our file formatters to the format dir

* Apply suggestions from code review

Co-authored-by: Erovia <Erovia@users.noreply.github.com>

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-07-20 11:52:14 -07:00
Zach White
44d322623e Merge remote-tracking branch 'origin/master' into develop
Resolved Conflicts:
	keyboards/checkerboards/nop60/info.json
2021-07-14 10:30:28 -07:00
Zach White
ffdfe3798b
switch to qmk-dotty-dict (#13460) 2021-07-14 09:08:48 -07:00
Zach White
0b06452d00
Matrix consistency check (#13470)
* Add a check to make sure the matrix sizes match the actual matrix size

* make flake8 happy
2021-07-11 09:43:58 -07:00
Erovia
e05f9c4a08
CLI: Add git and venv info to doctor's output (#13405)
Most of the checks are saved from zvecr's retired 'up/status'
subcommand PR.
2021-07-10 16:04:50 +01:00
Nick Brassel
8bb231aa1c
Adds support for STM32L412xB, STM32L422xB. (#13383)
* Adds support for STM32L412xB, STM32L422xB.

* Add to list of supported MCUs.

* Disable SPI1 by default.
2021-06-30 10:07:40 +10:00
QMK Bot
5a5015594f Merge remote-tracking branch 'origin/master' into develop 2021-06-27 03:22:31 +00:00
Ryan
53ace430fe
Doctor: print CLI version (#13356) 2021-06-27 13:21:53 +10:00
Ryan
bbe43a91eb
CLI: Add subcommand to generate version.h (#13151) 2021-06-27 02:29:02 +10:00
Zach White
b908275354
Optimize our jsonschema by using refs (#13271)
* fix some broken info.json files

* optimize our jsonschema using refs

* fix formatting after vscode broke it

* make flake8 happy

* cleanup

* make our schema validation more compact and flexible
2021-06-24 20:48:53 -07:00
QMK Bot
9d4412cb8b Merge remote-tracking branch 'origin/master' into develop 2021-06-25 03:32:21 +00:00
Zach White
7c2bd4dd88
add doctor to safe_commands (#13324) 2021-06-24 20:31:46 -07:00
QMK Bot
8d87bfd46a Merge remote-tracking branch 'origin/master' into develop 2021-06-24 03:36:07 +00:00
Zach White
42f4528a45
expand the size of the textpad to allow for taller keyboards (#13319) 2021-06-23 20:35:36 -07:00
Zach White
df794fa5cc
Remove the redundant pin name validation (#13251)
* remove the redundant pin name validation

* fix submodules
2021-06-22 12:02:12 -07:00
Zach White
e87d231645
Refactor doctor.py into a directory (#13298) 2021-06-22 19:50:53 +01:00
Michael Stapelberg
7c5ef4060e
allow LINE_PINxx for Teensy 4.x pins (#13247)
fixes https://github.com/qmk/qmk_firmware/issues/13052
2021-06-19 15:21:56 -07:00
Zach White
0713797c58
Ensure that safe_commands always run (#13199)
* ensure that safe_commands always run

* import the config subcommand in bin/qmk
2021-06-14 16:51:58 -07:00
Nick Brassel
21aa7890cb
Allow limiting the multibuild based on keymap name. (#13066) 2021-06-09 17:25:21 +10:00
Ryan
af91221ddb
qmk multibuild: Fix bug with Path objects (#13093) 2021-06-03 16:53:03 +01:00
Erovia
305cca9a5e
CLI: Fix automagic (#13046) 2021-05-30 16:17:40 +01:00
James Young
1646c0f26c
2021 May 29 Breaking Changes Update (#13034)
* Add Per Key functionality for AutoShift (#11536)

* LED Matrix: Reactive effect buffers & advanced indicators (#12588)

* [Keyboard] kint36: switch to sym_eager_pk debouncing (#12626)

* [Keyboard] kint2pp: reduce input latency by ≈10ms (#12625)

* LED Matrix: Split (#12633)

* [CI] Format code according to conventions (#12650)

* feat: infinite timeout for leader key (#6580)

* feat: implement leader_no_timeout logic

* docs(leader_key): infinite leader timeout docs

* Format code according to conventions (#12680)

* 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

* Add initial support for tinyuf2 bootloader (when hosted on F411 blackpill) (#12600)

* Add support for jumping to tinyuf2 bootloader. Adds blackpill UF2 example.

* Update flashing.md

* Update chconf.h

* Update config.h

* Update halconf.h

* Update mcuconf.h

* eeprom driver: Refactor where eeprom driver initialisation (and EEPROM emulation initialisation) occurs to make it non-target-specific. (#12671)

* Add support for MCU = STM32F446 (#12619)

* Add support for MCU = STM32F446

* Update platforms/chibios/GENERIC_STM32_F446XE/configs/config.h

* Restore mcuconf.h to the one used by RT-STM32F446RE-NUCLEO64

* stm32f446: update mcuconf.h and board.h for 16MHz operation, with USB enabled, and other peripherals disabled.

* Format code according to conventions (#12682)

* Format code according to conventions (#12687)

* Add STM32L433 and L443 support (#12063)

* initial L433 commit

* change to XC

* fix L433

* disable all peripherals

* update system and peripheral clocks

* 433 change

* use its own board  files

* revert its own board files

* l433 specific change

* fix stm32l432xx define

* remove duplicate #define

* fix bootloader jump

* move to L443xx and add i2c2, spi2, usart3 to mcuconf.h

* move to L443

* move to L443

* fix sdmmc in mcuconf.h

* include STM32L443

* add L443

* Include L443 in compatible microcontrollers

* Include L443 in compatible microcontrollers

* Update config bootloader jump description

* Update ChibiOS define reasoning

* Update quantum/mcu_selection.mk

* fix git conflict

* Updated Function96 with V2 files and removed chconf.h and halconf.h (#12613)

* Fix bad PR merge for #6580. (#12721)

* Change RGB/LED Matrix to use a simple define for USB suspend (#12697)

* [CI] Format code according to conventions (#12731)

* Fixing transport's led/rgb matrix suspend state logic (#12770)

* [CI] Format code according to conventions (#12772)

* Fix comment parsing (#12750)

* Added OLED fade out support (#12086)

* fix some references to bin/qmk that slipped in (#12832)

* Resolve a number of warnings in `qmk generate-api` (#12833)

* New command: qmk console (#12828)

* stash poc

* stash

* tidy up implementation

* Tidy up slightly for review

* Tidy up slightly for review

* Bodge environment to make tests pass

* Refactor away from asyncio due to windows issues

* Filter devices

* align vid/pid printing

* Add hidapi to the installers

* start preparing for multiple hid_listeners

* udev rules for hid_listen

* refactor to move closer to end state

* very basic implementation of the threaded model

* refactor how vid/pid/index are supplied and parsed

* windows improvements

* read the report directly when usage page isn't available

* add per-device colors, the choice to show names or numbers, and refactor

* add timestamps

* Add support for showing bootloaders

* tweak the color for bootloaders

* Align bootloader disconnect with connect color

* add support for showing all bootloaders

* fix the pyusb check

* tweaks

* fix exception

* hide a stack trace behind -v

* add --no-bootloaders option

* add documentation for qmk console

* Apply suggestions from code review

* pyformat

* clean up and flesh out KNOWN_BOOTLOADERS

* Remove pointless SERIAL_LINK_ENABLE rules (#12846)

* Make Swap Hands use PROGMEM (#12284)

This converts the array that the Swap Hands feature uses to use PROGMEM,
and to read from that array, as such. Since this array never changes at
runtime, there is no reason to keep it in memory. Especially for AVR
boards, as memory is a precious resource.

* Fix another bin/qmk reference (#12856)

* [Keymap] Turn OLED off on suspend in soundmonster keymap (#10419)

* Fixup build errors on `develop` branch. (#12723)

* LED Matrix: Effects! (#12651)

* Fix syntax error when compiling for ARM (#12866)

* Remove KEYMAP and LAYOUT_kc (#12160)

* alias KEYMAP to LAYOUT

* remove KEYMAP and LAYOUT_kc

* Add setup, clone, and env to the list of commands we allow even with broken modules (#12868)

* Rename `point_t` -> `led_point_t` (#12864)

* [Keyboard] updated a vendor name / fixed minor keymap issues (#12881)

* Add missing LED Matrix suspend code to suspend.c (#12878)

* LED Matrix: Documentation (#12685)

* Deprecate `send_unicode_hex_string()` (#12602)

* Fix spelling mistake regarding LED Matrix in split_common. (#12888)

* [Keymap] Fix QWERTY/DVORAK status output for kzar keymap (#12895)

* Use milc.subcommand.config instead of qmk.cli.config (#12915)

* Use milc.subcommand.config instead

* pyformat

* remove the config test

* Add function to allow repeated blinking of one layer (#12237)

* Implement function rgblight_blink_layer_repeat to allow repeated blinking of one layer at a time

* Update doc

* Rework rgblight blinking according to requested change

* optimize storage

* Fixup housekeeping from being invoked twice per loop. (#12933)

* matrix: wait for row signal to go HIGH for every row (#12945)

I noticed this discrepancy (last row of the matrix treated differently than the
others) when optimizing the input latency of my keyboard controller, see also
https://michael.stapelberg.ch/posts/2021-05-08-keyboard-input-latency-qmk-kinesis/

Before this commit, when tuning the delays I noticed ghost key presses when
pressing the F2 key, which is on the last row of the keyboard matrix: the
dead_grave key, which is on the first row of the keyboard matrix, would be
incorrectly detected as pressed.

After this commit, all keyboard matrix rows are interpreted correctly.

I suspect that my setup is more susceptible to this nuance than others because I
use GPIO_INPUT_PIN_DELAY=0 and hence don’t have another delay that might mask
the problem.

* ensure we do not conflict with existing keymap aliases (#12976)

* Add support for up to 4 IS31FL3733 drivers (#12342)

* Convert Encoder callbacks to be boolean functions (#12805)

* [Keyboard] Fix Terrazzo build failure (#12977)

* Do not hard set config in CPTC files (#11864)

* [Keyboard] Corne - Remove legacy revision support (#12226)

* [Keymap] Update to Drashna keymap and user code (based on develop) (#12936)

* Add Full-duplex serial driver for ARM boards (#9842)

* Document LED_MATRIX_FRAMEBUFFER_EFFECTS (#12987)

* Backlight: add defines for default level and breathing state (#12560)

* Add dire message about LUFA mass storage bootloader (#13014)

* [Keyboard] Remove redundant legacy and common headers for crkbd (#13023)

Was causing compiler errors on some systems.

* Fix keyboards/keymaps for boolean encoder callback changes (#12985)

* `backlight.c`: include `eeprom.h` (#13024)

* Add changelog for 2021-05-29 Breaking Changes merge (#12939)

* Add ChangeLog for 2021-05-29 Breaking Changes Merge: initial version

* Add recent develop changes

* Sort recent develop changes

* Remove sections for ChibiOS changes per tzarc

No ChibiOS changes this round.

* Add and sort recent develop changes

* add notes about keyboard moves/deletions

* import changelog for PR 12172

Documents the change to BOOTMAGIC_ENABLE.

* update section headings

* re-sort changelog

* add additional note regarding Bootmagic changes

* remove changelog timestamp

* update dates in main Breaking Changes docs

* fix broken section anchors in previous changelogs

* add link to backlight/eeprom patch to changelog

* highlight some more changes

* link PRs from section headers

* Restore standard readme

* run: qmk cformat --core-only
2021-05-29 14:38:50 -07:00
Erovia
f55e39e8a2
World domination (#13021)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-05-29 20:05:46 +01:00
Erovia
84883d3400
CLI/c2json: Print 'cpp' error when executed in verbose mode (#12869)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-05-27 17:42:38 +01:00
Zach White
aa97f52963
Use milc.subcommand.config instead of qmk.cli.config (#13002)
* Use milc.subcommand.config instead

* pyformat

* remove the config test
2021-05-24 23:36:38 -07:00
Zach White
bc67ca6a59
search for the readme in higher directories as well (#12997) 2021-05-24 19:38:27 -07:00
Zach White
db1eacdaac
Align our subprocess usage with current best practices. (#12940)
* Align our subprocess usage with current best practices.

* remove unused import

* Apply suggestions from code review

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

* fix the cpp invocation for older python

* allow for unprompted installation

* make sure qmk new-keyboard works on windows

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-05-19 15:24:46 -07:00
Erovia
3023015c5b
Make sure 'cformat' only runs on core files (#12909)
Co-authored-by: Zach White <skullydazed@drpepper.org>
2021-05-18 21:26:17 +02:00
Zach White
bc38c38f8c
Move the module checking and updating to lib/python (#12416)
* move the module checking and updating to lib/python

* make flake8 happy

* Update lib/python/qmk/cli/__init__.py

Co-authored-by: Erovia <Erovia@users.noreply.github.com>

* prompt the user to disable developer mode

* pyformat

* flake8

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-05-10 12:00:52 -07:00
Zach White
a3e7f3e7c5
Improve our CI tests (#11476)
* add a test and dry-run to qmk generate-api

* add a dry-run to qmk pyformat

* Add a --dry-run to qmk cformat

* reverse the order of nose2 and flake8 tests

* run CI test against cformat and pyformat

* fix programming errors

* tweak job name

* fix argument

* refine the files we select

* fix stack trace in --ci

* make cformat exit clean

* fix c file extensions

* decouple CI from pyformat

* remove --ci arg

* make ci happy

* use the environment var instead

* change output to text

* fix log message

* replace tabs
2021-05-10 11:18:44 -07:00
Joel Challis
3f854e16ac
Catch 'LAYOUTS = all' in lint (#12848)
Co-authored-by: Zach White <skullydazed@drpepper.org>
2021-05-09 22:39:48 +02:00
Zach White
5c924efa04
fix the makefile snippet so flake8 and yapf don't fight (#12849) 2021-05-09 11:30:17 -07:00
Erovia
30aae6298b
CLI: Use BASH if SHELL variable is not set (Windows) (#12847) 2021-05-09 19:19:42 +02:00
github-actions[bot]
6c5e94061c
[CI] Format code according to conventions (#12838)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-05-10 03:15:00 +10:00
Nick Brassel
1426ffc0ee
Add script to perform parallel builds. (#12497)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-05-09 17:06:44 +02:00
Joel Challis
f544b60aaa
Align qmk info ascii logic with milc logging (#11627) 2021-05-09 15:53:18 +02:00
Joel Challis
7725d813c9
Allow MAKE environment override for 'qmk clean' (#12473) 2021-05-09 12:57:49 +02:00
Joel Challis
25c97e0019
Shim cli to new keyboard script (#12780)
* Shim cli to new keyboard script

* Shim cli to new keyboard script

* Add docs
2021-05-02 16:59:10 +01:00
Joel Challis
0fd8faa1ad
Fix unused import in recent generation code (#12781) 2021-05-02 08:43:40 -07:00
Joel Challis
fc2b51194c
Allow <keyboard>.h to be optional when going data driven (#12706)
* Allow <keyboard>.h to be optional when going data driven

* Remove stub files as no longer required

* Rename function

* Remove include of layouts.h for now

* Take advantage of type=keyboard_folder

* Take advantage of type=keyboard_folder - kb should still be mandatory
2021-05-01 02:00:04 +01: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
Zach White
588bcdc8ca
Add support for tab completion (#12411)
* Add support for tab completion

* make flake8 happy

* Add documentation
2021-04-14 19:00:22 -07:00
Ryan
2170b75b26
qmk chibios-confmigrate: Make -i and -r required (#12515) 2021-04-08 14:16:15 +10:00
Ryan
cd981ec56a
qmk doctor: Fix WSL /mnt check (#12466) 2021-04-02 22:24:09 +01:00
Ryan
12f308748f
qmk doctor: Display macOS and Windows versions, and add WSL warning for /mnt (#12441) 2021-04-02 21:44:27 +11:00
github-actions[bot]
8a950a7116
Format code according to conventions (#12437)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-03-31 10:16:14 +11:00
Nick Brassel
64551a8386
Allow for clang-format up to v20. (#12407) 2021-03-31 09:33:26 +11:00
Zach White
5dc7951dc0
add utf-8 encoding to the open() call (#12388) 2021-03-27 08:55:47 -07:00
Zach White
3e60997edb
Add a qmk format-json command that will format JSON files (#12372)
* Add a command to format json files

* change to work after rebase

* add test for qmk format-json

* add documentation for qmk format-json

* Update lib/python/qmk/cli/format/json.py
2021-03-25 22:38:10 +11:00
github-actions[bot]
54b80ecf9f
[CI] Format code according to conventions (#12363)
* Format code according to conventions

* Update lib/python/qmk/cli/generate/api.py

* Update lib/python/qmk/cli/generate/api.py

Co-authored-by: QMK Bot <hello@qmk.fm>
Co-authored-by: Zach White <skullydazed@gmail.com>
2021-03-24 20:33:25 -07:00
Zach White
299008be36
Add support for qmk_configurator style aliases (#11954)
* Add support for qmk_configurator style aliases

* add the keyboard aliases to the api data

* add support for a keyboard metadata file

* make flake8 happy
2021-03-24 09:26:38 -07:00
Zach White
e1a7027fe8
use layout aliases when processing info.json (#12333) 2021-03-22 18:58:07 -07:00
Ryan
69eca63a84
qmk doctor: Don't run udev checks under WSL (#12231) 2021-03-19 04:24:21 +11:00
Ryan
aed8bace97
Fix typo in get_git_version() (#12182) 2021-03-10 08:36:39 +11:00