mirror of
https://github.com/espressif/esp-matter.git
synced 2026-04-27 19:13:13 +00:00
app_driver: Using app_driver_handle_t instead of void pointer.
This commit is contained in:
@@ -70,12 +70,12 @@ static void app_driver_button_toggle_cb(void *arg)
|
||||
attribute::update(endpoint_id, cluster_id, attribute_id, &val);
|
||||
}
|
||||
|
||||
esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id,
|
||||
esp_matter_attr_val_t *val, void *priv_data)
|
||||
esp_err_t app_driver_attribute_update(app_driver_handle_t driver_handle, uint16_t endpoint_id, uint32_t cluster_id,
|
||||
uint32_t attribute_id, esp_matter_attr_val_t *val)
|
||||
{
|
||||
esp_err_t err = ESP_OK;
|
||||
if (endpoint_id == light_endpoint_id) {
|
||||
led_driver_handle_t handle = (led_driver_handle_t)priv_data;
|
||||
led_driver_handle_t handle = (led_driver_handle_t)driver_handle;
|
||||
if (cluster_id == OnOff::Id) {
|
||||
if (attribute_id == OnOff::Attributes::OnOff::Id) {
|
||||
err = app_driver_light_set_power(handle, val);
|
||||
@@ -145,19 +145,19 @@ esp_err_t app_driver_light_set_defaults(uint16_t endpoint_id)
|
||||
return err;
|
||||
}
|
||||
|
||||
void *app_driver_light_init()
|
||||
app_driver_handle_t app_driver_light_init()
|
||||
{
|
||||
/* Initialize led */
|
||||
led_driver_config_t config = led_driver_get_config();
|
||||
led_driver_handle_t handle = led_driver_init(&config);
|
||||
return (void *)handle;
|
||||
return (app_driver_handle_t)handle;
|
||||
}
|
||||
|
||||
void *app_driver_button_init()
|
||||
app_driver_handle_t app_driver_button_init()
|
||||
{
|
||||
/* Initialize button */
|
||||
button_config_t config = button_driver_get_config();
|
||||
button_handle_t handle = iot_button_create(&config);
|
||||
iot_button_register_cb(handle, BUTTON_PRESS_DOWN, app_driver_button_toggle_cb);
|
||||
return (void *)handle;
|
||||
return (app_driver_handle_t)handle;
|
||||
}
|
||||
|
||||
@@ -60,7 +60,8 @@ static esp_err_t app_attribute_update_cb(attribute::callback_type_t type, uint16
|
||||
|
||||
if (type == PRE_UPDATE) {
|
||||
/* Driver update */
|
||||
err = app_driver_attribute_update(endpoint_id, cluster_id, attribute_id, val, priv_data);
|
||||
app_driver_handle_t driver_handle = (app_driver_handle_t)priv_data;
|
||||
err = app_driver_attribute_update(driver_handle, endpoint_id, cluster_id, attribute_id, val);
|
||||
}
|
||||
|
||||
return err;
|
||||
@@ -74,8 +75,8 @@ extern "C" void app_main()
|
||||
nvs_flash_init();
|
||||
|
||||
/* Initialize driver */
|
||||
void *light_handle = app_driver_light_init();
|
||||
void *button_handle = app_driver_button_init();
|
||||
app_driver_handle_t light_handle = app_driver_light_init();
|
||||
app_driver_handle_t button_handle = app_driver_button_init();
|
||||
app_reset_button_register(button_handle);
|
||||
|
||||
/* Create a Matter node */
|
||||
|
||||
@@ -29,6 +29,8 @@
|
||||
#define DEFAULT_HUE 128
|
||||
#define DEFAULT_SATURATION 255
|
||||
|
||||
typedef void *app_driver_handle_t;
|
||||
|
||||
/** Initialize the light driver
|
||||
*
|
||||
* This initializes the light driver associated with the selected board.
|
||||
@@ -36,7 +38,7 @@
|
||||
* @return Handle on success.
|
||||
* @return NULL in case of failure.
|
||||
*/
|
||||
void *app_driver_light_init();
|
||||
app_driver_handle_t app_driver_light_init();
|
||||
|
||||
/** Initialize the button driver
|
||||
*
|
||||
@@ -45,7 +47,7 @@ void *app_driver_light_init();
|
||||
* @return Handle on success.
|
||||
* @return NULL in case of failure.
|
||||
*/
|
||||
void *app_driver_button_init();
|
||||
app_driver_handle_t app_driver_button_init();
|
||||
|
||||
/** Driver Update
|
||||
*
|
||||
@@ -60,8 +62,8 @@ void *app_driver_button_init();
|
||||
* @return ESP_OK on success.
|
||||
* @return error in case of failure.
|
||||
*/
|
||||
esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id,
|
||||
esp_matter_attr_val_t *val, void *priv_data);
|
||||
esp_err_t app_driver_attribute_update(app_driver_handle_t driver_handle, uint16_t endpoint_id, uint32_t cluster_id,
|
||||
uint32_t attribute_id, esp_matter_attr_val_t *val);
|
||||
|
||||
/** Set defaults for light driver
|
||||
*
|
||||
|
||||
@@ -129,14 +129,14 @@ static void app_driver_button_toggle_cb(void *arg)
|
||||
lock::chip_stack_unlock();
|
||||
}
|
||||
|
||||
esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id,
|
||||
esp_matter_attr_val_t *val, void *priv_data)
|
||||
esp_err_t app_driver_attribute_update(app_driver_handle_t driver_handle, uint16_t endpoint_id, uint32_t cluster_id,
|
||||
uint32_t attribute_id, esp_matter_attr_val_t *val)
|
||||
{
|
||||
/* Nothing to do here */
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
void *app_driver_switch_init()
|
||||
app_driver_handle_t app_driver_switch_init()
|
||||
{
|
||||
/* Initialize button */
|
||||
button_config_t config = button_driver_get_config();
|
||||
@@ -147,5 +147,5 @@ void *app_driver_switch_init()
|
||||
app_driver_register_commands();
|
||||
client::set_command_callback(app_driver_client_command_callback, NULL);
|
||||
|
||||
return (void *)handle;
|
||||
return (app_driver_handle_t)handle;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,8 @@ static esp_err_t app_attribute_update_cb(callback_type_t type, uint16_t endpoint
|
||||
|
||||
if (type == PRE_UPDATE) {
|
||||
/* Driver update */
|
||||
err = app_driver_attribute_update(endpoint_id, cluster_id, attribute_id, val, priv_data);
|
||||
app_driver_handle_t driver_handle = (app_driver_handle_t)priv_data;
|
||||
err = app_driver_attribute_update(driver_handle, endpoint_id, cluster_id, attribute_id, val);
|
||||
}
|
||||
|
||||
return err;
|
||||
@@ -73,7 +74,7 @@ extern "C" void app_main()
|
||||
nvs_flash_init();
|
||||
|
||||
/* Initialize driver */
|
||||
void *switch_handle = app_driver_switch_init();
|
||||
app_driver_handle_t switch_handle = app_driver_switch_init();
|
||||
app_reset_button_register(switch_handle);
|
||||
|
||||
/* Create a Matter node */
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
#include <esp_err.h>
|
||||
#include <esp_matter.h>
|
||||
|
||||
typedef void *app_driver_handle_t;
|
||||
|
||||
/** Initialize the switch driver
|
||||
*
|
||||
* This initializes the switch driver associated with the selected board.
|
||||
@@ -18,7 +20,7 @@
|
||||
* @return Handle on success.
|
||||
* @return NULL in case of failure.
|
||||
*/
|
||||
void *app_driver_switch_init();
|
||||
app_driver_handle_t app_driver_switch_init();
|
||||
|
||||
/** Driver Update
|
||||
*
|
||||
@@ -33,5 +35,5 @@ void *app_driver_switch_init();
|
||||
* @return ESP_OK on success.
|
||||
* @return error in case of failure.
|
||||
*/
|
||||
esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id,
|
||||
esp_matter_attr_val_t *val, void *priv_data);
|
||||
esp_err_t app_driver_attribute_update(app_driver_handle_t driver_handle, uint16_t endpoint_id, uint32_t cluster_id,
|
||||
uint32_t attribute_id, esp_matter_attr_val_t *val);
|
||||
|
||||
@@ -22,7 +22,7 @@ using namespace esp_matter;
|
||||
|
||||
static const char *TAG = "app_driver";
|
||||
extern uint16_t light_endpoint_id;
|
||||
extern void *light_handle;
|
||||
extern app_driver_handle_t light_handle;
|
||||
|
||||
/* Do any conversions/remapping for the actual value here */
|
||||
static esp_err_t app_driver_light_set_power(led_driver_handle_t handle, esp_matter_attr_val_t *val)
|
||||
@@ -68,12 +68,12 @@ static void app_driver_button_toggle_cb(void *arg)
|
||||
attribute::update(endpoint_id, cluster_id, attribute_id, &val);
|
||||
}
|
||||
|
||||
esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id,
|
||||
esp_matter_attr_val_t *val, void *priv_data)
|
||||
esp_err_t app_driver_attribute_update(app_driver_handle_t driver_handle, uint16_t endpoint_id, uint32_t cluster_id,
|
||||
uint32_t attribute_id, esp_matter_attr_val_t *val)
|
||||
{
|
||||
esp_err_t err = ESP_OK;
|
||||
if (endpoint_id == light_endpoint_id) {
|
||||
led_driver_handle_t handle = (led_driver_handle_t)priv_data;
|
||||
led_driver_handle_t handle = (led_driver_handle_t)driver_handle;
|
||||
if (cluster_id == OnOff::Id) {
|
||||
if (attribute_id == OnOff::Attributes::OnOff::Id) {
|
||||
err = app_driver_light_set_power(handle, val);
|
||||
@@ -150,19 +150,19 @@ esp_err_t app_driver_light_set_defaults(uint16_t endpoint_id)
|
||||
return err;
|
||||
}
|
||||
|
||||
void *app_driver_light_init()
|
||||
app_driver_handle_t app_driver_light_init()
|
||||
{
|
||||
/* Initialize led */
|
||||
led_driver_config_t config = led_driver_get_config();
|
||||
led_driver_handle_t handle = led_driver_init(&config);
|
||||
return (void *)handle;
|
||||
return (app_driver_handle_t)handle;
|
||||
}
|
||||
|
||||
void *app_driver_button_init()
|
||||
app_driver_handle_t app_driver_button_init()
|
||||
{
|
||||
/* Initialize button */
|
||||
button_config_t config = button_driver_get_config();
|
||||
button_handle_t handle = iot_button_create(&config);
|
||||
iot_button_register_cb(handle, BUTTON_PRESS_DOWN, app_driver_button_toggle_cb);
|
||||
return (void *)handle;
|
||||
return (app_driver_handle_t)handle;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ using namespace esp_matter::attribute;
|
||||
|
||||
static const char *TAG = "app_main";
|
||||
uint16_t light_endpoint_id = 0;
|
||||
void *light_handle = NULL;
|
||||
app_driver_handle_t light_handle = NULL;
|
||||
|
||||
static void app_event_cb(const ChipDeviceEvent *event, intptr_t arg)
|
||||
{
|
||||
@@ -51,7 +51,8 @@ static esp_err_t app_attribute_update_cb(callback_type_t type, uint16_t endpoint
|
||||
|
||||
if (type == PRE_UPDATE) {
|
||||
/* Driver update */
|
||||
err = app_driver_attribute_update(endpoint_id, cluster_id, attribute_id, val, light_handle);
|
||||
app_driver_handle_t driver_handle = light_handle;
|
||||
err = app_driver_attribute_update(driver_handle, endpoint_id, cluster_id, attribute_id, val);
|
||||
}
|
||||
|
||||
return err;
|
||||
@@ -66,7 +67,7 @@ extern "C" void app_main()
|
||||
|
||||
/* Initialize driver */
|
||||
light_handle = app_driver_light_init();
|
||||
void *button_handle = app_driver_button_init();
|
||||
app_driver_handle_t button_handle = app_driver_button_init();
|
||||
app_reset_button_register(button_handle);
|
||||
|
||||
/* Initialize matter callback */
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
#define MATTER_SATURATION 255
|
||||
#define MATTER_TEMPERATURE_FACTOR 1000000
|
||||
|
||||
typedef void *app_driver_handle_t;
|
||||
|
||||
/** Initialize the light driver
|
||||
*
|
||||
* This initializes the light driver associated with the selected board.
|
||||
@@ -30,7 +32,7 @@
|
||||
* @return Handle on success.
|
||||
* @return NULL in case of failure.
|
||||
*/
|
||||
void *app_driver_light_init();
|
||||
app_driver_handle_t app_driver_light_init();
|
||||
|
||||
/** Initialize the button driver
|
||||
*
|
||||
@@ -39,7 +41,7 @@ void *app_driver_light_init();
|
||||
* @return Handle on success.
|
||||
* @return NULL in case of failure.
|
||||
*/
|
||||
void *app_driver_button_init();
|
||||
app_driver_handle_t app_driver_button_init();
|
||||
|
||||
/** Driver Update
|
||||
*
|
||||
@@ -54,8 +56,8 @@ void *app_driver_button_init();
|
||||
* @return ESP_OK on success.
|
||||
* @return error in case of failure.
|
||||
*/
|
||||
esp_err_t app_driver_attribute_update(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id,
|
||||
esp_matter_attr_val_t *val, void *priv_data);
|
||||
esp_err_t app_driver_attribute_update(app_driver_handle_t driver_handle, uint16_t endpoint_id, uint32_t cluster_id,
|
||||
uint32_t attribute_id, esp_matter_attr_val_t *val);
|
||||
|
||||
/** Set defaults for light driver
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user