uploaded 1 year ago
esp_lcd driver for ILI9488 displays

readme

# esp_lcd driver for ILI9488 displays

This component provides an implementation of the ILI9488 LCD controller using the esp_lcd component APIs.

| LCD controller | Communication interface | Component name | Link to datasheet |
| :------------: | :---------------------: | :------------: | :---------------: |
| ILI9488        | SPI                     | esp_lcd_ili9488 | [Specification](https://focuslcds.com/content/ILI9488.pdf) |

## Using this component in your project

This package can be added to your project in two ways:

1. Using [Espressif's component service](https://components.espressif.com/) as:
```
dependencies:
  atanisoft/esp_lcd_ili9488: "~1.0.0"
```

2. Using the git repository directly:

```
dependencies:
  esp_lcd_ili9488:
    git: https://github.com/atanisoft/esp_lcd_ili9488.git
```

For more information on the usage of the `idf_component.yml` file please refer to [Espressif's documentation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-component-manager.html).

## Supported platforms

At this time testing is limited to ESP32 and ESP32-S3, other ESP32 variants should work but are not tested.

## Required sdkconfig entries

This driver converts the color data from 16-bit to 18-bit as part of the `draw_bitmap` callback.
Therefore it is required to set `CONFIG_LV_COLOR_DEPTH_16=y` in your sdkconfig. In the future other
color depths may be supported.

changelog

# Change log for esp_lcd_ili9488

## v1.0.4 - License tagging fixes

This release only updates the SPDX license tagging of source files.

## v1.0.3 - Bug Fixes and LVGL example update

This release removes (and desupports) a dependency on 32-bit color depth when
using LVGL, the color conversion code has only ever supported 16-bit color data
but was incorrectly casting the source color data to `uint32_t` instead of
`uint16_t`.

As a result of the above bug fix the `esp_lcd_panel_dev_config_t` field
`bits_per_pixel` will be ignored by `esp_lcd_new_panel_ili9488` and the ILI9488
will always use the 18-bit color mode.

The LVGL example has been updated as below:

* Remove unused `lvgl_port_update_callback` since the example does not include
touch support or any screen rotation API calls.
* Add option for enabling / disabling double buffering with LVGL, default is to
use a single buffer.
* Added missing Kconfig.projbuild entry for `TFT_RESET_PIN`, added new entry
`DISPLAY_COLOR_MODE` which can be used to toggle between BGR and RGB color mode
on the ILI9488 display.
* Enhanced example to switch from only using `lv_spinner_create` to instead use
`lv_meter_create` and `lv_anim_t` to display an animated gauge.
* Reduced default backlight brightness to 75%.
* Switched from using `esp_register_freertos_tick_hook` to `esp_timer_create`
for the tick update handler.
* Add code to set the background color of the display to black.

## v1.0.2 - Bug Fix Release

This release contains a bug fix related to a compilation failure with ESP-IDF
v5.0.1 replacing `esp_lcd_color_space_t` with `lcd_color_rgb_endian_t` but
retaining the original name in `esp_lcd_panel_dev_config_t` for the value. At
this time the library supports both ESP-IDF v4.4.x and v5.x but the new values
in `lcd_color_rgb_endian_t` are not being used as they are compatible with the
existing values defined in `esp_lcd_color_space_t`, once ESP-IDF v5.1.x has
become stable and legacy enums are removed this library will be updated accordingly.

Fixed: https://github.com/atanisoft/esp_lcd_ili9488/issues/1

## v1.0.1 - No changes

## v1.0.0 - Initial release

This release is the first revision of this component and includes basic support
for ILI9488 displays including the 18-bit color depth conversion which is
required for SPI interface displays.

Links

Supports all targets

License: MIT

To add this component to your project, run:

idf.py add-dependency "atanisoft/esp_lcd_ili9488^1.0.4"

or download archive

Dependencies

  • ESP-IDF >=4.4.2
  • Examples:

    lvgl

    To create a project from this example, run:

    idf.py create-project-from-example "atanisoft/esp_lcd_ili9488^1.0.4:lvgl"

    or download archive

    Stats

    • Downloaded in total
      Downloaded in total 617 times
    • Downloaded this version
      This version: 26 times

    Badge

    atanisoft/esp_lcd_ili9488 version: 1.0.4
    |