Commit Graph

150 Commits

Author SHA1 Message Date
Ryan bbfb709a6a
Add STM32F401/F411 to ARM_PROCESSORS (#10362) 2020-09-18 20:48:02 -07:00
yiancar 47f8947bf5 Update vusb to match 3rd endpoint. (#9020)
* Update vusb to match 3rd endpoint.

- With the addition of https://github.com/qmk/v-usb/pull/1 a 3rd endpoint (endpoint4) becomes available.
- We can assign mouse/extrakeys to that endpoint as its a desirable feature and leave rawhid and console to compete for the 2nd endpoint.

NOTE: The version of vusb.c in future branch is older than master. Just remember that it will need a #error if both raw_hid and console are enabled at the same time.

* Final Fixes

* Update tmk_core/protocol/vusb/vusb.c

* Update tmk_core/protocol/vusb/vusb.c

* Update tmk_core/protocol/vusb/usbconfig.h

* Update tmk_core/protocol/vusb/usbconfig.h

* Update tmk_core/protocol/vusb/usbconfig.h

* Update tmk_core/protocol/vusb/usbconfig.h

* Updated vusb submodule to latest commit
2020-08-29 14:30:02 -07:00
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
2020-08-29 14:30:02 -07:00
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.
2020-08-29 14:30:02 -07:00
Ryan 0f9b7b9768
Add debug logging to `run()` (#9986) 2020-08-28 08:03:42 -07:00
Ryan 72d3270547
Remove `DESCRIPTION` (#9732) 2020-07-16 15:49:18 +10:00
Ryan db80209e69
Parse version better in `qmk doctor` GCC version checks (#9324) 2020-06-18 19:37:47 +01:00
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
2020-06-17 15:45:53 -07:00
James Young fced377ac0
2020 May 30 Breaking Changes Update (#9215)
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968)

* Convert V-USB usbdrv to a submodule (#8321)

* Unify Tap Hold functions and documentation (#8348)

* Changing board names to prevent confusion (#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (#8499)

* Move spaceman keyboards (#8830)

* Migrate miscellaneous `fn_actions` entries (#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (#8537)

* Refactor Lily58 to use split_common (#6260)

* Refactor zinc to use split_common (#7114)

* Add a message if bin/qmk doesn't work (#9000)

* Fix conflicting types for 'tfp_printf' (#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480)

* Refactor and updates to TKC1800 code (#8472)

* Switch to qmk forks for everything (#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484)

* Audio enable corrections (2/3) (#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582)

* Audio enable corrections (Part 4) (#8974)

* Fix typo from PR7114 (#9171)

* Augment future branch Changelogs (#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
2020-05-30 13:14:59 -07:00
Zach White 1a5dc278bc
Fix running qmk info without any arguments (#9218) 2020-05-27 09:43:22 +02:00
Zach White a5e749d8cd
Fix the path for generated keymaps (#9213) 2020-05-26 15:18:49 -07:00
Zach White 4ee623fdd5
Fix compiling json files (#9210) 2020-05-26 14:29:48 -07:00
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>
2020-05-26 13:05:41 -07:00
Erovia 6501377070
CLI: fix `json2c` subcommand and add/fix tests (#9206)
Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
2020-05-26 17:43:33 +02:00
Erovia 179e5c018f
CLI: Rework submodule checking (#9162) 2020-05-21 21:56:43 +02:00
Erovia 83ebbf57b3
Fix submodule check (#9155) 2020-05-21 10:15:18 +02:00
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>
2020-05-16 22:47:07 +02:00
Erovia 6b54f3ce1c CLI: Tune doctor's udev rule checking to match #8750 2020-05-15 12:59:46 -07:00
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
2020-05-15 12:09:22 -07:00
skullY 6f30b402a2 Revert "Fix conflicting types for 'tfp_printf' (#8269)"
This reverts commit e17b55e33a.
2020-05-04 09:25:44 -07:00
Joel Challis e17b55e33a
Fix conflicting types for 'tfp_printf' (#8269)
* Refactor to use mpaland/printf

* trim firmware size

* remove keymap changes

* run clang format

* Fixup after rebase

* fix up git-submodule command for printf
2020-05-03 23:19:51 -07:00
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}
2020-04-26 12:20:40 -04:00
Keenan Brock a47915d2d2 kle2json: fix invocation error
resolves an issue while finding the file path

TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
2020-04-26 12:19:37 -04:00
skullydazed 66d94dc22a
Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
skullydazed 484c059d86
MILC: Fix setting config values for store_true and store_false (#8813) 2020-04-15 22:49:22 +02:00
Pete Johanson f9bb9ef0b8
CLI: Fix doctor error when can't run `bin/qmk --version`. (#8796) 2020-04-14 16:58:00 +02:00
Pete Johanson 6fb048fdaf CLI: Use `shutil.which` to detect gmake, instead of OS check. 2020-04-13 10:48:27 -07:00
Pete Johanson 06b571aa53 CLI: Invoke gmake on FreeBSD when using `qmk compile`.
* Current makefiles aren't portable, so invoke gmake on FreeBSD.
2020-04-13 10:48:27 -07:00
Erovia 38f14c4174 Don't hide for devs... 2020-04-08 09:31:14 -07:00
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
2020-04-08 09:31:14 -07:00
Erovia c61f016fa4 CLI: Add development mode support
Hide development specific options and don't require dev modules unless
`user.developer` is set to `True`.
2020-04-08 09:31:14 -07:00
skullY b4ef72423e Correctly handle json keymaps with ANY() 2020-04-07 01:34:21 -07:00
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
2020-04-05 18:11:55 +02:00
skullY 2f15cb2126 minor tweaks 2020-04-04 12:43:13 -07:00
Ross Baquir 8af156d976 Fix saving output from avrdude and dfu-programmer 2020-04-04 12:43:13 -07:00
Ross Baquir 70b5015162 Use version_arg in ESSENTIAL_BINARIES dict 2020-04-04 12:43:13 -07:00
Ross Baquir 3fad3854d6 Fixes #8541 by getting version from -dumpversion then --version as fallback 2020-04-04 12:43:13 -07:00
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>
2020-03-29 14:29:44 +02:00
Erovia 8123dd2649 CLI: Hide json-keymap subcommand, as it's been deprecated. 2020-03-18 10:17:23 -07:00
skullydazed f81b0e35a6
Add decorators for determining keyboard and keymap based on current 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-13 15:47:04 -07:00
skullY 799acb2802 use qmk.path.normpath to locate the output file. 2020-03-12 13:48:17 -07:00
skullydazed 2a05d433c9
Rename qmk json-keymap to qmk json2c (#8372) 2020-03-10 13:51:19 -07:00
skullydazed cf40c33c90
Add gcc version detection to qmk doctor (#8338) 2020-03-08 09:21:45 -07:00
James Young 26eef35f07
2020 February 29 Breaking Changes Update (#8064) 2020-02-29 11:59:30 -08:00
Mikkel Jeppesen 4667bc554e
Fixed OS detection such that OSX doesn't take over the world (#8248) 2020-02-26 10:12:13 +01:00
Akaash Suresh b353028ea5
New functionality for cformat (#7893)
Fixing complexity

remove lambda

PR review fixes #1

Removing unneccesary string substitution

Handle -a and specified files

Complexity rewrite, use pathlib
2020-02-22 20:57:19 -08:00
skullydazed c66930445f
Use pathlib everywhere we can (#7872)
* Use pathlib everywhere we can

* Update lib/python/qmk/path.py

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

* Update lib/python/qmk/path.py

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

* 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()

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-02-17 11:42:11 -08:00
Mikkel Jeppesen 0d3f0889c5
Fix os detection in OSX python 3.8 (#8187)
* Fix os detection in osx python 3.8

* oops
2020-02-17 12:18:49 +01:00
skullY 58101cbb73 fix list_keymaps for python 3.5 2020-02-15 15:19:03 -08:00
Erovia 512261b343 Pathlib-ify qmk.keymap.list_keymaps() 2020-02-15 15:19:03 -08:00