summaryrefslogtreecommitdiff
path: root/lib/python/qmk/cli/doctor.py
AgeCommit message (Collapse)Author
2021-01-31Create a system to map between info.json and config.h/rules.mk (#11548)Zach White
* generate rules.mk from a json mapping * generate rules.mk from a json mapping * support for config.h from json maps * improve the mapping system * document the mapping system * move data/maps to data/mappings * fix flake8 errors * fixup LED_MATRIX_DRIVER * remove product and description from the vision_division keymap level * reduce the complexity of generate-rules-mk * add tests for the generate commands * fix qmk doctor when submodules are not clean
2020-12-21Split of the doctor codebase (#11255)Erovia
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-20Doctor: add check for .git folder (#11208)Ryan
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-12-18simplify qmk doctor to make room for #11208 (#11242)Zach White
2020-11-282020 November 28 Breaking Changes Update (#11053)James Young
* Branch point for 2020 November 28 Breaking Change * Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183) * Add support for soft serial to ATmega32U2 (#10204) * Change MIDI velocity implementation to allow direct control of velocity value (#9940) * Add ability to build a subset of all keyboards based on platform. * Actually use eeprom_driver_init(). * Make bootloader_jump weak for ChibiOS. (#10417) * Joystick 16-bit support (#10439) * Per-encoder resolutions (#10259) * Share button state from mousekey to pointing_device (#10179) * Add hotfix for chibios keyboards not wake (#10088) * Add advanced/efficient RGB Matrix Indicators (#8564) * Naming change. * Support for STM32 GPIOF,G,H,I,J,K (#10206) * Add milc as a dependency and remove the installed milc (#10563) * ChibiOS upgrade: early init conversions (#10214) * ChibiOS upgrade: configuration file migrator (#9952) * Haptic and solenoid cleanup (#9700) * XD75 cleanup (#10524) * OLED display update interval support (#10388) * Add definition based on currently-selected serial driver. (#10716) * New feature: Retro Tapping per key (#10622) * Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638) * Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530) * Rescale both ChibiOS and AVR backlighting. * Reduce Helix keyboard build variation (#8669) * Minor change to behavior allowing display updates to continue between task ticks (#10750) * Some GPIO manipulations in matrix.c change to atomic. (#10491) * qmk cformat (#10767) * [Keyboard] Update the Speedo firmware for v3.0 (#10657) * Maartenwut/Maarten namechange to evyd13/Evy (#10274) * [quantum] combine repeated lines of code (#10837) * Add step sequencer feature (#9703) * aeboards/ext65 refactor (#10820) * Refactor xelus/dawn60 for Rev2 later (#10584) * add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824) * [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549) * update chibios os usb for the otg driver (#8893) * Remove HD44780 References, Part 4 (#10735) * [Keyboard] Add Valor FRL TKL (+refactor) (#10512) * Fix cursor position bug in oled_write_raw functions (#10800) * Fixup version.h writing when using SKIP_VERSION=yes (#10972) * Allow for certain code in the codebase assuming length of string. (#10974) * Add AT90USB support for serial.c (#10706) * Auto shift: support repeats and early registration (#9826) * Rename ledmatrix.h to match .c file (#7949) * Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231) * Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840) * Merge point for 2020 Nov 28 Breaking Change
2020-11-16CLI: Udev related fixes and improvements (#10736)Erovia
2020-10-20Fix CLI warning for Massdrop udev rule (#10691)Ryan
2020-10-17Improve ANSI support and --no-color (#10537)Zach White
* Improve ANSI support and --no-color * tweak when levelname gets stripped of ansi * sync with latest milc * make questions work with both milc versions * pyformat
2020-10-06[CLI] Add c2json (#8817)Erovia
* 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>
2020-10-06CLI: update subcommands to use return instead of exit() (#10323)Ryan
2020-09-27Consolidate udev rules into a single file (#9693)Ryan
* 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
2020-09-24CLI/Doctor: Print QMK_HOME (#10398)Ryan
2020-09-19Be more specific about Caterina devices, and add LilyPad PIDfauxpark
2020-09-19Add Pololu VIDfauxpark
2020-09-19Link to docs page in "missing" casefauxpark
2020-09-19Split rules back up into bootloadersfauxpark
2020-09-19A comma would be nicefauxpark
2020-09-19Add TMK "FEED" VID to list of deprecated udev rulesfauxpark
2020-09-19Fix errorsfauxpark
2020-09-19Simplify doctor rule checkingfauxpark
2020-09-19Update rules in doctor.pyfauxpark
2020-06-18Parse version better in `qmk doctor` GCC version checks (#9324)Ryan
2020-05-21CLI: Rework submodule checking (#9162)Erovia
2020-05-21Fix submodule check (#9155)Erovia
2020-05-15CLI: Tune doctor's udev rule checking to match #8750Erovia
2020-04-18Move everything to Python 3.6 (#8835)skullydazed
2020-04-14CLI: Fix doctor error when can't run `bin/qmk --version`. (#8796)Pete Johanson
2020-04-05Doctor: Add avrdude/dfu-util/dfu-programmer version printing (#8678)Ryan
* Doctor: Add avrdude/dfu-util/dfu-programmer version printing * Extra newline * Iterate through version checking functions
2020-04-04minor tweaksskullY
2020-04-04Fix saving output from avrdude and dfu-programmerRoss Baquir
2020-04-04Use version_arg in ESSENTIAL_BINARIES dictRoss Baquir
2020-04-04Fixes #8541 by getting version from -dumpversion then --version as fallbackRoss Baquir
2020-03-29CLI: More MSYS2 fixes (#8577)Erovia
* 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>
2020-03-08Add gcc version detection to qmk doctor (#8338)skullydazed
2020-02-26Fixed OS detection such that OSX doesn't take over the world (#8248)Mikkel Jeppesen
2020-02-17Fix os detection in OSX python 3.8 (#8187)Mikkel Jeppesen
* Fix os detection in osx python 3.8 * oops
2020-01-28Qmk doctor os check to support newer msys2/w10 installations (#8031)Mikkel Jeppesen
* Fixed OS detection on newer MSYS installations * made OS sting lower case
2020-01-24Beef up how `qmk doctor` works. (#7375)skullydazed
* 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>
2020-01-11yapf and styleskullY
2020-01-11Make the udev rules easier to read and manageErovia
2020-01-11Fix Pro Micro's and its bootloader's nameErovia
2020-01-11CLI: Rework ModemManager check and add udev checkErovia
2019-12-01Add pep8-naming to our python lintingskullY
2019-11-20Add flake8 to our test suite and fix all errors (#7379)skullydazed
* Add flake8 to our test suite and fix all errors * Add some documentation
2019-11-12When checking program returncodes treat both 0 and 1 as installedskullY
2019-10-20Fix detection of ModemManager (#7076)Harry Wada
2019-10-03Fix qmk doctor 'bytes-like object is required' on linuxAyman Bagabas
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'
2019-09-22Configuration system for CLI (#6708)skullydazed
* 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
2019-09-07Make the modem manager check more pythonicskullY
2019-09-07Setup a python test frameworkskullY