ht16k33 - Holtek HT16K33 LED Controller driver

group ht16k33

Holtek HT16K33 LED Controller driver.

No keyscan features implemented. Tip: PWM brightness frequency depends on I2C clock.

Manufacturer link: https://www.holtek.com/productdetail/-/vg/HT16K33 Datasheet: https://www.holtek.com/documents/10179/116711/HT16K33v120.pdf

Defines

HT16K33_DEFAULT_ADDR

Default I2C address.

HT16K33_MAX_BRIGHTNESS
HT16K33_RAM_SIZE_BYTES

Enums

enum ht16k33_blinking_freq_t

Display blinking frequencies.

Values:

enumerator HTK16K33_F_0HZ
enumerator HTK16K33_F_2HZ
enumerator HTK16K33_F_1HZ
enumerator HTK16K33_F_05HZ

Functions

esp_err_t ht16k33_init_desc(i2c_dev_t *dev, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio, uint8_t addr)

Initialize the HT16K33 device descriptor.

Parameters:
  • dev[out] Device descriptor

  • port – I2C port number

  • sda_gpio – GPIO pin number for SDA

  • scl_gpio – GPIO pin number for SCL

  • addr – I2C address

Returns:

ESP_OK on success

esp_err_t ht16k33_init(i2c_dev_t *dev)

Initialize HT16K33 device, reset all settings and zero chip RAM.

Returns:

ESP_OK in case of success

esp_err_t ht16k33_free_desc(i2c_dev_t *dev)

Free device descriptor.

Parameters:

dev – I2C device descriptor

Returns:

ESP_OK to indicate success

esp_err_t ht16k33_set_brightness(i2c_dev_t *dev, uint8_t brightness)

Set brightness.

Parameters:
  • dev – I2C device descriptor

  • brightness – Brighness value in 0-15 range.

Returns:

ESP_OK to indicate success

esp_err_t ht16k33_display_setup(i2c_dev_t *dev, uint8_t on_flag, ht16k33_blinking_freq_t blinking)

Display setup.

ON/OFF and blinkng frequency.

Parameters:
  • dev – I2C device descriptor

  • on_flag – On flag, 0 or 1.

  • blinking – Blinking frequence. Limited options. See HT16K33_BLINKING_* constants.

Returns:

ESP_OK to indicate success

esp_err_t ht16k33_ram_write(i2c_dev_t *dev, uint8_t *data)

Write whole HT16K33_RAM_SIZE_BYTES into RAM.

Parameters:
  • dev – I2C device descriptor

  • data – Bytes to write.

Returns:

ESP_OK to indicate success