TinyGPU
Loading...
Searching...
No Matches
Public Member Functions | List of all members
LCDBoardESP32S3_2_8Display Class Reference

"2.8" ESP32-S3 Display" - ILI9341 SPI TFT + FT6336G capacitive touch (I2C, shares its bus with the board's ES8311 audio codec). (FBBA0125-002) - also named ESP32-S3 Hosyond Display More...

#include <LCDBoardsESP32.h>

Inheritance diagram for LCDBoardESP32S3_2_8Display:
Inheritance graph
[legend]
Collaboration diagram for LCDBoardESP32S3_2_8Display:
Collaboration graph
[legend]

Public Member Functions

bool begin () override
 
size_t width () const override
 Panel width in pixels.
 
size_t height () const override
 Panel height in pixels.
 
ILI9341Driver< RGB565 > & display () override
 The board's display driver.
 
TouchDriver * touch () override
 The board's touch controller.
 
const I2SPins & i2s () const override
 The board's I2S/PA pin assignment.
 
const LEDPins & led () const override
 The board's LED pin assignment.
 
int8_t backlightPin () const override
 The board's backlight GPIO pin.
 
- Public Member Functions inherited from LCDBoard
virtual ~LCDBoard ()=default
 
virtual bool begin ()=0
 
virtual size_t width () const =0
 Panel width in pixels.
 
virtual size_t height () const =0
 Panel height in pixels.
 
virtual DisplayDriver< RGB565 > & display ()=0
 The board's display driver.
 
virtual TouchDriver * touch ()=0
 The board's touch controller, or nullptr if none is wired up.
 
virtual const I2SPins & i2s () const =0
 The board's I2S/PA pin assignment.
 
virtual const LEDPins & led () const =0
 The board's LED pin assignment.
 
virtual int8_t backlightPin () const
 
template<typename I2SConfig >
void setI2SPins (I2SConfig &cfg)
 

Detailed Description

"2.8" ESP32-S3 Display" - ILI9341 SPI TFT + FT6336G capacitive touch (I2C, shares its bus with the board's ES8311 audio codec). (FBBA0125-002) - also named ESP32-S3 Hosyond Display

Display: ILI9341, 240x320, SPI - CS=10 DC=46 SCK=12 MOSI=11 MISO=13 BL=45; RST is tied to the board's EN line (no dedicated reset pin). Needs inversion on (set in begin()) or colors render wrong on real hardware; byte order stays at the driver default. ILI9341Driver::setInvertColor() re-applies the last value at the end of every begin(), so it survives a later, redundant begin() (e.g. from DeviceOutput::begin()) even though each begin() resets the panel's inversion register via SWRESET. Touch: FT6336G (register-compatible with TouchDriverFT6236), I2C - SDA=16 SCL=15 RST=18, physical IRQ=17. IRQ is left unwired (-1, forcing register polling) since its idle polarity was never confirmed on real hardware. I2S (ES8311 codec): MCLK=4 BCK=5 WS=7 DOUT=8 DIN=6. Speaker amp (FM8002E) enable: IO1, active low. LED: single WS2812-compatible RGB LED on IO42.

Note
Audio setup: the ES8311 codec needs its own I2C init (volume, mic gain, ...), so plain I2SStream leaves it unconfigured. Prefer arduino-audio-driver's ready-made board definition, which owns codec init and I2S pins together:

#include "AudioTools.h" #include "AudioTools/AudioLibs/AudioBoardStream.h" #include "AudioBoards/ESP32S3HosyondDisplay.h" // arduino-audio-driver

audio_tools::AudioBoardStream out(audio_driver::ESP32S3HosyondDisplay); auto cfg = out.defaultConfig(TX_MODE); out.begin(cfg); out.setVolume(0.5f);

Without arduino-audio-driver, i2s()/setI2SPins() give the raw MCLK/BCK/WS/DOUT/DIN pins for a plain I2SStream, but the caller must then handle the ES8311's I2C init and drive the PA-enable pin (i2s().paEnable, active low per paEnableActiveLow) itself.

Member Function Documentation

◆ backlightPin()

int8_t backlightPin ( ) const
inlineoverridevirtual

The board's backlight GPIO pin.

Reimplemented from LCDBoard.

◆ begin()

bool begin ( )
inlineoverridevirtual

Sets up the backlight, SPI bus, display controller (incl. inversion and byte order - see the class doc comment), and touch controller. Returns false if the display or touch begin() fails.

Implements LCDBoard.

◆ display()

ILI9341Driver< RGB565 > & display ( )
inlineoverridevirtual

The board's display driver.

Implements LCDBoard.

◆ height()

size_t height ( ) const
inlineoverridevirtual

Panel height in pixels.

Implements LCDBoard.

◆ i2s()

const I2SPins & i2s ( ) const
inlineoverridevirtual

The board's I2S/PA pin assignment.

Implements LCDBoard.

◆ led()

const LEDPins & led ( ) const
inlineoverridevirtual

The board's LED pin assignment.

Implements LCDBoard.

◆ touch()

TouchDriver * touch ( )
inlineoverridevirtual

The board's touch controller.

Implements LCDBoard.

◆ width()

size_t width ( ) const
inlineoverridevirtual

Panel width in pixels.

Implements LCDBoard.


The documentation for this class was generated from the following file: