ESPHome 2025.8.0b2
|
#include <esp32_camera.h>
Public Member Functions | |
ESP32Camera () | |
void | set_data_pins (std::array< uint8_t, 8 > pins) |
void | set_vsync_pin (uint8_t pin) |
void | set_href_pin (uint8_t pin) |
void | set_pixel_clock_pin (uint8_t pin) |
void | set_external_clock (uint8_t pin, uint32_t frequency) |
void | set_i2c_pins (uint8_t sda, uint8_t scl) |
void | set_i2c_id (i2c::InternalI2CBus *i2c_bus) |
void | set_reset_pin (uint8_t pin) |
void | set_power_down_pin (uint8_t pin) |
void | set_frame_size (ESP32CameraFrameSize size) |
void | set_jpeg_quality (uint8_t quality) |
void | set_vertical_flip (bool vertical_flip) |
void | set_horizontal_mirror (bool horizontal_mirror) |
void | set_contrast (int contrast) |
void | set_brightness (int brightness) |
void | set_saturation (int saturation) |
void | set_special_effect (ESP32SpecialEffect effect) |
void | set_aec_mode (ESP32GainControlMode mode) |
void | set_aec2 (bool aec2) |
void | set_ae_level (int ae_level) |
void | set_aec_value (uint32_t aec_value) |
void | set_agc_mode (ESP32GainControlMode mode) |
void | set_agc_value (uint8_t agc_value) |
void | set_agc_gain_ceiling (ESP32AgcGainCeiling gain_ceiling) |
void | set_wb_mode (ESP32WhiteBalanceMode mode) |
void | set_test_pattern (bool test_pattern) |
void | set_max_update_interval (uint32_t max_update_interval) |
void | set_idle_update_interval (uint32_t idle_update_interval) |
void | set_frame_buffer_mode (camera_grab_mode_t mode) |
void | set_frame_buffer_count (uint8_t fb_count) |
void | set_frame_buffer_location (camera_fb_location_t fb_location) |
void | setup () override |
void | loop () override |
void | dump_config () override |
float | get_setup_priority () const override |
void | start_stream (camera::CameraRequester requester) override |
void | stop_stream (camera::CameraRequester requester) override |
void | request_image (camera::CameraRequester requester) override |
void | update_camera_parameters () |
void | add_image_callback (std::function< void(std::shared_ptr< camera::CameraImage >)> &&callback) override |
void | add_stream_start_callback (std::function< void()> &&callback) |
void | add_stream_stop_callback (std::function< void()> &&callback) |
camera::CameraImageReader * | create_image_reader () override |
![]() | |
Camera () | |
virtual void | add_image_callback (std::function< void(std::shared_ptr< CameraImage >)> &&callback)=0 |
virtual | ~Camera () |
![]() | |
const StringRef & | get_name () const |
void | set_name (const char *name) |
bool | has_own_name () const |
std::string | get_object_id () const |
void | set_object_id (const char *object_id) |
uint32_t | get_object_id_hash () |
bool | is_internal () const |
void | set_internal (bool internal) |
bool | is_disabled_by_default () const |
void | set_disabled_by_default (bool disabled_by_default) |
EntityCategory | get_entity_category () const |
void | set_entity_category (EntityCategory entity_category) |
std::string | get_icon () const |
void | set_icon (const char *icon) |
StringRef | get_icon_ref () const |
uint32_t | get_device_id () const |
void | set_device (Device *device) |
bool | has_state () const |
void | set_has_state (bool state) |
![]() | |
float | get_actual_setup_priority () const |
void | set_setup_priority (float priority) |
virtual float | get_loop_priority () const |
priority of loop(). | |
void | call () |
virtual void | on_shutdown () |
virtual void | on_safe_shutdown () |
virtual bool | teardown () |
Called during teardown to allow component to gracefully finish operations. | |
virtual void | on_powerdown () |
Called after teardown is complete to power down hardware. | |
uint8_t | get_component_state () const |
void | reset_to_construction_state () |
Reset this component back to the construction state to allow setup to run again. | |
bool | is_in_loop_state () const |
Check if this component has completed setup and is in the loop state. | |
virtual void | mark_failed () |
Mark this component as failed. | |
void | mark_failed (const char *message) |
void | disable_loop () |
Disable this component's loop. | |
void | enable_loop () |
Enable this component's loop. | |
void | enable_loop_soon_any_context () |
Thread and ISR-safe version of enable_loop() that can be called from any context. | |
bool | is_failed () const |
bool | is_ready () const |
virtual bool | can_proceed () |
bool | status_has_warning () const |
bool | status_has_error () const |
void | status_set_warning (const char *message=nullptr) |
void | status_set_error (const char *message=nullptr) |
void | status_clear_warning () |
void | status_clear_error () |
void | status_momentary_warning (const std::string &name, uint32_t length=5000) |
void | status_momentary_error (const std::string &name, uint32_t length=5000) |
bool | has_overridden_loop () const |
void | set_component_source (const char *source) |
Set where this component was loaded from for some debug messages. | |
const char * | get_component_source () const |
Get the integration where this component was declared as a string. | |
bool | should_warn_of_blocking (uint32_t blocking_time) |
Protected Member Functions | |
bool | has_requested_image_ () const |
bool | can_return_image_ () const |
![]() | |
virtual uint32_t | hash_base () |
The hash_base() function has been deprecated. | |
void | calc_object_id_ () |
![]() | |
virtual void | call_loop () |
virtual void | call_setup () |
virtual void | call_dump_config () |
void | set_component_state_ (uint8_t state) |
Helper to set component state (clears state bits and sets new state) | |
void | set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f) |
Set an interval function with a unique name. | |
void | set_interval (const char *name, uint32_t interval, std::function< void()> &&f) |
Set an interval function with a const char* name. | |
void | set_interval (uint32_t interval, std::function< void()> &&f) |
bool | cancel_interval (const std::string &name) |
Cancel an interval function. | |
bool | cancel_interval (const char *name) |
void | set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f) |
Set an retry function with a unique name. | |
void | set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f) |
bool | cancel_retry (const std::string &name) |
Cancel a retry function. | |
void | set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f) |
Set a timeout function with a unique name. | |
void | set_timeout (const char *name, uint32_t timeout, std::function< void()> &&f) |
Set a timeout function with a const char* name. | |
void | set_timeout (uint32_t timeout, std::function< void()> &&f) |
bool | cancel_timeout (const std::string &name) |
Cancel a timeout function. | |
bool | cancel_timeout (const char *name) |
void | defer (const std::string &name, std::function< void()> &&f) |
Defer a callback to the next loop() call. | |
void | defer (const char *name, std::function< void()> &&f) |
Defer a callback to the next loop() call with a const char* name. | |
void | defer (std::function< void()> &&f) |
Defer a callback to the next loop() call. | |
bool | cancel_defer (const std::string &name) |
Cancel a defer callback using the specified name, name must not be empty. | |
Static Protected Member Functions | |
static void | framebuffer_task (void *pv) |
Protected Attributes | |
camera_config_t | config_ {} |
bool | vertical_flip_ {true} |
bool | horizontal_mirror_ {true} |
int | contrast_ {0} |
int | brightness_ {0} |
int | saturation_ {0} |
ESP32SpecialEffect | special_effect_ {ESP32_SPECIAL_EFFECT_NONE} |
ESP32GainControlMode | aec_mode_ {ESP32_GC_MODE_AUTO} |
bool | aec2_ {false} |
int | ae_level_ {0} |
uint32_t | aec_value_ {300} |
ESP32GainControlMode | agc_mode_ {ESP32_GC_MODE_AUTO} |
uint8_t | agc_value_ {0} |
ESP32AgcGainCeiling | agc_gain_ceiling_ {ESP32_GAINCEILING_2X} |
ESP32WhiteBalanceMode | wb_mode_ {ESP32_WB_MODE_AUTO} |
bool | test_pattern_ {false} |
uint32_t | max_update_interval_ {1000} |
uint32_t | idle_update_interval_ {15000} |
esp_err_t | init_error_ {ESP_OK} |
std::shared_ptr< ESP32CameraImage > | current_image_ |
uint8_t | single_requesters_ {0} |
uint8_t | stream_requesters_ {0} |
QueueHandle_t | framebuffer_get_queue_ |
QueueHandle_t | framebuffer_return_queue_ |
CallbackManager< void(std::shared_ptr< camera::CameraImage >)> | new_image_callback_ {} |
CallbackManager< void()> | stream_start_callback_ {} |
CallbackManager< void()> | stream_stop_callback_ {} |
uint32_t | last_idle_request_ {0} |
uint32_t | last_update_ {0} |
i2c::InternalI2CBus * | i2c_bus_ {nullptr} |
![]() | |
StringRef | name_ |
const char * | object_id_c_str_ {nullptr} |
const char * | icon_c_str_ {nullptr} |
uint32_t | object_id_hash_ {} |
Device * | device_ {} |
struct esphome::EntityBase::EntityFlags | flags_ |
![]() | |
const char * | component_source_ {nullptr} |
uint16_t | warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_MS} |
Warn if blocked for this many ms (max 65.5s) | |
uint8_t | component_state_ {0x00} |
State of this component - each bit has a purpose: Bits 0-2: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED, 0x04=LOOP_DONE) Bit 3: STATUS_LED_WARNING Bit 4: STATUS_LED_ERROR Bits 5-7: Unused - reserved for future expansion. | |
volatile bool | pending_enable_loop_ {false} |
ISR-safe flag for enable_loop_soon_any_context. | |
Additional Inherited Members | |
![]() | |
static Camera * | instance () |
The singleton instance of the camera implementation. | |
![]() | |
static Camera * | global_camera = nullptr |
Definition at line 110 of file esp32_camera.h.
esphome::esp32_camera::ESP32Camera::ESP32Camera | ( | ) |
Definition at line 216 of file esp32_camera.cpp.
|
override |
Definition at line 360 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::add_stream_start_callback | ( | std::function< void()> && | callback | ) |
Definition at line 363 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::add_stream_stop_callback | ( | std::function< void()> && | callback | ) |
Definition at line 366 of file esp32_camera.cpp.
|
protected |
Definition at line 405 of file esp32_camera.cpp.
|
overridevirtual |
Implements esphome::camera::Camera.
Definition at line 378 of file esp32_camera.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 51 of file esp32_camera.cpp.
|
staticprotected |
Definition at line 406 of file esp32_camera.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 213 of file esp32_camera.cpp.
|
protected |
Definition at line 404 of file esp32_camera.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 166 of file esp32_camera.cpp.
|
overridevirtual |
Implements esphome::camera::Camera.
Definition at line 377 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_ae_level | ( | int | ae_level | ) |
Definition at line 332 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_aec2 | ( | bool | aec2 | ) |
Definition at line 331 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_aec_mode | ( | ESP32GainControlMode | mode | ) |
Definition at line 330 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_aec_value | ( | uint32_t | aec_value | ) |
Definition at line 333 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_agc_gain_ceiling | ( | ESP32AgcGainCeiling | gain_ceiling | ) |
Definition at line 337 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_agc_mode | ( | ESP32GainControlMode | mode | ) |
Definition at line 335 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_agc_value | ( | uint8_t | agc_value | ) |
Definition at line 336 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_brightness | ( | int | brightness | ) |
Definition at line 326 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_contrast | ( | int | contrast | ) |
Definition at line 325 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_data_pins | ( | std::array< uint8_t, 8 > | pins | ) |
Definition at line 232 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_external_clock | ( | uint8_t | pin, |
uint32_t | frequency ) |
Definition at line 245 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_frame_buffer_count | ( | uint8_t | fb_count | ) |
Definition at line 351 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_frame_buffer_location | ( | camera_fb_location_t | fb_location | ) |
Definition at line 355 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_frame_buffer_mode | ( | camera_grab_mode_t | mode | ) |
Definition at line 350 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_frame_size | ( | ESP32CameraFrameSize | size | ) |
Definition at line 264 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_horizontal_mirror | ( | bool | horizontal_mirror | ) |
Definition at line 324 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_href_pin | ( | uint8_t | pin | ) |
Definition at line 243 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_i2c_id | ( | i2c::InternalI2CBus * | i2c_bus | ) |
Definition at line 254 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_i2c_pins | ( | uint8_t | sda, |
uint8_t | scl ) |
Definition at line 249 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_idle_update_interval | ( | uint32_t | idle_update_interval | ) |
Definition at line 346 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_jpeg_quality | ( | uint8_t | quality | ) |
Definition at line 322 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_max_update_interval | ( | uint32_t | max_update_interval | ) |
Definition at line 343 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_pixel_clock_pin | ( | uint8_t | pin | ) |
Definition at line 244 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_power_down_pin | ( | uint8_t | pin | ) |
Definition at line 261 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_reset_pin | ( | uint8_t | pin | ) |
Definition at line 260 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_saturation | ( | int | saturation | ) |
Definition at line 327 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_special_effect | ( | ESP32SpecialEffect | effect | ) |
Definition at line 328 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_test_pattern | ( | bool | test_pattern | ) |
Definition at line 341 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_vertical_flip | ( | bool | vertical_flip | ) |
Definition at line 323 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_vsync_pin | ( | uint8_t | pin | ) |
Definition at line 242 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::set_wb_mode | ( | ESP32WhiteBalanceMode | mode | ) |
Definition at line 339 of file esp32_camera.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 16 of file esp32_camera.cpp.
|
overridevirtual |
Implements esphome::camera::Camera.
Definition at line 369 of file esp32_camera.cpp.
|
overridevirtual |
Implements esphome::camera::Camera.
Definition at line 373 of file esp32_camera.cpp.
void esphome::esp32_camera::ESP32Camera::update_camera_parameters | ( | ) |
Definition at line 379 of file esp32_camera.cpp.
|
protected |
Definition at line 193 of file esp32_camera.h.
|
protected |
Definition at line 192 of file esp32_camera.h.
|
protected |
Definition at line 191 of file esp32_camera.h.
|
protected |
Definition at line 194 of file esp32_camera.h.
|
protected |
Definition at line 198 of file esp32_camera.h.
|
protected |
Definition at line 196 of file esp32_camera.h.
|
protected |
Definition at line 197 of file esp32_camera.h.
|
protected |
Definition at line 187 of file esp32_camera.h.
|
protected |
Definition at line 182 of file esp32_camera.h.
|
protected |
Definition at line 186 of file esp32_camera.h.
|
protected |
Definition at line 208 of file esp32_camera.h.
|
protected |
Definition at line 211 of file esp32_camera.h.
|
protected |
Definition at line 212 of file esp32_camera.h.
|
protected |
Definition at line 185 of file esp32_camera.h.
|
protected |
Definition at line 220 of file esp32_camera.h.
|
protected |
Definition at line 205 of file esp32_camera.h.
|
protected |
Definition at line 207 of file esp32_camera.h.
|
protected |
Definition at line 217 of file esp32_camera.h.
|
protected |
Definition at line 218 of file esp32_camera.h.
|
protected |
Definition at line 204 of file esp32_camera.h.
|
protected |
Definition at line 213 of file esp32_camera.h.
|
protected |
Definition at line 188 of file esp32_camera.h.
|
protected |
Definition at line 209 of file esp32_camera.h.
|
protected |
Definition at line 189 of file esp32_camera.h.
|
protected |
Definition at line 210 of file esp32_camera.h.
|
protected |
Definition at line 214 of file esp32_camera.h.
|
protected |
Definition at line 215 of file esp32_camera.h.
|
protected |
Definition at line 202 of file esp32_camera.h.
|
protected |
Definition at line 184 of file esp32_camera.h.
|
protected |
Definition at line 200 of file esp32_camera.h.