diff --git a/ESP32_PrusaConnectCam/mcu_cfg.h b/ESP32_PrusaConnectCam/mcu_cfg.h index f3f8c1e..6bbb840 100644 --- a/ESP32_PrusaConnectCam/mcu_cfg.h +++ b/ESP32_PrusaConnectCam/mcu_cfg.h @@ -14,10 +14,11 @@ #define _MCU_CFG_H_ /* ----------------- CAMERA TYPE ---------------*/ -#define AI_THINKER_ESP32_CAM +//#define AI_THINKER_ESP32_CAM //#define ESP32_WROVER_DEV //#define CAMERA_MODEL_ESP32_S3_CAM -//#define CAMERA_MODEL_ESP32_S3_EYE_2_2 +#define CAMERA_MODEL_ESP32_S3_EYE_2_2 +//#CAMERA_MODEL_XIAO_ESP32_S3_CAM /* ---------------- BASIC MCU CFG --------------*/ #define SW_VERSION "1.1.0-rc1" ///< SW version diff --git a/ESP32_PrusaConnectCam/module_XIAO_ESP32-S3-cam.h b/ESP32_PrusaConnectCam/module_XIAO_ESP32-S3-cam.h new file mode 100644 index 0000000..3e0e70c --- /dev/null +++ b/ESP32_PrusaConnectCam/module_XIAO_ESP32-S3-cam.h @@ -0,0 +1,77 @@ +/** + @file module_XIAO_ESP32-S3-cam.h + + @brief Definition of the XIAO ESP32-S3 sense cam + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + https://www.seeedstudio.com/XIAO-ESP32S3-Sense-p-5639.html + https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/ + + @bug: Currently SW don't work with this DEV board. WiFi and MicroSD is not working + +*/ + +#pragma once + +#include "mcu_cfg.h" + +#ifdef CAMERA_MODEL_XIAO_ESP32_S3_CAM + +/* --------------- CAMERA CFG -------------------*/ +#define PWDN_GPIO_NUM -1 ///< Power down control pin +#define RESET_GPIO_NUM -1 ///< Reset control pin +#define SIOD_GPIO_NUM 40 ///< SCCB: SI/O data pin +#define SIOC_GPIO_NUM 39 ///< SCCB: SI/O control pin +#define Y2_GPIO_NUM 15 ///< SCCB: Y2 pin +#define Y3_GPIO_NUM 17 ///< SCCB: Y3 pin +#define Y4_GPIO_NUM 18 ///< SCCB: Y4 pin +#define Y5_GPIO_NUM 16 ///< SCCB: Y5 pin +#define Y6_GPIO_NUM 14 ///< SCCB: Y6 pin +#define Y7_GPIO_NUM 12 ///< SCCB: Y7 pin +#define Y8_GPIO_NUM 11 ///< SCCB: Y8 pin +#define Y9_GPIO_NUM 48 ///< SCCB: Y9 pin +#define VSYNC_GPIO_NUM 38 ///< Vertical sync pin +#define HREF_GPIO_NUM 47 ///< Line sync pin +#define PCLK_GPIO_NUM 13 ///< Pixel clock pin +#define XCLK_GPIO_NUM 10 ///< External clock pin + +/* ------------------ MCU CFG ------------------*/ +#define ENABLE_BROWN_OUT_DETECTION false ///< Enable brown out detection +#define ENABLE_PSRAM true ///< Enable PSRAM + +/* --------------- OTA UPDATE CFG --------------*/ +#define OTA_UPDATE_FW_FILE PSTR("ESP32S3_EYE22_PrusaConnectCam.ino.bin") ///< OTA update firmware file name +#define FW_STATUS_LED_PIN 21 ///< GPIO pin for status FW update LED +#define FW_STATUS_LED_LEVEL_ON LOW ///< GPIO pin level for status LED ON + +/* --------------- FLASH LED CFG ---------------*/ +#define ENABLE_CAMERA_FLASH true ///< Enable camera flash function +#define CAMERA_FLASH_DIGITAL_CTRL true ///< Enable camera flash digital control +#define CAMERA_FLASH_PWM_CTRL false ///< Enable camera flash PWM control +#define FLASH_GPIO_NUM 4 ///< Flash control pin. This is pin for enable LCD backlight +#define FLASH_OFF_STATUS LOW ///< PWM intensity LED for OFF. 0-2^FLASH_PWM_RESOLUTION = 0-255 +#define FLASH_ON_STATUS HIGH ///< PWM intensity LED for ON. limitation to 80%. 2^FLASH_PWM_RESOLUTION * 0.8% = 204 +//#define FLASH_PWM_FREQ 2000 ///< frequency of pwm [240MHz / (100 prescale * pwm cycles)] = frequency +//#define FLASH_PWM_CHANNEL 0 ///< channel 0 +//#define FLASH_PWM_RESOLUTION 8 ///< range 1-20bit. 8bit = 0-255 range + +/* --------------- SD CARD CFG ---------------*/ +#define ENABLE_SD_CARD true ///< Enable SD card function +#define SD_PIN_CLK 8 ///< GPIO pin for SD card clock +#define SD_PIN_CMD 10 ///< GPIO pin for SD card command +#define SD_PIN_DATA0 9 ///< GPIO pin for SD card data 0 + +/* ---------- RESET CFG CONFIGURATION ----------*/ +#define CFG_RESET_PIN 2 ///< GPIO 1 is for reset CFG to default. This is button UP+` +#define CFG_RESET_LED_PIN 21 ///< GPIO for indication of reset CFG +#define CFG_RESET_LED_LEVEL_ON LOW ///< GPIO pin level for status LED ON + +/* -------------- STATUS LED CFG ----------------*/ +#define STATUS_LED_ENABLE true ///< enable/disable status LED +#define STATUS_LED_GPIO_NUM 21 ///< GPIO pin for status LED +#define STATUS_LED_OFF_PIN_LEVEL HIGH ///< GPIO pin level for status LED ON + +#endif // CAMERA_MODEL_XIAO_ESP32_S3_CAM +/* EOF */ diff --git a/ESP32_PrusaConnectCam/module_templates.h b/ESP32_PrusaConnectCam/module_templates.h index e716509..4417ce7 100644 --- a/ESP32_PrusaConnectCam/module_templates.h +++ b/ESP32_PrusaConnectCam/module_templates.h @@ -26,6 +26,9 @@ #elif defined(CAMERA_MODEL_ESP32_S3_EYE_2_2) #include "module_ESP32-S3-EYE_2_2.h" +#elif defined(CAMERA_MODEL_XIAO_ESP32_S3_CAM) +#include "module_XIAO_ESP32-S3-cam.h" + #else #error "No module selected"