Refactor: Use esp_video component (#1245)

* refactor: migrate camera module to esp-video library

* refactor: migrate boards to esp-video API (1/2)

* refactor: migrate boards to esp-video API (2/2)

* fix: use ESP-IDF 5.5

* refactor: migrate the JPEG encoder to `esp_new_jpeg`

* feat: add YUV422 support

* feat: improve pixelformat and device selection process

* feat: use ESP32-P4 Hardware JPEG Encoder
This commit is contained in:
laride
2025-10-14 10:44:45 +08:00
committed by GitHub
parent 4854bda302
commit 60ad1c5afc
39 changed files with 1724 additions and 1772 deletions

View File

@@ -16,90 +16,90 @@
#ifdef T_CameraPlus_S3_V1_0_V1_1
// SPI
#define SPI_SCLK 36
#define SPI_MOSI 35
#define SPI_MISO 37
#define SPI_SCLK GPIO_NUM_36
#define SPI_MOSI GPIO_NUM_35
#define SPI_MISO GPIO_NUM_37
// IIC
#define IIC_SDA 1
#define IIC_SCL 2
#define IIC_SDA GPIO_NUM_1
#define IIC_SCL GPIO_NUM_2
// MSM261
#define MSM261_BCLK 18
#define MSM261_WS 39
#define MSM261_DATA 40
#define MSM261_BCLK GPIO_NUM_18
#define MSM261_WS GPIO_NUM_39
#define MSM261_DATA GPIO_NUM_40
// MAX98357A
#define MAX98357A_DATA 38
#define MAX98357A_DATA GPIO_NUM_38
// FP-133H01D
#define LCD_CS 34
#define LCD_RST 33
#define LCD_CS GPIO_NUM_34
#define LCD_RST GPIO_NUM_33
// OV2640
#define OV2640_PWDN -1
#define OV2640_RESET 3
#define OV2640_VSYNC 4
#define OV2640_PWDN GPIO_NUM_NC
#define OV2640_RESET GPIO_NUM_3
#define OV2640_VSYNC GPIO_NUM_4
// CST816
#define TP_RST 48
#define TP_RST GPIO_NUM_48
// SY6970
#define SY6970_INT 47
#define SY6970_INT GPIO_NUM_47
#endif
#ifdef T_CameraPlus_S3_V1_2
// SPI
#define SPI_SCLK 35
#define SPI_MOSI 34
#define SPI_MISO 48
#define SPI_SCLK GPIO_NUM_35
#define SPI_MOSI GPIO_NUM_34
#define SPI_MISO GPIO_NUM_48
// IIC
#define IIC_SDA 33
#define IIC_SCL 37
#define IIC_SDA GPIO_NUM_33
#define IIC_SCL GPIO_NUM_37
// MP34DT05TR
#define MP34DT05TR_LRCLK 40
#define MP34DT05TR_DATA 38
#define MP34DT05TR_LRCLK GPIO_NUM_40
#define MP34DT05TR_DATA GPIO_NUM_38
#define MP34DT05TR_MAX98357_EN 18
#define MP34DT05TR_MAX98357_EN GPIO_NUM_18
// MAX98357A
#define MAX98357A_DATA 39
#define MAX98357A_DATA GPIO_NUM_39
// FP-133H01D
#define LCD_CS 36
#define LCD_RST -1
#define LCD_CS GPIO_NUM_36
#define LCD_RST GPIO_NUM_NC
// OV2640
#define OV2640_PWDN 4
#define OV2640_RESET -1
#define OV2640_VSYNC 3
#define OV2640_PWDN GPIO_NUM_4
#define OV2640_RESET GPIO_NUM_NC
#define OV2640_VSYNC GPIO_NUM_3
// CST816
#define TP_RST -1
#define TP_RST GPIO_NUM_NC
#endif
// SD
#define SD_CS 21
#define SD_CS GPIO_NUM_21
#define SD_SCLK SPI_SCLK
#define SD_MOSI SPI_MOSI
#define SD_MISO SPI_MISO
// MAX98357A
#define MAX98357A_BCLK 41
#define MAX98357A_LRCLK 42
#define MAX98357A_BCLK GPIO_NUM_41
#define MAX98357A_LRCLK GPIO_NUM_42
// FP-133H01D
#define LCD_WIDTH 240
#define LCD_HEIGHT 240
#define LCD_BL 46
#define LCD_BL GPIO_NUM_46
#define LCD_MOSI SPI_MOSI
#define LCD_SCLK SPI_SCLK
#define LCD_DC 45
#define LCD_DC GPIO_NUM_45
// SY6970
#define SY6970_SDA IIC_SDA
@@ -107,19 +107,19 @@
#define SY6970_ADDRESS 0x6A
// OV2640
#define OV2640_XCLK 7
#define OV2640_SDA 1
#define OV2640_SCL 2
#define OV2640_D9 6
#define OV2640_D8 8
#define OV2640_D7 9
#define OV2640_D6 11
#define OV2640_D5 13
#define OV2640_D4 15
#define OV2640_D3 14
#define OV2640_D2 12
#define OV2640_HREF 5
#define OV2640_PCLK 10
#define OV2640_XCLK GPIO_NUM_7
#define OV2640_SDA GPIO_NUM_1
#define OV2640_SCL GPIO_NUM_2
#define OV2640_D9 GPIO_NUM_6
#define OV2640_D8 GPIO_NUM_8
#define OV2640_D7 GPIO_NUM_9
#define OV2640_D6 GPIO_NUM_11
#define OV2640_D5 GPIO_NUM_13
#define OV2640_D4 GPIO_NUM_15
#define OV2640_D3 GPIO_NUM_14
#define OV2640_D2 GPIO_NUM_12
#define OV2640_HREF GPIO_NUM_5
#define OV2640_PCLK GPIO_NUM_10
#define PWDN_GPIO_NUM OV2640_PWDN
#define RESET_GPIO_NUM OV2640_RESET
@@ -145,10 +145,10 @@
#define CST816_ADDRESS 0x15
#define TP_SDA IIC_SDA
#define TP_SCL IIC_SCL
#define TP_INT 47
#define TP_INT GPIO_NUM_47
// AP1511B
#define AP1511B_FBC 16
#define AP1511B_FBC GPIO_NUM_16
// KEY
#define KEY1 17
#define KEY1 GPIO_NUM_17