Commit graph

179 commits

Author SHA1 Message Date
Zach White 8724a70c4c
Reduce travis load by replacing an exclusive grep with an inclusive grep (#10964)
* add -n to avoid compiling

* switch to an include rather than exclude strategy
2020-11-30 11:19:44 -08:00
James Young c66df16644
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
2020-11-28 12:02:18 -08:00
Erovia b337ba798e
CLI: Udev related fixes and improvements (#10736) 2020-11-16 21:09:32 +00:00
Joel Challis aae3b35c0f
CI: Add docs build and deploy workflow (#7448)
* Add docs build and deploy workflow

* Remove old travis docs workflow

* update to cli command

* Tidy up for review

* formatting

* Update to pass style checks

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

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

* Review comments - build->generate, use of verbose

* Add docs

* Update to match recent actions

* Run within base_container

* Convert cli to generate-docs

* Convert cli to generate-docs - restore old file

* Convert cli to generate-docs

* Update docs

Co-authored-by: skullydazed <skullydazed@users.noreply.github.com>
2020-11-10 07:00:40 -08:00
Zach White 4d33d72975
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>
2020-11-07 09:56:08 -08:00
Ryan 7ef98e7f61
CLI: Add qmk clean (#10785) 2020-11-04 19:18:47 +00:00
Ryan e69da2db2c
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
2020-11-02 00:41:01 -08:00
Zach White 0c42f91f4c
Generate api data on each push (#10609)
* add new qmk generate-api command, to generate a complete set of API data.

* Generate api data and push it to the keyboard repo

* fix typo

* Apply suggestions from code review

Co-authored-by: Joel Challis <git@zvecr.com>

* fixup api workflow

* remove file-changes-action

* use a more mainstream github action

* fix yaml error

* Apply suggestions from code review

Co-authored-by: Erovia <Erovia@users.noreply.github.com>

* more uniform date handling

* make flake8 happy

* Update lib/python/qmk/decorators.py

Co-authored-by: Erovia <Erovia@users.noreply.github.com>

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-10-25 14:48:44 -07:00
Ryan f9bd9d3b26
c2json: Fix TypeError on MSYS2 (#10709) 2020-10-23 12:21:32 +11:00
Ryan c3ce06c2e7
Fix CLI warning for Massdrop udev rule (#10691) 2020-10-20 04:36:18 +11:00
Zach White 445cd95d17
Improve ANSI support and --no-color (#10537)
* 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-17 21:01:11 -07:00
Ryan 1a2a838bc2
[CLI] Remove check for Input Club boards (#10636) 2020-10-18 02:44:38 +11:00
Erovia 459f672879
CLI: Fix stripping of ANY from Configurator exports (#10585)
058737f broke it ¯\_(ツ)_/¯
2020-10-09 18:46:49 +01:00
Ryan 7229997e7d
CLI: Fix MCU lists for qmk info (#10574) 2020-10-09 11:43:07 +11:00
Erovia 058737f116
[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>
2020-10-06 17:10:19 -07:00
Ryan c9a06965c9
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>
2020-10-06 16:57:40 -07:00
Ryan 2c9ffd4739
CLI: update subcommands to use return instead of exit() (#10323) 2020-10-06 16:46:10 -07:00
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
2020-09-27 20:36:33 +10:00
Ryan 70fce6564f
Add logic for AT90USBxx7 where needed (#10203) 2020-09-27 20:33:03 +10:00
Ryan 5f23f21216
CLI/Doctor: Print QMK_HOME (#10398) 2020-09-24 15:16:00 +10:00
Ryan bbfb709a6a
Add STM32F401/F411 to ARM_PROCESSORS (#10362) 2020-09-18 20:48:02 -07:00
fauxpark a0305f5e7e Be more specific about Caterina devices, and add LilyPad PID 2020-09-19 05:40:25 +10:00
fauxpark c2a0cebf8b Add Pololu VID 2020-09-19 05:21:33 +10:00
fauxpark ef1b050b32 Link to docs page in "missing" case 2020-09-19 05:21:32 +10:00
fauxpark 4bee445c2f Split rules back up into bootloaders 2020-09-19 05:21:32 +10:00
fauxpark 7921c5d9b8 A comma would be nice 2020-09-19 05:21:31 +10:00
fauxpark 72b1ff5899 Add TMK "FEED" VID to list of deprecated udev rules 2020-09-19 05:21:31 +10:00
fauxpark eee6dd3544 Fix errors 2020-09-19 05:21:31 +10:00
fauxpark 510138f525 Simplify doctor rule checking 2020-09-19 05:21:30 +10:00
fauxpark 07e37c857c Update rules in doctor.py 2020-09-19 05:21:30 +10: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