Commit Graph

83 Commits

Author SHA1 Message Date
41bd4e35a0 Clean up RGB LED type (#21859) 2023-09-04 01:19:59 +01:00
1c069b13b9 rgblight: driver selection cleanups (#21558) 2023-08-15 11:06:57 +01:00
f3a7cd5573 Merge remote-tracking branch 'origin/master' into develop 2023-07-27 04:21:43 +00:00
ce11427b11 Amend documented RGBLIGHT_HUE_STEP default value (#21617) 2023-07-26 21:21:11 -07:00
9551a0a38a Move RGBLIGHT_LED_MAP to data driven (#21095) 2023-06-14 22:01:13 +10:00
47966dc2a6 Migrate rgblight.pin and RGB_DI_PIN to ws2812.pin (#20303) 2023-04-06 18:00:54 +10:00
65a80f411f Clean up APA102 config and add DD mapping (#20159) 2023-03-20 08:12:19 +11:00
11ae141835 Fix description for selectively disabling animations (#19374) 2022-12-19 19:10:11 +11:00
18dc851e37 Remove legacy Debug keycode (#18769)
* `DEBUG` -> `DB_TOGG`, default-ish keymaps

* `DEBUG` -> `DB_TOGG`, user keymaps

* `DEBUG` -> `DB_TOGG`, community layouts

* `DEBUG` -> `DB_TOGG`, userspace

* `DEBUG` -> `DB_TOGG`, docs & core
2022-10-19 11:33:05 +01:00
eb417b3aaf Add deprecated check for RGBLIGHT_ANIMATIONS (#17832) 2022-08-04 11:05:53 -07:00
5841c755ae rgblight: Add functions to stop blinking one or all but one layer (#16859) 2022-04-17 00:02:32 +02:00
259cf76966 Link WS2812 driver page from rgb feature docs (#16366) 2022-02-27 01:50:44 +00:00
7a0b07f84b [Docs] RGB documentation formatting corrections (#15826) 2022-02-05 21:16:36 -08:00
a2ef11bb00 [Docs] Add reference to data sync options for RGB (#16144) 2022-01-31 18:05:09 -08:00
2baca55cda docs: fix typo in rgblight docs (#15960) 2022-01-20 23:20:56 +00:00
63d3ad155a [Docs] Recommend the use of RGB light functions for code (#15745)
* Recommend the use of functions instead of keycodes

* Commit suggested revision

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-01-11 03:23:07 +11:00
fb9a254a43 Retain brightness with lighting layers (#13025)
Add guard `RGBLIGHT_LAYERS_RETAIN_VAL` to retain the currently used val
when applying lighting layers.
2021-07-21 23:46:12 -07:00
653082235a Relocate RGB/HSV color defs to a more fitting place (#13377) 2021-06-29 19:15:58 +01:00
cb23fe9fc1 Move RGBLight code into its own folder (#13312) 2021-06-28 15:15:24 +10:00
de8fada3a3 Merge remote-tracking branch 'origin/master' into develop 2021-05-20 11:47:42 +00:00
40f235a96c fix example code in docs/feature_rgblight.md (#12960) 2021-05-20 21:47:09 +10:00
6c7450dad7 Add function to allow repeated blinking of one layer (#12237)
* Implement function rgblight_blink_layer_repeat to allow repeated blinking of one layer at a time

* Update doc

* Rework rgblight blinking according to requested change

* optimize storage
2021-05-16 20:59:02 -04:00
e2289ffac0 Add missing RGB_MODE_TWINKLE / RGB_M_TW keycodes (#11935)
* Add missing RGB_MODE_TWINKLE / RGB_M_TW keycodes

* Better comment

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-04-15 19:32:17 -04:00
53b96f685d RGBLight: Allow configurable default settings (#11912)
* RGBLight: Allow configurable default settings

* Docs
2021-02-16 10:51:28 -05:00
d65db68f9f Merge remote-tracking branch 'upstream/master' into develop 2021-01-28 10:52:59 +11:00
bad9592a18 Add rgblight_reload_from_eeprom() (#11411)
* Add rgblight_reset_from_eeprom()

* reset->reload
2021-01-28 04:42:03 +11:00
cfde37eec1 Merge remote-tracking branch 'origin/master' into develop 2021-01-20 02:49:41 +00:00
c0728bd189 Improve the Lighting Layers example in RGB Lighting docs (#11454)
* Improve the keymap layer state -> lighting layers example

* A few more improvements
2021-01-19 18:49:02 -08:00
837aa75666 Merge remote-tracking branch 'origin/master' into develop 2021-01-11 07:05:39 +00:00
68b58624d6 [Docs] Update feature_rgblight.md (#11363)
* Update feature_rgblight.md

The note is meant to let people know that this is specific to RGB Backlight and does not work with RGB Matrix based implementations.

* Update docs/feature_rgblight.md

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-01-10 23:05:11 -08:00
6e8adeeaac Refine twinkle to be smoother (use breathing curve) (#11350)
* Refine twinkle to be smoother (use breathing curve)

* tune more for firmware size

* fix bug when v=255

~ drashna approved ~
2021-01-10 23:04:42 -08:00
1092cc4bbf Merge remote-tracking branch 'origin/master' into develop 2021-01-10 04:01:05 +00:00
9d10c66cf0 Correct descriptions of rgblight functions (#11429) 2021-01-09 20:00:12 -08:00
4f2f21dc05 Rewrite APA102 support (#10894)
* Rewrite APA102 support

The APA102 source was broken by commit 16a15c1cfc as it did not include the
quantum header. This commit addresses that, as well as other issues with
transferring bytes over the SPI interface, i.e. it was not setting the
clock pin back to low after sending a bit.

The deviation when sending the end frame is kept, but updated to the
latest from the referenced project.

Finally, these changes expose the global LED brightness parameter
of the APA102. Brightness values are configurable through
`APA102_DEFAULT_BRIGHTNESS` and `APA102_MAX_BRIGHTNESS`.

* Fix typo in led brightness extern

* Move driver out of AVR directory and add delay for ARM

* Experimental APA102 support on AVR and ARM

Co-authored-by: Alde Rojas <hello@alde.io>

* Refactor apa102_send_byte() calls to a loop

* Implement io_wait function for ARM

* Move APA102 drivers to own directory, fix copyright notice

* Add APA102 keymap to handwired/onekey

* Simplify RGBLIGHT_ENABLE/DRIVER option handling

Co-authored-by: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>
2020-12-30 00:28:49 +00:00
2ef68a84b6 Added color wheel that have QMK HSV values. (#8997)
I've converted the 360 color wheel to the 255 color wheel for QMK HSV values.
2020-11-10 15:57:43 +11:00
4b74f985ec 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-08-29 14:30:02 -07:00
b338a4d886 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-08-25 19:08:09 +10:00
98642ca028 Improve keycode handling for RGB (#7677)
Co-authored-by: drashna <drashna@live.com>
Co-authored-by: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2020-06-22 09:38:58 +01:00
e2e287ec5f Option to allow lighting layers when RGB Lighting is off (#9051) 2020-06-01 11:02:28 +02:00
d0e0202b27 Add query functions for RGB Light and RGB Matrix (#8960)
* Add additional query functions for RGBLIGHT

* Add additional query functions for RGB Matrix

* Change names of enable check functions

* Fix macro for rgb matrix takeover of rgblight functions

* Add documentation for rgb_matrix_get_hsv()

* Add *_get_hsv function to rgblight
2020-05-18 06:05:35 -07:00
a8a8bf0ff3 Allow expanding from 8 to 32 RGB Lighting Layers (#8941)
* Allow 16 lighting layers

* Require #define RGBLIGHT_LAYERS_16 to enable 16 layers

* Override RGBLIGHT_MAX_LAYERS to set maximum number of lighting layers

* Enforce lower bound on RGBLIGHT_MAX_LAYERS

Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* Fix an error in the check for valid RGBLIGHT_MAX_LAYERS

* Don't use bitfield / PACKED, as it causes bloat

* Update documentation re: up to 32 lighting layers

* Run cformat

* Add note about increasing FW size in docs/config_options.md

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Remove no-longer-valid comment

* Add doc note that split sync will be slower

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-05-13 21:39:05 +01:00
2fe7e221ec New RGB Lighting effect: Twinkle (#8887)
* Add twinkle RGB Lighting effect

* 2nd twinkle algo - double-buffering

* Further refinement: Per-LED twinkle

* Add documentation for Twinkle RBG Lighting mode

* Bias twinkle saturation closer to the set value

* Fix whitespace
2020-05-09 01:56:16 -07:00
e0f548085c Add ability to blink lighting layer for a specified duration (#8760)
* Implement momentarily blink of lighting layers

* Refactor spidey3 userspace to use rgb layer blink

* Remove un-necessary line from example in documentation

* Revert "Refactor spidey3 userspace to use rgb layer blink"

This reverts commit 831649bb680c41c6d663ae6fa86d13f4f8bebdd8.

* Adds a missing bit of documentation about lighting layer blink

* Update docs/feature_rgblight.md per suggestions

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

* Update docs/feature_rgblight.md per suggestions

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

* Update docs/feature_rgblight.md per suggestions

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

* cformat, as suggested

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-05-09 01:38:33 -07:00
a521fc2b6c [Docs] Fixes for feature_rgblight.md (#8514)
* remove extra comma that breaks the RGBLight Layers example

* linting

- use four spaces instead of tabs for indenting
- remove trailing spaces
2020-03-21 20:11:06 +00:00
6f55aa993a [docs] Note the need to flash both sides for rgb layers. (#8467)
Update feature_rgblight.md to note that for split dual-mcu boards, 
both sides must be flash to get the new value of the rgblight_layers.

https://github.com/qmk/qmk_firmware/pull/7768#issuecomment-600237611
2020-03-17 23:43:04 +00:00
2ffb08843b Feature: RGBLight layers (#7768)
* New feature: RGBLIGHT_LAYERS

This feature allows users to define multiple independent layers of lighting
that can be toggled on and off individually, making it easy to use your
RGB lighting to indicate things like active keyboard layer & modifier state.

* Demonstrate built in functions for layer state checking

Also link the video in the docs.

* Follow existing pattern for setting rgblight_status flags

* Eliminate rgblight_is_static_mode since it's not needed

Just check to see if the timer is enabled directly.
2020-03-10 12:50:01 -07:00
f9521ffa21 Add shift-to-invert to remaining directional RGB_* keycode pairs (#7484)
* Add shift-to-invert to remaining directional RGB_* keycode pairs

RGB_MODE_FORWARD / RGB_MODE_REVERSE invert their functions when shift is held.
This change adds the same capabilities to the remaining directional RGB_*
keycode pairs.  This improves consistency and provides full RGB control in a
keymap containing only one keycode from each pair.

* remove redundant variable

* fix typo

* Fix more typos

Flyspell is on now I swear!
2019-11-28 22:00:29 +00:00
687a24f298 Fix typo and code indentation (#7410) 2019-11-19 13:41:35 +00:00
1ea0cac998 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
2019-11-07 13:10:29 +00:00
670a9b7f83 Add effect range to rgblight.c (#5856)
* add rgblight_set_effect_range()

* implement effect range

* Arrange the order of function list in rgblight.h .

* update docs/feature_rgblight.md

* fix RGBLIGHT_RAINBOW_SWIRL_RANGE default value

* add example code about Utility Functions

* add example code about direct operation functions

* When RGBLIGHT_SPLIT is defined, the following function has no meaning and is invalidated.

 * rgblight_setrgb_master(r, g, b)
 * rgblight_setrgb_slave(r, g, b)
 * rgblight_sethsv_master(h, s, v)
 * rgblight_sethsv_slave(h, s, v)

* add temporary test code for rgblight_set_effect_range

* fix rgblight_effect_knight() bug

* Test End. Revert "add temporary test code for rgblight_set_effect_range"

This reverts commit 5680cddd012d68b2db75a532862a7fef250f8973.
2019-05-15 21:11:28 -07:00