Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Meshbot edit ezpi 324 #87

Merged
merged 28 commits into from
Mar 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
eed5edf
added resetHub and enum & token scene_value_types
ezlo-rikenm Feb 22, 2024
fbb1820
added sendhttp
ezlo-rikenm Feb 22, 2024
906513f
debug sensor_devices gpio_str
ezlo-rikenm Feb 23, 2024
c79dce0
added isDictionaryChaged
ezlo-rikenm Feb 23, 2024
e783593
added isFirmwareUpdateState
ezlo-rikenm Feb 23, 2024
0560f11
added hasAtleastOneDictionaryValue
ezlo-rikenm Feb 23, 2024
a397d19
added ComparatorValues
ezlo-rikenm Feb 23, 2024
cf89296
added inArray, stringOperation & compare_Strings
ezlo-rikenm Feb 23, 2024
e20c1f0
added compareNumberRange
ezlo-rikenm Feb 23, 2024
3a941dd
added cloudState, isSceneState, isdeviceState , isDateRange , isOnce …
ezlo-rikenm Feb 23, 2024
a371a27
testing scenes
ezlo-rikenm Feb 26, 2024
7252bd4
testing compare_num
ezlo-rikenm Feb 26, 2024
6f6ce3d
merged with EZPI-315
ezlo-rikenm Feb 27, 2024
1ba8f80
testing after sencond merge
ezlo-rikenm Feb 27, 2024
7f69e57
testing isDate,isOnce,isDate_range and isSunState
ezlo-rikenm Feb 28, 2024
4cb1489
merged and tested isdate, issunstate and sendhttp
ezlo-rikenm Feb 28, 2024
c7767ce
debug SceneState mismatch
ezlo-rikenm Feb 29, 2024
ede86b0
added gpio_naming
ezlo-rikenm Feb 29, 2024
11ae696
added set_Device_armed
ezlo-rikenm Mar 1, 2024
3cfd473
merged development_release
ezlo-rikenm Mar 1, 2024
49752b5
testing comapare_value,compare_number_range, compare_string 7 inArray
ezlo-rikenm Mar 5, 2024
f620ab6
testing comapare_value,compare_number_range, compare_string 7 inArray
ezlo-rikenm Mar 5, 2024
f3ac640
testing comapare_value,compare_number_range, compare_string & inArray
ezlo-rikenm Mar 5, 2024
c686b05
fixed some bugs in cmakelist
NDJ-EZLO Mar 5, 2024
381f99f
Added test device configuration in kconfig
NDJ-EZLO Mar 6, 2024
82c3965
Edit scene issue solved. web server and uart rx service task stack si…
NDJ-EZLO Mar 7, 2024
e79f4b1
soil moisture sensor data issue fixed
NDJ-EZLO Mar 7, 2024
9f3236e
Merge branch 'development' into meshbot_edit_EZPI-324
lomasSE89 Mar 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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