mirror of
https://github.com/espressif/esp-matter.git
synced 2026-04-27 19:13:13 +00:00
components/esp-matter: Data model changes to add mandatory camera clusters
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
|
||||
/* Replace these with IDs from submodule whenever they are implemented */
|
||||
#define ESP_MATTER_ROOT_NODE_DEVICE_TYPE_ID 0x0016
|
||||
#define ESP_MATTER_ROOT_NODE_DEVICE_TYPE_VERSION 3
|
||||
#define ESP_MATTER_ROOT_NODE_DEVICE_TYPE_VERSION 4
|
||||
#define ESP_MATTER_OTA_REQUESTOR_DEVICE_TYPE_ID 0x0012
|
||||
#define ESP_MATTER_OTA_REQUESTOR_DEVICE_TYPE_VERSION 1
|
||||
#define ESP_MATTER_OTA_PROVIDER_DEVICE_TYPE_ID 0x0014
|
||||
@@ -151,6 +151,9 @@
|
||||
#define ESP_MATTER_THERMOSTAT_CONTROLLER_DEVICE_TYPE_ID 0x030A
|
||||
#define ESP_MATTER_THERMOSTAT_CONTROLLER_DEVICE_TYPE_VERSION 1
|
||||
|
||||
#define ESP_MATTER_CAMERA_DEVICE_TYPE_ID 0x0142
|
||||
#define ESP_MATTER_CAMERA_DEVICE_TYPE_VERSION 1
|
||||
|
||||
namespace esp_matter {
|
||||
|
||||
/** Specific endpoint (device type) create APIs
|
||||
@@ -370,7 +373,7 @@ namespace on_off_plug_in_unit {
|
||||
typedef struct config : on_off_with_lighting_config {
|
||||
config() {
|
||||
identify.identify_type = chip::to_underlying(chip::app::Clusters::Identify::IdentifyTypeEnum::kVisibleIndicator);
|
||||
}
|
||||
}
|
||||
} config_t;
|
||||
|
||||
uint32_t get_device_type_id();
|
||||
@@ -656,7 +659,7 @@ typedef struct config : app_base_config {
|
||||
nullable<int16_t> max_pressure = nullable<int16_t>(),
|
||||
nullable<uint16_t> max_speed = nullable<uint16_t>(),
|
||||
nullable<uint16_t> max_flow = nullable<uint16_t>()
|
||||
) : pump_configuration_and_control(max_pressure, max_speed, max_flow) {
|
||||
) : pump_configuration_and_control(max_pressure, max_speed, max_flow) {
|
||||
identify.identify_type = chip::to_underlying(chip::app::Clusters::Identify::IdentifyTypeEnum::kActuator);
|
||||
}
|
||||
} config_t;
|
||||
@@ -1022,6 +1025,23 @@ endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_dat
|
||||
esp_err_t add(endpoint_t *endpoint, config_t *config);
|
||||
} /** heat_pump **/
|
||||
|
||||
namespace camera {
|
||||
|
||||
typedef struct config {
|
||||
cluster::descriptor::config_t descriptor;
|
||||
cluster::camera_av_stream_management::config_t camera_av_stream_management;
|
||||
cluster::webrtc_transport_provider::config_t webrtc_transport_provider;
|
||||
cluster::webrtc_transport_requestor::config_t webrtc_transport_requestor;
|
||||
} config_t;
|
||||
|
||||
uint32_t get_device_type_id();
|
||||
uint8_t get_device_type_version();
|
||||
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
|
||||
esp_err_t add(endpoint_t *endpoint, config_t *config);
|
||||
|
||||
} /* camera */
|
||||
|
||||
|
||||
namespace thermostat_controller {
|
||||
using config_t = app_client_config;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user