1
0
Fork 0
forked from forks/qmk_firmware
Commit graph

800 commits

Author SHA1 Message Date
QMK Bot a939ee1197 Merge remote-tracking branch 'origin/master' into develop 2024-03-31 11:24:09 +00:00
Joel Challis 319d9aa7b9
Fix 'qmk compile' mass_compile execution (#23296) 2024-03-31 12:23:40 +01:00
Joel Challis 426bb9c651
Migrate features and LTO from rules.mk to data driven (#23302) 2024-03-30 10:43:15 +00:00
Joel Challis 6720e9c58c
qmk new-keyboard - detach community layout when selecting "none of the above" (#20405) 2024-03-14 21:24:24 +11:00
Joel Challis af1ac6b1bd
Reject duplicate matrix locations in LAYOUT macros (#23273) 2024-03-13 23:04:49 +00:00
zvecr 66060f1935 Merge remote-tracking branch 'origin/master' into develop 2024-03-13 00:30:09 +00:00
Joel Challis fb11330eab
Absolute paths for -kb argument should error consistently (#23262) 2024-03-13 00:28:08 +00:00
QMK Bot 2756912a0d Merge remote-tracking branch 'origin/master' into develop 2024-03-12 04:28:31 +00:00
Joel Challis ae38bdd5dc
Flag LAYOUT macros still defined in .h files (#23260) 2024-03-12 15:28:02 +11:00
Joel Challis 9f4a9d5826
Enable 'keyboard.json' as a build target (#22891) 2024-03-10 16:20:25 +11:00
Pablo Martínez c5225ab500
[Feature] Some metadata on QGF/QFF files (#20101) 2024-03-10 00:29:09 +00:00
Joel Challis a2c23e9419
Initial 'qmk test-c' functionality (#23038) 2024-03-05 16:59:30 +00:00
Joel Challis c060876692
Remove cd suggestion from new-keyboard (#23194) 2024-03-02 23:23:25 +11:00
Nick Brassel 1875659df0
CLI Speed improvements. (#23189) 2024-03-02 08:45:01 +11:00
Nick Brassel 56802f506c
Ensure qmk generate-compilation-database copies to userspace as well. (#23129) 2024-02-22 12:47:42 +00:00
Pablo Martínez 6810aaf013
[Refactor] qmk find (#21096) 2024-02-17 12:28:40 +00:00
Pablo Martínez 9b0b3d7b25
[Enhancement] Prepare for SyntaxWarning (#22562) 2024-02-16 14:34:43 +00:00
Pablo Martínez cf162f90fe
[Refactor] Break QGFImageFile's _save function into smaller pieces (#21124) 2024-02-16 13:40:21 +00:00
Joel Challis 98a68b68a4
Fix git-submodule running in wrong location (#23059) 2024-02-12 10:02:44 +00:00
Joel Challis e7b84e1cf6
Flag invalid keyboard features during lint (#22832) 2024-02-08 06:34:48 +00:00
Joel Challis 3a13c2120a
Ensure LTO is enabled as a info.json build config option (#22932)
* feature.lto -> build.lto

* keymaps too
2024-02-01 15:45:58 +00:00
QMK Bot 2655ce58f9 Merge remote-tracking branch 'origin/master' into develop 2024-01-22 11:36:23 +00:00
Joel Challis 58721a433b
Move layout macro OOB checks to lint (#22610) 2024-01-22 11:35:51 +00:00
QMK Bot a9e9a533aa Merge remote-tracking branch 'origin/master' into develop 2024-01-19 21:12:23 +00:00
Nick Brassel 62d19fc2ac
Copy compile_commands.json to userspace, if in use. (#22925) 2024-01-20 08:11:17 +11:00
Ryan 2b0965944d
qmk format-json: Force Unix line endings and ensure LF at EOF (#22901) 2024-01-16 17:13:58 +11:00
Ryan 1bebaa310a
CLI: Allow generation of both LED and RGB Matrix config (#22896) 2024-01-14 10:33:58 +00:00
Joel Challis 455cd65e80
Prevent qmk migrate processing unparsed info.json values (#22374) 2024-01-09 20:59:36 +11:00
Joel Challis 71257e21e6
Generate true/false for _DEFAULT_ON options (#22829) 2024-01-06 13:16:23 +00:00
Joel Challis 5267329caa
Ensure LED config is extracted when feature is disabled (#22809)
* Ensure LED config is extracted when feature is disabled

* Only attempt LED search if dd led config is missing
2024-01-04 05:47:52 +00:00
QMK Bot f8c6c6c395 Merge remote-tracking branch 'origin/master' into develop 2023-12-15 18:49:26 +00:00
Pablo Martínez 52c794b9fc
Initial (#22671) 2023-12-16 05:48:52 +11:00
QMK Bot f6774f2f1e Merge remote-tracking branch 'origin/master' into develop 2023-12-13 22:20:21 +00:00
Pablo Martínez 9c93f36034
[Bugfix] qmk {compile, flash} return code (#22639) 2023-12-14 09:19:49 +11:00
QMK Bot 8ba46dcf61 Merge remote-tracking branch 'origin/master' into develop 2023-12-06 07:00:10 +00:00
Sergey Vlasov 958215e9d6
Fix more qmk generate-api fallout from userspace support (#22619) 2023-12-06 17:59:42 +11:00
QMK Bot 4e836dd6cf Merge remote-tracking branch 'origin/master' into develop 2023-12-06 04:56:04 +00:00
Ryan f1043e3a92
Fix JSON keymap URLs generated by the API (#22618) 2023-12-06 15:55:35 +11:00
QMK Bot ca2e424b75 Merge remote-tracking branch 'origin/master' into develop 2023-12-05 13:32:43 +00:00
Joel Challis bba5c14933
Avoid exceptions when layouts contain OOB matrix values (#22609) 2023-12-05 13:32:07 +00:00
QMK Bot ceb15bf5db Merge remote-tracking branch 'origin/master' into develop 2023-12-02 23:58:44 +00:00
Joel Challis 98f4e9b837
Fix qmk doctor not finding binaries on Windows (#22593) 2023-12-02 23:58:12 +00:00
QMK Bot c7a58bf280 Merge remote-tracking branch 'origin/master' into develop 2023-12-02 22:47:08 +00:00
Nick Brassel 01eed8d5d8
Dedup the list of tested userspace paths. (#22599) 2023-12-03 09:46:37 +11:00
QMK Bot b45b3aaec7 Merge remote-tracking branch 'origin/master' into develop 2023-12-02 21:51:04 +00:00
Purdea Andrei b68e89f846
Don't print error message when there are no row pins and no col pins (#20104)
* Don't print error message when there are no row pins and no col pins

This error message could be triggered for example if MATRIX_IO_DELAY is
configured in config.h, but the matrix is a custom one. The custom matrix
can still call back to existing delay functions that make use of the
MATRIX_IO_DELAY macro. In this case 'matrix_pins' in info_data will be true,
but there will be no 'direct' 'cols' or 'rows' in info_data['matrix_pins'],
and without this commit it would trigger an invalid error.

* Update lib/python/qmk/info.py

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

---------

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2023-12-02 21:50:34 +00:00
QMK Bot 091310e75e Merge remote-tracking branch 'origin/master' into develop 2023-11-30 09:28:22 +00:00
Nick Brassel 024b4070c3
Fixup --no-temp for qmk mass-compile. (#22582) 2023-11-30 20:27:02 +11:00
Stefan Kerkmann 36ad597e15
lib: chibios-contrib: sync with chibios-21.11.x (#22560)
This contains commit from da78eb3759b8..9d7a7f904ed1:

    9d7a7f90 Merge pull request #382 from KarlK90/fix/rp2040-i2c-speeds
    70119934 Merge pull request #383 from
             KarlK90/fix/rp2040-usb-get-status-request
    1a1bbe6c rp2040: usb: fix usb_lld_get_status functions
    7d9212dd rp2040: i2c: fix speed calculation
    fb67e502 Merge pull request #377 from 1Conan/sn32_fix_registry
    e72939ef SN32: update registry
    5b4836ca Merge pull request #376 from dexter93/sn32_usb_v2
    5ded9de9 sn32: usb: do NOT clear interrupt status until handled
    Leftover Sonix reference code cleanup. Sometimes when there is
    traffic on more than 1 ep's packets would be dropped before they
    could be handled. Clearing the status flags after handling them
    takes care of it.
    e9a4a512 sn32: usb: only activate interrupts on lld start
    e4a35d1c sn32: fix host remote wakeup
2023-11-29 07:01:16 +01:00
Nick Brassel b7df75e47f
Fixup compilation with qmk compile -kb zzz -km all. (#22568) 2023-11-29 13:46:10 +11:00
Nick Brassel 049e964e61
Attempt to fix configurator. (#22555) 2023-11-28 14:07:21 +00:00
Nick Brassel 5501e804ff
QMK Userspace (#22222)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2023-11-28 07:53:43 +11:00
Nick Brassel 0fcd13f552
[CLI] Remove duplicates from search results (#22528) 2023-11-22 12:08:26 +11:00
Nick Brassel 46b996a55e
CLI parallel search updates (#22525) 2023-11-22 11:14:34 +11:00
Sergey Vlasov 7e27d72cbc
Fix qmk find failure due to circular imports (#22523)
There was an import cycle in the Python modules:

  - `qmk.build_targets` imported `qmk.cli.generate.compilation_database`;
  - importing `qmk.cli.generate.compilation_database` requires
    initializing `qmk.cli` first;
  - the initialization of `qmk.cli` imported the modules for all CLI
    commands;
  - `qmk.cli.compile` imported `qmk.build_targets`.

This cycle did not matter in most cases, because `qmk.cli` was imported
first, and in that case importing `qmk.cli.generate.compilation_database`
did not trigger the initialization of `qmk.cli` again.  However, there was
one corner case when `qmk.bulld_targets` was getting imported first:

  - The `qmk find` command uses the `multiprocessing` module.
  - The `multiprocessing` module uses the `spawn` start method on macOS
    and Windows.
  - When the `spawn` method is used, the child processes initialize
    without any Python modules loaded, and the required modules are loaded
    on demand by the `pickle` module when receiving the serialized objects
    from the main process.

The result was that the `qmk find` command did not work properly on macOS
(and probably Windows too); it reported exceptions like this:

    ImportError: cannot import name 'KeyboardKeymapBuildTarget' from partially initialized module 'qmk.build_targets' (most likely due to a circular import)

Moving the offending `qmk.cli.generate.compilation_database` import into
the method which actually uses it fixes the problem.
2023-11-21 15:05:29 +00:00
Joel Challis e279c78ba3
Enable linking of encoders to switch within layout macros (#22264) 2023-11-20 15:41:48 +00:00
Sergey Vlasov 62cca5c43a
qmk find: Fix failure with multiple filters (#22497)
When multiple `-f FILTER` options were specified, `qmk find` did not
return anything at all instead of printing the list of entries that
matched all of the specified filters.

The problem was that the statement in `_filter_keymap_targets()` that
filled `targets` had a wrong indent and therefore was executed for every
filter instead of only once after applying all filters, and
`valid_keymaps` was actually an iterator and therefore could be used
only once.  Moving the statement outside of the loop fixes the problem.
2023-11-19 08:26:00 +11:00
Nick Brassel 4938210711
CLI refactoring for common build target APIs (#22221) 2023-11-15 16:24:54 +11:00
QMK Bot d8176fb0f2 Merge remote-tracking branch 'origin/master' into develop 2023-11-11 09:51:03 +00:00
Nick Brassel 211fbbd16d
Add qmk license-check developer-level CLI command. (#22075) 2023-11-11 20:50:33 +11:00
Joel Challis 8ea955c72f
Improve argument handling of c2json (#22170)
* Improve argument handling of c2json

* Add automagic
2023-11-01 22:37:05 +00:00
Joel Challis b31426252e
Generate switch statement helpers for keycode ranges (#20059) 2023-11-01 13:11:42 +11:00
Joel Challis fbbb221a31
Implement data driven lighting defaults (#21825) 2023-11-01 01:26:24 +00:00
Joel Challis a19ae3d784
Add dd mapping for hardware based split handedness (#22369) 2023-11-01 00:55:48 +00:00
Joel Challis 17c3182b1c
Remove use of broken split.main (#22363) 2023-10-30 00:49:56 +00:00
Joel Challis 559450a099
Fix 'to_c' for config.h mappings (#22364) 2023-10-29 23:41:44 +00:00
Joel Challis 98530cad3b
Implement data driven dip switches (#22017)
* Add data driven dip switches

* Autogen weak matrix_mask
2023-10-29 01:09:02 +01:00
Joel Challis e4c54a9612
Support additional split sync items for info.json (#22193) 2023-10-21 01:48:05 +01:00
QMK Bot 20cefe254d Merge remote-tracking branch 'origin/master' into develop 2023-10-16 22:44:27 +00:00
Nick Brassel f6c70c40af
Allow for disabling of parallel processing of qmk find and qmk mass-compile. (#22160)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2023-10-17 09:43:50 +11:00
QMK Bot 690792eca9 Merge remote-tracking branch 'origin/master' into develop 2023-10-08 11:45:49 +00:00
Joel Challis 7ca652ce6d
Flag vial keymaps in 'qmk lint' (#22227) 2023-10-08 12:45:13 +01:00
QMK Bot 0ca60eb759 Merge remote-tracking branch 'origin/master' into develop 2023-10-05 23:35:02 +00:00
Nick Brassel 127560ae22
Add qmk ci-validate-aliases (#22205) 2023-10-06 10:34:23 +11:00
QMK Bot a268437f17 Merge remote-tracking branch 'origin/master' into develop 2023-09-28 20:48:55 +00:00
Nick Brassel c5706ef791
Allow for qmk mass-compile all:<keymap> (#22116)
Co-authored-by: Joel Challis <git@zvecr.com>
2023-09-29 06:48:20 +10:00
QMK Bot f4677c866e Merge remote-tracking branch 'origin/master' into develop 2023-09-28 10:49:40 +00:00
Nick Brassel fb0c64a567
Allow inline generation of compile_commands.json while doing a qmk compile, using --compiledb (#21549) 2023-09-28 11:48:58 +01:00
Joel Challis 4e86dca49d
Fix parsing/validation for 21939 (#22148) 2023-09-27 03:57:37 +01:00
QMK Bot ac3a1c3569 Merge remote-tracking branch 'origin/master' into develop 2023-09-23 03:08:19 +00:00
Nick Brassel 73ffa4594d
Fix up qmk mass-compile makefile indenting. (#22115) 2023-09-23 13:07:38 +10:00
QMK Bot 8ea8b80b85 Merge remote-tracking branch 'origin/master' into develop 2023-09-22 02:12:53 +00:00
Nick Brassel abd432fd7a
Allow for qmk compile -kb all. (#22022) 2023-09-22 12:12:20 +10:00
QMK Bot 24a922b54b Merge remote-tracking branch 'origin/master' into develop 2023-09-14 20:39:17 +00:00
Andrew Kannan 46d679ab11
qmk format-json: Add an in-place mode to format json command (#21610) 2023-09-14 21:38:42 +01:00
Joel Challis de381ad3b7
Generate keymap.json config options more forcefully (#21960) 2023-09-13 01:12:46 +01:00
Joel Challis 95681b8ff4
Add *_MATRIX_LED_COUNT generation (#21110) 2023-08-27 04:00:14 +01:00
Joel Challis 27ff1d4153
Remove layout aliases from keyboard_aliases.hjson (#21658) 2023-08-01 01:54:28 +01:00
Ryan f407d90598
keycode aliases: work around ChibiOS ch.h include guard (#21497) 2023-07-31 09:35:06 +10:00
Ryan 030511ece3
CLI: Improve error messages when layout key matrix row/col is OOB (#21640) 2023-07-31 09:34:19 +10:00
Stefan Kerkmann a992dc8c08
[Core] Update ChibiOS-Contrib (#21553) 2023-07-17 19:55:31 +10:00
Less/Rikki a0ea7a6b17
feat, docs: WB32 flashing (#21217) 2023-07-08 00:48:45 +10:00
QMK Bot 21263438e5 Merge remote-tracking branch 'origin/master' into develop 2023-07-07 14:08:56 +00:00
Ryan ef39ecd1b7
Adjust width requirement for big enter (#21470) 2023-07-08 00:08:13 +10:00
QMK Bot 8974e056a9 Merge remote-tracking branch 'origin/master' into develop 2023-07-07 12:09:59 +00:00
Pablo Martínez 6bdd8e2782
[Refactor] Python-ify QP's converter code (#20102) 2023-07-07 22:09:17 +10:00
Nick Brassel c814be0296
STM32H723 support (#21352) 2023-06-28 13:07:14 +10:00
Stefan Kerkmann a87c74ebe1
[Bug] Fix non-functional S3 wakeup / resume from suspense (#19780)
* Update ChibiOS-Contrib for USB suspend fixes

* Remove S3 wakup workaround

ChibiOS OTGv1 driver has a remote wakeup bug that prevents the device to
resume it's operation. 02516cbc24 
introduced a hotfix that forcefully restarted the usb driver as a workaround. 
This workaround broke multiple boards which do not use this driver / 
peripheral. With the update of ChibiOS this hotfix is now obsolete.

* Remove restart_usb_driver overrides

they are no longer necessary as the workaround is not needed anymore
for stm32f4

* Remove unused RP_USB_USE_SOF_INTR defines

The SOF interrupt is enabled dynamically by the RP2040 usb driver
2023-06-26 23:55:52 +02:00
Nick Brassel ffdc70bf0a
Consolidate KEYBOARD_OUTPUT+KEYMAP_OUTPUT=>INTERMEDIATE_OUTPUT (#21272) 2023-06-21 08:41:49 +10:00
Ryan a9f677b518
Slightly refine g_led_config parsing (#21170) 2023-06-08 21:08:02 +01:00