summaryrefslogtreecommitdiff
path: root/docs/feature_rgblight.md
AgeCommit message (Collapse)Author
2020-12-30Rewrite APA102 support (#10894)Aldehir Rojas
* Rewrite APA102 support The APA102 source was broken by commit 16a15c1cfcbfd0feb2c2cf1383676747e2f97d73 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-11-10Added color wheel that have QMK HSV values. (#8997)elijahblake81
I've converted the 360 color wheel to the 255 color wheel for QMK HSV values.
2020-08-29Tweak the Christmas animation effect to be less harsh on the eyes (#7648)Max Rumpf
* 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-25Add noeeprom speed function for RGBLIGHT (#9706)Drashna Jaelre
* [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-06-22Improve keycode handling for RGB (#7677)Drashna Jaelre
Co-authored-by: drashna <drashna@live.com> Co-authored-by: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2020-06-01Option to allow lighting layers when RGB Lighting is off (#9051)Joshua Diamond
2020-05-18Add query functions for RGB Light and RGB Matrix (#8960)Drashna Jaelre
* 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-13Allow expanding from 8 to 32 RGB Lighting Layers (#8941)Joshua Diamond
* 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-09New RGB Lighting effect: Twinkle (#8887)Joshua Diamond
* 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-09Add ability to blink lighting layer for a specified duration (#8760)Joshua Diamond
* 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-03-21[Docs] Fixes for feature_rgblight.md (#8514)James Young
* remove extra comma that breaks the RGBLight Layers example * linting - use four spaces instead of tabs for indenting - remove trailing spaces
2020-03-17[docs] Note the need to flash both sides for rgb layers. (#8467)Frei
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-10Feature: RGBLight layers (#7768)Nathan Gray
* 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.
2019-11-28Add shift-to-invert to remaining directional RGB_* keycode pairs (#7484)Manna Harbour
* 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-19Fix typo and code indentation (#7410)Mihai Olteanu
2019-11-07ARM - ws2812 bitbang (#7173)Joel Challis
* 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-05-15Add effect range to rgblight.c (#5856)Takeshi ISHII
* 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-10[Docs] RGB Animation documentation on reducing memory footprint (#5813)Yan-Fa Li
* Improve Animation docs with example - example to reduce flash footprint of animations using RGBLIGHT_EFFECT_ defines * Re-order the effects list * Update docs/feature_rgblight.md Co-Authored-By: yanfali <yanfali@gmail.com> * Update docs/feature_rgblight.md Co-Authored-By: yanfali <yanfali@gmail.com> * Update docs/feature_rgblight.md Co-Authored-By: yanfali <yanfali@gmail.com> * Introduce line breaks * Add title for animation speed section * Organize Animation Defines Into Groups * Use the RGB EFFECT recommended by mtei in docs - has the most modes, and STATIC_LIGHT can't really be disabled. * Use more accurate titles for effects and animation - accidentally put a toggle in settings
2019-05-02If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table ↵Takeshi ISHII
instead of exp() and sin() (#5484) * If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin() * Change rgblight breathing table size to be easily selectable. add RGBLIGHT_BREATHE_TABLE_SIZE macro for customize breathing effect.
2019-05-01rgblight 255 hue (#5547)XScorpion2
2019-04-22Define RGB colors (#5300)Erovia
* Define RGB colors Define RGB colors and pass them to the rgblight functions, instead of defining multiple macros. * Add new color definitions support for RGB Matrix * Add/clarify info about new color definitions in Docs * Add deprecation warning banner to rgblight_list.h
2019-04-19Add function to support split-keyboard in rgblight.[ch]. (#5020)Takeshi ISHII
* add temporary file that is rgblight.c call graph * add rgblight_update_hook() * update rgblight-call-graph.dot (temporary file) * add more hook point * add TODO comment * temporary Revert "add TODO comment" This reverts commit df6165aac9b3a31d1d3e31ce52aadc134b84eac2. * temporary Revert "add more hook point" This reverts commit 64592b06f3bcdaac47c59f922018a273bef76776. * temporary Revert "add rgblight_update_hook()" This reverts commit 432b74c912ed4333e6633e20a1bcda10c6a10eaf. * add rgblight_update_hook() * add more hook point * add TODO comment * implement rgblight_update_hook() * remove rgblight_update_hook(), add RGBLIGHT_SPLIT_SET_CHANGE_XXXX rgblight_update_hook() is too large. change to simple flag setting. * shrink rgblight_config_t * implement rgblight_update_sync() Note: The animation synchronization process has not been implemented yet. * update quantum/rgblight-call-graph.dot (temporary file) * rmove quantum/rgblight-call-graph.dot (temporary file) * update rgblight.c * Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c . * fix build break rgblight_update_sync() when all animation off * fix quantum/rgblight.c:rgblight_disable_XX() add RGBLIGHT_SPLIT_SET_CHANGE_MODE * quantum/rgblight.c change code order: move rgblight_update_sync() * add mode_base_table[] to quantum/rgblight.c * quantum/rgblight.c use mode_base_table[] and rgblight_status.base_mode * quantum/rgblkght.c animation timer integration * quantum/rgblkght.c add animation sync for split keyboard * fix mode_base_table[] and snake effect * fix build break keyboards/mxss. keyboards/mxss's local rgblight.c need old version rgblight.h * rgblight.c: fix animation sync * quantum/rgblight.c: fix snake effect sync * quantum/rgblight.c: animation sync interverl 30 sec * quantum/rgblight.c: fix rgblight_effect_rainbow_swirl() and rgblight_effect_knight() * quantum/rgblight.c: add macro RGBLIGHT_SPLIT_ANIMATION * cherry-pick from 'rgblight_modes.h sample implementation' * fix RGBLIGHT_SPLIT_ANIMATION check position * Update temporary code in Helix keyboard 'five_rows' keymap to test rgblight.c * Reduce the firmware size by 1500 bytes when rgblight_effect_breathing() is enabled. * Changed to rgblight_sethsv_eeprom_helper() for easier reading. * add fail-safe code to quantum/rgblight.c:rgblight_task(),rgblight_timer_enable() * remove temporary code in Helix keyboard 'five_rows' keymap * quantum/rgblight.c: add split-keyboard master side sync functions add functions: uint8_t rgblight_get_change_flags(void); void rgblight_clear_change_flags(void); void rgblight_get_syncinfo(rgblight_syncinfo_t *syncinfo); change function: void rgblight_update_sync(rgblight_syncinfo_t *syncinfo, bool write_to_eeprom); * Change rgblight_update_sync() to use write_to_eeprom. * remove TODO comment from quantum/rgblight.h * Revert "fix build break keyboards/mxss." This reverts commit 90b9a1aa7d8af226751500e49e3ea0214cc4e024. (Separated this change into the newly opened PR #5461.) * Revert "Reduce the firmware size by 1500 bytes when rgblight_effect_breathing() is enabled." This reverts commit b61004e63e82cf5334cee4def4ba10cffa88885f. * update quantum/rgblight.c: Code size reduction when not using RGBLIGHT_SPLIT. * Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c . * add temporary pdhelix(Patched Helix) code * Add temporary code to split_common/transport.c to test rgblight.c. * Finish testing rgblight.c with helix keyboard. Revert "Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c ." This reverts commit 0bf81a4723a977adc0cb09b4272ee5c9b4f2bbbb. * Finish testing rgblight.c with quantum/split_common code. Revert "Add temporary code to split_common/transport.c to test rgblight.c." This reverts commit 71db3e24eef40d4c455fb9fd1664e4487c9d927a. * remove temporary pdhelix(Patched Helix) code This reverts commit 5287e51a394741bcb6028c7cfc0dd0c984645f76. * Added description of RGBLIGHT_SPLIT macro to docs/feature_rgblight.md. * add RGBLIGHT_SPLIT_SET_CHANGE_HSVS to rgblight_init() * Changed to restart animation only when changing mode. When changing hue, sat and val, the animation is not restarted and continues.
2019-04-08[Docs] update feature_rgblight.md: add some figures (#5578)Takeshi ISHII
* Added diagrams to illustrate the RGBLIGHT_LED_MAP macro and the `rgblight_set_clipping_range()` function. * change fig size * change fig size * update figs
2019-03-29Fixing dead links (#5503)Brian Choromanski
* Fixed typo of 'confid.h' to 'config.h' * Fixed broken links in docs * Fixed a lot of dead links * Removed all dead links that I could not find a replacement for * Placed knops links back in * Fixed plank keymaps so that they will compile for planck light * Https doesn't work on knops.io * tv44:budi now compiles * s60_x:amnesia0287 now compiles * Fixed allocation of key_combos so that narze keymap for planck can compile correctly * Disabled rgb on ergodone and infinity * Enabled tap dance so it compiles * Added return statement so it compiles * If compiling on light disable extra functionality * Properly redefined variable so it compiles * Remove remaining dead links
2019-03-23Add support for RGB LEDs wired directly to each half's controller (#5392)Danny
* Add support for wiring RGB LEDs for both halves directly to their respective controllers RGB LEDs for each half don't need to be chained together across the TRRS cable with this * Add split RGB LED support for serial * Update config/rules for bakingpy layout * Un-nest ifdefs for hand detection * Read RGB config state from memory instead of EEPROM for serial updates * Reuse existing LED pointer instead of creating new one
2019-03-20rgblight.c: add remap feature (#5243)Takeshi ISHII
* rgblight.c: add RGBLIGHT_LED_MAP support * add code to keyboards/helix/rev2/keymaps/five_rows/config.h to test rgblight.c:RGBLIGHT_LED_MAP * Test end. Revert "add code to keyboards/helix/rev2/keymaps/five_rows/config.h to test rgblight.c:RGBLIGHT_LED_MAP" This reverts commit e7488d6f7338460b533d7d19a09deccb011000bf. * update docs/feature_rgblight.md * led_map[] move to PROGMEM
2019-02-15Add support for using ranges for RGB (#4981)Erovia
* Add support for using ranges for RGB This patch adds support for controlling continuous ranges of RGB LEDs. Helper functions for split boards are also available. * RGB Range: Use hardware-platform agnostic wait
2018-12-13Added noeeprom versions of set hue, sat, val, and stepFredric Silberberg
2018-11-27Remove RGB_SMOD alias and replace uses with RGB_MOD (#4319)Konstantin Đorđević
2018-11-07Configurable Rainbow Swirl range (#4376)Frank Tackitt
* Configurable Rainbow Swirl range This allows tweaking of the rainbow effect to get different effects on keyboards with varied LED layouts. We found the value 1950 works on the RGBKB.net Sol to get a cool striped effect across the keyboard. * Document RGBLIGHT_RAINBOW_SWIRL_RANGE * Better wording for the documentation
2018-10-11add a notice into docs/feature_rgblight.mdmtei
2018-09-13rgblight.[ch] more configurable (#3582)Takeshi ISHII
* add temporary test code rgblight-macro-test1.[ch] * rgblight.h : mode auto numberring and auto generate mode name symbol No change in build result. * rgblight.c use RGBLIGHT_MODE_xxx symbols No change in build result. * quantum.c use RGBLIGHT_MODE_xxx symbols No change in build result. * fix build break. when RGB_MATRIX_ENABLE defined * add temporary test code rgblight-macro-test2.[ch] * modify rgblight_mode_eeprom_helper() and rgblight_sethsv_eeprom_helper() * modify rgblight_task() * configurable each effect compile on/off in config.h * update docs/feature_rgblight.md * fix conflict. docs/feature_rgblight.md * remove temporary test code rgblight-macro-test*.[ch] * fix comment typo. * remove old mode number from comment * update docs/feature_rgblight.md about effect mode * Revert "update docs/feature_rgblight.md about effect mode" This reverts commit 43890663fcc9dda1899df7a37d382fc38b1a6d6d. * some change docs/feature_rgblight.md * fix typo * docs/feature_rgblight.md update: revise mode number table
2018-08-07Improve RGB lighting documentation (#3580)fauxpark
2018-06-04Add rgblight mode 35 (R,G,B test mode) (#3114)Takeshi ISHII
* add rgblight mode 35 (RGB cyclic mode) into quantum/rgblight.c * Update docs, add rgblight mode 35(RGB cyclic) * rename RGBCYCLIC to RGBTEST
2018-05-29Add and fix _noeeprom functions to many of the RGB Underglow functions (#3070)Drashna Jaelre
* And and fix _noeeprom functions to many of the RGB Underglow functions * Many functions are unnecessarily calling the eeprom write code. The toggle/enable is command is especially guilty of this, as it writes to EEPROM 3 times. But rgb mode writes twice, every time it's called. And init resets the rgb eeprom range and then writes back to it twice! * Fixed the rgblight_sethsv_noeeprom to work as expected, by moving a lot of the code to a helper function. * Added a noeeprom function for mode, enable, disable, and toggle functions. (didn't bother for increase/decrease stuff, and didn't add new keycodes) * Add to predefined colors list * Add new functions to manual/docs * Update RGB Sleep feature to use _noeeprom Because that's exactly what it should be doing, actually!
2018-03-28Add rgblist to docsU-LANDSRAAD\drashna
2018-03-23Add HSV value specification (#2481)Daniel Hoek
* Update feature_rgblight.md I got caught out with this as most color pickers use a percentage NOT 0-255 for this number * Amended description Woops! Was focused on s/v not being a percentage i got h wrong.
2018-03-19[Proposal?] Allow RGB Underglow to turn off when host is idle/asleep (#2104)Drashna Jaelre
* Add RGB Underglow Sleeping * Add RGBLIGHT_SLEEP to toggle/control RGB light behavior * Update rgb docs * Update for RGB disable command
2018-01-02ADD RGBLIGHT_LIMIT_VAL (#2214)YouCanFly
2017-12-09Format keycode tablesfauxpark
2017-12-09Convert all headings to Title Casefauxpark
2017-12-08Add 'rgblight_disable' and 'rgblight_setrgb_at/rgblight_sethsv_at'Colin T.A. Gray
Refactors rgblight_toggle to use rgblight_enable or rgblight_disable Use 'rgblight_setrgb_at/rgblight_sethsv_at' to control an individual LED
2017-12-04adds 'RGB_RMOD' to go through RGB modes in reverseColin T.A. Gray
2017-10-24Added a new keycode for cycling through RBG modes which reverses directions ↵Sebastian Kaim
when shift is hold. This commit adds a new keycode `RGB_SMOD` which is the same as `RGB_MOD` (cycle through all modes), but when it is used in combination with shift it will reverse the direction.
2017-10-21Fix missing code backticksJason Milkins
2017-10-17Address #1689 by using a formula to define the breathing curve (#1692)skullydazed
* Address #1689 by using a formula to define the breathing curve and exposing defines to control the shape of the curve. * Tweak the behavior of breathing for clueboard
2017-09-29Fix HSV Color Wheel image on RGB Light page (#1773)Max Riveiro
Signed-off-by: Max Riveiro <kavu13@gmail.com>
2017-09-06RGB improvements (#1684)skullydazed
* Allow the knight animation to be restricted to a portion of the LED strip * Add keys for jumping directly to particular animation modes * Remove orphaned break statements * Tweak the `RGB_MODE` buttons so they cycle through the same mode. * small indentation fix
2017-08-16Doc updates from going through every fileskullY
2017-08-16break up keymaps and quantum keycodes into files by featureskullY