Commit Graph

576 Commits (08ba8a0160777b47966ff1c2ef080c90e1a97c5e)

Author SHA1 Message Date
Joel Challis fc7e9efd21
Improve importer workflow (#17707) 2022-08-13 14:39:56 +01:00
Nick Brassel 154d35ac14
Remove `UNUSED_PINS` (#17931) 2022-08-06 23:23:35 +10:00
QMK Bot 820371c31b Merge remote-tracking branch 'origin/master' into develop 2022-08-06 12:38:13 +00:00
Ryan 37345e2ace
Provide users with replacements for deprecated/invalid functionality where applicable (#17604) 2022-08-06 22:37:40 +10:00
Joel Challis 897403c4a7
Publish data as part of API generation (#17020) 2022-08-06 16:14:29 +10:00
QMK Bot 00c1653a15 Merge remote-tracking branch 'origin/master' into develop 2022-07-27 09:29:50 +00:00
Albert Y 3285659690
CLI compatibility for MacOS (#17811) 2022-07-27 10:29:10 +01:00
QMK Bot 61da9286a1 Merge remote-tracking branch 'origin/master' into develop 2022-07-26 16:38:06 +00:00
Nick Brassel d1434b6d75
Make `qmk doctor` print out the last log entry for upstream/{master,develop}, including dates (#17713) 2022-07-26 17:37:28 +01:00
QMK Bot 8254d73fd4 Merge remote-tracking branch 'origin/master' into develop 2022-07-23 16:42:55 +00:00
Niko Wenselowski 1f42a8ccdd
Fix test logic to check for both keymaps (#17761)
Python will evaluate first the left and then the right side of the and operator.

The left side would previously return True based on the truthiness logic that treats any non-emptry string as true.

It would not check if the desired keymap exists.

If the left side is true it will evaluate the right side which will check for the existance of a specific keymap.

With this change the check for existance of two keymaps is implemented.
2022-07-23 17:42:19 +01:00
Joel Challis 35d78aa8a4
More DD encoder fixes (#17615) 2022-07-11 10:51:39 +01:00
QMK Bot 39e1e27ea9 Merge remote-tracking branch 'origin/master' into develop 2022-07-09 12:33:33 +00:00
Nick Brassel 561c5e1d7a
Add line to multibuild output log showing the actual build target. (#17606) 2022-07-09 22:32:43 +10:00
QMK Bot 30f2556ae9 Merge remote-tracking branch 'origin/master' into develop 2022-07-08 21:50:28 +00:00
Dasky 06310e81e9
Allow only col or row pins for *_right extraction. (#17590) 2022-07-08 22:49:55 +01:00
Joel Challis 81d317aa87
Fix rgbkb/sol/rev2 build issues (#17601) 2022-07-08 22:48:48 +01:00
Ryan ac5e6b6a3b
Tentative Teensy 3.5 support (#14420)
* Tentative Teensy 3.5 support

* Set firmware format to .hex for ARM Teensys

* Got to "device descriptor failed" by comparing with Teensy 3.6 code

* Drop down to 96MHz...

* Bump back up to 120MHz
2022-07-03 00:12:45 +10:00
Joel Challis 59e28b8958
Add cli command to import keyboard|keymap|kbfirmware (#16668) 2022-07-02 21:50:09 +10:00
QMK Bot d6c39490df Merge remote-tracking branch 'origin/master' into develop 2022-07-01 21:21:11 +00:00
Joel Challis 9d70162d53
Allow locate_keymap to handle DEFAULT_FOLDER (#17529) 2022-07-01 22:20:32 +01:00
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 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
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 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
Joel Challis 1a400d8644
Allow encoder config from info.json (#17295) 2022-06-20 20:15:06 -07:00
Joel Challis 17ec1650fd
Additional schema fixes (#17414) 2022-06-18 15:30:46 +10:00
precondition 0b1bed1d41
Use --exclude-from=.gitignore in place of --exclude-standard (#17399) 2022-06-16 11:20:12 -07: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 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
Ryan af6435d44d
`qmk doctor`: show arch for macOS (#17356) 2022-06-11 19:10:09 +01: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 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
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
Dasky 2de70e6f2d
Add uf2-split-* make targets. (#17257) 2022-05-31 08:04:50 +10:00
Joy Lee 1c7e8b9a9d
Added support for Wb32fq95 (#16871) 2022-05-23 15:57:24 +10:00
Joel Challis 608fa5154c
Data driven `g_led_config` (#16728) 2022-05-16 07:39:29 +10:00
Nick Brassel be9fa68785
Also format *.hpp files. (#16997) 2022-05-04 05:48:41 +10: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 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
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
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
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
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
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
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
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
Joel Challis 4f8cc32cf5
Extend 'qmk info' to handle keymap level overrides (#16702) 2022-03-21 11:57:41 +01: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
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 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
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 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
Joel Challis b0621223bc
Various fixes for new-keyboard (#16358) 2022-02-15 01:42:58 +00:00
Erovia 23c238a180
CLI: Minor additions #12795 (#16276) 2022-02-14 12:02:35 +01: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
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 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
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
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