19 #define HW_LED_GPIO_NONE 0xFFu 27 #ifndef HW_LED_POOL_CAPACITY 28 #define HW_LED_POOL_CAPACITY 8u 44 #ifndef HW_LED_CONTEXT_SIZE 45 #define HW_LED_CONTEXT_SIZE 32 No default board LED is available.
struct hw_led_t hw_led_t
Opaque LED handle.
PWM (Pulse Width Modulation) interface.
struct hw_pwm_t hw_pwm_t
Opaque PWM handle.
struct hw_gpio_t hw_gpio_t
GPIO logical pin structure.
hw_led_t * hw_led_init_gpio(hw_gpio_t *gpio)
Initialize a direct GPIO LED.
GPIO (General Purpose Input/Output) interface.
hw_led_t * hw_led_init_device(const char *name)
Initialize an LED from a platform-specific device path or name.
bool hw_led_set(hw_led_t *led, uint8_t index, bool enabled)
Set LED state on or off.
bool hw_led_clear(hw_led_t *led)
Turn off all LED state, cancelling any active blink.
uint8_t hw_led_gpio_default(hw_led_type_t *out_type, uint8_t *out_count)
Return the default board LED's control pin.
bool hw_led_set_brightness(hw_led_t *led, uint8_t index, float percent)
Set LED brightness.
LED is a directly controlled GPIO pin.
hw_led_t * hw_led_init_default(void)
Initialize the default on-board LED.
LED is controlled through PWM on a GPIO pin.
LED is a WS2812/NeoPixel data pin.
LED is controlled through CYW43 Wi-Fi GPIO.
hw_led_t * hw_led_init_neopixel(hw_gpio_t *gpio, uint8_t led_count)
Initialize a NeoPixel/WS2812 LED data pin.
void hw_led_deinit(hw_led_t *led)
Deinitialize an LED handle.
hw_led_t * hw_led_init_wifi(void)
Initialize a Wi-Fi controlled LED.
hw_led_type_t
Default board LED access type.
hw_led_t * hw_led_init_pwm(hw_pwm_t *pwm)
Initialize a PWM controlled LED.
bool hw_led_blink(hw_led_t *led, uint8_t index, uint32_t period_ms, bool repeating)
Blink an LED using a timer.