update FLASH led code
parent
d7566411ab
commit
213e26d1e0
|
|
@ -55,6 +55,8 @@
|
||||||
#include "stream.h"
|
#include "stream.h"
|
||||||
#include "serial_cfg.h"
|
#include "serial_cfg.h"
|
||||||
|
|
||||||
|
//#include "esp32s3eye_lcd.h"
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
/* Serial port for debugging purposes */
|
/* Serial port for debugging purposes */
|
||||||
Serial.begin(SERIAL_PORT_SPEED);
|
Serial.begin(SERIAL_PORT_SPEED);
|
||||||
|
|
@ -105,6 +107,9 @@ void setup() {
|
||||||
/* init class for communication with PrusaConnect */
|
/* init class for communication with PrusaConnect */
|
||||||
Connect.Init();
|
Connect.Init();
|
||||||
|
|
||||||
|
//Esp32Lcd LcdDisplay;
|
||||||
|
//LcdDisplay.draw_color(0x000000);
|
||||||
|
|
||||||
/* init wdg */
|
/* init wdg */
|
||||||
SystemLog.AddEvent(LogLevel_Info, F("Init WDG"));
|
SystemLog.AddEvent(LogLevel_Info, F("Init WDG"));
|
||||||
esp_task_wdt_config_t twdt_config;
|
esp_task_wdt_config_t twdt_config;
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ Camera SystemCamera(&SystemConfig, &SystemLog, FLASH_GPIO_NUM);
|
||||||
@param uint8_t - flash pin
|
@param uint8_t - flash pin
|
||||||
@return none
|
@return none
|
||||||
*/
|
*/
|
||||||
Camera::Camera(Configuration* i_conf, Logs* i_log, uint8_t i_FlashPin) {
|
Camera::Camera(Configuration* i_conf, Logs* i_log, int8_t i_FlashPin) {
|
||||||
config = i_conf;
|
config = i_conf;
|
||||||
log = i_log;
|
log = i_log;
|
||||||
|
|
||||||
|
|
@ -50,7 +50,13 @@ void Camera::Init() {
|
||||||
|
|
||||||
#if (true == ENABLE_CAMERA_FLASH)
|
#if (true == ENABLE_CAMERA_FLASH)
|
||||||
log->AddEvent(LogLevel_Info, F("Init GPIO"));
|
log->AddEvent(LogLevel_Info, F("Init GPIO"));
|
||||||
|
#if (true == CAMERA_FLASH_PWM_CTRL)
|
||||||
ledcAttach(FLASH_GPIO_NUM, FLASH_PWM_FREQ, FLASH_PWM_RESOLUTION);
|
ledcAttach(FLASH_GPIO_NUM, FLASH_PWM_FREQ, FLASH_PWM_RESOLUTION);
|
||||||
|
|
||||||
|
#elif (true == CAMERA_FLASH_DIGITAL_CTRL)
|
||||||
|
pinMode(FLASH_GPIO_NUM, OUTPUT);
|
||||||
|
digitalWrite(FLASH_GPIO_NUM, LOW);
|
||||||
|
#endif
|
||||||
SetFlashStatus(false);
|
SetFlashStatus(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -220,11 +226,20 @@ void Camera::SetPhotoSending(bool i_data) {
|
||||||
*/
|
*/
|
||||||
void Camera::SetFlashStatus(bool i_data) {
|
void Camera::SetFlashStatus(bool i_data) {
|
||||||
#if (true == ENABLE_CAMERA_FLASH)
|
#if (true == ENABLE_CAMERA_FLASH)
|
||||||
|
#if (true == CAMERA_FLASH_PWM_CTRL)
|
||||||
if (true == i_data) {
|
if (true == i_data) {
|
||||||
ledcWrite(FLASH_GPIO_NUM, FLASH_ON_STATUS);
|
ledcWrite(FLASH_GPIO_NUM, FLASH_ON_STATUS);
|
||||||
} else if (false == i_data) {
|
} else if (false == i_data) {
|
||||||
ledcWrite(FLASH_GPIO_NUM, FLASH_OFF_STATUS);
|
ledcWrite(FLASH_GPIO_NUM, FLASH_OFF_STATUS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#elif (true == CAMERA_FLASH_DIGITAL_CTRL)
|
||||||
|
if (true == i_data) {
|
||||||
|
digitalWrite(FLASH_GPIO_NUM, HIGH);
|
||||||
|
} else if (false == i_data) {
|
||||||
|
digitalWrite(FLASH_GPIO_NUM, LOW);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -234,12 +249,22 @@ void Camera::SetFlashStatus(bool i_data) {
|
||||||
@return bool - true = on, false = off
|
@return bool - true = on, false = off
|
||||||
*/
|
*/
|
||||||
bool Camera::GetFlashStatus() {
|
bool Camera::GetFlashStatus() {
|
||||||
|
#if (true == ENABLE_CAMERA_FLASH)
|
||||||
|
#if (true == CAMERA_FLASH_PWM_CTRL)
|
||||||
if (ledcRead(FLASH_GPIO_NUM) == FLASH_OFF_STATUS) {
|
if (ledcRead(FLASH_GPIO_NUM) == FLASH_OFF_STATUS) {
|
||||||
return false;
|
return false;
|
||||||
} else if (ledcRead(FLASH_GPIO_NUM) == FLASH_ON_STATUS) {
|
} else if (ledcRead(FLASH_GPIO_NUM) == FLASH_ON_STATUS) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#elif (true == CAMERA_FLASH_DIGITAL_CTRL)
|
||||||
|
if (digitalRead(FLASH_GPIO_NUM) == LOW) {
|
||||||
|
return false;
|
||||||
|
} else if (digitalRead(FLASH_GPIO_NUM) == HIGH) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ private:
|
||||||
bool exposure_ctrl; ///< exposure control
|
bool exposure_ctrl; ///< exposure control
|
||||||
bool CameraFlashEnable; ///< enable/disable camera flash function
|
bool CameraFlashEnable; ///< enable/disable camera flash function
|
||||||
uint16_t CameraFlashTime; ///< camera fash duration time
|
uint16_t CameraFlashTime; ///< camera fash duration time
|
||||||
uint8_t CameraFlashPin; ///< GPIO pin for LED
|
int8_t CameraFlashPin; ///< GPIO pin for LED
|
||||||
framesize_t TFrameSize; ///< framesize_t type for camera module
|
framesize_t TFrameSize; ///< framesize_t type for camera module
|
||||||
uint8_t imageExifRotation; ///< image rotation. 0 degree: value 1, 90 degree: value 6, 180 degree: value 3, 270 degree: value 8
|
uint8_t imageExifRotation; ///< image rotation. 0 degree: value 1, 90 degree: value 6, 180 degree: value 3, 270 degree: value 8
|
||||||
|
|
||||||
|
|
@ -87,7 +87,7 @@ private:
|
||||||
void InitCameraModule();
|
void InitCameraModule();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Camera(Configuration*, Logs*, uint8_t);
|
Camera(Configuration*, Logs*, int8_t);
|
||||||
~Camera(){};
|
~Camera(){};
|
||||||
void Init();
|
void Init();
|
||||||
void ApplyCameraCfg();
|
void ApplyCameraCfg();
|
||||||
|
|
|
||||||
|
|
@ -223,14 +223,15 @@ void Configuration::CheckResetCfg() {
|
||||||
|
|
||||||
/* wait for ungrounded reset pin, and binking led */
|
/* wait for ungrounded reset pin, and binking led */
|
||||||
while (digitalRead(CFG_RESET_PIN) == LOW) {
|
while (digitalRead(CFG_RESET_PIN) == LOW) {
|
||||||
analogWrite(FLASH_GPIO_NUM, 20);
|
digitalWrite(CFG_RESET_LED_PIN, CFG_RESET_LED_LEVEL_ON);
|
||||||
delay(100);
|
delay(100);
|
||||||
analogWrite(FLASH_GPIO_NUM, 0);
|
digitalWrite(CFG_RESET_LED_PIN, !CFG_RESET_LED_LEVEL_ON);
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* turn off LED, reset cfg, reset MCU */
|
/* turn off LED, reset cfg, reset MCU */
|
||||||
analogWrite(FLASH_GPIO_NUM, 0);
|
digitalWrite(CFG_RESET_LED_PIN, !CFG_RESET_LED_LEVEL_ON);
|
||||||
|
|
||||||
DefaultCfg();
|
DefaultCfg();
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,10 +14,10 @@
|
||||||
#define _MCU_CFG_H_
|
#define _MCU_CFG_H_
|
||||||
|
|
||||||
/* ----------------- CAMERA TYPE ---------------*/
|
/* ----------------- CAMERA TYPE ---------------*/
|
||||||
//#define AI_THINKER_ESP32_CAM
|
#define AI_THINKER_ESP32_CAM
|
||||||
//#define ESP32_WROVER_DEV
|
//#define ESP32_WROVER_DEV
|
||||||
//#define CAMERA_MODEL_ESP32_S3_CAM
|
//#define CAMERA_MODEL_ESP32_S3_CAM
|
||||||
#define CAMERA_MODEL_ESP32_S3_EYE_2_2
|
//#define CAMERA_MODEL_ESP32_S3_EYE_2_2
|
||||||
|
|
||||||
/* ---------------- BASIC MCU CFG --------------*/
|
/* ---------------- BASIC MCU CFG --------------*/
|
||||||
#define SW_VERSION "1.1.0-rc1" ///< SW version
|
#define SW_VERSION "1.1.0-rc1" ///< SW version
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,8 @@
|
||||||
|
|
||||||
/* --------------- FLASH LED CFG ---------------*/
|
/* --------------- FLASH LED CFG ---------------*/
|
||||||
#define ENABLE_CAMERA_FLASH true ///< Enable camera flash function
|
#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 FLASH_GPIO_NUM 4 ///< Flash control pin
|
#define FLASH_GPIO_NUM 4 ///< Flash control pin
|
||||||
#define FLASH_OFF_STATUS 0 ///< PWM intensity LED for OFF. 0-2^FLASH_PWM_RESOLUTION = 0-255
|
#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_ON_STATUS 205 ///< PWM intensity LED for ON. limitation to 80%. 2^FLASH_PWM_RESOLUTION * 0.8% = 204
|
||||||
|
|
@ -69,6 +71,8 @@
|
||||||
|
|
||||||
/* ---------- RESET CFG CONFIGURATION ----------*/
|
/* ---------- RESET CFG CONFIGURATION ----------*/
|
||||||
#define CFG_RESET_PIN 12 ///< GPIO 16 is for reset CFG to default
|
#define CFG_RESET_PIN 12 ///< GPIO 16 is for reset CFG to default
|
||||||
|
#define CFG_RESET_LED_PIN 4 ///< GPIO for indication of reset CFG
|
||||||
|
#define CFG_RESET_LED_LEVEL_ON HIGH ///< GPIO pin level for status LED ON
|
||||||
|
|
||||||
/* -------------- STATUS LED CFG ----------------*/
|
/* -------------- STATUS LED CFG ----------------*/
|
||||||
#define STATUS_LED_ENABLE true ///< enable/disable status LED
|
#define STATUS_LED_ENABLE true ///< enable/disable status LED
|
||||||
|
|
|
||||||
|
|
@ -60,16 +60,18 @@
|
||||||
#define ENABLE_PSRAM true ///< Enable PSRAM
|
#define ENABLE_PSRAM true ///< Enable PSRAM
|
||||||
|
|
||||||
/* --------------- OTA UPDATE CFG --------------*/
|
/* --------------- OTA UPDATE CFG --------------*/
|
||||||
#define OTA_UPDATE_FW_FILE PSTR("ESP32_S3_EYE_22_PrusaConnectCam.ino.bin") ///< OTA update firmware file name
|
#define OTA_UPDATE_FW_FILE PSTR("ESP32S3_EYE22_PrusaConnectCam.ino.bin") ///< OTA update firmware file name
|
||||||
|
|
||||||
/* --------------- FLASH LED CFG ---------------*/
|
/* --------------- FLASH LED CFG ---------------*/
|
||||||
#define ENABLE_CAMERA_FLASH false ///< Enable camera flash function
|
#define ENABLE_CAMERA_FLASH true ///< Enable camera flash function
|
||||||
#define FLASH_GPIO_NUM 4 ///< Flash control pin
|
#define CAMERA_FLASH_DIGITAL_CTRL true ///< Enable camera flash digital control
|
||||||
#define FLASH_OFF_STATUS 0 ///< PWM intensity LED for OFF. 0-2^FLASH_PWM_RESOLUTION = 0-255
|
#define CAMERA_FLASH_PWM_CTRL false ///< Enable camera flash PWM control
|
||||||
#define FLASH_ON_STATUS 205 ///< PWM intensity LED for ON. limitation to 80%. 2^FLASH_PWM_RESOLUTION * 0.8% = 204
|
#define FLASH_GPIO_NUM 48 ///< Flash control pin. This is pin for enable LCD backlight
|
||||||
#define FLASH_PWM_FREQ 2000 ///< frequency of pwm [240MHz / (100 prescale * pwm cycles)] = frequency
|
#define FLASH_OFF_STATUS LOW ///< PWM intensity LED for OFF. 0-2^FLASH_PWM_RESOLUTION = 0-255
|
||||||
#define FLASH_PWM_CHANNEL 0 ///< channel 0
|
#define FLASH_ON_STATUS HIGH ///< PWM intensity LED for ON. limitation to 80%. 2^FLASH_PWM_RESOLUTION * 0.8% = 204
|
||||||
#define FLASH_PWM_RESOLUTION 8 ///< range 1-20bit. 8bit = 0-255 range
|
//#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 ---------------*/
|
/* --------------- SD CARD CFG ---------------*/
|
||||||
#define ENABLE_SD_CARD true ///< Enable SD card function
|
#define ENABLE_SD_CARD true ///< Enable SD card function
|
||||||
|
|
@ -78,7 +80,9 @@
|
||||||
#define SD_PIN_DATA0 40 ///< GPIO pin for SD card data 0
|
#define SD_PIN_DATA0 40 ///< GPIO pin for SD card data 0
|
||||||
|
|
||||||
/* ---------- RESET CFG CONFIGURATION ----------*/
|
/* ---------- RESET CFG CONFIGURATION ----------*/
|
||||||
#define CFG_RESET_PIN 1 ///< GPIO 16 is for reset CFG to default
|
#define CFG_RESET_PIN 1 ///< GPIO 1 is for reset CFG to default. This is button UP+`
|
||||||
|
#define CFG_RESET_LED_PIN 3 ///< GPIO for indication of reset CFG
|
||||||
|
#define CFG_RESET_LED_LEVEL_ON LOW ///< GPIO pin level for status LED ON
|
||||||
|
|
||||||
/* -------------- STATUS LED CFG ----------------*/
|
/* -------------- STATUS LED CFG ----------------*/
|
||||||
#define STATUS_LED_ENABLE true ///< enable/disable status LED
|
#define STATUS_LED_ENABLE true ///< enable/disable status LED
|
||||||
|
|
|
||||||
|
|
@ -50,11 +50,13 @@
|
||||||
#define ENABLE_PSRAM true ///< Enable PSRAM
|
#define ENABLE_PSRAM true ///< Enable PSRAM
|
||||||
|
|
||||||
/* --------------- OTA UPDATE CFG --------------*/
|
/* --------------- OTA UPDATE CFG --------------*/
|
||||||
#define OTA_UPDATE_FW_FILE PSTR("ESP32_WROVER_DEV_PrusaConnectCam.ino.bin") ///< OTA update firmware file name
|
#define OTA_UPDATE_FW_FILE PSTR("ESP32_WROVERDEV_PrusaConnectCam.ino.bin") ///< OTA update firmware file name
|
||||||
|
|
||||||
/* --------------- FLASH LED CFG ---------------*/
|
/* --------------- FLASH LED CFG ---------------*/
|
||||||
#define ENABLE_CAMERA_FLASH false ///< Enable camera flash function
|
#define ENABLE_CAMERA_FLASH false ///< Enable camera flash function
|
||||||
#define FLASH_GPIO_NUM 4 ///< Flash control pin
|
#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 -1 ///< Flash control pin
|
||||||
#define FLASH_OFF_STATUS 0 ///< PWM intensity LED for OFF. 0-2^FLASH_PWM_RESOLUTION = 0-255
|
#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_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
|
#define FLASH_PWM_FREQ 2000 ///< frequency of pwm [240MHz / (100 prescale * pwm cycles)] = frequency
|
||||||
|
|
@ -66,6 +68,8 @@
|
||||||
|
|
||||||
/* ---------- RESET CFG CONFIGURATION ----------*/
|
/* ---------- RESET CFG CONFIGURATION ----------*/
|
||||||
#define CFG_RESET_PIN 12 ///< GPIO 16 is for reset CFG to default
|
#define CFG_RESET_PIN 12 ///< GPIO 16 is for reset CFG to default
|
||||||
|
#define CFG_RESET_LED_PIN 2 ///< GPIO for indication of reset CFG
|
||||||
|
#define CFG_RESET_LED_LEVEL_ON LOW ///< GPIO pin level for status LED ON
|
||||||
|
|
||||||
/* -------------- STATUS LED CFG ----------------*/
|
/* -------------- STATUS LED CFG ----------------*/
|
||||||
#define STATUS_LED_ENABLE true ///< enable/disable status LED
|
#define STATUS_LED_ENABLE true ///< enable/disable status LED
|
||||||
|
|
|
||||||
|
|
@ -60,10 +60,12 @@
|
||||||
#define ENABLE_PSRAM true ///< Enable PSRAM
|
#define ENABLE_PSRAM true ///< Enable PSRAM
|
||||||
|
|
||||||
/* --------------- OTA UPDATE CFG --------------*/
|
/* --------------- OTA UPDATE CFG --------------*/
|
||||||
#define OTA_UPDATE_FW_FILE PSTR("ESP32_S3_CAM_PrusaConnectCam.ino.bin") ///< OTA update firmware file name
|
#define OTA_UPDATE_FW_FILE PSTR("ESP32S3_CAM_PrusaConnectCam.ino.bin") ///< OTA update firmware file name
|
||||||
|
|
||||||
/* --------------- FLASH LED CFG ---------------*/
|
/* --------------- FLASH LED CFG ---------------*/
|
||||||
#define ENABLE_CAMERA_FLASH false ///< Enable camera flash function
|
#define ENABLE_CAMERA_FLASH false ///< 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
|
#define FLASH_GPIO_NUM 4 ///< Flash control pin
|
||||||
#define FLASH_OFF_STATUS 0 ///< PWM intensity LED for OFF. 0-2^FLASH_PWM_RESOLUTION = 0-255
|
#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_ON_STATUS 205 ///< PWM intensity LED for ON. limitation to 80%. 2^FLASH_PWM_RESOLUTION * 0.8% = 204
|
||||||
|
|
@ -79,6 +81,8 @@
|
||||||
|
|
||||||
/* ---------- RESET CFG CONFIGURATION ----------*/
|
/* ---------- RESET CFG CONFIGURATION ----------*/
|
||||||
#define CFG_RESET_PIN 2 ///< GPIO 16 is for reset CFG to default
|
#define CFG_RESET_PIN 2 ///< GPIO 16 is for reset CFG to default
|
||||||
|
#define CFG_RESET_LED_PIN 34 ///< GPIO for indication of reset CFG
|
||||||
|
#define CFG_RESET_LED_LEVEL_ON LOW ///< GPIO pin level for status LED ON
|
||||||
|
|
||||||
/* -------------- STATUS LED CFG ----------------*/
|
/* -------------- STATUS LED CFG ----------------*/
|
||||||
#define STATUS_LED_ENABLE true ///< enable/disable status LED
|
#define STATUS_LED_ENABLE true ///< enable/disable status LED
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue