Commit Graph

1054 Commits

Author SHA1 Message Date
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
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
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
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
Florian Didron
2fe7d6aea2 fix: remove conditional macro wrapping WEBUSB_PAIR 2019-12-06 09:52:00 +09:00
Florian Didron
925c43c4c0 feat: update examples + pairing process 2019-12-06 08:20:51 +09:00
Florian Didron
f3edef8c69 feat: adds pairing key 2019-12-06 08:20:51 +09:00
Joel Challis
560d1c5385 Refactor ps2avrgb i2c ws2812 to core (#7183)
* Refactor ps2avrgb i2c ws2812 to core

* Refactor jj40 to use ws2812 i2c driver

* Refactor ps2avrgb template to use ws2812 i2c driver

* Add ws2812 stub files

* clang-format and driver config

* Add ws2812 driver docs

* Fix default config values

* Update tmk_core/protocol/vusb/main.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-11-04 17:24:31 +09:00
Joel Challis
66d4c71b03 Reduce duplication for ARM/AVR ws2812 RGB Matrix driver (#7180)
* Reduce duplication for ARM/AVR ws2812 rgb_matrix driver

* Reduce duplication for ARM/AVR ws2812 rgb_matrix driver - Fix setled_all use of r,g,b
2019-11-04 17:24:31 +09:00
just-another-jxliu
0a3343aca9 Fix held key getting stuck when NKRO is toggled (#6570)
* Fix held key getting stuck when NKRO is toggled

* Updated file to latest qmk version and added fix to cases MAGIC_UNHOST_NKRO & MAGIC_HOST_NKRO as well.

* Revert merged quantum.c
2019-11-04 17:24:07 +09:00
Joel Challis
d0ee924c9d 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
2019-11-04 17:23:21 +09:00
fauxpark
9d1f6c699b Fix bug in do_code16() (#6935)
* Fix bug in `do_code16()`

* Remove qk_ mods functions
2019-11-04 17:22:54 +09:00
theVDude
14e5aab4c7 Fix small hiccup in snake animation (#6858) 2019-11-04 17:22:09 +09:00
Deckweiss
bea75bd84e Added uart config for using rn42 with at90usb1286 (#6582)
* Added uart config for using rn42 with at90usb1286

* Updated quantum/config_common.h

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

* Update quantum/config_common.h

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

* Update quantum/config_common.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-04 16:59:18 +09:00
Joel Challis
af26d4b1fe Fix CONVERT_TO_PROTON_C_RXLED pins (#7007) 2019-11-04 16:57:55 +09:00
Silvio Gulizia
f62a4e3ec4 Fix quantum keymapextra italian (#6779)
* remove IT_PIPE duplicate and add IT_GRAD

IT_PIPE was declared 2 times, ones as ° and once as |. I changed the first declaration and called it IT_GRAD. I even fixed the definition because the ° in Italian is obtained with LSFT(IT_AACC)

* rename IT_GRAD to IT_DEGR

* add    missing plus_and_minus

* fix missing IT_ACUT definition

* change KC_LALT(KC_LSFT to LALT(LSFT

* Fix alignment

* remove leftover

* fix issue generated with chars while pushing

* fix typo

* fix LCBR and RCBR

* fix euro symbol

* fix RBRC

* change IT_LESS form KC_NUBS to KC_GRAVE

* add IT_TILDE and change IT_GRAV to IT_GRAVE

* add missing legends for accented vowels

* format for readability

* revert to commit befor I edit it

* initial commit

* edited to be easier to compare to _ansi.h

* remove keymap_italian_osx_iso.h and rename with edits keymap_italian_osx_ansi.h to keymap_italian_osx.h

I found out there were no difference at all

* fix missing #endif

* rename quantum/keymap_extras/keymap_italian_osx.h to quantum/keymap_extras/keymap_italian_ansi.h

Now this file is a clone of the keymap_italian.h that appears to be working only for ISO keyboards. It also contains a few improvements for IT_PIPE (defined two times) and IT_ACUT (missing definition). Additionally it redefines LCBR and RCBR to LSFT(IT_LBRC) and LSFT(IT_RBRC)

* rename file

* redefines IT_BKSL and IT_PIPE based on KC_BKSL

* add new osx_iso and osx_ansi version for italian.h and align BKSL to BSLS, fix double definition of PIPE
2019-11-04 16:54:35 +09:00
fauxpark
930ab89eee Add support for 328P hardware backlight on B1/B2 (qmk#6776) 2019-11-04 16:52:23 +09:00
Drashna Jaelre
7d58ebe288 Generalize Tap Dance Layer functions (#6629)
* made tapdance dual_role general

* updated original dual_role functionality

* added toggling layer example

* Fix dual role and add alias

* Update docs about new layer tap dances

* Fix up based on feedback
2019-11-04 16:50:33 +09:00
MechMerlin
42f70cd423 DRV2605L Continuous Haptic Feedback Support (#6461)
* provide means to turn on RTP mode and set the amplitude

* new keycode HPT_CONT to turn RTP off/on

* introduce new keycodes HPT_CONI, and HPT_COND for Haptic Continuous Increase and Decrease

* support for continuous mode amplitude increase and decrease

* code cleanup

* update docs to reference new keycodes and functionality

* don't touch the keymaps

* add function prototypes

* add proper guards

* cleanup guards

* remove extra reserved
2019-11-04 16:48:39 +09:00
XScorpion2
66d3ac0b72 Updated split encoders so indexes are based on left hand encoders first (#6382)
* Updated encoder.c so that split encoders are indexed based on left hand encoders first.
This ensures when swapping master sides that code logic based on encoder index doesn't change.

PR Review fixes

* Removed extra define
2019-11-04 16:48:18 +09:00
XScorpion2
e3f8f475fe Smoother Linear Light Table (#6764) 2019-11-04 16:47:27 +09:00
fauxpark
d179863d2e Add 328P to mcu_selection.mk (#6682) 2019-09-26 10:08:39 +09:00
fauxpark
486290af96 Add 16U2, 16U4 and USB646 to mcu_selection.mk (#6566) 2019-09-26 10:08:39 +09:00
Drashna Jaelre
6e2424e658 Add Dip Switch as a core feature (#6140)
* Add Dip Switches as a core feature

* Add documentation for Dip Switch feature

* Update Preonic Rev3 to use new feature and remove custom matrix

* Apply suggestions from code review

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

* Remove custom matrix line completely

Rather than just disabling it

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

* DIP changes

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

* Use better check for DIP Switch configuration

* Add to show features

* Add bitmask callback for dip switch

* Fix OLKB Boards dip switch config

* Update docs to include bitmask example

* Fix comments/documentation

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

* Fix issues with docs and use example from @tuzonghua

* Fix wording

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

* Fix example to use proper formatting

Bad, BAAAAAAD drashna!!!

* Handle dip switch initialization better
2019-09-26 10:08:39 +09:00
skullY
f8fe33acfa clang-format changes 2019-09-17 11:39:43 +09:00
Drashna Jael're
fc8a27497f Re-Add TAB and Non-US Backslash to special charactcetr range for AutoShift 2019-09-13 06:54:41 +09:00
Florian Didron
8b7047a62c feat: adds some icelandic chars 2019-09-02 20:07:32 +09:00
Joel Challis
cfbb03645e Add 'bootloadHID' flash target (#5587)
* Add 'bootloadHID' flash target

* Prep for flash target

* Add :flash support

* Align bootloader wait messages

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update template to suggest use of :flash
2019-08-28 14:54:06 +09:00
Takeshi ISHII
ac52955ff2 AVR GPIO macro defines more readable (#5937)
* A little easier to read the definition of the GPIO control macro for AVR.

No change in build result.

* Changed to not use GNU statement expression extension.

No change in build result.

* Modified split_common/serial.c to use qmk_firmware standard GPIO control macro.

No change in build result.

* fix PE6 -> E6

* remove some space

* add some comment to config_common.h

* Changed split_common/serial.c to use a newer version of qmk_firmware standard GPIO control macro.
2019-08-28 14:52:34 +09:00
Drashna Jaelre
aa074cf592 Fixup Bootmagic code (#6386) 2019-08-28 14:49:46 +09:00
Stephen Wanhella
e5224082f1 Added keycodes for swapping and unswapping the Control and OS keys (#6110)
* Add MAGIC_SWAP_CONTROL_LGUI and MAGIC_UNSWAP_CONTROL_LGUI keycodes

Key codes to swap and unswap the control and windows/cmd keys

* Fix issues with pull request #6110

Renamed swap/unswap lctl and lgui key codes, added key codes to swap/unswap rctl and rgui, and moved new bool inside keycode_config.h struct to the end

* Move new keycodes to the end of the enum (#6110)

* add cases for swapped control and OS keys to mod_config (#6110)

* Add new keycodes to feature_bootmagic.md (#6110)

* Add R+L swap codes to keep in parity with AG_* codes

* Extend Magic range check to include new magic codes

* Update audio docs

* Combine 2 byte ranges into 1 word for EECONFG

Fix names for Keymap config EEPROM

* Update docs/feature_bootmagic.md

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

* Update docs/feature_bootmagic.md

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

* Update docs/feature_bootmagic.md

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

* Update docs/feature_bootmagic.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-28 14:49:46 +09:00
fauxpark
dbd4de0174 Add ATmega32U2 to mcu_selection.mk (#6561) 2019-08-28 14:49:01 +09:00
fauxpark
d52ad98f4a Remove backslashes from template keymap (#6548) 2019-08-28 14:48:38 +09:00
Danny
4b766cec2e Add support for different encoder pinout for right half of split keyboard (#6521)
* Add support for different encoder pinouts for split keyboard

* Update documentation for new encoder pinout feature
2019-08-28 14:47:57 +09:00
Florian Didron
8f065c420b chore: move led shutdown logic in rgb_matric.c 2019-08-17 02:42:35 +00:00
fauxpark
ce6f145802 Mask off TD() parameter properly (#6143)
* Mask off TD() parameter properly

* More parentheses
2019-08-13 10:51:08 +09:00
fauxpark
b6e465be96 Add some defaults for ATmega32A to mcu_selection.mk (#6253)
* Add some defaults for ATmega32A to mcu_selection.mk

* Remove boilerplate from templates

* Relax INTERRUPT_CONTROL_ENDPOINT and PROGRAM_CMD

* Apply suggestions from code review

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-08-13 10:50:27 +09:00
fauxpark
86c9a1a384 Rename QK_TMK(_MAX) to QK_BASIC (#6509) 2019-08-13 10:49:14 +09:00
fauxpark
562884a328 Improve backlight PWM pin support (#6202)
* Improve backlight PWM pin support

* I accidentally an equals sign

* Another typo

* Order by pin number

* Throw an error if backlight pin is C4 or C5 on 16/32U4

* Use else for clarity

* Minor alignment adjustments
2019-08-13 10:48:29 +09:00
Zach DeCook
1cb8fa3cdc MIDI: Fix basic noteon: send correct velocity (#6476) 2019-08-13 10:47:17 +09:00