-
Notifications
You must be signed in to change notification settings - Fork 263
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add documentation for the LEDControl plugin (#1405)
* Get started with LEDControl documentation * Add documentation for a number of methods Signed-off-by: Evy Bongers <[email protected]>
- Loading branch information
1 parent
d617890
commit 18b588b
Showing
1 changed file
with
120 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,125 @@ | ||
# Kaleidoscope-LEDControl | ||
|
||
This is a plugin for [Kaleidoscope][fw], for controlling the LEDs, and LED | ||
effects. | ||
effects. It is also a building block for plugins that control LEDs. | ||
|
||
[fw]: https://github.com/keyboardio/Kaleidoscope | ||
|
||
## Using the extension | ||
|
||
## Plugin methods | ||
|
||
### `.next_mode(void)` | ||
|
||
> Activates the next LED mode. Cycles to the first LED mode if the current LED | ||
> mode is the last one. | ||
### `.prev_mode(void)` | ||
|
||
> Activates the previous LED mode. Cycles to the last LED mode if the current | ||
> LED mode is the first one. | ||
### `.get_mode()` | ||
|
||
> Returns the current LED mode. | ||
### `.get_mode<typename>()` | ||
|
||
|
||
### `.set_mode(uint8_t mode_id)` | ||
|
||
> Activates a LED mode by its index in the firmware. If the index exceeds the | ||
> numer of led modes, the method returns early. | ||
### `.get_mode_index()` | ||
|
||
> Returns the index of the currently active LED mode. | ||
### `.refreshAll()` | ||
|
||
> If the hardware has LEDs and LEDs are enabled, turn all LEDs off and then | ||
> trigger the current LED mode to refresh. | ||
### `.setCrgbAt(uint8_t led_index, cRGB crgb)` | ||
|
||
> Sets the specified LED to the provided color. | ||
### `.setCrgbAt(KeyAddr key_addr, cRGB color)` | ||
|
||
> Sets the LED for the specified key to the provided color. | ||
### `.getCrgbAt(uint8_t led_index)` | ||
|
||
> Get the LED color of the specified LED. | ||
### `.getCrgbAt(KeyAddr key_addr)` | ||
|
||
> Get the LED color of the LED for the specified key. | ||
### `.syncLeds(void)` | ||
|
||
> Force an update of all LEDs. | ||
### `.set_all_leds_to(uint8_t r, uint8_t g, uint8_t b)` | ||
|
||
> Set all LEDs using the provided rgb values. | ||
### `.set_all_leds_to(cRGB color)` | ||
|
||
> Set all LEDs to the specified color. | ||
### `.setSyncInterval(uint8_t interval)` | ||
|
||
> Set the interval at which the LEDs should sync, in milliseconds. | ||
> | ||
> Note: LED updates are considered on each cycle of the runtime. Because of | ||
> that, the interval effectively means that _at least_ `interval` milliseconds | ||
> has passed before LEDs are synced. | ||
### `.setBrightness(uint8_t brightness)` | ||
|
||
> Set the brightness for all LEDs. | ||
### `.getBrightness()` | ||
|
||
> Returns the current brightness of the LEDs as a uint8_t. | ||
### `.onSetup()` | ||
|
||
> See [[event-handler-hooks]] | ||
### `.setup(void)` | ||
|
||
|
||
### `.onKeyEvent(KeyEvent &event)` | ||
|
||
> See [[event-handler-hooks]] | ||
### `.afterEachCycle()` | ||
|
||
> See [[event-handler-hooks]] | ||
### `.update(void)` | ||
|
||
> Triggers the currently active LED mode to update. It is up to the LED mode to | ||
> handle this correctly. | ||
### `.refreshAt(KeyAddr key_addr)` | ||
|
||
> Triggers the currently active LED mode to refresh the LED at the specified key | ||
> address. | ||
### `.activate(LEDModeInterface *plugin)` | ||
|
||
|
||
### `.disable()` | ||
|
||
> Turn off all LEDs and disables updating LEDs | ||
### `.enable()` | ||
|
||
> Enables updating LEDs and calls `refreshAll()` | ||
### `.isEnabled()` | ||
|
||
> Returns a bool value reflecting whether LEDs are currently enabled. |