From 3f85abd5f39b774e3e641b3a8e96f4f4c7e09115 Mon Sep 17 00:00:00 2001 From: Miroslav Pivovarsky Date: Fri, 12 Jul 2024 21:58:19 +0200 Subject: [PATCH] update cfg for the ESP32-S3-cam board --- .../ExternalTemperatureSensor.cpp | 1 + ESP32_PrusaConnectCam/camera.cpp | 11 ++++++ ESP32_PrusaConnectCam/mcu_cfg.h | 12 +++---- .../module_AI_Thinker_ESP32-CAM.h | 2 ++ ESP32_PrusaConnectCam/module_ESP32-S3-CAM.h | 36 +++++++++++++++---- .../module_ESP32-S3-EYE_2_2.h | 2 ++ .../module_ESP32-WROVER-DEV.h | 2 ++ .../module_ESP32_S3_DEV_CAM.h | 1 + .../module_XIAO_ESP32-S3-cam.h | 4 ++- 9 files changed, 57 insertions(+), 14 deletions(-) diff --git a/ESP32_PrusaConnectCam/ExternalTemperatureSensor.cpp b/ESP32_PrusaConnectCam/ExternalTemperatureSensor.cpp index a5f3545..f969624 100644 --- a/ESP32_PrusaConnectCam/ExternalTemperatureSensor.cpp +++ b/ESP32_PrusaConnectCam/ExternalTemperatureSensor.cpp @@ -69,6 +69,7 @@ void ExternalSensor::EnableSensor(bool i_enable) { if (true == SystemEnable) { UserEnable = i_enable; config->SaveExternalTemperatureSensorEnable(UserEnable); + } else { UserEnable = false; config->SaveExternalTemperatureSensorEnable(UserEnable); diff --git a/ESP32_PrusaConnectCam/camera.cpp b/ESP32_PrusaConnectCam/camera.cpp index 265a17e..7e2316d 100644 --- a/ESP32_PrusaConnectCam/camera.cpp +++ b/ESP32_PrusaConnectCam/camera.cpp @@ -237,6 +237,7 @@ void Camera::SetPhotoSending(bool i_data) { */ void Camera::SetFlashStatus(bool i_data) { #if (true == ENABLE_CAMERA_FLASH) +/* PWM control of the FLASH */ #if (true == CAMERA_FLASH_PWM_CTRL) if (true == i_data) { ledcWrite(FLASH_GPIO_NUM, FLASH_ON_STATUS); @@ -244,6 +245,7 @@ void Camera::SetFlashStatus(bool i_data) { ledcWrite(FLASH_GPIO_NUM, FLASH_OFF_STATUS); } +/* Digital control of the FLASH */ #elif (true == CAMERA_FLASH_DIGITAL_CTRL) if (true == i_data) { digitalWrite(FLASH_GPIO_NUM, HIGH); @@ -251,6 +253,15 @@ void Camera::SetFlashStatus(bool i_data) { digitalWrite(FLASH_GPIO_NUM, LOW); } #endif + +/* Neopixel control of the FLASH */ +#if (true == CAMERA_FLASH_NEOPIXEL) + if (true == i_data) { + neopixelWrite(FLASH_NEOPIXEL_LED_PIN, RGB_BRIGHTNESS, RGB_BRIGHTNESS, RGB_BRIGHTNESS); + } else if (false == i_data) { + neopixelWrite(FLASH_NEOPIXEL_LED_PIN, 0, 0, 0); + } +#endif #endif } diff --git a/ESP32_PrusaConnectCam/mcu_cfg.h b/ESP32_PrusaConnectCam/mcu_cfg.h index 7d373ba..7d4ad15 100644 --- a/ESP32_PrusaConnectCam/mcu_cfg.h +++ b/ESP32_PrusaConnectCam/mcu_cfg.h @@ -14,12 +14,12 @@ #define _MCU_CFG_H_ /* ----------------- CAMERA TYPE ---------------*/ -#define AI_THINKER_ESP32_CAM false -#define ESP32_WROVER_DEV false -#define CAMERA_MODEL_ESP32_S3_DEV_CAM false -#define CAMERA_MODEL_ESP32_S3_EYE_2_2 false -#define CAMERA_MODEL_XIAO_ESP32_S3_CAM true -#define CAMERA_MODEL_ESP32_S3_CAM false +#define AI_THINKER_ESP32_CAM false +#define ESP32_WROVER_DEV false +#define CAMERA_MODEL_ESP32_S3_DEV_CAM false +#define CAMERA_MODEL_ESP32_S3_EYE_2_2 false +#define CAMERA_MODEL_XIAO_ESP32_S3_CAM false +#define CAMERA_MODEL_ESP32_S3_CAM true /* ---------------- BASIC MCU CFG --------------*/ #define SW_VERSION "1.1.0-rc2" ///< SW version diff --git a/ESP32_PrusaConnectCam/module_AI_Thinker_ESP32-CAM.h b/ESP32_PrusaConnectCam/module_AI_Thinker_ESP32-CAM.h index 95f7fc2..5a40fe3 100644 --- a/ESP32_PrusaConnectCam/module_AI_Thinker_ESP32-CAM.h +++ b/ESP32_PrusaConnectCam/module_AI_Thinker_ESP32-CAM.h @@ -59,7 +59,9 @@ #define ENABLE_CAMERA_FLASH true ///< Enable camera flash function #define CAMERA_FLASH_DIGITAL_CTRL false ///< Enable camera flash digital control #define CAMERA_FLASH_PWM_CTRL true ///< Enable camera flash PWM control +#define CAMERA_FLASH_NEOPIXEL false ///< Enable camera flash NeoPixel control #define FLASH_GPIO_NUM 4 ///< Flash control pin +#define FLASH_NEOPIXEL_LED_PIN -1 ///< External flash control pin. RGB LED NeoPixel #define FLASH_OFF_STATUS 0 ///< PWM intensity LED for OFF. 0-2^FLASH_PWM_RESOLUTION = 0-255 #define FLASH_ON_STATUS 205 ///< 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 diff --git a/ESP32_PrusaConnectCam/module_ESP32-S3-CAM.h b/ESP32_PrusaConnectCam/module_ESP32-S3-CAM.h index 204a31b..c76cbf7 100644 --- a/ESP32_PrusaConnectCam/module_ESP32-S3-CAM.h +++ b/ESP32_PrusaConnectCam/module_ESP32-S3-CAM.h @@ -5,8 +5,28 @@ @author Miroslav Pivovarsky Contact: miroslav.pivovarsky@gmail.com + + Board configuration in the arduino IDE 2.3.2 + Tools -> Board -> ESP32 Arduino -> ESP32S3 Dev Module + Tools -> USB CDC on BOOT -> Disable + Tools -> CPU Frequency -> 240MHz (WiFi/BT) + Tools -> Core debug level -> None + Tools -> USB DFU on BOOT -> Disable + Tools -> Erase all Flash Before Sketch Upload -> Disable (first flash, new board = enable. otherwise = disable) + Tools -> Events Run On -> Core 1 + Tools -> Flash Mode -> DIO 80MHz + Tools -> Flash Size -> 16MB + Tools -> Jtag Adapter -> Disable + Tools -> Arduino Runs On -> Core 1 + Tools -> USB Firmware MSC On Boot -> Disable + Tools -> Partition scheme -> Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) + Tools -> PSRAM -> OPI PSRAM + Tools -> Upload Mode -> UART0 / Hardware CDC + Tools -> Upload Speed -> 921600 + Tools -> USB Mode -> Hardware CDC and JTAG + Tools -> Zigbee mode -> Disable - @bug: NOT COMPLETED! + @bug: */ @@ -45,12 +65,14 @@ #define FW_STATUS_LED_LEVEL_ON HIGH ///< GPIO pin level for status LED ON /* --------------- FLASH LED CFG ---------------*/ -#define ENABLE_CAMERA_FLASH false ///< Enable camera flash function -#define CAMERA_FLASH_DIGITAL_CTRL false ///< Enable camera flash digital control -#define CAMERA_FLASH_PWM_CTRL false ///< Enable camera flash PWM control -#define FLASH_GPIO_NUM 48 ///< Flash control pin. RGB LED NeoPixel -#define FLASH_OFF_STATUS 0 ///< value for turn off flash -#define FLASH_ON_STATUS 205 ///< value for turn on flash +#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 CAMERA_FLASH_NEOPIXEL true ///< Enable camera flash NeoPixel control +#define FLASH_GPIO_NUM 47 ///< Flash control pin. +#define FLASH_NEOPIXEL_LED_PIN 48 ///< External flash control pin. RGB LED NeoPixel +#define FLASH_OFF_STATUS LOW ///< value for turn off flash +#define FLASH_ON_STATUS HIGH ///< value for turn on flash //#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 diff --git a/ESP32_PrusaConnectCam/module_ESP32-S3-EYE_2_2.h b/ESP32_PrusaConnectCam/module_ESP32-S3-EYE_2_2.h index 6d2ad4c..e0f9840 100644 --- a/ESP32_PrusaConnectCam/module_ESP32-S3-EYE_2_2.h +++ b/ESP32_PrusaConnectCam/module_ESP32-S3-EYE_2_2.h @@ -70,7 +70,9 @@ #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 CAMERA_FLASH_NEOPIXEL false ///< Enable camera flash NeoPixel control #define FLASH_GPIO_NUM 48 ///< Flash control pin. This is pin for enable LCD backlight +#define FLASH_NEOPIXEL_LED_PIN -1 ///< External flash control pin. RGB LED NeoPixel #define FLASH_OFF_STATUS LOW ///< Value for turn off flash #define FLASH_ON_STATUS HIGH ///< Value for turn on flash //#define FLASH_PWM_FREQ 2000 ///< frequency of pwm [240MHz / (100 prescale * pwm cycles)] = frequency diff --git a/ESP32_PrusaConnectCam/module_ESP32-WROVER-DEV.h b/ESP32_PrusaConnectCam/module_ESP32-WROVER-DEV.h index c25829b..154d0b7 100644 --- a/ESP32_PrusaConnectCam/module_ESP32-WROVER-DEV.h +++ b/ESP32_PrusaConnectCam/module_ESP32-WROVER-DEV.h @@ -58,7 +58,9 @@ #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 CAMERA_FLASH_NEOPIXEL false ///< Enable camera flash NeoPixel control #define FLASH_GPIO_NUM 14 ///< Flash control pin +#define FLASH_NEOPIXEL_LED_PIN -1 ///< External flash control pin. RGB LED NeoPixel #define FLASH_OFF_STATUS LOW ///< value for flash OFF #define FLASH_ON_STATUS HIGH ///< value for flash ON //#define FLASH_PWM_FREQ 2000 ///< frequency of pwm [240MHz / (100 prescale * pwm cycles)] = frequency diff --git a/ESP32_PrusaConnectCam/module_ESP32_S3_DEV_CAM.h b/ESP32_PrusaConnectCam/module_ESP32_S3_DEV_CAM.h index 85ca48f..91996cc 100644 --- a/ESP32_PrusaConnectCam/module_ESP32_S3_DEV_CAM.h +++ b/ESP32_PrusaConnectCam/module_ESP32_S3_DEV_CAM.h @@ -69,6 +69,7 @@ #define ENABLE_CAMERA_FLASH false ///< Enable camera flash function #define CAMERA_FLASH_DIGITAL_CTRL false ///< Enable camera flash digital control #define CAMERA_FLASH_PWM_CTRL false ///< Enable camera flash PWM control +#define CAMERA_FLASH_NEOPIXEL false ///< Enable camera flash NeoPixel control #define FLASH_GPIO_NUM -1 ///< Flash control pin #define FLASH_OFF_STATUS 0 ///< PWM intensity LED for OFF. 0-2^FLASH_PWM_RESOLUTION = 0-255 #define FLASH_ON_STATUS 205 ///< PWM intensity LED for ON. limitation to 80%. 2^FLASH_PWM_RESOLUTION * 0.8% = 204 diff --git a/ESP32_PrusaConnectCam/module_XIAO_ESP32-S3-cam.h b/ESP32_PrusaConnectCam/module_XIAO_ESP32-S3-cam.h index 25e15cc..ad6e1c5 100644 --- a/ESP32_PrusaConnectCam/module_XIAO_ESP32-S3-cam.h +++ b/ESP32_PrusaConnectCam/module_XIAO_ESP32-S3-cam.h @@ -73,7 +73,9 @@ #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 CAMERA_FLASH_NEOPIXEL false ///< Enable camera flash NeoPixel control +#define FLASH_GPIO_NUM 4 ///< Flash control pin. +#define FLASH_NEOPIXEL_LED_PIN -1 ///< External flash control pin. RGB LED NeoPixel #define FLASH_OFF_STATUS LOW ///< value for flash OFF #define FLASH_ON_STATUS HIGH ///< value for flash ON //#define FLASH_PWM_FREQ 2000 ///< frequency of pwm [240MHz / (100 prescale * pwm cycles)] = frequency