70 lines
2.1 KiB
C
70 lines
2.1 KiB
C
#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
|
|
|
|
/* LVGL logical resolution after 90° rotation (landscape) */
|
|
#define BOARD_LCD_LOGIC_H_RES 320
|
|
#define BOARD_LCD_LOGIC_V_RES 170
|
|
|
|
/* Touch IC → physical panel alignment (not LVGL logical rotation) */
|
|
#define BOARD_TOUCH_SWAP_XY 0
|
|
#define BOARD_TOUCH_MIRROR_X 0
|
|
#define BOARD_TOUCH_MIRROR_Y 0
|
|
#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
|
|
|
|
/* WiFi */
|
|
#define BOARD_WIFI_ENABLED 0
|
|
|
|
/* 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
|