69#define CONFIG_LCD_LE_MODE 
   76#define LCD_MADCTL_MY           0x80     
   77#define LCD_MADCTL_MX           0x40     
   78#define LCD_MADCTL_MV           0x20     
   79#define LCD_MADCTL_ML           0x10     
   80#define LCD_MADCTL_BGR          0x08     
   81#define LCD_MADCTL_MH           0x04     
   84#if MODULE_LCD_PARALLEL || DOXYGEN 
  113#if MODULE_LCD_SPI || DOXYGEN 
  119#if MODULE_LCD_PARALLEL || DOXYGEN 
  132#if MODULE_LCD_PARALLEL_16BIT || DOXYGEN 
  158#if MODULE_LCD_MULTI_CNTRL || DOXYGEN 
 
  176#if MODULE_DISP_DEV || DOXYGEN 
  181#if MODULE_LCD_PARALLEL || DOXYGEN 
  185#if MODULE_LCD_PARALLEL_16BIT || DOXYGEN 
 
  326              uint16_t y1, uint16_t y2, uint16_t color);
 
  345                uint16_t y2, 
const uint16_t *color);
 
  389#if MODULE_LCD_PARALLEL || DOXYGEN 
  462#if MODULE_LCD_PARALLEL_16BIT || DOXYGEN 
 
Low-level GPIO peripheral driver interface definitions.
 
struct disp_dev disp_dev_t
Forward declaration for display device struct.
 
void lcd_ll_release(lcd_t *dev)
Low-level function to release the device.
 
void lcd_invert_off(lcd_t *dev)
Disable color inversion.
 
void lcd_fill(lcd_t *dev, uint16_t x1, uint16_t x2, uint16_t y1, uint16_t y2, uint16_t color)
Fill a rectangular area with a single pixel color.
 
const lcd_ll_par_driver_t lcd_ll_par_driver
Low-level parallel interface driver instance.
 
void lcd_ll_set_area(lcd_t *dev, uint16_t x1, uint16_t x2, uint16_t y1, uint16_t y2)
Set the LCD work area.
 
void lcd_read_cmd(lcd_t *dev, uint8_t cmd, uint8_t *data, size_t len)
Raw read command.
 
struct lcd_driver lcd_driver_t
LCD driver interface.
 
lcd_if_mode_t
Display interface modi.
 
void lcd_ll_acquire(lcd_t *dev)
Low-level function to acquire the device.
 
void lcd_ll_write_cmd(lcd_t *dev, uint8_t cmd, const uint8_t *data, size_t len)
Low-level function to write a command.
 
void lcd_invert_on(lcd_t *dev)
Invert the display colors.
 
void lcd_pixmap(lcd_t *dev, uint16_t x1, uint16_t x2, uint16_t y1, uint16_t y2, const uint16_t *color)
Fill a rectangular area with an array of pixels.
 
int lcd_init(lcd_t *dev, const lcd_params_t *params)
Setup an LCD display device.
 
void lcd_write_cmd(lcd_t *dev, uint8_t cmd, const uint8_t *data, size_t len)
Raw write command.
 
void lcd_ll_read_cmd(lcd_t *dev, uint8_t cmd, uint8_t *data, size_t len)
Low-level function for read command.
 
@ LCD_IF_PARALLEL_16BIT
MCU 8080 16-bit parallel interface mode.
 
@ LCD_IF_SPI
SPI serial interface mode.
 
@ LCD_IF_PARALLEL_8BIT
MCU 8080 8-bit parallel interface mode.
 
spi_mode_t
Support SPI modes.
 
Mutex for thread synchronization.
 
Low-level SPI peripheral driver interface definition.
 
void(* set_area)(lcd_t *dev, uint16_t x1, uint16_t x2, uint16_t y1, uint16_t y2)
Set the LCD work area.
 
int(* init)(lcd_t *dev, const lcd_params_t *params)
Initialize LCD controller.
 
Low-level MCU 8080 8-/16-bit parallel interface driver.
 
void(* write_word)(lcd_t *dev, bool cont, uint16_t out)
Write a word using the MCU-driven low-level parallel interface.
 
uint8_t(* read_byte)(lcd_t *dev, bool cont)
Read a byte using the MCU-driven low-level parallel interface.
 
void(* write_byte)(lcd_t *dev, bool cont, uint8_t out)
Write a byte using the MCU-driven low-level parallel interface.
 
void(* set_data_dir)(lcd_t *dev, bool output)
Set the data direction of the low-level parallel interface.
 
void(* init)(lcd_t *dev)
Initialize the MCU-driven low-level parallel interface.
 
uint16_t(* read_word)(lcd_t *dev, bool cont)
Read a word using the MCU-driven low-level parallel interface.
 
void(* cmd_start)(lcd_t *dev, uint8_t cmd, bool cont)
Write command using the MCU-driven low-level parallel interface.
 
Device initialization parameters.
 
spi_clk_t spi_clk
SPI clock speed to use.
 
gpio_t d15_pin
pin connected to the D15 line
 
gpio_t d14_pin
pin connected to the D14 line
 
gpio_t d9_pin
pin connected to the D9 line
 
gpio_t rst_pin
pin connected to the RESET line
 
bool rgb
True when display is connected in RGB mode False when display is connected in BGR mode.
 
gpio_t dcx_pin
pin connected to the DC line
 
uint8_t offset_y
LCD offset to apply on y axis.
 
lcd_if_mode_t mode
LCD driver interface mode.
 
uint16_t rgb_channels
Display rgb channels.
 
uint8_t offset_x
LCD offset to apply on x axis.
 
uint8_t cntrl
controller variant used, if the controller- specific driver supports multiple controller variants
 
gpio_t d12_pin
pin connected to the D12 line
 
gpio_t d11_pin
pin connected to the D11 line
 
uint8_t rotation
Display rotation mode.
 
gpio_t d13_pin
pin connected to the D13 line
 
gpio_t wrx_pin
pin connected to the WRITE ENABLE line
 
spi_mode_t spi_mode
SPI mode.
 
gpio_t d10_pin
pin connected to the D10 line
 
gpio_t rdx_pin
pin connected to the READ ENABLE line
 
uint16_t lines
Number of lines, from 16 to the number of lines supported by the driver IC in 8 line steps.
 
gpio_t d4_pin
pin connected to the D4 line
 
spi_t spi
SPI device that the display is connected to.
 
gpio_t d5_pin
pin connected to the D5 line
 
gpio_t d2_pin
pin connected to the D2 line
 
gpio_t d3_pin
pin connected to the D3 line
 
bool inverted
Display works in inverted color mode.
 
gpio_t d0_pin
pin connected to the D0 line
 
gpio_t d6_pin
pin connected to the D6 line
 
gpio_t d8_pin
pin connected to the D8 line
 
gpio_t cs_pin
pin connected to the CHIP SELECT line
 
gpio_t d7_pin
pin connected to the D7 line
 
gpio_t d1_pin
pin connected to the D1 line
 
Device descriptor for a lcd.
 
const lcd_params_t * params
Device initialization parameters.
 
disp_dev_t * dev
Pointer to the generic display device.
 
mutex_t lock
Mutex used to lock the device in MCU 8080 parallel interface mode.
 
const lcd_driver_t * driver
LCD driver.
 
bool word_access
indicates that a word access is active