22217 Commits

Author SHA1 Message Date
Sergey Vlasov 2cc35632ed 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-09-30 03:21:33 -07:00
David Kosorin 94e676d05b Fix Czech keycodes (#9987) 2020-09-30 03:20:48 -07:00
Ryan 356659b8a0 Fix joystick compile issues (#9949) 2020-09-30 03:20:14 -07:00
Tynan Beatty eb056ac97d Noeeprom functions for rgb_matrix (#9487)
* Add eeprom_helpers for toggle, mode, sethsv, speed; add set_speed; add noeeprom versions of toggle, step, hue, sat, val, and speed

* qmk cformat rgb_matrix

* Add rgb_matrix_set_speed and *_noeeprom functions

* Do not expose rgb_matrix_*_eeprom_helper functions
2020-09-30 03:19:30 -07:00
Nick Brassel 28947d5f54 Add support for hsv->rgb conversion without using CIE curve. (#9856)
* Add support for hsv->rgb conversion without using CIE curve.

* Modify anavi/macropad8 to disable unicode (was unused), otherwise firmware size is too large.
2020-09-30 03:19:05 -07:00
Drashna Jaelre 9d4cbcd81e Initialize Layer State on startup (#8318)
* Initialize Layer State on startup

Right now, on startup, the default layer state gets called and set, triggering the callback functions for the default layer state. However, the normal layer state never actually gets initialized.  It's set to 0 directly, by default, but the callback functions are never actually called.  This creates some inconsistency in the behavior for end users.  This adds a simple "clear" that triggers the callback on startup.  This should produce more consisten behavior between the two functions and layer masks.

* Stupid hack

* Fix type casting?

* Fix compile issues with magic is disabled
2020-09-30 03:15:49 -07:00
Max Rumpf 8190423aad Tweak the Christmas animation effect to be less harsh on the eyes (#7648)
* Tweak the Christmas animation effect to be less harsh on the eyes

* Further improve the tweaked Christmas animation code

- Use constants where it makes sense
- Instead of complicated math, use a static variable to keep track if it's animating from or to red
- Don't use pow (but a simple macro instead)
- Using floating point math is necessary for the fraction in the cubic bezier function to work

* Update docs for the tweaked Christmas animation effect

* Further improve memory usage

- Don't use floats, but 32 bit ints instead (where needed)
- Replace limits.h with constant

* Fix typo
2020-09-30 03:13:45 -07:00
a-chol f85b1ee83f Hid joystick interface (#4226)
* add support for hid gamepad interface
add documentation for HID joystick
Add joystick_task to read analog axes values even when no key is pressed or release. update doc
Update docs/feature_joystick.md
Manage pin setup and read to maintain matrix scan after analog read

* Incorporates patches and changes to HID reporting

There are some patches provided by @a-chol incorporated on this commit,
and also some changes I made to the HID Report structure.

The most interesting is the one dealing with number of buttons: Linux
doesn't seem to care, but Windows requires the HID structure to be byte
aligned (that's in the spec). So if one declares 8/16/32... buttons they
should not have any issues, but this is what happens when you have 9
buttons:

```
 bits |0|1|2|3|4|5|6|7|
      |*|*|*|*|*|*|*|*| axis 0 (report size 8)
      |*|*|*|*|*|*|*|*| ...
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*| axis 6
      |*|*|*|*|*|*|*|*| first 8 buttons (report size 1)
      |*| | | | | | | | last of 9 buttons, not aligned
```

So for that I added a conditonal that will add a number of reports with
size 1 to make sure it aligns to the next multiple of 8. Those reports
send dummy inputs that don't do anything aside from aligning the data.

Tested on Linux, Windows 10 and Street Fighter (where the joystick is
recognized as direct-input)

* Add save and restore of each pin used in reading joystick (AVR).
Allow output pin to be JS_VIRTUAL_AXIS if the axis is connected to Vcc
instead of an output pin from the MCU.

Fix joystick report id

Fix broken v-usb hid joystick interface. Make it more resilient to unusual settings (none multiple of eight button count, 0 buttons or 0 axes)

Correct adc reading for multiple axes. Piecewise range conversion for uncentered raw value range. Input, output and ground pin configuration per axis.

Documentation fixes

* Fix port addressing for joystick analog read

* The other required set of changes
As per the PR, the changes still holding it up.
Add onekey for testing.
Fix ARM builds.
Fix device descriptor when either axes or buttons is zero.
Add compile-time check for at least one axis or button.
Move definition to try to fix conflict.
PR review comments.
qmk cformat

* avoid float functions to compute range mapping for axis adc reading

* Remove V-USB support for now. Updated docs accordingly.

* Update tmk_core/protocol/lufa/lufa.c

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

* Update tmk_core/protocol/usb_descriptor.c

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

* Update tmk_core/protocol/usb_descriptor.c

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

* Update tmk_core/protocol/usb_descriptor.c

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

* Add support for joystick adc reading for stm32 MCUs. Fix joystick hid report sending for chibios

* Fix HID joystick report sending for ChibiOS.
Add one analog axis to the onekey:joystick keymap.
Fix pin state save and restore during joystick analog read for STM32
MCUs.

* Update tmk_core/protocol/chibios/usb_main.c

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

* Update tmk_core/protocol/lufa/lufa.c

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

* Add missing mcuconf.h and halconf.h to onekey:joystick keymap.
Add suggested fixes from PR.

* Switch saveState and restoreState signature to use pin_t type.
onekey:joystick : add a second axis, virtual and programmatically animated.

* Update docs/feature_joystick.md

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

* Update docs/feature_joystick.md

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

* Add PR corrections

* Remove halconf.h and mcuconf.h from onekey keymaps

* Change ADC_PIN to A0

Co-authored-by: achol <allecooll@hotmail.com>
Co-authored-by: José Júnior <jose.junior@gmail.com>
Co-authored-by: a-chol <achol@notamail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-30 03:13:02 -07:00
Drashna Jaelre 7d63eef32e Update features to use Custom Tapping Term when appropriate (#6259)
* Update Space Cadet to use Custom Tapping Term functionality

* Detect correct keycode for space cadet tapping term

* Update tap dancing to use global custom tapping term

* Update documentation for Tap Dances

* formatting pass

* Apply suggestions from code review

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

* Update docs/feature_tap_dance.md

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

* Update for future

* Update user keymaps for space cadet

* Fix typos

* Clean up tapping term stuff

* Fix compiler issue if NO_ACTION_TAPPING is enabled

Co-authored-by: fauxpark <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-09-30 03:05:13 -07:00
Drashna Jaelre 92eeea4362 Disable NKRO on V-USB controllers (#9054)
* Disable NKRO on V-USB controllers

* not _currently_ supported text

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-30 03:04:19 -07:00
Nick Brassel b4019eef6e Re-fix the STM32 dual-bank bootloader stuff. (#9738)
* Re-fix the dual-bank bootloader stuff.

* Use wait_ms() instead of using nop's for a delay, as ChibiOS is actually running at the time of bootloader jump.
2020-09-30 03:03:45 -07:00
Pete Sevander 3f900fc967 Bigger combo index (#9318)
* Add change log

* Change combo index from uint8_t to uint16_t
2020-09-30 03:03:22 -07:00
Nick Brassel 2d37b79534 Add dual-bank STM32 bootloader support, given GPIO toggle on BOOT0 to charge RC circuit. (#8778) 2020-09-30 03:01:34 -07:00
dhong44 b3363f407b Fix the mousekey scrolling (#9174)
Mousekey scrolling should have a separate repeat variable
to keep track of scrolling acceleration, instead of being
tied to mouse movement scolling in mousekeys. The send function
should record when the last movement was made since this is
when movement is actually sent. Doing this fixes the bug where
the initial press of a mousekey scroll button causes a double scroll.

Signed-off-by: Daniel Hong <daniel.hong@live.com>
2020-09-30 03:01:01 -07:00
Nick Brassel 756867c653 F303/Proton-C migration. (#9315) 2020-09-30 03:00:33 -07:00
Nick Brassel 6a5700b31a Add support for DMAMUX-capable MCU configuration with WS2812 PWM driver. (#9471) 2020-09-30 02:59:52 -07:00
Ryan 8c38482ebd Change analogRead calls to analogReadPin (#9023)
* Change analogRead calls to analogReadPin

* Add ChangeLog

* Update docs, remove mention of `analogRead()`

* Retarget changelog for next round
2020-09-30 02:59:20 -07:00
Nick Brassel 0f599bb7ef qmk cformat on develop (#9501) 2020-09-30 02:57:39 -07:00
Ryan ce09c5c922 Don't compile outputselect.c if Bluetooth is disabled (#9356) 2020-09-30 02:57:16 -07:00
Ryan 6e5476c447 Remove inclusion of adafruit_ble.h from ssd1306.c (#9355) 2020-09-30 02:57:05 -07:00
Ryan 9894e54f4f Additional cleanups for V-USB code (#9310) 2020-09-30 02:55:40 -07:00
Ryan ba0c53b7f8 Convert CONSUMER2BLUEFRUIT() and CONSUMER2RN42() macros to static inline functions (#9055) 2020-09-30 02:53:33 -07:00
Ryan 85360eee26 Various tidyups for USB descriptor code (#9005) 2020-09-30 02:53:02 -07:00
Nick Brassel 1dd723510e 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-09-30 02:52:30 -07:00
Ryan e74b8a0464 Remove iWRAP protocol (#9284) 2020-09-30 02:47:38 -07:00
Ryan 0df455119d Fix ChibiOS backlight not turning off on suspend (#10114)
* Fix ChibiOS backlight not turning off on suspend

* Add missing code for backlight as caps lock too
2020-09-30 02:45:31 -07:00
Drashna Jaelre 8784ab09d8 Add noeeprom speed function for RGBLIGHT (#9706)
* [Docs] Add Speed functions to RGB Light docs

* Add noeeprom functions for speed

* Fix wording in doc

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-30 02:43:54 -07:00
Drashna Jaelre a1d87ee1d4 Compiler warning when using WS2812 (#9955)
Specifically, when rgb matrix is enabled and using the ws2812 driver, and rgb light is enabled at the same time, print a message about coexistance because it can cause issues, since you cannot change pins/config for the WS2812 driver.
2020-09-30 02:43:02 -07:00
Ryan 34e094388f MSYS2: install packages for AVR toolchain (#10078) 2020-09-30 02:42:39 -07:00
nopunin10did fae09e2aeb Issue 9942: Add LSA, RSA, RCS, LSA_T, RSA_T, and RCS_T (#9943)
* Issue 9942: Add Quantum defines

Add codes to quantum_keycodes for LSA, RSA, RCS, and their corresponding _T macros

* 9942: Add documentation for new defines

Add documentation for new defines in feature request 9942. Also define SAGR and SAGR_T as aliases for RSA and RSA_T.

* Update quantum/quantum_keycodes.h

* Update docs/keycodes.md

* Update docs/keycodes.md

* Update docs/keycodes.md

* Update docs/keycodes.md
2020-09-30 02:41:37 -07:00
Ryan 6a0b2d77a5 MSYS2: install packages for dfu-programmer, dfu-util, teensy-loader-cli (#10007) 2020-09-30 02:41:37 -07:00
Keebz Dot Net 5ecb1b2d39 Wazowski 23-19 VIA Support (#9730)
* fixed keymap placement

- online configurator keys were in the wrong location and needed to be fixed
- fixed a key being to high on the y position

* Create rules.mk

* Create keymap.c

* Update rules.mk

added VIA support

* Changed wazowski via keymap to include skipped switch

* changed the vendor ID

* Update keyboards/keebzdotnet/wazowski/config.h

* Removed VIA enable from keyboard rules.mk

* Update keyboards/keebzdotnet/wazowski/rules.mk

* Fixed wazowski via keymap build errors

* Added multi-layer support for Wazowski via keymap
2020-09-30 01:50:55 -07:00
MakotoKurauchi 8b90822f6e add tester keymaps for yushakobo/quick7 (#10282)
* update "Hardware Availability"

* add a section of "How to build"

* update "Hardware Supported"

* add tester keymaps for yushakobo/quick7

* update license headers in keymaps/tester/config.h

Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com>
2020-09-30 06:46:49 +09:00
Brandon Claveria 9f36aa640e [Keyboard] Add astro65 handwired (#10449)
* Add pandemic keyboard

* Fix default keymap

* Add via keymap

* Fix via keymap

* Fix keymaps and pandamic.h

* add info.json

* update info.json

* Apply suggestions from code review

* Update keyboards/handwired/swiftrax/pandamic/info.json

* make suggested changes

* Add astro65

* fix info.json

* Apply suggestions from code review

* add more layers for via

* Apply suggestions from code review

* halp

* add other layout

* fix astro65.h

* commit suggestions

* Update keyboards/handwired/swiftrax/astro65/info.json
2020-09-29 04:30:14 -07:00
Reibl János Dániel 284a5267d5 Add Unicode modes for handwired/riblee_f401:riblee (#10461)
* Add unicode modes

* Update keyboards/handwired/riblee_f401/keymaps/riblee/config.h
2020-09-28 21:48:35 -07:00
Sendy YK d844f5af70 Update mrsendyyk Community Layouts (#10338)
* Add layouts/community/numpad_5x4/mrsendyyk

* Update keymap.c

* Update readme.md

* Update readme.md

* Update readme.md

* Rename my community layouts

* Rename

* Rename

* Cleanup my code

* Update readme.md

* Cleanup

* Update keymap.c

* Delete unnecessary files
2020-09-28 21:32:38 -07:00
Joel Schneider 2eeb30cd5a [Keyboard] Add SiCK-PAD handwired keyboard (#10429)
* Add sick_pad

* Adjust setup for Proton C

* Add readme

* Add info.json

* Make requested changes

* Resolve PR issues
2020-09-28 21:25:53 -07:00
stein3 1531087617 Remove bootmagic flag and add vendor/product IDs. 2020-09-28 11:05:54 -07:00
MechMerlin c7599bf49f Swapparoo of bottom row keys (#10277) 2020-09-28 11:46:24 +10:00
Ryan 45c2a05e3a Merge pull request #10457 from 2Moons-JP/trifecta_keymap 2020-09-28 11:41:24 +10:00
Drashna Jaelre fbdc65e2e9 [Keyboard] Add PloopyCo devices (#7935)
* Initial Commit for Ploopyco Trackball

This is a WIP at this point.  Most of it compiles, but the SPI commands are non-functioning as they come from Arduino, so don't exist in LUFA

* Convert SPI commands from arduino to LUFA

But I have no idea if this is actually correct or not

* Update keyboard readme

* Clean up ploopyco trackball

* Update readme

* Update mouse key stuff

* last minutue cleanup

* Add caveat about scroll wheel

* Fixup to code

* Additional fixup

* Add movement multiplier

* Rename folders

* mid changes

* temp

* Got it working!!!!!

* Additional cleanup of code

* Make unused pin calls more compact

* Rotation info

* Add debouncing checks

* Make everything replaceable

* Add info.json

* Include ISP flashing info

* Better handling for user customization

* Reconfigure CPI stuff

* fix issues with debug printing

* Fix tiny scroll issue

* Add and update scroll code from ploopy mouse

* Update licensing

* Add PloopyCo Mouse

* Cleanup and layout stuff

* Move common files to main folder for reuse

* Increase polling rate

* Update image for mouse

* Apply changes from code review

* Add VIA support
2020-09-27 15:11:41 -07:00
ridingqwerty 34b9c51d9c Keyboard update: SL40 (#10445)
* adding alpha variants

* adding cajal layouts

* adding V2 PCB support

adding additional layouts for new PCB version, and correecting incorrect image in info file

* Cleanup master -- remove alpha9

* Cleanup master -- remove g4m3ralpha

* Cleanup master -- remove cajal & sl40

* Master cleanup -- re-add sl40

* Master cleanup -- correct SL40 image

* Keyboard addenda: Production version of sl40

Co-authored-by: worldspawn00 <mcmancuso@gmail.com>
2020-09-27 23:04:24 +01:00
Joel Challis 50835bb138 [keyboard] Add SP-111 support (#10193)
* Initial sp111 support

* Align with template
2020-09-27 13:04:27 +01: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
2Moons-JP 323c6dfe72 Trifecta Keymap 2020-09-27 13:19:49 +09:00
stein3 bb1550313c Add VIA keymap for EVE Meteor. 2020-09-26 19:06:57 -07:00
precondition 28ff51175b [Docs] Wording & formatting changes in the Tapping Force Hold section of the Tap Hold page + removed trailing whitespaces (#10391)
* Wording & formatting changes in Tapping Force Hold

The Permissive Hold and the Ignore Mod Tap Interrupt sections were also modified to remove the quotes
around "tapping".

* Removed all trailing whitespaces from tap hold doc

* "it's simply really:" → "it's simple really:"

* "This allows to keep the ability" → "This allows keeping the ability"

Used the gerund form of "to keep" in the Tapping Force Hold section of the Tap Hold docs.

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
2020-09-26 19:11:40 -04:00
Ryan c16ee22784 setrgb(): Use arrow operator (#10451) 2020-09-26 19:42:40 +01:00
Evy Dekkers 1b7101f065 [Keyboard] add Percent Canoe Gen2 (#10344)
* Add Canoe Gen2

* Fix info.json

* Update info.json

* Changes

* Move canoegen2 to canoe_gen2

* Update canoe_gen2.h
2020-09-25 22:39:14 -07:00