41 Commits (e7acd39b78a7cb81b258044dd190dc5bda55d120)

Author SHA1 Message Date
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 5f23f21216
CLI/Doctor: Print QMK_HOME (#10398) 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
Ryan db80209e69
Parse version better in `qmk doctor` GCC version checks (#9324) 6 years ago
Erovia 179e5c018f
CLI: Rework submodule checking (#9162) 6 years ago
Erovia 83ebbf57b3
Fix submodule check (#9155) 6 years ago
Erovia 6b54f3ce1c CLI: Tune doctor's udev rule checking to match #8750 6 years ago
skullydazed 66d94dc22a
Move everything to Python 3.6 (#8835) 6 years ago
Pete Johanson f9bb9ef0b8
CLI: Fix doctor error when can't run `bin/qmk --version`. (#8796) 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
skullydazed cf40c33c90
Add gcc version detection to qmk doctor (#8338) 6 years ago
Mikkel Jeppesen 4667bc554e
Fixed OS detection such that OSX doesn't take over the world (#8248) 6 years ago
Mikkel Jeppesen 0d3f0889c5
Fix os detection in OSX python 3.8 (#8187)
* Fix os detection in osx python 3.8

* oops
6 years ago
Mikkel Jeppesen 197a401be6 Qmk doctor os check to support newer msys2/w10 installations (#8031)
* Fixed OS detection on newer MSYS installations

* made OS sting lower case
6 years ago
skullydazed 5e65af3a76 Beef up how `qmk doctor` works. (#7375)
* Beef up how `qmk doctor` works.

* improve the `git submodule status` parsing. h/t @erovia

* Fix whitespace and imports

* yapf

* Add documentation for the new doctor functionality

* Replace type_unchanged() with str()

* remove unused modules

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

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

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
6 years ago
skullY 81ec3b5f81 yapf and style 6 years ago
Erovia 8f47e62b36 Make the udev rules easier to read and manage 6 years ago
Erovia e905d86fc5 Fix Pro Micro's and its bootloader's name 6 years ago
Erovia c6f47b5bd7 CLI: Rework ModemManager check and add udev check 6 years ago
skullY 0ed492978a Add pep8-naming to our python linting 6 years ago
skullydazed f7bdc54c69
Add flake8 to our test suite and fix all errors (#7379)
* Add flake8 to our test suite and fix all errors

* Add some documentation
6 years ago
skullY d1b6c11b7f When checking program returncodes treat both 0 and 1 as installed 6 years ago
Harry Wada f64d9b0621 Fix detection of ModemManager (#7076) 6 years ago
Ayman Bagabas 9067dc817a Fix qmk doctor 'bytes-like object is required' on linux
This fixes the following issue related to encoding on linux systems. Add
`universal_newlines=True` to subprocess.

<class 'TypeError'>
☒ a bytes-like object is required, not 'str'
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/milc.py", line 564, in __call__
    return self.__call__()
  File "/usr/local/lib/python3.7/site-packages/milc.py", line 569, in __call__
    return self._entrypoint(self)
  File "$HOME/qmk_firmware/lib/python/qmk/cli/doctor.py", line 56, in doctor
    for line in mm_check.stdout.split('\n'):
TypeError: a bytes-like object is required, not 'str'
6 years ago
skullydazed d569f08771
Configuration system for CLI (#6708)
* Rework how bin/qmk handles subcommands

* qmk config wip

* Code to show all configs

* Fully working `qmk config` command

* Mark some CLI arguments so they don't pollute the config file

* Fleshed out config support, nicer subcommand support

* sync with installable cli

* pyformat

* Add a test for subcommand_modules

* Documentation for the `qmk config` command

* split config_token on space so qmk config is more predictable

* Rework how subcommands are imported

* Document `arg_only`

* Document deleting from CLI

* Document how multiple operations work

* Add cli config to the doc index

* Add tests for the cli commands

* Make running the tests more reliable

* Be more selective about building all default keymaps

* Update new-keymap to fit the new subcommand style

* Add documentation about writing CLI scripts

* Document new-keyboard

* Update docs/cli_configuration.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/cli_development.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/cli_development.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/cli_development.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Address yan's comments.

* Apply suggestions from code review

suggestions from @noahfrederick

Co-Authored-By: Noah Frederick <code@noahfrederick.com>

* Apply suggestions from code review

Co-Authored-By: Noah Frederick <code@noahfrederick.com>

* Remove pip3 from the test runner
6 years ago
skullY 533d6d6a46 Make the modem manager check more pythonic 6 years ago
skullY 5b7a5b2a76 Setup a python test framework 6 years ago
skullydazed a25dd58bc5
QMK CLI and JSON keymap support (#6176)
* Script to generate keymap.c from JSON file.

* Support for keymap.json

* Add a warning about the keymap.c getting overwritten.

* Fix keymap generating

* Install the python deps

* Flesh out more of the python environment

* Remove defunct json2keymap

* Style everything with yapf

* Polish up python support

* Hide json keymap.c into the .build dir

* Polish up qmk-compile-json

* Make milc work with positional arguments

* Fix a couple small things

* Fix some errors and make the CLI more understandable

* Make the qmk wrapper more robust

* Add basic QMK Doctor

* Clean up docstrings and flesh them out as needed

* remove unused compile_firmware() function
6 years ago