22217 Commits

Author SHA1 Message Date
Drashna Jaelre 5d02ae2111 Improve and streamline MSYS2 installation (#7232)
* Make MSYS force install

* Cleanup msys script

* Update to gcc 8.3 for arm and avr

And cleanup install scripts for both

* Fix path and scripts

* Fix links

* No confirmation for msys

* Tweak arm function since file structure changed

* Fix spacing and wording

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Only use MSYS2's make binary

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Some wordsmithing

Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>

* Add "disable download timeout" for download issues in MSYS

Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>

* Clean up URL for arm gcc download

Co-Authored-By: Joel Challis <git@zvecr.com>

* add pip

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2020-01-09 08:57:11 +09:00
fauxpark 13d1a7e40a Update ARM GCC on macOS to 8.3 (#7318) 2020-01-09 08:57:11 +09:00
skullY 0f1f9ba155 Add pep8-naming to our python linting 2020-01-09 08:57:11 +09:00
Erovia ac75812e50 MILC: Add support for hidden subcommands (#7034)
* MILC: Add support for hidden subcommands

Subcommands with 'hidden=True' will not show up in the help output, but
will work as any other subcommands.

* Hide those hidden submodules, for real now

* Rebase on latest MILC
2020-01-09 08:57:11 +09:00
skullydazed dfa3631a44 Add flake8 to our test suite and fix all errors (#7379)
* Add flake8 to our test suite and fix all errors

* Add some documentation
2020-01-09 08:57:11 +09:00
skullydazed 4dc4b7af75 Improve a number of things about how MILC operates (#7344)
* Pull in updates for MILC

* Remove the shadow argparser
* Make it easier to reason about arguments and how they're translated into the config tree
* Populate self.config during init to support setting user.qmk_home for the global CLI
* Remove the short argument -c so that we can unambiguously determine the config file location without doing full argument processing
* Remove the --save-config option as it's a little confusing anyway
* Use Pathlib for path manipulation

* Fix commands with no arguments
2020-01-09 08:57:11 +09:00
QMK Bot 6f57ecc58e format code according to conventions [skip ci] 2020-01-09 08:57:11 +09:00
jorgemanzo d459da0c95 Add CLI command for flashing a keyboard
A new CLI subcommand was added, flash, which behaves very similar to the already present compile CLI comamnd, but with the added ability to target a bootloader. The command is used like so: qmk flash [-h] [-b] [-kb KEYBOARD] [-km KEYMAP] [-bl BOOTLOADER] [filename].

A -kb <keyboard> and -km <keymap> is expected, or a configurator export JSON filename. A bootloader can be specified using -bl <target>, and if left unspecified, the target is assumed to be :flash. -bl can be used to list the available bootloaders.

If -km <keymap> is provided, but no -kb <keyboard>, then a message is printed suggesting the user to run qmk list_keyboards.
2020-01-09 08:57:11 +09:00
QMK Bot 22891f9c83 format code according to conventions [skip ci] 2020-01-09 08:57:11 +09:00
Cody Bender 31608fe2a9 Add cli convert subcommand, from raw KLE to JSON (#6898)
* Add initial pass at KLE convert

* Add cli log on convert

* Move kle2xy, add absolute filepath arg support

* Add overwrite flag, and context sensitive conversion

* Update docs/cli.md

* Fix converter.py typo

* Add convert unit test

* Rename to kle2qmk

* Rename subcommand

* Rename subcommand to kle2json

* Change tests to cover rename

* Rename in __init__.py

* Update CLI docs with new subcommand name

* Fix from suggestions in PR #6898

* Help with cases of case sensitivity

* Update cli.md

* Use angle brackets to indicate required option

* Make the output text more accurate
2020-01-09 08:57:11 +09:00
skullY 853394f8e1 Make generating keymap.c from JSON more reliable 2020-01-09 08:57:11 +09:00
skullY 8d35ebab7f Small CLI cleanups
* yapf changes
* Fix the cformat test
* Make the normpath test work when run from /
* `qmk config`: Mark `--read-only` as arg_only
2020-01-09 08:57:11 +09:00
skullY 55b2c4c1ed When checking program returncodes treat both 0 and 1 as installed 2020-01-09 08:57:11 +09:00
skullY 06a8a3c0d3 Add support for newer versions of clang-format, if installed 2020-01-09 08:57:11 +09:00
Joel Challis ab609a07a6 Fix chibios when mouse and nkro disabled (#7312) 2020-01-09 08:57:11 +09:00
Joel Challis 5aa1d81b15 Fix LAYER_STATE_8BIT compile issues (#7304) 2020-01-09 08:57:11 +09:00
Drashna Jaelre df91396be9 WS2812 Overhaul (#210)
* ARM - ws2812 bitbang (#7173)

* Initial ARM bitbang ws2812 driver

* Unify chibios platform to run rgblight_task

* Remove 'avr only' comments from ws2812 docs

* Remove 'avr only' comments from ws2812 docs

* Unify chibios platform to run rgblight_task - review comments

* Remove debug flags from keymap

* Add comments from review

* Add defines for STM32L0XX

* Attempt to get arm ws2812 working on multiple gcc versions

* Support RGBLIGHT_SLEEP when ChibiOS boards suspend (#7280)

Copypasta from the AVR suspend implementation with a Teensy-specific
hack removed

* Unify RGB and RGBW commands (#7297)

* Fix unicode in comments

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Remove separate RGBW implementation for a unified function

* Set White to 0 in RGBW LEDs

This is just to get this working, later, proper brightness can be handled elsewhere.

* Use us instead of nanoseconds(?) since it renders correctly on web

* Remove RGBW function from arm/ws2812.h

* Remove RGBW function from arm/ws2812.c

* Formatting changes

* Add doc info

* Remove force of debug on within rgblight - causes lockups waiting for hid_listen (#7330)

* Move Ergodox EZ RGB Light code to custom driver  (#7309)

* Move Ergodox EZ RGB code to custom driver

Also implements full addressing of Ergodox EZ's LED Strip, as written by seebs
Co-authored-by: Seebs <seebs@seebs.net>

* Make Clipping range accessible for custom drivers

* Remove RGBW_BB_TWI from driver and docs

* Revert changes to clipping range support

* Use just rgblight_set instead of full custom driver

* Convert to i2c_master commands

* Rename rgblight driver and clean up includes

* Use White channel on RGBW LEDs

* SPI DMA based RGB Underglow for STM32 (#7674)

* Initial stash of ws2812 spi driver

* Update comment, add sync backup plan

* Add testing notes to spi ws2812 driver

* Align RGBW error messages

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Jonathan Rascher <jon@bcat.name>
Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-01-09 08:57:11 +09:00
fauxpark 81126b6673 New and improved lock LED callbacks (#7215)
* New and improved lock LED callbacks

* Include stdbool

* Update documentation

* Use full function signatures and add keyboard-level example
2020-01-09 08:57:11 +09:00
fauxpark 4c1bdea275 Set git submodule update depth to 50 (#7269) 2020-01-09 08:57:11 +09:00
Drashna Jaelre 9e4f537013 [Core] Convert Dynamic Macro to a Core Feature (#5948) (#207)
* Convert Dynamic Macro to a Core Feature

This imports the code from Dynamic Macro into the core code, and handles it, as such.

This deprecates the old method but does not remove it, for legacy support. This way, no existing user files need to be touched.

Additionally, this reorganizes the documentation to better reflect the changes.

Also, it adds user hooks to the feature so users can customize the existing functionality.

Based heavily on and closes #2976

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Cleanup based on feedback

* Add short-form keycodes and document them

- add short-form keycodes to quantum/quantum_keycodes.h
- document the new aliases in docs/feature_dynamic_macros.md

* Add Dynamic Macros section and keycodes to docs/keycodes.md

* Make anti-nesting optional

* Add documentation for DYNAMIC_MACRO_NO_NESTING option

* Fix Merge artifacts

* Fix formatting typo in docs

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>

* Remove DYNAMIC_MACRO_RANGE as it's not needed

* Fix includes and layer var type

Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-01-09 08:57:11 +09:00
Christopher c70de1d595 Fixes #7256: USB descriptor to identify correctly as MIDI device. (#7258) 2020-01-09 08:57:11 +09:00
Drashna Jaelre b4ff413d69 [Core] Add short form LTO_ENABLE (#7259)
For drashna's sanity's sake
2020-01-09 08:57:11 +09:00
zvecr e87c2fe8ce Add backwards compatibility for oled_write_raw_P on ARM 2020-01-09 08:57:11 +09:00
Thomas Baart 8a4525a678 Adds raw write functions to the OLED driver (#7237)
* Added oled_write_raw and oled_write_raw_P functions to the OLED driver

* Added oled_write_raw method calls to feature_oled_driver.md
2020-01-09 08:57:11 +09:00
fauxpark 1836a6f5d2 Template updates (#7221)
* Template updates

* Flesh out info.json & keymap.c, and turn double spaces section into a list

* Add enum to demonstrate layer naming

* Semicolon
2020-01-09 08:57:11 +09:00
yiancar 619d2ffcb6 Correct ARM STM32 I2C frequency. (#7080)
It was beleaved that this setting result in a 400Khz I2C bus.

This was incorrect, actual frequency measure with a logic analyzer was around 150Khz.

This is derived from the excel sheet linked in the .h file.
Also confirmed with the ST IDE.
2020-01-09 08:57:11 +09:00
Joel Challis 72f42d8e52 rgblight_task logic fixes (#7214) 2020-01-09 08:57:11 +09:00
zvecr 50c6d1e178 Convert backlight to follow driver rules pattern 2020-01-09 08:57:11 +09:00
Joel Challis 8c273cd0f2 Software backlight improvements (#7255)
* Update software backlight to precalculated duty patterns

* Update default backlight state to match avr pwm

* Move function to make diff look nicer
2020-01-09 08:57:11 +09:00
Joel Challis 2b15486272 Use task driven PWM for CTPC until ARM can provide automatic configuration (#6928)
* Use task driven PWM for CTPC until ARM can provide automatic configuration

* Update CTPC docs to cover backlight
2020-01-09 08:57:11 +09:00
Joel Challis 2c0173f0ff Initial migration of software PWM backlight (#6709)
* Initial migration of software PWM backlight

* First pass at backlight driver docs

* Correct driver name in docs

* Run backlight_task when using BACKLIGHT_PINS

* Resolve backlight docs TODOs
2020-01-09 08:57:11 +09:00
Joel Challis bac9fc60fe Move tmk_core/common/backlight to quantum/backlight (#6710)
* Move tmk_core/common/backlight to quantum/backlight

* Add guards to backlight inclusion

* Add guards to backlight inclusion

* Update backlight guards on clueboard/60

* Use full paths to avoid vpath issues
2020-01-09 08:57:11 +09:00
Joel Challis d1dc2d5389 ARM - Initial backlight support (#6487)
* Move AVR backlight to own file, add borrowed ARM implementation

* Tiny fix for backlight custom logic

* Remove duplicate board from rebase

* Fix f303 onekey example

* clang-format

* clang-format

* Remove backlight keymap debug

* Initial pass of ARM backlight docs

* Initial pass of ARM backlight docs - resolve todos

* fix rules validation logic

* Add f072 warning

* Add f072 warning

* tidy up breathing in backlight keymap

* tidy up breathing in backlight keymap

* add missing break to backlight keymap
2020-01-09 08:57:11 +09:00
Joel Challis 9db7651e7b Disable usb on slave half to resolve random 'lockup' (#7649) 2020-01-09 08:57:11 +09:00
Joel Challis b89cafbdec SPLIT - Remove NO_USB_STARTUP_CHECK requirement for usb detection (#7053)
* Avoid NO_USB_STARTUP_CHECK - Disable USB as checks seem to enable it somehow

* Update quantum/split_common/split_util.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Also remove NO_USB_STARTUP_CHECK from vitamins_included/rev1
2020-01-09 08:57:11 +09:00
Joel Challis 80f8ad232b ARM split - detect USB to select master/slave (#6424)
* Initial split refactor to allow usb master detection

* Add split USB detect docs

* Add SPLIT_USB_DETECT demo mode limitation

* fix rebase issues

* clang-format
2020-01-09 08:57:11 +09:00
Joel Challis a15119dc6f ARM split - Add bootmagic/magic keycodes for setting handedness (#6545)
* Add docs on bootmagic/magic keycodes for setting handedness

* Clang format fixes

* Maintain backwards compatibility

* Maintain backwards compatibility
2020-01-09 08:57:11 +09:00
Joel Challis 1f66fd1a3c ARM split - Add support for dfu-util EE_HANDS flashing (#6543)
* Initial stab at some fake dfu-util-split-left behaviour

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Clang format fixes

* Fake eeprom init for both left and right hand
2020-01-09 08:57:11 +09:00
James Young d2e6a4bf5e Handwired Minorca Refactor (#7833)
* update config.h

- use #pragma once include guard
- update USB Device Descriptor strings

* update minorca.c

- remove matrix_init_kb function (same as QMK default)

* update minorca.h

- use #pragma once include guard
- update matrix identifiers

* update info.json

- update matrix identifiers
- change to four-space indent

* update rules.mk

- remote firmware size impact notes
- disable RGBLIGHT_ENABLE (no RGB config present)
- templating

* update readme.md

- templating

* update keymaps/default/rules.mk

- remove firmware size impact numbers
- templating

* update keymaps/rgb/rules.mk

- remote firmware size impact notes
- templating

* update keymaps/rgb/readme.md

- fix header

* remove keymaps/default/rules.mk

- identical to keyboard's rules.mk

* elevate Bootmagic configurations to keyboard level

* update keymaps/rgb/config.h

- use #pragma once include guard
- remove redundant config.h include

* update keymaps/rgb/rules.mk

- remove redundant rules

* update keymaps/rgb/readme.md

- change RGB function list to a table
- make wiring call-out a header

* remove keymaps/default/config.h

- it's blank now

* update minorca.h

- use four-space indent

* add Teensy 2.0 to readme
2020-01-09 10:47:33 +11:00
yulei fe860131dd [Keyboard] fixed hhkb keymap issue on e6_rgb (#7684)
* fixed hhkb keymap issue and added allleds configuration

* fixed layout mismatch

* add more matrix control

* remove redundent define in rules.mk

* turn NKRO on

* remove allled macro, adding readme in allleds mode, add via support

* add two more layers for via

* update readme file

* Update keyboards/exclusive/e6_rgb/keymaps/allleds/readme

* Update keyboards/exclusive/e6_rgb/keymaps/allleds/readme.md
2020-01-08 00:11:45 -08:00
yiancar 4a09679d74 [Keyboard] add Allison Numpad (#7823)
* add Allison Numpad

* alternative layout
2020-01-07 21:36:43 -08:00
Kenny Greulich 331bbd602d [Keymap] added custom keymap and config for dz60rgb v1 (#7808) 2020-01-07 21:23:03 -08:00
Perry Huynh 9086d720e0 [Keyboard] add VIA support to Kyuu (#7804)
* add VIA support to Kyuu

* update keymap file to follow indenting guidelines

* add missing newline to rules.mk

* remove unnecessary backslashes and reindent default keymap
2020-01-07 21:21:52 -08:00
fauxpark 8fa64568f0 [Keyboard] Update Wasdat config (#7826) 2020-01-07 17:47:43 -08:00
Lucas Moreira fdc144d215 [Keymap] Improvements to KidBrazil keymap to better handle OLED/LED Matrix timeout. (#7688)
* Added KidBrazil custom keymap for CRKBD
-Custom Font
-Custom OLED output

* Added missing readme

* Oled Timeout Update for KidBrazil Keymap (#1)

* Setup Oled timeout based on simple timer

* Cleaned up comments and added timeout for LEDs

* Fixed some small errors

* Updated oled timout with matrix scan

* Updated oled timout with matrix scan

* Update withou eeprom

* Update timer code

* Use process user instead of keymap

* Added ifdef to protect oledtimer

* Updated with half timeout state for logo

* Removed middle tier timer

* Final cleanup of unused files

* Updated code as per suggestions & requests

* Second round of revisions

* Updated keymap to better handle LED timeout
- Added boolean to hold LED state
- Added init function to set rgb to known state
- Modified RGB_TOG to work with noeeprom commands

* Finished adding the timeout for OLED and testing on CRKBD

* Updated documentation

* fixed the timeout logic so it works as intended

* Update keyboards/crkbd/keymaps/kidbrazil/README.md
2020-01-07 17:28:06 -08:00
yiancar ee70d496f4 [Keyboard] add Allison keyboard (#7818)
* Initial commit

* Cosmetic Fixes

* Delete config.h
2020-01-07 17:26:04 -08:00
James Young 0027a0a948 Tada68 Fixes and Minor Refactoring (#7820)
* fix ANSI layout macro reference

* update ISO layout macro and enable 65_iso community layout support

- rename to LAYOUT_65_iso (with LAYOUT_iso alias for backwards compatibility)
- rename position k2c to k1d (electrical position)

* rules.mk templating

* tada68.h: use #pragma once include guard

* config.h: use #pragma once include guard

* make product id unique

* update info.json

* update readme

* cleanup default keymap

- keycode alignment
- layout macro reference
- four-space indent

* remove matrix_*_user functions from tada68.h
2020-01-08 00:17:01 +00:00
Jesse Leventhal 0c86cfeaed [Keyboard] Added NCC-1701-KB 3x3 Keypad with Encoder and Keymap (#7819)
* Added NCC-1701-KB Keypad and Keymap

* Update keyboards/ncc1701kb/config.h

* Update keyboards/ncc1701kb/config.h

* Update keyboards/ncc1701kb/config.h

* Update keyboards/ncc1701kb/config.h

* Update keyboards/ncc1701kb/ncc1701kb.h

* Update keyboards/ncc1701kb/readme.md

* Update keyboards/ncc1701kb/readme.md

* Update keyboards/ncc1701kb/readme.md

* Fixed changes rules.mk bootloader

* Fixed rules.mk Build Options

* Recomended fauxpark changes/fixes

* Update keyboards/ncc1701kb/ncc1701kb.h

* Update keyboards/ncc1701kb/ncc1701kb.h

* Update keyboards/ncc1701kb/readme.md

* Update keyboards/ncc1701kb/readme.md
2020-01-07 14:29:45 -08:00
Xyverz b69457a192 More minor tweaks. (#7813)
Made the MACLOCK key easier tu use by putting it on right thumb
cluster as well.
2020-01-08 08:54:08 +11:00
Rob Haswell cf30c5d17f RGB matrix effect - left-right gradient (#7742)
* Left-right gradient.

* Update the comment to match the new functionality.

* CPP does integer division so this round is not necessary.

* The x-range is actually 224, update comment and use bit-shifting again.

* Update docs with gradient left-right effect and associated "DISABLE" option.
2020-01-07 21:25:17 +00:00