summaryrefslogtreecommitdiffstats
path: root/quantum/rgblight.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Features/ws2812 matrix driver (#5418)XScorpion22019-04-141-0/+4
| | | | | | * WS2812 driver implementation for RGB Matrix * Added driver configuration docs
* Add support for RGB LEDs wired directly to each half's controller (#5392)Danny2019-03-231-10/+18
| | | | | | | | | | | | | | | | * 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
* rgblight.c: add remap feature (#5243)Takeshi ISHII2019-03-201-2/+16
| | | | | | | | | | | | | | * 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
* rgblight split transfer non-eeprom config (#5396)Len Trigg2019-03-151-2/+5
| | | | | | | | | | | * Make rgblight_update_dword not update eeprom (we already have eeconfig_update_rgblight for that). Make split i2c keyboards transfer active rgblight config rather than eeprom saved version of rgblight config, enabling runtime changes that aren't persisted to eeprom. * prev_level and prev_rgb only store successfully transmitted values
* fix rgblight_effect_breathing interval time (#5213)Takeshi ISHII2019-02-221-1/+1
|
* Velocikey: Match RGB animation speed to typing speed (#3754)Chris Lewis2019-02-211-5/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Draft commit of typing speed RGB control * More information in the readme * Support all RGB animation modes (Fixes #1) * Added support for all RGB light modes to use typing speed Except christmas lights because that is seizure-inducing at high speeds! * Introduced a value range specific to each RGB mode Because some modes are a little too much when running at full speed! * Update readme.md * Update readme.md * Re-arrange typing_speed definitions (Fixes #5) (#6) * Re-arrange variable definitions to avoid including quantum.h from rgblight.c * Fix a compilation error when trying to run make test:all * Tweaks to the typing speed decay rate * Renamed to momentum; moved implementation into dedicated files * Groundwork for toggling momentum on/off (currently always on) * Add EEPROM toggle for momentum-matching * Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic * Move momentum decay task out of rgblight_task() * Fix missing momentum.h in lufa.c * Experimental LED support (untested) * Draft commit of typing speed RGB control * More information in the readme * Support all RGB animation modes (Fixes #1) * Added support for all RGB light modes to use typing speed Except christmas lights because that is seizure-inducing at high speeds! * Introduced a value range specific to each RGB mode Because some modes are a little too much when running at full speed! * Update readme.md * Update readme.md * Re-arrange typing_speed definitions (Fixes #5) (#6) * Re-arrange variable definitions to avoid including quantum.h from rgblight.c * Fix a compilation error when trying to run make test:all * Tweaks to the typing speed decay rate * Renamed to momentum; moved implementation into dedicated files * Groundwork for toggling momentum on/off (currently always on) * Add EEPROM toggle for momentum-matching * Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic * Move momentum decay task out of rgblight_task() * Fix missing momentum.h in lufa.c * Added documentation * Renamed feature to velocikey * Reverted readme to original state * Correct the readme title * Updated feature name in the docs * Update EECONFIG name * Add compile-time toggles for velocikey * Update feature documentation * Revert "Merge branch 'led-support' into master" This reverts commit e123ff5febf61639b9a9020748e1c2e2313460ff, reversing changes made to df111a55b9d4929182e16108b1c0ead15b16df97. * Move velocikey EECONFIG definition to depend on VELOCIKEY_ENABLE * Rename decay_task function to decelerate * Apply suggestions from code review Co-Authored-By: chrislewisdev <chris@chrislewisdev.com> * Re-order eeconfig definitions * Apply coding conventions * Apply #ifdef check in lufa.c * Refactored interval time checks into one functionc * Small rename * Fix unused function error for layouts not using all rgb effects * Only update EEPROM if Velocikey is enabled * Incorporate code review feedback * Small adjustment to top-end decay rate * Add Velocikey documentation to table of contents * Bring tetris:default keymap size down by disabling audio
* Move RGBLIGHT_LIMIT_VAL definition from rgblight.c to rgblight.h (#5167)Konstantin Đorđević2019-02-171-4/+0
|
* Add support for using ranges for RGB (#4981)Erovia2019-02-151-0/+36
| | | | | | | | | * 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
* Improve RGB Light code (#4326)Drashna Jaelre2019-02-151-2/+44
| | | | | | | | * Improve RGB Light code * Add is_rgblight_initialized as an externed value in rgblight.h * Use remander of hue
* Practice60 RGB and PWM Backlight (#4929)Andrew Kannan2019-01-281-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | * Update Practice60 to enable RGB via SPI DMA and use PWM backlight breathing * Correct stm32f103c8t6 flash size in eeprom definition * Remove unused files and improve ifdef checks * Update quantum/rgblight.c Co-Authored-By: awkannan <andrew.kannan@klaviyo.com> * Update quantum/rgblight.c Co-Authored-By: awkannan <andrew.kannan@klaviyo.com> * EEPROM implementation fix and updated p60 code * Update define * Remove dead code * Update keymap to remove test key * Update keymap again
* Prevent wasteful writing to eeprom.mtei2019-01-281-0/+2
|
* Change rgblight_get_mode & rgb_matrix_get_mode's return type to uint8_t. (#4747)David Dai2018-12-311-1/+1
| | | | | | | | | * Change rgblight_get_mode's return type to uint8_t. Since rgblight_get_mode() is just returning rgblight_config_t.mode, it should match rgblight_config_t.mode's type: uint8_t. * Update rgb_matrix_get_mode to return uint8_t.
* Added noeeprom versions of set hue, sat, val, and stepFredric Silberberg2018-12-131-16/+64
|
* Fix up RGB Matrix code (#4503)Drashna Jaelre2018-12-031-2/+2
| | | | | | * Fix up RGB Matrix code * Convert RGBLIGHT functions to rgbmatrix ones, and add defines
* Configurable Rainbow Swirl range (#4376)Frank Tackitt2018-11-071-1/+5
| | | | | | | | | | | | | | * 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
* optimize rgblight_effect_alternating(void)mtei2018-10-181-7/+7
| | | | rgblight_effect_alternating (void) calls rgblight_sethsv_at () RGBLED_NUM times. As a result, rgblight_set () is called RGBLED_NUM + 1 times. This is wasteful processing.
* rgblight.[ch] more configurable (#3582)Takeshi ISHII2018-09-131-81/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Added alternating led underglow pattern (#3498)Brad2018-07-291-1/+25
| | | | | | | | * added alternating led pattern * added alternating with rgblight_config values * removed my comments
* Lets split eh (#3120)That-Canadian2018-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Line ending stuff again * Added Let's Split Eh? Files and updated #USE_IC2 checks to also include th EH revision (can only be used in I2C) * Added personal keymap, updated some of the EH files * Created new keyboard file for testing "lets_split_eh" will merge into lets_split once fully functional * Added split code from lets_split, removed pro micro imports and LED code THIS IS WORKING CODE, WITHOUT RGB AND BACKLIGHT * Took back original Lets Slit files for the lets_split keyboard, working in the lets_split_eh folder for now * Updated eh.c * More rework of the I2C code, added global flags for split boards. * Introduced RGB over I2C, having weird edge case issues at the moment though * Fixed weird I2C edgecase with RGB, although still would like to track down route cause.. * Changed RGB keycodes (static ones) to activate on key-up instead of key-down to elimate weird ghosting issue over I2C * Lots of changes, mainly externalized the Split keyboard code and added logic for only including when needed. - Added makefile option "SPLIT_KEYBOARD" that when = yes will include the split keyboard files and custom matrix - Split keyboard files placed into quantum/split_common/ - Added define option for config files "SPLIT_HAND_PIN" FOr using high/low pin to determine handedness, low = right hand, high = left hand - Cleaned up split logic for RGB and Backlight so it is only exectuted / included when needed * Updated documentation for the new makefile options and #defines specific to split keyboards * Added a bit more info to docs, so people aren't confused * Modifed Let's Split to use externalized code, also added left and right hand eeprom files to the split_common folder * Removed some debugging from eh.c * Small changes to keyboard configs. Also added a default keymap (just a copy of my that_canadian keymap). * Added a README file to the Let's Split Eh? * Changed it so RGB static updates are done on key-up ONLY for split boards rather than all boards. Also fixed leftover un-used variable in rgblight.c * Updated default keymap and my keymap for Let's Split Eh? Updated the comments so it reflects RGB control, and removed audio functions. * Fixed lets_split_eh not having a default version * Removed "eh" references from lets_split folder for now * Took lets_split folder from master to fix travis build errors, weird my local was overriding. * Changed LAYOUT_ortho_4x12_kc -> LAYOUT_kc_ortho_4x12 to match bakingpy and others * Removed rules.mk from my lets_split keymap, not needed * Updated the config_options doc to better explain the usage of "#define SPLIT_HAND_PIN"
* Adds support for Planck Rev 6 (#2666)Jack Humbert2018-07-161-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * initial files for rev 6 with encoder * music map init, dip scan added * adds ws2812 driver for arm * flesh out dip and encoder support * adds default encoder res * adds default encoder res * start muse implementation * muse working with encoder as control * flip direction * try mouse wheel again * dont break other revs * dont break other revs * conditional autio * pwm ws driver (not working) * update build includes for chibios * update ws2812 driver/config * last commit for glasser code * working example * remove rgb for now * finish up rev6 * working encoder keycodes * add warnings to planck keymaps about the LAYOUT
* fix issue with rgbinit unused variable (#3165)Jon Allen2018-06-121-2/+0
| | | | | | * fix issue with rgbinit wiping out customization. * removed unused variable
* Add rgblight mode 35 (R,G,B test mode) (#3114)Takeshi ISHII2018-06-041-3/+35
| | | | | | | | * add rgblight mode 35 (RGB cyclic mode) into quantum/rgblight.c * Update docs, add rgblight mode 35(RGB cyclic) * rename RGBCYCLIC to RGBTEST
* Add and fix _noeeprom functions to many of the RGB Underglow functions (#3070)Drashna Jaelre2018-05-291-21/+72
| | | | | | | | | | | | | | * 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!
* Add effect speed support for RGB Matrix *No EEPROM yet* (#2922)yiancar2018-05-081-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added Modular keyboards L,R and NUM Created code modules for the 3 modules of the modular keyboard. Original idea by MechboardsUK. Uses i2c implementation similar to lets split * Remove modular from master This is to fix incorrect branching * Add effect speed support for RGB Matrix *No eeprom yet* Keycodes RGB_SPI and RGB_SPD have been added to increase and decrease effect speed. Speed is not saved in EEPROM yet as per Jack's request. * Update rgb_matrix.c * RGB Matrix speed fix rgblight.h * More fixes for rgb speed. Speed functions declared but not used in rgblight * More travis fixes.. * Another one for travis..
* change rgblight_increase_val() and eeconfig_update_rgblight_default(), use ↵mtei2018-03-261-7/+9
| | | | RGBLIGHT_LIMIT_VAL insted of 255.
* ADD RGBLIGHT_LIMIT_VAL (#2214)YouCanFly2018-01-021-0/+6
|
* Add COSPAD to QMK and add functions to read HSV (#2156)kamisamamizu2017-12-171-0/+12
| | | | | | | | | | | | | | | | | * Added functions to read HSV values I have added three functions to rgb_light.c to be able to read the hue, saturation and value from other places. They are rgblight_get_hue(), rgblight_get_sat(), adn rgblight_get_val(). * Create keymap.c * Add COSPAD support to QMK I have ported the COSPAD numpad to qmk. * Update readme.md * Update cospad.c
* Add 'rgblight_disable' and 'rgblight_setrgb_at/rgblight_sethsv_at'Colin T.A. Gray2017-12-081-11/+35
| | | | | Refactors rgblight_toggle to use rgblight_enable or rgblight_disable Use 'rgblight_setrgb_at/rgblight_sethsv_at' to control an individual LED
* Address #1689 by using a formula to define the breathing curve (#1692)skullydazed2017-10-171-1/+6
| | | | | | * 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
* Address issue #1713 (#1728)Dylan Khor2017-09-171-1/+1
|
* update to driver separationJack Humbert2017-09-151-1/+2
|\
| * Added a build flag for using a custom rgblight driverLuiz Ribeiro2017-06-111-1/+2
| |
* | RGB improvements (#1684)skullydazed2017-09-061-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | * 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
* | Improve and simplify RGB Knight mode (#1677)David Stosik2017-09-051-39/+20
| | | | | | | | | | | | * Simplify RGB Knight mode code, and make it look closer to KITT * Remove RGBLIGHT_EFFECT_DUALKNIGHT_LENGTH
* | Fix Kitt and its default behavior (#1674)David Stosik2017-09-031-7/+5
|/
* Move CIE1931 and breathing tables to its own fileFred Sundvik2017-04-091-53/+5
|
* Clarify the quantum license (#1042)skullydazed2017-03-281-0/+15
| | | | | | | | | | * Clarify the license for files we have signoff on * Update against the currently signed off files * Remove unused and not clearly licensed headers * Replace an #endif I accidentally removed while resolving merge conflicts
* Added non-animated gradient modedungdung2017-02-061-0/+19
|
* Added mode reverse step functiondungdung2017-02-061-0/+8
|
* Christmas mode now works with even RGBED_NUMdungdung2017-02-061-4/+4
| | | | | | Added Christmas mode steps to reduce red and green colors blending into each other Added Christmas mode interval Increased green hue to 120
* Removed errant +Scott Wilson2016-12-291-1/+1
|
* Add extern for 'led' global, set 'weak' attribute for rgblight_set()Scott Wilson2016-12-281-0/+1
|
* Christmas RGB light modeJack Humbert2016-12-231-0/+21
|
* Test layout for ErgoDox EZ manufacturing robotErez Zukerman2016-11-291-0/+6
|
* converted to new formatJack Humbert2016-11-231-0/+13
|
* Groundwork for dedicated color keycodesErez Zukerman2016-11-171-0/+7
|
* rgb light through midiJack Humbert2016-11-171-5/+5
|
* mostly workingJack Humbert2016-11-131-50/+51
|
* mergingJack Humbert2016-11-121-22/+39
|\
| * Merge pull request #814 from fredizzimo/rgb_tuningJack Humbert2016-10-101-22/+33
| |\ | | | | | | Improve the RGB led effects