diff options
Diffstat (limited to 'docs/drivers')
-rw-r--r-- | docs/drivers/gpio.md | 2 | ||||
-rw-r--r-- | docs/drivers/ws2812.md | 47 |
2 files changed, 40 insertions, 9 deletions
diff --git a/docs/drivers/gpio.md b/docs/drivers/gpio.md index 9ce4f2aa20..b21a17bc39 100644 --- a/docs/drivers/gpio.md +++ b/docs/drivers/gpio.md @@ -13,7 +13,7 @@ The following macros provide basic control of GPIOs and are found in `platforms/ |`gpio_set_pin_input_low(pin)` |Set pin as input with builtin pull-down resistor (unavailable on AVR)| |`gpio_set_pin_output(pin)` |Set pin as output (alias of `gpio_set_pin_output_push_pull`) | |`gpio_set_pin_output_push_pull(pin)` |Set pin as output, push/pull mode | -|`gpio_set_pin_output_open_drain(pin)`|Set pin as output, open-drain mode (unavailable on AVR and ATSAM) | +|`gpio_set_pin_output_open_drain(pin)`|Set pin as output, open-drain mode (unavailable on AVR) | |`gpio_write_pin_high(pin)` |Set pin level as high, assuming it is an output | |`gpio_write_pin_low(pin)` |Set pin level as low, assuming it is an output | |`gpio_write_pin(pin, level)` |Set pin level, assuming it is an output | diff --git a/docs/drivers/ws2812.md b/docs/drivers/ws2812.md index 88c096794f..4d1e727928 100644 --- a/docs/drivers/ws2812.md +++ b/docs/drivers/ws2812.md @@ -252,18 +252,49 @@ The following `#define`s apply only to the `pwm` driver: |`WS2812_PWM_COMPLEMENTARY_OUTPUT`|*Not defined* |Whether the PWM output is complementary (`TIMx_CHyN`) | ::: tip -Using a complementary timer output (`TIMx_CHyN`) is possible only for advanced-control timers (1, 8 and 20 on STM32), and the `STM32_PWM_USE_ADVANCED` option in `mcuconf.h` must be set to `TRUE`. Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations. +Using a complementary timer output (`TIMx_CHyN`) is possible only for advanced-control timers (1, 8 and 20 on STM32). Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations. ::: ## API {#api} -### `void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds)` {#api-ws2812-setleds} +### `void ws2812_init(void)` {#api-ws2812-init} -Send RGB data to the WS2812 LED chain. +Initialize the LED driver. This function should be called first. -#### Arguments {#api-ws2812-setleds-arguments} +--- - - `rgb_led_t *ledarray` - A pointer to the LED array. - - `uint16_t number_of_leds` - The length of the LED array. +### `void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-ws2812-set-color} + +Set the color of a single LED. This function does not immediately update the LEDs; call `ws2812_flush()` after you are finished. + +#### Arguments {#api-ws2812-set-color-arguments} + + - `int index` + The LED index in the WS2812 chain. + - `uint8_t red` + The red value to set. + - `uint8_t green` + The green value to set. + - `uint8_t blue` + The blue value to set. + +--- + +### `void ws812_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-ws2812-set-color-all} + +Set the color of all LEDs. + +#### Arguments {#api-ws2812-set-color-all-arguments} + + - `uint8_t red` + The red value to set. + - `uint8_t green` + The green value to set. + - `uint8_t blue` + The blue value to set. + +--- + +### `void ws2812_flush(void)` {#api-ws2812-flush} + +Flush the PWM values to the LED chain. |