forked from xiaozhi/xiaozhi-esp32
* camera 优化 feat(camera): 修改摄像头配置为JPEG格式并优化图像处理逻辑 将摄像头输出格式从RGB565改为JPEG以提高传输效率,同时调整JPEG质量为10 重构预览图像处理逻辑,支持直接处理JPEG格式并自动转换为RGB565 优化Explain方法中的JPEG队列处理,减少内存分配和拷贝操作 * 修复代码缩进 调整代码缩进格式以提升可读性 * fix(esp32_camera): 修复RGB565格式预览图像的字节序问题 添加字节交换处理,将大端序转换为小端序,确保预览图像显示正确 * 使用旧的处理方式 * refactor(esp32_camera): 移除preview_buffer_直接使用preview_image_.data
309 lines
8.7 KiB
C
309 lines
8.7 KiB
C
#ifndef _BOARD_CONFIG_H_
|
|
#define _BOARD_CONFIG_H_
|
|
|
|
#include <driver/gpio.h>
|
|
|
|
#define AUDIO_INPUT_SAMPLE_RATE 16000
|
|
#define AUDIO_OUTPUT_SAMPLE_RATE 24000
|
|
|
|
// 如果使用 Duplex I2S 模式,请注释下面一行
|
|
#define AUDIO_I2S_METHOD_SIMPLEX
|
|
|
|
#ifdef AUDIO_I2S_METHOD_SIMPLEX
|
|
|
|
#define AUDIO_I2S_MIC_GPIO_WS GPIO_NUM_1
|
|
#define AUDIO_I2S_MIC_GPIO_SCK GPIO_NUM_2
|
|
#define AUDIO_I2S_MIC_GPIO_DIN GPIO_NUM_42
|
|
#define AUDIO_I2S_SPK_GPIO_DOUT GPIO_NUM_39
|
|
#define AUDIO_I2S_SPK_GPIO_BCLK GPIO_NUM_40
|
|
#define AUDIO_I2S_SPK_GPIO_LRCK GPIO_NUM_41
|
|
|
|
#else
|
|
|
|
#define AUDIO_I2S_GPIO_WS GPIO_NUM_4
|
|
#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_5
|
|
#define AUDIO_I2S_GPIO_DIN GPIO_NUM_6
|
|
#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_7
|
|
|
|
#endif
|
|
|
|
|
|
#define BUILTIN_LED_GPIO GPIO_NUM_48
|
|
#define BOOT_BUTTON_GPIO GPIO_NUM_0
|
|
#define TOUCH_BUTTON_GPIO GPIO_NUM_NC
|
|
#define VOLUME_UP_BUTTON_GPIO GPIO_NUM_NC
|
|
#define VOLUME_DOWN_BUTTON_GPIO GPIO_NUM_NC
|
|
|
|
//Camera Config
|
|
#define CAMERA_PIN_D0 GPIO_NUM_11
|
|
#define CAMERA_PIN_D1 GPIO_NUM_9
|
|
#define CAMERA_PIN_D2 GPIO_NUM_8
|
|
#define CAMERA_PIN_D3 GPIO_NUM_10
|
|
#define CAMERA_PIN_D4 GPIO_NUM_12
|
|
#define CAMERA_PIN_D5 GPIO_NUM_18
|
|
#define CAMERA_PIN_D6 GPIO_NUM_17
|
|
#define CAMERA_PIN_D7 GPIO_NUM_16
|
|
#define CAMERA_PIN_XCLK GPIO_NUM_15
|
|
#define CAMERA_PIN_PCLK GPIO_NUM_13
|
|
#define CAMERA_PIN_VSYNC GPIO_NUM_6
|
|
#define CAMERA_PIN_HREF GPIO_NUM_7
|
|
#define CAMERA_PIN_SIOC GPIO_NUM_5
|
|
#define CAMERA_PIN_SIOD GPIO_NUM_4
|
|
#define CAMERA_PIN_PWDN GPIO_NUM_NC
|
|
#define CAMERA_PIN_RESET GPIO_NUM_NC
|
|
#define XCLK_FREQ_HZ 50000000
|
|
|
|
|
|
#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_38
|
|
#define DISPLAY_MOSI_PIN GPIO_NUM_20
|
|
#define DISPLAY_CLK_PIN GPIO_NUM_19
|
|
#define DISPLAY_DC_PIN GPIO_NUM_47
|
|
#define DISPLAY_RST_PIN GPIO_NUM_21
|
|
#define DISPLAY_CS_PIN GPIO_NUM_45
|
|
|
|
|
|
#ifdef CONFIG_LCD_ST7789_240X320
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 320
|
|
#define DISPLAY_MIRROR_X false
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7789_240X320_NO_IPS
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 320
|
|
#define DISPLAY_MIRROR_X false
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR false
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7789_170X320
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 170
|
|
#define DISPLAY_HEIGHT 320
|
|
#define DISPLAY_MIRROR_X false
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB
|
|
#define DISPLAY_OFFSET_X 35
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7789_172X320
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 172
|
|
#define DISPLAY_HEIGHT 320
|
|
#define DISPLAY_MIRROR_X false
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB
|
|
#define DISPLAY_OFFSET_X 34
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7789_240X280
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 280
|
|
#define DISPLAY_MIRROR_X false
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 20
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7789_240X240
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 240
|
|
#define DISPLAY_MIRROR_X false
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7789_240X240_7PIN
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 240
|
|
#define DISPLAY_MIRROR_X false
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 3
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7789_240X135
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 135
|
|
#define DISPLAY_MIRROR_X true
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY true
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB
|
|
#define DISPLAY_OFFSET_X 40
|
|
#define DISPLAY_OFFSET_Y 53
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7735_128X160
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 128
|
|
#define DISPLAY_HEIGHT 160
|
|
#define DISPLAY_MIRROR_X true
|
|
#define DISPLAY_MIRROR_Y true
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR false
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7735_128X128
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 128
|
|
#define DISPLAY_HEIGHT 128
|
|
#define DISPLAY_MIRROR_X true
|
|
#define DISPLAY_MIRROR_Y true
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR false
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_BGR
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 32
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7796_320X480
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 320
|
|
#define DISPLAY_HEIGHT 480
|
|
#define DISPLAY_MIRROR_X true
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_BGR
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ST7796_320X480_NO_IPS
|
|
#define LCD_TYPE_ST7789_SERIAL
|
|
#define DISPLAY_WIDTH 320
|
|
#define DISPLAY_HEIGHT 480
|
|
#define DISPLAY_MIRROR_X true
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR false
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_BGR
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ILI9341_240X320
|
|
#define LCD_TYPE_ILI9341_SERIAL
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 320
|
|
#define DISPLAY_MIRROR_X true
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_BGR
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_ILI9341_240X320_NO_IPS
|
|
#define LCD_TYPE_ILI9341_SERIAL
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 320
|
|
#define DISPLAY_MIRROR_X true
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR false
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_BGR
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_GC9A01_240X240
|
|
#define LCD_TYPE_GC9A01_SERIAL
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 240
|
|
#define DISPLAY_MIRROR_X true
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_BGR
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_LCD_CUSTOM
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 320
|
|
#define DISPLAY_MIRROR_X false
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY false
|
|
#define DISPLAY_INVERT_COLOR true
|
|
#define DISPLAY_RGB_ORDER LCD_RGB_ELEMENT_ORDER_RGB
|
|
#define DISPLAY_OFFSET_X 0
|
|
#define DISPLAY_OFFSET_Y 0
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
#define DISPLAY_SPI_MODE 0
|
|
#endif
|
|
|
|
|
|
// A MCP Test: Control a lamp
|
|
#define LAMP_GPIO GPIO_NUM_14
|
|
|
|
#endif // _BOARD_CONFIG_H_
|