LED Peripheral

Blink or fade a LED connected to a GPIO with configurable On and Off times.

Application Examples

Implementation of this API is demonstrated in couple of examples:

API Reference

Header File

Functions

esp_periph_handle_t periph_led_init(periph_led_cfg_t *config)

Create the LED peripheral handle for esp_peripherals.

Note

The handle was created by this function automatically destroy when esp_periph_destroy is called

Parameters

config – The configuration

Returns

The esp peripheral handle

esp_err_t periph_led_blink(esp_periph_handle_t periph, int gpio_num, int time_on_ms, int time_off_ms, bool fade, int loop, periph_led_idle_level_t level)

Bink LED Peripheral, this function will automatically configure the gpio_num to control the LED, with time_on_ms as the time (in milliseconds) switch from OFF to ON (or ON if fade is disabled), and time_off_ms as the time (in milliseconds) switch from ON to OFF (or OFF if fade is disabled). When switching from ON -> OFF and vice versa, the loop decreases once, and will turn off the effect when the loop is 0. With a loop value less than 0, the LED effect will loop endlessly. PERIPH_LED_BLINK_FINISH events will be sent at each end of loop.

Parameters
  • periph[in] The LED periph

  • gpio_num[in] The gpio number

  • time_on_ms[in] The time on milliseconds

  • time_off_ms[in] The time off milliseconds

  • fade[in] Fading enabled

  • loop[in] Loop

  • level[in] idle level

Returns

  • ESP_OK

  • ESP_FAIL

esp_err_t periph_led_stop(esp_periph_handle_t periph, int gpio_num)

Stop Blink the LED.

Parameters
  • periph[in] The periph

  • gpio_num[in] The gpio number

Returns

  • ESP_OK

  • ESP_FAIL

Structures

struct periph_led_cfg_t

The LED peripheral configuration.

Public Members

ledc_mode_t led_speed_mode

LEDC speed speed_mode, high-speed mode or low-speed mode

ledc_timer_bit_t led_duty_resolution

LEDC channel duty resolution

ledc_timer_t led_timer_num

Select the timer source of channel (0 - 3)

uint32_t led_freq_hz

LEDC timer frequency (Hz)

int gpio_num

Optional, < 0 invalid gpio number

Enumerations

enum periph_led_event_id_t

Peripheral LED event id.

Values:

enumerator PERIPH_LED_UNCHANGE

No event

When LED blink is finished

enum periph_led_idle_level_t

Peripheral LED idle output level.

Values:

enumerator PERIPH_LED_IDLE_LEVEL_LOW

Low level output

enumerator PERIPH_LED_IDLE_LEVEL_HIGH

High level output