#pragma once #include "driver/i2c_types.h" #include "driver/ledc.h" #include "driver/spi_master.h" /* LCD SPI (ST7789) */ #define BOARD_LCD_HOST SPI2_HOST #define BOARD_LCD_PIXEL_CLOCK_HZ (20 * 1000 * 1000) #define BOARD_LCD_H_RES 170 #define BOARD_LCD_V_RES 320 #define BOARD_LCD_PANEL_H_RES 240 #define BOARD_LCD_GAP_X ((BOARD_LCD_PANEL_H_RES - BOARD_LCD_H_RES) / 2) #define BOARD_LCD_GAP_Y 0 #define BOARD_LCD_CMD_BITS 8 #define BOARD_LCD_PARAM_BITS 8 #define BOARD_PIN_LCD_SCLK 10 #define BOARD_PIN_LCD_MOSI 13 #define BOARD_PIN_LCD_MISO (-1) #define BOARD_PIN_LCD_DC 11 #define BOARD_PIN_LCD_RST 9 #define BOARD_PIN_LCD_CS 12 #define BOARD_PIN_BK_LIGHT 14 /* Backlight PWM */ #define BOARD_LCD_BK_LIGHT_CH LEDC_CHANNEL_0 #define BOARD_LCD_BK_LIGHT_TIMER LEDC_TIMER_0 #define BOARD_LCD_BK_LIGHT_FREQ 5000 #define BOARD_LCD_BK_LIGHT_ON_LEVEL 1 #define BOARD_LCD_BK_LIGHT_OFF_LEVEL (!BOARD_LCD_BK_LIGHT_ON_LEVEL) /* Touch I2C (CST816) */ #define BOARD_PIN_TOUCH_SDA 47 #define BOARD_PIN_TOUCH_SCL 48 #define BOARD_PIN_TOUCH_RST 17 #define BOARD_PIN_TOUCH_INT 21 #define BOARD_TOUCH_I2C_NUM I2C_NUM_0 #define BOARD_TOUCH_I2C_FREQ_HZ 400000 #define BOARD_TOUCH_ENABLED 1 /* User IO */ #define BOARD_PIN_BOOT 0 #define BOARD_PIN_KEY 4 #define BOARD_PIN_LED 16 /* BLE (ESP32-S3 built-in radio) */ #define BOARD_BLE_ENABLED 1 /* LVGL port */ #define BOARD_LVGL_DRAW_BUF_LINES 20 #define BOARD_LVGL_TICK_PERIOD_MS 2 #define BOARD_LVGL_TASK_MAX_DELAY_MS 500 #define BOARD_LVGL_TASK_MIN_DELAY_MS (1000 / CONFIG_FREERTOS_HZ) #define BOARD_LVGL_TASK_STACK_SIZE (8 * 1024) #define BOARD_LVGL_TASK_PRIORITY 2