LED Controller Peripheral

This peripheral is applicable to IS31Fl3216 chip that is a light LED controller with an audio modulation mode. It can store data of 8 Frames with internal RAM to play small animations automatically. You can also use it to control a number of LEDs connected to GPIOs. If you want to use the IS31Fl3216, see functions periph_is31fl3216_init(), periph_is31fl3216_set_blink_pattern(), periph_is31fl3216_set_duty(), periph_is31fl3216_set_state().

Application Examples

Implementation of this API is demonstrated in checks/check_msc_leds example.

API Reference

Functions

esp_periph_handle_t periph_is31fl3216_init(periph_is31fl3216_cfg_t *is31fl3216_config)

Initializate the is31fl3216.

Return
  • ESP_OK Success
  • ESP_FAIL Fail
Parameters
  • is31fl3216_config:

esp_err_t periph_is31fl3216_set_state(esp_periph_handle_t periph, periph_is31fl3216_state_t state)

Set the state of all the channels.

Return
  • ESP_OK Success
  • ESP_FAIL Fail
Parameters
  • periph: The is31fl3216 handle
  • state: The state of all channels

Set the current enable channels.

Return
  • ESP_OK Success
  • ESP_FAIL Fail
Parameters
  • periph: The is31fl3216 handle
  • blink_pattern: The bit pattern of enabled channels

esp_err_t periph_is31fl3216_set_duty(esp_periph_handle_t periph, uint8_t index, uint8_t value)

Set the duty of the channel.

Return
  • ESP_OK Success
  • ESP_FAIL Fail
Parameters
  • periph: The is31fl3216 handle
  • index: The channel number
  • value: The value of the channel’s duty to be set

esp_err_t periph_is31fl3216_set_duty_step(esp_periph_handle_t periph, uint8_t step)

Set the duty step of flash.

Return
  • ESP_OK Success
  • ESP_FAIL Fail
Parameters
  • periph: The is31fl3216 handle
  • step: The step of flash

esp_err_t periph_is31fl3216_set_interval(esp_periph_handle_t periph, uint16_t interval_ms)

Set the internval time.

Return
  • ESP_OK Success
  • ESP_FAIL Fail
Parameters
  • periph: The is31fl3216 handle
  • interval_ms: Time of interval

esp_err_t periph_is31fl3216_set_shift_mode(esp_periph_handle_t periph, periph_is31_shift_mode_t mode)

Set the shift mode.

Return
  • ESP_OK Success
  • ESP_FAIL Fail
Parameters
  • periph: The is31fl3216 handle
  • mode: Mode of periph_is31_shift_mode_t

esp_err_t periph_is31fl3216_set_light_on_num(esp_periph_handle_t periph, uint16_t light_on_num, uint16_t max_light_num)

Set the light on numbers.

Return
  • ESP_OK Success
  • ESP_FAIL Fail
Parameters
  • periph: The is31fl3216 handle
  • light_on_num: Enabled led number
  • max_light_num: Maximum led number

esp_err_t periph_is31fl3216_set_act_time(esp_periph_handle_t periph, uint16_t act_ms)

Set the action time.

Return
  • ESP_OK Success
  • ESP_FAIL Fail
Parameters
  • periph: The is31fl3216 handle
  • act_ms: Action time, unit is millisecond, 0 is infinite

Structures

struct periph_is31fl3216_cfg_t

The configuration of is31fl3216.

Public Members

uint32_t duty[IS31FL3216_CH_NUM]

An array of the is31fl3216’s duty

uint16_t is31fl3216_pattern

Current enable channel

periph_is31fl3216_state_t state

The state of all the channels

Macros

IS31FL3216_CH_NUM
BLUE_LED_MAX_NUM

Enumerations

enum periph_is31fl3216_state_t

Values:

IS31FL3216_STATE_UNKNOWN
IS31FL3216_STATE_OFF
IS31FL3216_STATE_ON
IS31FL3216_STATE_FLASH
IS31FL3216_STATE_BY_AUDIO
IS31FL3216_STATE_SHIFT
enum periph_is31_shift_mode_t

Values:

PERIPH_IS31_SHIFT_MODE_UNKNOWN
PERIPH_IS31_SHIFT_MODE_ACC

accumulation mode

PERIPH_IS31_SHIFT_MODE_SINGLE