|
ESPHome 2026.1.0-dev
|
#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_listener (camera::CameraListener *listener) override |
| Add a listener to receive camera events. | |
| camera::CameraImageReader * | create_image_reader () override |
Public Member Functions inherited from esphome::camera::Camera | |
| Camera () | |
| virtual | ~Camera () |
Public Member Functions inherited from esphome::EntityBase | |
| const StringRef & | get_name () const |
| void | set_name (const char *name) |
| bool | has_own_name () const |
| ESPDEPRECATED("object_id mangles names and all object_id methods are planned for removal " "(see https://github.com/esphome/backlog/issues/76). " "Now is the time to stop using object_id. If still needed, use get_object_id_to() " "which will remain available longer. get_object_id() will be removed in 2026.7.0", "2025.12.0") std void | set_object_id (const char *object_id) |
| void | set_name_and_object_id (const char *name, const char *object_id) |
| uint32_t | get_object_id_hash () |
| StringRef | get_object_id_to (std::span< char, OBJECT_ID_MAX_LEN > buf) const |
| Get object_id with zero heap allocation For static case: returns StringRef to internal storage (buffer unused) For dynamic case: formats into buffer and returns StringRef to buffer. | |
| size_t | write_object_id_to (char *buf, size_t buf_size) const |
| Write object_id directly to buffer, returns length written (excluding null) Useful for building compound strings without intermediate buffer. | |
| 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) |
| ESPDEPRECATED("Use get_icon_ref() instead for better performance (avoids string copy). Will be removed in ESPHome 2026.5.0", "2025.11.0") std 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) |
| uint32_t | get_preference_hash () |
| Get a unique hash for storing preferences/settings for this entity. | |
Public Member Functions inherited from esphome::Component | |
| 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. | |
| bool | is_idle () const |
| Check if this component is idle. | |
| virtual void | mark_failed () |
| Mark this component as failed. | |
| ESPDEPRECATED ("Use mark_failed(LOG_STR(\"static string literal\")) instead. Do NOT use .c_str() from temporary " "strings. Will stop working in 2026.6.0", "2025.12.0") void mark_failed(const char *message) | |
| void | mark_failed (const LogString *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_warning (const LogString *message) |
| void | status_set_error () |
| ESPDEPRECATED ("Use status_set_error(LOG_STR(\"static string literal\")) instead. Do NOT use .c_str() from temporary " "strings. Will stop working in 2026.6.0", "2025.12.0") void status_set_error(const char *message) | |
| void | status_set_error (const LogString *message) |
| void | status_clear_warning () |
| void | status_clear_error () |
| void | status_momentary_warning (const char *name, uint32_t length=5000) |
| Set warning status flag and automatically clear it after a timeout. | |
| void | status_momentary_error (const char *name, uint32_t length=5000) |
| Set error status flag and automatically clear it after a timeout. | |
| bool | has_overridden_loop () const |
| void | set_component_source (const LogString *source) |
| Set where this component was loaded from for some debug messages. | |
| const LogString * | get_component_log_str () const |
| Get the integration where this component was declared as a LogString for logging. | |
| bool | should_warn_of_blocking (uint32_t blocking_time) |
Protected Member Functions | |
| bool | has_requested_image_ () const |
| bool | can_return_image_ () const |
Protected Member Functions inherited from esphome::EntityBase | |
| void | calc_object_id_ () |
| bool | is_object_id_dynamic_ () const |
| Check if the object_id is dynamic (changes with MAC suffix) | |
Protected Member Functions inherited from esphome::Component | |
| 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 (const char *name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f) |
| 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. | |
| bool | cancel_retry (const char *name) |
| 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_ |
| std::atomic< uint8_t > | single_requesters_ {0} |
| std::atomic< uint8_t > | stream_requesters_ {0} |
| QueueHandle_t | framebuffer_get_queue_ |
| QueueHandle_t | framebuffer_return_queue_ |
| std::vector< camera::CameraListener * > | listeners_ |
| uint32_t | last_idle_request_ {0} |
| uint32_t | last_update_ {0} |
| uint32_t | last_log_time_ {0} |
| uint16_t | frame_count_ {0} |
| i2c::InternalI2CBus * | i2c_bus_ {nullptr} |
Protected Attributes inherited from esphome::EntityBase | |
| 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_ |
Protected Attributes inherited from esphome::Component | |
| const LogString * | 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 Public Member Functions inherited from esphome::camera::Camera | |
| static Camera * | instance () |
| The singleton instance of the camera implementation. | |
Static Protected Attributes inherited from esphome::camera::Camera | |
| static Camera * | global_camera = nullptr |
Definition at line 111 of file esp32_camera.h.
| esphome::esp32_camera::ESP32Camera::ESP32Camera | ( | ) |
Definition at line 241 of file esp32_camera.cpp.
|
inlineoverridevirtual |
Add a listener to receive camera events.
Implements esphome::camera::Camera.
Definition at line 170 of file esp32_camera.h.
|
protected |
Definition at line 425 of file esp32_camera.cpp.
|
overridevirtual |
Implements esphome::camera::Camera.
Definition at line 398 of file esp32_camera.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 55 of file esp32_camera.cpp.
|
staticprotected |
Definition at line 426 of file esp32_camera.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 238 of file esp32_camera.cpp.
|
protected |
Definition at line 424 of file esp32_camera.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 170 of file esp32_camera.cpp.
|
overridevirtual |
Implements esphome::camera::Camera.
Definition at line 397 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_ae_level | ( | int | ae_level | ) |
Definition at line 357 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_aec2 | ( | bool | aec2 | ) |
Definition at line 356 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_aec_mode | ( | ESP32GainControlMode | mode | ) |
Definition at line 355 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_aec_value | ( | uint32_t | aec_value | ) |
Definition at line 358 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_agc_gain_ceiling | ( | ESP32AgcGainCeiling | gain_ceiling | ) |
Definition at line 362 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_agc_mode | ( | ESP32GainControlMode | mode | ) |
Definition at line 360 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_agc_value | ( | uint8_t | agc_value | ) |
Definition at line 361 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_brightness | ( | int | brightness | ) |
Definition at line 351 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_contrast | ( | int | contrast | ) |
Definition at line 350 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_data_pins | ( | std::array< uint8_t, 8 > | pins | ) |
Definition at line 257 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_external_clock | ( | uint8_t | pin, |
| uint32_t | frequency ) |
Definition at line 270 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_frame_buffer_count | ( | uint8_t | fb_count | ) |
Definition at line 376 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_frame_buffer_location | ( | camera_fb_location_t | fb_location | ) |
Definition at line 380 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_frame_buffer_mode | ( | camera_grab_mode_t | mode | ) |
Definition at line 375 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_frame_size | ( | ESP32CameraFrameSize | size | ) |
Definition at line 289 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_horizontal_mirror | ( | bool | horizontal_mirror | ) |
Definition at line 349 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_href_pin | ( | uint8_t | pin | ) |
Definition at line 268 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_i2c_id | ( | i2c::InternalI2CBus * | i2c_bus | ) |
Definition at line 279 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_i2c_pins | ( | uint8_t | sda, |
| uint8_t | scl ) |
Definition at line 274 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_idle_update_interval | ( | uint32_t | idle_update_interval | ) |
Definition at line 371 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_jpeg_quality | ( | uint8_t | quality | ) |
Definition at line 347 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_max_update_interval | ( | uint32_t | max_update_interval | ) |
Definition at line 368 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_pixel_clock_pin | ( | uint8_t | pin | ) |
Definition at line 269 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_power_down_pin | ( | uint8_t | pin | ) |
Definition at line 286 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_reset_pin | ( | uint8_t | pin | ) |
Definition at line 285 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_saturation | ( | int | saturation | ) |
Definition at line 352 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_special_effect | ( | ESP32SpecialEffect | effect | ) |
Definition at line 353 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_test_pattern | ( | bool | test_pattern | ) |
Definition at line 366 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_vertical_flip | ( | bool | vertical_flip | ) |
Definition at line 348 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_vsync_pin | ( | uint8_t | pin | ) |
Definition at line 267 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::set_wb_mode | ( | ESP32WhiteBalanceMode | mode | ) |
Definition at line 364 of file esp32_camera.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 20 of file esp32_camera.cpp.
|
overridevirtual |
Implements esphome::camera::Camera.
Definition at line 385 of file esp32_camera.cpp.
|
overridevirtual |
Implements esphome::camera::Camera.
Definition at line 391 of file esp32_camera.cpp.
| void esphome::esp32_camera::ESP32Camera::update_camera_parameters | ( | ) |
Definition at line 399 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 219 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 222 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 215 of file esp32_camera.h.
|
protected |
Definition at line 218 of file esp32_camera.h.
|
protected |
Definition at line 216 of file esp32_camera.h.
|
protected |
Definition at line 213 of file esp32_camera.h.
|
protected |
Definition at line 204 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 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.