127 Commits (7229997e7d7e3519c09774020c7f3979541ea761)

Author SHA1 Message Date
Ryan 7229997e7d
CLI: Fix MCU lists for `qmk info` (#10574) 5 years ago
Erovia 058737f116
[CLI] Add c2json (#8817)
* Basic keymap parsing finally works

* Add 'keymap.json' creation to the qmk.keymap module

* Add tests and fix formatting

* Fix/exclude flake8 errors

* Convert keymap.c to valid keymap.json

* Fix some errors

* Add tests

* Finalize keymap.json creation, add json template

* Add docs

* Move pygments to the standard requirements

* Add support for nameless layers, fix tests

* Fix things after rebase

* Add missing 'keymap' value.

* Fix missing layer numbers from advanced keycodes

Buckwich noticed that if the advanced keycode / layer toggling key
contains a number, it goes missing.
Now we properly handle them.
Thx for noticing!

* Apply suggestions from code review

* fixup tests

Co-authored-by: Zach White <skullydazed@drpepper.org>
Co-authored-by: skullY <skullydazed@gmail.com>
5 years ago
Ryan c9a06965c9
Improve LAYOUT macro searching (#9530)
* Improve LAYOUT macro searching

* Apply suggestions from code review

Co-authored-by: Zach White <skullydazed@users.noreply.github.com>

* Adjust signature

* Try to copy the makefile's handling of DEFAULT_FOLDER

* Move it further up, into `info_json()`

* Move it even further up so that keyboard_folder is correct

* Update lib/python/qmk/info.py

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

* Update lib/python/qmk/info.py

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

Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
Co-authored-by: Zach White <skullydazed@drpepper.org>
5 years ago
Ryan 2c9ffd4739
CLI: update subcommands to use return instead of exit() (#10323) 5 years ago
Ryan e7acd39b78
Consolidate udev rules into a single file (#9693)
* Consolidate udev rules into a single file

* Update rules in doctor.py

* Simplify doctor rule checking

* Fix errors

* Add TMK "FEED" VID to list of deprecated udev rules

* A comma would be nice

* Split rules back up into bootloaders

* Link to docs page in "missing" case

* Add Pololu VID

* Be more specific about Caterina devices, and add LilyPad PID
5 years ago
Ryan 70fce6564f
Add logic for AT90USBxx7 where needed (#10203) 5 years ago
Ryan 5f23f21216
CLI/Doctor: Print QMK_HOME (#10398) 5 years ago
Ryan bbfb709a6a
Add STM32F401/F411 to ARM_PROCESSORS (#10362) 5 years ago
fauxpark a0305f5e7e Be more specific about Caterina devices, and add LilyPad PID 5 years ago
fauxpark c2a0cebf8b Add Pololu VID 5 years ago
fauxpark ef1b050b32 Link to docs page in "missing" case 5 years ago
fauxpark 4bee445c2f Split rules back up into bootloaders 5 years ago
fauxpark 7921c5d9b8 A comma would be nice 5 years ago
fauxpark 72b1ff5899 Add TMK "FEED" VID to list of deprecated udev rules 5 years ago
fauxpark eee6dd3544 Fix errors 5 years ago
fauxpark 510138f525 Simplify doctor rule checking 5 years ago
fauxpark 07e37c857c Update rules in doctor.py 5 years ago
Sergey Vlasov d00ac5dfb6 Add `st-flash` flash target (#9964)
* Add `st-flash` flash target

Add support for flashing the firmware via the `st-flash` utility from
the STLink Tools package (https://github.com/stlink-org/stlink).

* Add `st-flash` to the `qmk flash -b` output
5 years ago
Nick Brassel 385d49cc39 Initial work for consolidation of ChibiOS platform files (#8327)
* Initial work for consolidation of board files and default ChibiOS configs.

* Migrate F401/F411 black pills for testing.

* Add early init bootloader jump flag.

* Add support for I2C in order to use i2c_scanner keymap.

* Add F401/F411 HSE bypass to get things booting.

* Exempt "hooked" ChibiOS conf files from updater script.

* Fix up ordering for bootloader_defs file check.

* Match previous $(KEYBOARD_PATHS) value for Proton-C, updated for all board configs.
5 years ago
Ryan 0f9b7b9768
Add debug logging to `run()` (#9986) 5 years ago
Ryan 72d3270547
Remove `DESCRIPTION` (#9732) 5 years ago
Ryan db80209e69
Parse version better in `qmk doctor` GCC version checks (#9324) 6 years ago
Erovia a0bf235644
CLI: Add ATmega328 and ATtiny85 to supported CPUs (#9371)
* CLI: Add ATmega328 to supported CPUs

Support for ATmega328 was added in #9043.

* Update lib/python/qmk/constants.py
6 years ago
Zach White 1a5dc278bc
Fix running qmk info without any arguments (#9218) 6 years ago
Zach White a5e749d8cd
Fix the path for generated keymaps (#9213) 6 years ago
Zach White 4ee623fdd5
Fix compiling json files (#9210) 6 years ago
Zach White 751316c344
[CLI] Add a subcommand for getting information about a keyboard (#8666)
You can now use `qmk info` to get information about keyboards and keymaps.

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
6 years ago
Erovia 6501377070
CLI: fix `json2c` subcommand and add/fix tests (#9206)
Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
6 years ago
Erovia 179e5c018f
CLI: Rework submodule checking (#9162) 6 years ago
Erovia 83ebbf57b3
Fix submodule check (#9155) 6 years ago
codecoffeecode f125406700
Adding unit tests for list-keymaps command (#7711)
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-Authored-By: Erovia <Erovia@users.noreply.github.com>
6 years ago
Erovia 6b54f3ce1c CLI: Tune doctor's udev rule checking to match #8750 6 years ago
Keenan Brock c3aaed8dfb
[kle2info] Trim the code in `kle2xy` (#8955)
* [kle2jinfo] use min/max instead of if

This is a slight change.
Before, the key_skel would keep the invalid value for future keys.
I think this is what was actually intended.

* [kle2info] calculate x

x is the current_x * key_size + (key_size/2)
y is the current_y * key_size + (key_size/2)

no reason to track both
6 years ago
Keenan Brock 5c666398d5 kle2info: trim down x and y output
fixes quirks with float implementation.

before:
{"label":"Esc", "x":0.66, "y":1.45}, {"label":"!", "x":1.6600000000000001, "y":1.45}

after:
{"label":"Esc", "x":0.66, "y":1.45}, {"label":"!", "x":1.66, "y":1.45}
6 years ago
Keenan Brock a47915d2d2 kle2json: fix invocation error
resolves an issue while finding the file path

TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
6 years ago
skullydazed 66d94dc22a
Move everything to Python 3.6 (#8835) 6 years ago
skullydazed 484c059d86
MILC: Fix setting config values for store_true and store_false (#8813) 6 years ago
Pete Johanson f9bb9ef0b8
CLI: Fix doctor error when can't run `bin/qmk --version`. (#8796) 6 years ago
Pete Johanson 6fb048fdaf CLI: Use `shutil.which` to detect gmake, instead of OS check. 6 years ago
Pete Johanson 06b571aa53 CLI: Invoke gmake on FreeBSD when using `qmk compile`.
* Current makefiles aren't portable, so invoke gmake on FreeBSD.
6 years ago
Erovia 38f14c4174 Don't hide for devs... 6 years ago
Erovia 5cfc3ce02e Rebase on master, hide some other subcommands
The list of hidden subcommands were approved by @skullydazed ;)
Currently hidden if 'user.developer' is not True:

  - cformat
  - docs
  - kle2json
  - pyformat
  - pytest
6 years ago
Erovia c61f016fa4 CLI: Add development mode support
Hide development specific options and don't require dev modules unless
`user.developer` is set to `True`.
6 years ago
skullY b4ef72423e Correctly handle json keymaps with ANY() 6 years ago
Ryan 6de77141a4
Doctor: Add avrdude/dfu-util/dfu-programmer version printing (#8678)
* Doctor: Add avrdude/dfu-util/dfu-programmer version printing

* Extra newline

* Iterate through version checking functions
6 years ago
skullY 2f15cb2126 minor tweaks 6 years ago
Ross Baquir 8af156d976 Fix saving output from avrdude and dfu-programmer 6 years ago
Ross Baquir 70b5015162 Use version_arg in ESSENTIAL_BINARIES dict 6 years ago
Ross Baquir 3fad3854d6 Fixes #8541 by getting version from -dumpversion then --version as fallback 6 years ago
Erovia c89c084146
CLI: More MSYS2 fixes (#8577)
* CLI: More MSYS2 fixes

Now I can fully setup and work with qmk_firmware on an MSYS2
installation without any errors or exceptions.

* Apply suggestions from code review

Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>

* Some improvements

* Remove unnecessary import

* Remove slow, unused code

Getting the version from GIT was slow on both Windows and Docker.
Until we find a better, faster way, this is removed.

* remove unused imports

* Implement @vomindoraan's suggestions

* refine how we pick the shell to use

* Apply @fauxpark's suggestions

fauxpark investigated the topic of shells in MSYS2 a bit and we come to the conclusion that the safest bet was to just use the user's shell.
Anything more just opens up more edge-cases than it solves.

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Use `platform_id` in doctor

This will bring it in line with the new code.

Co-authored-by: skullydazed <skullydazed@users.noreply.github.com>
Co-authored-by: skullY <skullydazed@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
6 years ago