Communication interface proposal

This commit is contained in:
C47D 2021-11-19 20:06:18 -06:00
parent c7607e93d8
commit 8bdc2aed38
3 changed files with 57 additions and 61 deletions

View file

@ -6,6 +6,11 @@
#include "sdkconfig.h"
#include "driver/gpio.h"
#include "disp_spi.h"
#define LV_DISPLAY_DC_CMD_MODE 0
#define LV_DISPLAY_DC_DATA_MODE 1
void display_port_delay(lv_disp_drv_t *drv, uint32_t delay_ms)
{
(void) drv;
@ -55,3 +60,31 @@ bool display_port_gpio_is_busy(lv_disp_drv_t *drv)
return device_busy;
}
void display_interface_send_cmd(lv_disp_drv_t *drv, uint8_t cmd, void *args, size_t args_len)
{
(void) drv;
#if defined (CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI)
disp_wait_for_pending_transactions();
display_port_gpio_dc(drv, LV_DISPLAY_DC_CMD_MODE);
disp_spi_send_data(&cmd, 1);
if (args != NULL) {
display_port_gpio_dc(drv, LV_DISPLAY_DC_DATA_MODE);
disp_spi_send_data(args, args_len);
}
#elif defined (CONFIG_LV_TFT_DISPLAY_PROTOCOL_I2C)
#endif
}
void display_interface_send_data_async(lv_disp_drv_t *drv, void *data, size_t len)
{
#if defined (CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI)
disp_wait_for_pending_transactions();
display_port_gpio_dc(drv, LV_DISPLAY_DC_DATA_MODE);
disp_spi_send_colors(data, len);
#elif defined (CONFIG_LV_TFT_DISPLAY_PROTOCOL_I2C)
#endif
}