aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python/qmk
AgeCommit message (Collapse)Author
2020-10-06[CLI] Add c2json (#8817)Gravatar 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-06Improve LAYOUT macro searching (#9530)Gravatar Ryan
* 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>
2020-10-06CLI: update subcommands to use return instead of exit() (#10323)Gravatar Ryan
2020-09-27Consolidate udev rules into a single file (#9693)Gravatar 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-27Add logic for AT90USBxx7 where needed (#10203)Gravatar Ryan
2020-09-24CLI/Doctor: Print QMK_HOME (#10398)Gravatar Ryan
2020-09-18Add STM32F401/F411 to ARM_PROCESSORS (#10362)Gravatar Ryan
2020-09-19Be more specific about Caterina devices, and add LilyPad PIDGravatar fauxpark
2020-09-19Add Pololu VIDGravatar fauxpark
2020-09-19Link to docs page in "missing" caseGravatar fauxpark
2020-09-19Split rules back up into bootloadersGravatar fauxpark
2020-09-19A comma would be niceGravatar fauxpark
2020-09-19Add TMK "FEED" VID to list of deprecated udev rulesGravatar fauxpark
2020-09-19Fix errorsGravatar fauxpark
2020-09-19Simplify doctor rule checkingGravatar fauxpark
2020-09-19Update rules in doctor.pyGravatar fauxpark
2020-08-29Add `st-flash` flash target (#9964)Gravatar Sergey Vlasov
* 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
2020-08-29Initial work for consolidation of ChibiOS platform files (#8327)Gravatar Nick Brassel
* 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.
2020-08-28Add debug logging to `run()` (#9986)Gravatar Ryan
2020-07-16Remove `DESCRIPTION` (#9732)Gravatar Ryan
2020-06-18Parse version better in `qmk doctor` GCC version checks (#9324)Gravatar Ryan
2020-06-17CLI: Add ATmega328 and ATtiny85 to supported CPUs (#9371)Gravatar Erovia
* CLI: Add ATmega328 to supported CPUs Support for ATmega328 was added in #9043. * Update lib/python/qmk/constants.py
2020-05-27Fix running qmk info without any arguments (#9218)Gravatar Zach White
2020-05-26Fix the path for generated keymaps (#9213)Gravatar Zach White
2020-05-26Fix compiling json files (#9210)Gravatar Zach White
2020-05-26[CLI] Add a subcommand for getting information about a keyboard (#8666)Gravatar Zach White
You can now use `qmk info` to get information about keyboards and keymaps. Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-05-26CLI: fix `json2c` subcommand and add/fix tests (#9206)Gravatar Erovia
Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
2020-05-21CLI: Rework submodule checking (#9162)Gravatar Erovia
2020-05-21Fix submodule check (#9155)Gravatar Erovia
2020-05-16Adding unit tests for list-keymaps command (#7711)Gravatar codecoffeecode
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-Authored-By: Erovia <Erovia@users.noreply.github.com>
2020-05-15CLI: Tune doctor's udev rule checking to match #8750Gravatar Erovia
2020-04-26kle2json: fix invocation errorGravatar Keenan Brock
resolves an issue while finding the file path TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
2020-04-18Move everything to Python 3.6 (#8835)Gravatar skullydazed
2020-04-14CLI: Fix doctor error when can't run `bin/qmk --version`. (#8796)Gravatar Pete Johanson
2020-04-13CLI: Use `shutil.which` to detect gmake, instead of OS check.Gravatar Pete Johanson
2020-04-13CLI: Invoke gmake on FreeBSD when using `qmk compile`.Gravatar Pete Johanson
* Current makefiles aren't portable, so invoke gmake on FreeBSD.
2020-04-08Don't hide for devs...Gravatar Erovia
2020-04-08Rebase on master, hide some other subcommandsGravatar Erovia
The list of hidden subcommands were approved by @skullydazed ;) Currently hidden if 'user.developer' is not True: - cformat - docs - kle2json - pyformat - pytest
2020-04-08CLI: Add development mode supportGravatar Erovia
Hide development specific options and don't require dev modules unless `user.developer` is set to `True`.
2020-04-07Correctly handle json keymaps with ANY()Gravatar skullY
2020-04-05Doctor: Add avrdude/dfu-util/dfu-programmer version printing (#8678)Gravatar Ryan
* Doctor: Add avrdude/dfu-util/dfu-programmer version printing * Extra newline * Iterate through version checking functions
2020-04-04minor tweaksGravatar skullY
2020-04-04Fix saving output from avrdude and dfu-programmerGravatar Ross Baquir
2020-04-04Use version_arg in ESSENTIAL_BINARIES dictGravatar Ross Baquir
2020-04-04Fixes #8541 by getting version from -dumpversion then --version as fallbackGravatar Ross Baquir
2020-03-29CLI: More MSYS2 fixes (#8577)Gravatar 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-18CLI: Hide json-keymap subcommand, as it's been deprecated.Gravatar Erovia
2020-03-13Add decorators for determining keyboard and keymap based on current ↵Gravatar skullydazed
directory (#8191) * Use pathlib everywhere we can * Improvements based on @erovia's feedback * rework qmk compile and qmk flash to use pathlib * style * Remove the subcommand_name argument from find_keyboard_keymap() * add experimental decorators * Create decorators for finding keyboard and keymap based on current directory. Decorators were inspired by @Erovia's brilliant work on the proof of concept.
2020-03-12use qmk.path.normpath to locate the output file.Gravatar skullY
2020-03-10Rename qmk json-keymap to qmk json2c (#8372)Gravatar skullydazed