Skip to content

Commit

Permalink
Merge pull request #87 from ezloteam/meshbot_edit_EZPI-324
Browse files Browse the repository at this point in the history
Meshbot edit ezpi 324
  • Loading branch information
lomasSE89 authored Mar 7, 2024
2 parents ec1b54a + 9f3236e commit 7a49e3b
Show file tree
Hide file tree
Showing 79 changed files with 5,361 additions and 1,805 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ static bool __found_item_in_field(l_fields_v2_t* field_node, uint32_t item_id)
uint32_t item_id_check = strtoul(field_node->field_value.u_value.value_string, NULL, 16);
TRACE_D("item-id: %s | %08x", field_node->field_value.u_value.value_string, item_id);

// uint32_t item_id_check = strtoul(field_node->value.value_string, NULL, 16);
// TRACE_D("item-id: %s | %08x", field_node->value.value_string, item_id);
// uint32_t item_id_check = strtoul(field_node->field_value.u_value.value_string, NULL, 16);
// TRACE_D("item-id: %s | %08x", field_node->field_value.u_value.value_string, item_id);

if (item_id_check == item_id)
{
Expand Down
14 changes: 7 additions & 7 deletions ezlopi-core/ezlopi-core-ble/ezlopi_core_ble_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ typedef enum e_gatt_status
GATT_STATUS_MAX
} e_gatt_status_t;

typedef void (*f_upcall_t)(esp_gatt_value_t *value, esp_ble_gatts_cb_param_t *param);
typedef void (*f_upcall_t)(esp_gatt_value_t* value, esp_ble_gatts_cb_param_t* param);

typedef struct s_gatt_descr
{
Expand All @@ -23,8 +23,8 @@ typedef struct s_gatt_descr
f_upcall_t write_upcall;
f_upcall_t write_exce_upcall;
esp_gatt_perm_t permission;
esp_attr_control_t *control;
struct s_gatt_descr *next;
esp_attr_control_t* control;
struct s_gatt_descr* next;
} s_gatt_descr_t;

typedef struct s_gatt_char
Expand All @@ -39,8 +39,8 @@ typedef struct s_gatt_char
f_upcall_t write_upcall;
f_upcall_t write_exce_upcall;
esp_attr_control_t control;
s_gatt_descr_t *descriptor;
struct s_gatt_char *next;
s_gatt_descr_t* descriptor;
struct s_gatt_char* next;
} s_gatt_char_t;

typedef struct s_gatt_service
Expand All @@ -52,8 +52,8 @@ typedef struct s_gatt_service
e_gatt_status_t status;
uint16_t service_handle;
esp_gatt_srvc_id_t service_id;
struct s_gatt_char *characteristics;
struct s_gatt_service *next;
struct s_gatt_char* characteristics;
struct s_gatt_service* next;
} s_gatt_service_t;

#endif // _EZLOPI_CORE_BLE_CONFIG_H_
88 changes: 44 additions & 44 deletions ezlopi-core/ezlopi-core-devices/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,56 +35,56 @@ set(EZLOPI_SENSOR_DEVICE_COMPONENTS

sensor-0017-ADC-potentiometer
sensor-0018-other-internal-hall-effect
sensor-0019-digitalIn-PIR
sensor-0020-other-2axis-joystick
sensor-0021-UART-MB1013
device-0022-PWM-dimmable-lamp
sensor-0023-digitalIn-touch-switch-TTP223B
sensor-0024-other-HCSR04
sensor-0025-digitalIn-LDR
sensor-0026-ADC-LDR
# sensor-0019-digitalIn-PIR
# sensor-0020-other-2axis-joystick
# sensor-0021-UART-MB1013
# device-0022-PWM-dimmable-lamp
# sensor-0023-digitalIn-touch-switch-TTP223B
# sensor-0024-other-HCSR04
# sensor-0025-digitalIn-LDR
# sensor-0026-ADC-LDR
sensor-0027-ADC-waterLeak

sensor-0028-other-GY61
sensor-0029-I2C-GXHTC3
sensor-0030-oneWire-DS18B20
sensor-0031-other-JSNSR04T
# sensor-0028-other-GY61
# sensor-0029-I2C-GXHTC3
# sensor-0030-oneWire-DS18B20
# sensor-0031-other-JSNSR04T
sensor-0032-ADC-soilMoisture
sensor-0033-ADC-turbidity
sensor-0034-digitalIn-proximity
sensor-0035-digitalIn-touch-sensor-TPP223B
device-0036-PWM-servo-MG996R
sensor-0037-pms5003-sensor
device-0038-other-RGB
# sensor-0033-ADC-turbidity
# sensor-0034-digitalIn-proximity
# sensor-0035-digitalIn-touch-sensor-TPP223B
# device-0036-PWM-servo-MG996R
# sensor-0037-pms5003-sensor
# device-0038-other-RGB

sensor-0040-other-TCS230
sensor-0041-ADC-FC28-soilMoisture
sensor-0042-ADC-shunt-voltmeter
sensor-0043-ADC-GYML8511-UV-intensity
sensor-0044-I2C-TSL256-luminosity
sensor-0046-ADC-ACS712-05B-currentmeter
# sensor-0040-other-TCS230
# sensor-0041-ADC-FC28-soilMoisture
# sensor-0042-ADC-shunt-voltmeter
# sensor-0043-ADC-GYML8511-UV-intensity
# sensor-0044-I2C-TSL256-luminosity
# sensor-0046-ADC-ACS712-05B-currentmeter

sensor-0047-other-HX711-loadcell
sensor-0048-other-MQ4-CH4-detector
sensor-0049-other-MQ2-LPG-detector
sensor-0050-other-MQ3-alcohol-detector
sensor-0051-other-MQ8-H2-detector
sensor-0052-other-MQ135-NH3-detector
sensor-0053-UART-GYGPS6MV2
sensor-0054-PWM-YFS201-flowmeter
# sensor-0047-other-HX711-loadcell
# sensor-0048-other-MQ4-CH4-detector
# sensor-0049-other-MQ2-LPG-detector
# sensor-0050-other-MQ3-alcohol-detector
# sensor-0051-other-MQ8-H2-detector
# sensor-0052-other-MQ135-NH3-detector
# sensor-0053-UART-GYGPS6MV2
# sensor-0054-PWM-YFS201-flowmeter
sensor-0055-ADC-FlexResistor
sensor-0056-ADC-Force-Sensitive-Resistor
sensor-0057-other-KY026-FlameDetector
sensor-0059-other-MQ6-LPG-detector
sensor-0060-digitalIn-vibration-detector
sensor-0061-digitalIn-reed-switch
sensor-0062-other-MQ7-CO-detector
sensor-0063-other-MQ9-LPG-flameable-detector
sensor-0065-digitalIn-float-switch
sensor-0066-other-R307-FingerPrint
sensor-0067-UART-hilink-presence-sensor
sensor-0068-I2C-ENS160-gas-sensor
sensor-0069-UART-ze08-ch02-gas-sensor
# sensor-0056-ADC-Force-Sensitive-Resistor
# sensor-0057-other-KY026-FlameDetector
# sensor-0059-other-MQ6-LPG-detector
# sensor-0060-digitalIn-vibration-detector
# sensor-0061-digitalIn-reed-switch
# sensor-0062-other-MQ7-CO-detector
# sensor-0063-other-MQ9-LPG-flameable-detector
# sensor-0065-digitalIn-float-switch
# sensor-0066-other-R307-FingerPrint
# sensor-0067-UART-hilink-presence-sensor
# sensor-0068-I2C-ENS160-gas-sensor
# sensor-0069-UART-ze08-ch02-gas-sensor
)


Expand Down
57 changes: 48 additions & 9 deletions ezlopi-core/ezlopi-core-devices/ezlopi_core_devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ static void ezlopi_device_parse_json_v3(cJSON* cj_config);
static void ezlopi_device_free_single(l_ezlopi_device_t* device);
static void ezlopi_device_print_controller_cloud_information_v3(void);

static void ezlopi_device_free_item(l_ezlopi_item_t* items);
static void ezlopi_device_free_setting(l_ezlopi_device_settings_v3_t* settings);
static void ezlopi_device_free_all_device_setting(l_ezlopi_device_t* curr_device);

void ezlopi_device_name_set_by_device_id(uint32_t a_device_id, cJSON* cj_new_name)
{
if (a_device_id && cj_new_name && cj_new_name->valuestring)
Expand Down Expand Up @@ -577,15 +581,15 @@ static void ezlopi_device_free_item(l_ezlopi_item_t* items)
free(items);
}

// static void ezlopi_device_free_setting(l_ezlopi_device_settings_v3 *settings)
// {
// if (settings->next)
// {
// ezlopi_device_free_setting(settings->next);//recursive
// }
//
// free(settings);
// }
static void ezlopi_device_free_setting(l_ezlopi_device_settings_v3_t* settings)
{
if (settings->next)
{
ezlopi_device_free_setting(settings->next);
}

free(settings);
}

static void ezlopi_device_free_single(l_ezlopi_device_t* device)
{
Expand All @@ -595,9 +599,44 @@ static void ezlopi_device_free_single(l_ezlopi_device_t* device)
device->items = NULL;
}

// if (device->settings)
// {
// ezlopi_device_free_setting(device->settings);
// device->settings = NULL;
// }
// if (device->cloud_properties.device_type_id)
// {
// free(device->cloud_properties.device_type_id);
// }
if (NULL != device->cloud_properties.info)
{
cJSON_Delete(device->cloud_properties.info);
device->cloud_properties.info = NULL;
}

free(device);
}

static void ezlopi_device_free_all_device_setting(l_ezlopi_device_t* curr_device)
{
if (curr_device)
{
ezlopi_device_free_all_device_setting(curr_device->next);
ezlopi_device_free_setting(curr_device->settings); // unlink settings from devices, items, rooms, etc.
}
}

void ezlopi_device_factory_info_reset(void)
{
// clear all 'devices', along with their 'items & settings'
l_ezlopi_device_t* curr_device = l_device_head;
if (curr_device)
{
ezlopi_device_free_all_device_setting(curr_device);
}
}


l_ezlopi_device_settings_v3_t* ezlopi_device_add_settings_to_device_v3(l_ezlopi_device_t* device, int (*setting_func)(e_ezlopi_settings_action_t action, struct l_ezlopi_device_settings_v3* setting, void* arg, void* user_arg))
{
l_ezlopi_device_settings_v3_t* new_setting = NULL;
Expand Down
51 changes: 26 additions & 25 deletions ezlopi-core/ezlopi-core-devices/ezlopi_core_devices.h
Original file line number Diff line number Diff line change
Expand Up @@ -141,49 +141,50 @@ typedef struct l_ezlopi_item
s_ezlopi_adc_t adc;
} interface;

void *user_arg;
int (*func)(e_ezlopi_actions_t action, struct l_ezlopi_item *item, void *arg, void *user_arg);
void* user_arg;
int (*func)(e_ezlopi_actions_t action, struct l_ezlopi_item* item, void* arg, void* user_arg);

struct l_ezlopi_item *next;
struct l_ezlopi_item* next;
} l_ezlopi_item_t;

typedef struct l_ezlopi_device_settings_v3
{
void *user_arg;
void* user_arg;
s_ezlopi_cloud_device_settings_t cloud_properties;
int (*func)(e_ezlopi_settings_action_t action, struct l_ezlopi_device_settings_v3 *setting, void *arg, void *user_arg);
struct l_ezlopi_device_settings_v3 *next;
int (*func)(e_ezlopi_settings_action_t action, struct l_ezlopi_device_settings_v3* setting, void* arg, void* user_arg);
struct l_ezlopi_device_settings_v3* next;

} l_ezlopi_device_settings_v3_t;

typedef struct l_ezlopi_device
{
l_ezlopi_item_t *items;
l_ezlopi_device_settings_v3_t *settings;
l_ezlopi_item_t* items;
l_ezlopi_device_settings_v3_t* settings;
s_ezlopi_cloud_device_t cloud_properties;
struct l_ezlopi_device *next;
struct l_ezlopi_device* next;
} l_ezlopi_device_t;

void ezlopi_device_prepare(void);

l_ezlopi_device_t *ezlopi_device_get_head(void);
l_ezlopi_device_t *ezlopi_device_add_device(cJSON *cj_device);
l_ezlopi_device_t* ezlopi_device_get_head(void);
l_ezlopi_device_t* ezlopi_device_add_device(cJSON* cj_device);

l_ezlopi_device_t *ezlopi_device_get_by_id(uint32_t device_id);
l_ezlopi_item_t *ezlopi_device_get_item_by_id(uint32_t item_id);
l_ezlopi_device_settings_v3_t *ezlopi_device_settings_get_by_id(uint32_t settings_id);
l_ezlopi_device_t* ezlopi_device_get_by_id(uint32_t device_id);
l_ezlopi_item_t* ezlopi_device_get_item_by_id(uint32_t item_id);
l_ezlopi_device_settings_v3_t* ezlopi_device_settings_get_by_id(uint32_t settings_id);

// l_ezlopi_item_t *ezlopi_device_add_item_to_device(l_ezlopi_device_t *device);
l_ezlopi_item_t *ezlopi_device_add_item_to_device(l_ezlopi_device_t *device,
int (*item_func)(e_ezlopi_actions_t action, struct l_ezlopi_item *item, void *arg, void *user_arg));

l_ezlopi_device_settings_v3_t *ezlopi_device_add_settings_to_device_v3(l_ezlopi_device_t *device,
int (*setting_func)(e_ezlopi_settings_action_t action, struct l_ezlopi_device_settings_v3 *setting, void *arg, void *user_arg));

void ezlopi_device_free_device(l_ezlopi_device_t *device);
void ezlopi_device_free_device_by_item(l_ezlopi_item_t *item);
cJSON *ezlopi_device_create_device_table_from_prop(l_ezlopi_device_t *device_prop);
s_ezlopi_cloud_controller_t *ezlopi_device_get_controller_information(void);
void ezlopi_device_name_set_by_device_id(uint32_t device_id, cJSON *cj_new_name);
l_ezlopi_item_t* ezlopi_device_add_item_to_device(l_ezlopi_device_t* device,
int (*item_func)(e_ezlopi_actions_t action, struct l_ezlopi_item* item, void* arg, void* user_arg));

l_ezlopi_device_settings_v3_t* ezlopi_device_add_settings_to_device_v3(l_ezlopi_device_t* device,
int (*setting_func)(e_ezlopi_settings_action_t action, struct l_ezlopi_device_settings_v3* setting, void* arg, void* user_arg));

void ezlopi_device_free_device(l_ezlopi_device_t* device);
void ezlopi_device_free_device_by_item(l_ezlopi_item_t* item);
void ezlopi_device_factory_info_reset(void);
cJSON* ezlopi_device_create_device_table_from_prop(l_ezlopi_device_t* device_prop);
s_ezlopi_cloud_controller_t* ezlopi_device_get_controller_information(void);
void ezlopi_device_name_set_by_device_id(uint32_t device_id, cJSON* cj_new_name);

#endif // EZLOPI_CORE_DEVICES_H
Loading

0 comments on commit 7a49e3b

Please sign in to comment.