Commit Graph

116 Commits

Author SHA1 Message Date
Erovia
b2e9489485 CLI: Fix json flashing (#11765) 2021-02-02 09:51:18 -08:00
Zach White
006c55012e Fix QMK_BUILDDATE (#11641) 2021-02-02 09:47:27 -08:00
Zach White
3e1f25806b Generate version.h when compiling json files (#11581)
* generate version.h when compiling json files

* make flake8 happy

* fix formatting and verbose

* quiet up the compile output
2021-02-02 09:41:35 -08:00
Zach White
ef45401f53 Improve the compile and flash subcommands (#11334)
* add support for --clean to compile and flash

* compile standalone JSON keymaps without polluting the tree

* Add support for passing environment vars to make

* make flake8 happy

* document changes to qmk compile and flash

* add -e support to json export compiling

* Fix python 3.6

* honor $MAKE

* add support for parallel builds
2021-02-02 09:41:10 -08:00
Zach White
8f03f44ec7 Return the make exit code for qmk compile and flash (#11402) 2021-01-12 22:46:13 -08:00
LongerHV
180cb957fe [CLI] Add stdin support for json2c command (#11289)
* Implement stdin for json2c command

* Refactor

* Handle json decode error

* Add stdin support for c2json cli command

* Refactor to prevent code duplication

* Change exit(1) to return False in c2json command

* Remove unused import
2021-01-12 22:46:11 -08:00
Ryan
edc6a30ccc qmk fileformat: only print complaints, and fix some of them (#11278) 2021-01-12 22:46:10 -08:00
Erovia
a2bb489e37 Split of the doctor codebase (#11255)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-12 22:46:10 -08:00
Ryan
17cf1b1a8a Doctor: add check for .git folder (#11208)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-01-12 22:46:09 -08:00
Zach White
d8ff5fd505 Change keyboard json format to bring it inline with the current api (#11231) 2021-01-12 22:46:09 -08:00
Zach White
336e007310 simplify qmk doctor to make room for #11208 (#11242) 2021-01-12 22:46:09 -08:00
Ryan
a0eb53cb16 CLI-ify rgblight_breathing_table_calc.c (#11174)
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-authored-by: Zach White <skullydazed@drpepper.org>
2021-01-12 22:46:08 -08:00
Joel Challis
63d0fe05bb Fix warning logic when running 'qmk format -a' (#11177) 2021-01-12 22:46:07 -08:00
James Young
4d8d69237d 2020 November 28 Breaking Changes Update (#11053)
* 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
2021-01-12 22:46:05 -08:00
Drashna Jael're
2dbe99b04f Brute force update CLI tools 2021-01-12 22:43:35 -08:00
Erovia
bad0b20fe5 CLI: Udev related fixes and improvements (#10736) 2021-01-12 22:43:34 -08:00
Zach White
781cc0ed51 New command: qmk lint (#10761)
* Basic qmk lint command

* check for keymap readme

* change the workflow from qmk info to qmk lint

* add a strict mode

* parsing -> parse

* document qmk lint

* small info logging cleanup

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* honor --strict in more places

* change the job name to lint

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-12 22:43:34 -08:00
Ryan
4a2c2a8e8a CLI: Add qmk clean (#10785) 2021-01-12 22:43:33 -08:00
Ryan
d5a353b263 qmk info: Add --ascii flag (#10793)
* `qmk info`: Add `--ascii` flag

* Fix typo

* Force ASCII for Windows/MSYS2

* Make it gooder

* Remove redundant windows check

* ...And this too

* Make pytest work on Windows
2021-01-12 22:43:33 -08:00
Ryan
2e58be9e14 c2json: Fix TypeError on MSYS2 (#10709) 2021-01-12 22:43:32 -08:00
Ryan
6a285785f2 Fix CLI warning for Massdrop udev rule (#10691) 2021-01-12 22:43:32 -08:00
Ryan
aab7d18bcb [CLI] Remove check for Input Club boards (#10636) 2021-01-12 22:43:32 -08:00
Erovia
b6dbef77e2 CLI: Fix stripping of ANY from Configurator exports (#10585)
058737f broke it ¯\_(ツ)_/¯
2021-01-12 22:43:31 -08:00
Ryan
9daa7dcb37 CLI: Fix MCU lists for qmk info (#10574) 2021-01-12 22:43:31 -08:00
Erovia
5af121f815 [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>
2021-01-12 22:43:31 -08:00
Ryan
ae5ee61e7b CLI: update subcommands to use return instead of exit() (#10323) 2021-01-12 22:43:31 -08:00
Ryan
cce4f22e3a 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>
2021-01-12 22:43:30 -08:00
Ryan
63d73fdb02 Add STM32F401/F411 to ARM_PROCESSORS (#10362) 2021-01-12 22:43:29 -08:00
Ryan
47559f7960 Consolidate udev wules into a single file 2021-01-12 22:43:28 -08:00
Drashna Jael're
12207daaff Update QMK CLI to be inline with upstream 2020-09-07 13:28:27 -07:00
Ryan
43dadc79ff Parse version better in qmk doctor GCC version checks (#9324) 2020-08-08 21:16:44 -07:00
Erovia
15cc75be6f 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
2020-08-08 21:07:30 -07:00
Zach White
51912a8efc Fix running qmk info without any arguments (#9218) 2020-08-08 20:33:17 -07:00
Zach White
e85a5f04f8 Fix the path for generated keymaps (#9213) 2020-08-08 20:32:02 -07:00
Zach White
583c2cead2 Fix compiling json files (#9210) 2020-08-08 20:31:26 -07:00
Zach White
ec8c10ac1b [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>
2020-08-08 20:31:13 -07:00
Erovia
5ea1cd3526 CLI: fix json2c subcommand and add/fix tests (#9206)
Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
2020-08-08 20:29:03 -07:00
Erovia
e73966e6c2 CLI: Rework submodule checking (#9162) 2020-06-12 17:00:27 +09:00
Erovia
7a685cf795 Fix submodule check (#9155) 2020-06-12 17:00:27 +09:00
codecoffeecode
c5ec960a11 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>
2020-06-12 17:00:27 +09:00
Erovia
dc99dab283 CLI: Tune doctor's udev rule checking to match #8750 2020-06-12 17:00:27 +09:00
Keenan Brock
d4dd4d4864 [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
2020-06-12 17:00:27 +09:00
Keenan Brock
2b10d303d4 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}
2020-06-12 17:00:27 +09:00
Keenan Brock
df51ac1db1 kle2json: fix invocation error
resolves an issue while finding the file path

TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
2020-06-12 17:00:27 +09:00
skullydazed
1dfe06affc Move everything to Python 3.6 (#8835) 2020-06-12 17:00:27 +09:00
skullydazed
107ceb3d39 MILC: Fix setting config values for store_true and store_false (#8813) 2020-06-12 17:00:27 +09:00
Pete Johanson
470be280d4 CLI: Fix doctor error when can't run bin/qmk --version. (#8796) 2020-06-12 17:00:27 +09:00
Pete Johanson
27e43567d7 CLI: Use shutil.which to detect gmake, instead of OS check. 2020-06-12 17:00:27 +09:00
Pete Johanson
84562a4465 CLI: Invoke gmake on FreeBSD when using qmk compile.
* Current makefiles aren't portable, so invoke gmake on FreeBSD.
2020-06-12 17:00:27 +09:00
Erovia
dcad318105 Don't hide for devs... 2020-06-12 17:00:27 +09:00