diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino b/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino index 0e268b4fefa..a8ca5f63756 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino +++ b/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino @@ -37,6 +37,7 @@ const char* ssid = "**********"; const char* password = "**********"; void startCameraServer(); +void ledc_setup(); void setup() { Serial.begin(115200); @@ -139,6 +140,8 @@ void setup() { Serial.print("Camera Ready! Use 'http://"); Serial.print(WiFi.localIP()); Serial.println("' to connect"); + + ledc_setup(); // uncomment CONFIG_LED_ILLUMINATOR_ENABLED in app_httpd.cpp if you need this } void loop() { diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp b/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp index d0a0fd59432..d003c6933a5 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp +++ b/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp @@ -20,6 +20,17 @@ #include "sdkconfig.h" #include "camera_index.h" +//#define CONFIG_LED_ILLUMINATOR_ENABLED 1 +#ifdef CONFIG_LED_ILLUMINATOR_ENABLED +#define FLASH_LED_GPIO GPIO_NUM_4 +#define CONFIG_LED_MAX_INTENSITY 255 +#define CONFIG_LED_LEDC_CHANNEL LEDC_CHANNEL_0 +#endif + +#ifdef CONFIG_LED_ILLUMINATOR_ENABLED +#include "esp32-hal-ledc.h" +#endif + #if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) #include "esp32-hal-log.h" #define TAG "" @@ -1304,3 +1315,14 @@ void startCameraServer() httpd_register_uri_handler(stream_httpd, &stream_uri); } } + +void ledc_setup() +{ +#ifdef CONFIG_LED_ILLUMINATOR_ENABLED + // PWM + ledcSetup(LEDC_CHANNEL_0, 4000, LEDC_TIMER_8_BIT); + ledcAttachPin(FLASH_LED_GPIO, LEDC_CHANNEL_0); +#else + ESP_LOGI(TAG, "Flash led illumination is not configured"); +#endif +}