Skip to content

Commit 6e220ec

Browse files
committed
Rename methods, variables + make private/protected
1 parent 4edfb8c commit 6e220ec

19 files changed

+150
-99
lines changed

libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void setup() {
7070

7171
Serial.println("Waiting for Light to bound to the switch");
7272
//Wait for switch to bound to a light:
73-
while(!zbSwitch.is_bound())
73+
while(!zbSwitch.isBound())
7474
{
7575
Serial.printf(".");
7676
delay(500);

libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ void setup() {
146146

147147
Serial.println("Waiting for Light to bound to the switch");
148148
//Wait for switch to bound to a light:
149-
while(!zbSwitch.is_bound())
149+
while(!zbSwitch.isBound())
150150
{
151151
Serial.printf(".");
152152
delay(500);

libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ void setup() {
9595

9696
Serial.println("Waiting for Temperature sensor to bound to the switch");
9797
//Wait for switch to bound to a light:
98-
while(!zbThermostat.is_bound())
98+
while(!zbThermostat.isBound())
9999
{
100100
Serial.printf(".");
101101
delay(500);

libraries/Zigbee/keywords.txt

+45
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,20 @@
66
# Datatypes (KEYWORD1)
77
#######################################
88

9+
# Base Classes
910
ZigbeeCore KEYWORD1
1011
Zigbee KEYWORD1
1112
ZigbeeEP KEYWORD1
13+
14+
# Endpoint Classes
1215
ZigbeeLight KEYWORD1
1316
ZigbeeSwitch KEYWORD1
1417
ZigbeeColorDimmableLight KEYWORD1
1518
ZigbeeColorDimmerSwitch KEYWORD1
1619
ZigbeeTempSensor KEYWORD1
1720
ZigbeeThermostat KEYWORD1
21+
22+
# Other
1823
zigbee_role_t KEYWORD1
1924
zbstring_t KEYWORD1
2025
zb_device_params_t KEYWORD1
@@ -24,6 +29,7 @@ zigbee_scan_result_t KEYWORD1
2429
# Methods and Functions (KEYWORD2)
2530
#######################################
2631

32+
# ZigbeeCore
2733
isStarted KEYWORD2
2834
addEndpoint KEYWORD2
2935
setRadioConfig KEYWORD2
@@ -37,12 +43,51 @@ scanComplete KEYWORD2
3743
getScanResult KEYWORD2
3844
scanDelete KEYWORD2
3945
factoryReset KEYWORD2
46+
47+
# Common ZigbeeEP
4048
setVersion KEYWORD2
4149
setManufacturerAndModel KEYWORD2
4250
is_bound KEYWORD2
4351
printBoundDevices KEYWORD2
4452
allowMultipleBinding KEYWORD2
4553

54+
# ZigbeeLight + ZigbeeColorDimmableLight
55+
setOnOff KEYWORD2
56+
sceneControl KEYWORD2
57+
setOnOffTime KEYWORD2
58+
setOffWaitTime KEYWORD2
59+
setLevel KEYWORD2
60+
setColor KEYWORD2
61+
setColorSaturation KEYWORD2
62+
setColorHue KEYWORD2
63+
64+
# ZigbeeSwitch + ZigbeeColorDimmerSwitch
65+
lightToggle KEYWORD2
66+
lightOn KEYWORD2
67+
lightOff KEYWORD2
68+
lightOffWithEffect KEYWORD2
69+
lightOnWithTimedOff KEYWORD2
70+
lightOnWithSceneRecall KEYWORD2
71+
setLightLevel KEYWORD2
72+
setLightColor KEYWORD2
73+
setLightColorSaturation KEYWORD2
74+
setLightColorHue KEYWORD2
75+
76+
# ZigbeeTempSensor
77+
setTemperature KEYWORD2
78+
setMinMaxValue KEYWORD2
79+
setTolerance KEYWORD2
80+
setReporting KEYWORD2
81+
reportTemperature KEYWORD2
82+
83+
# ZigbeeThermostat
84+
temperatureRead KEYWORD2
85+
temperatureMin KEYWORD2
86+
temperatureMax KEYWORD2
87+
temperatureTolerance KEYWORD2
88+
getTemperature KEYWORD2
89+
setTemperatureReporting KEYWORD2
90+
4691
#######################################
4792
# Constants (LITERAL1)
4893
#######################################

libraries/Zigbee/src/ZigbeeCore.cpp

+9-13
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) {
178178
log_i("Device started up in %s factory-reset mode", esp_zb_bdb_is_factory_new() ? "" : "non");
179179
if (esp_zb_bdb_is_factory_new()) {
180180
// Role specific code
181-
if ((zigbee_role_t)Zigbee._role == ZIGBEE_COORDINATOR) {
181+
if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR) {
182182
log_i("Start network formation");
183183
esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION);
184184
} else {
@@ -190,7 +190,7 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) {
190190
} else {
191191
log_i("Device rebooted");
192192
Zigbee._started = true;
193-
if ((zigbee_role_t)Zigbee._role == ZIGBEE_COORDINATOR && Zigbee._open_network > 0) {
193+
if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR && Zigbee._open_network > 0) {
194194
log_i("Openning network for joining for %d seconds", Zigbee._open_network);
195195
esp_zb_bdb_open_network(Zigbee._open_network);
196196
}
@@ -201,7 +201,7 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) {
201201
}
202202
break;
203203
case ESP_ZB_BDB_SIGNAL_FORMATION: // Coordinator
204-
if ((zigbee_role_t)Zigbee._role == ZIGBEE_COORDINATOR) {
204+
if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR) {
205205
if (err_status == ESP_OK) {
206206
esp_zb_ieee_addr_t extended_pan_id;
207207
esp_zb_get_extended_pan_id(extended_pan_id);
@@ -219,7 +219,7 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) {
219219
break;
220220
case ESP_ZB_BDB_SIGNAL_STEERING: // Router and End Device
221221
Zigbee._started = true;
222-
if ((zigbee_role_t)Zigbee._role == ZIGBEE_COORDINATOR) {
222+
if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR) {
223223
if (err_status == ESP_OK) {
224224
log_i("Network steering started");
225225
}
@@ -240,7 +240,7 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) {
240240
}
241241
break;
242242
case ESP_ZB_ZDO_SIGNAL_DEVICE_ANNCE: // Coordinator
243-
if ((zigbee_role_t)Zigbee._role == ZIGBEE_COORDINATOR) {
243+
if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR) {
244244
dev_annce_params = (esp_zb_zdo_signal_device_annce_params_t *)esp_zb_app_signal_get_params(p_sg_p);
245245
log_i("New device commissioned or rejoined (short: 0x%04hx)", dev_annce_params->device_short_addr);
246246
esp_zb_zdo_match_desc_req_param_t cmd_req;
@@ -259,16 +259,16 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) {
259259
Bit 7 – Reserved
260260
*/
261261

262-
// for each endpoint in the list call the find_endpoint function if not bounded or allowed to bind multiple devices
262+
// for each endpoint in the list call the findEndpoint function if not bounded or allowed to bind multiple devices
263263
for (std::list<ZigbeeEP*>::iterator it = Zigbee.ep_objects.begin(); it != Zigbee.ep_objects.end(); ++it) {
264-
if (!(*it)->_is_bound || (*it)->_allow_multiple_binding) {
265-
(*it)->find_endpoint(&cmd_req);
264+
if (!(*it)->isBound() || (*it)->epAllowMultipleBinding()) {
265+
(*it)->findEndpoint(&cmd_req);
266266
}
267267
}
268268
}
269269
break;
270270
case ESP_ZB_NWK_SIGNAL_PERMIT_JOIN_STATUS: // Coordinator
271-
if ((zigbee_role_t)Zigbee._role == ZIGBEE_COORDINATOR) {
271+
if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR) {
272272
if (err_status == ESP_OK) {
273273
if (*(uint8_t *)esp_zb_app_signal_get_params(p_sg_p)) {
274274
log_i("Network(0x%04hx) is open for %d seconds", esp_zb_get_pan_id(), *(uint8_t *)esp_zb_app_signal_get_params(p_sg_p));
@@ -287,10 +287,6 @@ void ZigbeeCore::factoryReset() {
287287
esp_zb_factory_reset();
288288
}
289289

290-
bool ZigbeeCore::isStarted() {
291-
return _started;
292-
}
293-
294290
void ZigbeeCore::scanCompleteCallback(esp_zb_zdp_status_t zdo_status, uint8_t count, esp_zb_network_descriptor_t *nwk_descriptor){
295291
log_v("Zigbee network scan complete");
296292
if(zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) {

libraries/Zigbee/src/ZigbeeCore.h

+15-8
Original file line numberDiff line numberDiff line change
@@ -78,26 +78,31 @@ class ZigbeeCore {
7878
esp_zb_host_config_t _host_config;
7979
uint32_t _primary_channel_mask;
8080
int16_t _scan_status;
81-
82-
bool zigbeeInit(esp_zb_cfg_t *zb_cfg, bool erase_nvs);
83-
static void scanCompleteCallback(esp_zb_zdp_status_t zdo_status, uint8_t count, esp_zb_network_descriptor_t *nwk_descriptor);
84-
85-
public:
81+
8682
esp_zb_ep_list_t *_zb_ep_list;
8783
zigbee_role_t _role;
8884
bool _started;
85+
8986
uint8_t _open_network;
90-
std::list<ZigbeeEP*> ep_objects;
9187
zigbee_scan_result_t *_scan_result;
9288

89+
bool zigbeeInit(esp_zb_cfg_t *zb_cfg, bool erase_nvs);
90+
static void scanCompleteCallback(esp_zb_zdp_status_t zdo_status, uint8_t count, esp_zb_network_descriptor_t *nwk_descriptor);
91+
const char* getDeviceTypeString(esp_zb_ha_standard_devices_t deviceId);
92+
93+
public:
9394
ZigbeeCore();
9495
~ZigbeeCore();
9596

97+
std::list<ZigbeeEP*> ep_objects;
98+
9699
bool begin(zigbee_role_t role = ZIGBEE_END_DEVICE, bool erase_nvs = false);
97100
bool begin(esp_zb_cfg_t *role_cfg, bool erase_nvs = false);
98-
bool isStarted();
99101
// bool end();
100102

103+
bool isStarted() { return _started; }
104+
zigbee_role_t getRole() { return _role; }
105+
101106
void addEndpoint(ZigbeeEP *ep);
102107
//void removeEndpoint(ZigbeeEP *ep);
103108

@@ -119,7 +124,9 @@ class ZigbeeCore {
119124

120125
void factoryReset();
121126

122-
const char* getDeviceTypeString(esp_zb_ha_standard_devices_t deviceId);
127+
// Friend function declaration to allow access to private members
128+
friend void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct);
129+
123130
};
124131

125132
extern ZigbeeCore Zigbee;

libraries/Zigbee/src/ZigbeeEP.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ void ZigbeeEP::printBoundDevices() {
9494

9595
#pragma GCC diagnostic pop
9696

97-
void ZigbeeEP::readBasicCluster(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute) {
97+
void ZigbeeEP::zbReadBasicCluster(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute) {
9898
/* Basic cluster attributes */
9999
if (attribute->id == ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_CHAR_STRING && attribute->data.value) {
100100
zbstring_t *zbstr = (zbstring_t *)attribute->data.value;

libraries/Zigbee/src/ZigbeeEP.h

+25-21
Original file line numberDiff line numberDiff line change
@@ -45,46 +45,50 @@ class ZigbeeEP {
4545
ZigbeeEP(uint8_t endpoint = 10);
4646
~ZigbeeEP();
4747

48-
// Find endpoint may be implemented by EPs
49-
virtual void find_endpoint(esp_zb_zdo_match_desc_req_param_t *cmd_req) {};
50-
51-
static uint8_t _endpoint;
52-
esp_zb_ha_standard_devices_t _device_id; //type of device
53-
54-
esp_zb_endpoint_config_t _ep_config;
55-
esp_zb_cluster_list_t *_cluster_list;
56-
std::list<zb_device_params_t*> _bound_devices;
57-
58-
static bool _is_bound;
59-
6048
// Set ep config and cluster list
61-
void set_ep_config(esp_zb_endpoint_config_t ep_config, esp_zb_cluster_list_t *cluster_list) {
49+
void setEpConfig(esp_zb_endpoint_config_t ep_config, esp_zb_cluster_list_t *cluster_list) {
6250
_ep_config = ep_config;
6351
_cluster_list = cluster_list;
6452
}
6553

6654
void setVersion(uint8_t version);
55+
uint8_t getEndpoint() { return _endpoint; }
6756

68-
static bool is_bound() { return _is_bound; }
6957
void printBoundDevices();
70-
//TODO: getBoundDevices() method to recieve list of bound devices
58+
std::list<zb_device_params_t*> getBoundDevices() const { return _bound_devices;}
7159

72-
static bool _allow_multiple_binding;
60+
static bool isBound() { return _is_bound; }
7361
static void allowMultipleBinding(bool bind) { _allow_multiple_binding = bind; }
7462

7563
// Manufacturer name and model implemented
7664
void setManufacturerAndModel(const char *name, const char *model);
7765
void readManufacturerAndModel(uint8_t endpoint, uint16_t short_addr);
78-
66+
// Methods to be implemented by EPs to recieve manufacturer and model name
7967
virtual void readManufacturer(char* manufacturer) {};
8068
virtual void readModel(char* model) {};
8169

70+
bool epAllowMultipleBinding() { return _allow_multiple_binding; }
71+
72+
// findEndpoind may be implemented by EPs to find and bind devices
73+
virtual void findEndpoint(esp_zb_zdo_match_desc_req_param_t *cmd_req) {};
74+
8275
//list of all handlers function calls, to be overide by EPs implementation
83-
virtual void attribute_set(const esp_zb_zcl_set_attr_value_message_t *message) {};
84-
virtual void attribute_read(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute) {};
85-
virtual void readBasicCluster(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute); //already implemented
76+
virtual void zbAttributeSet(const esp_zb_zcl_set_attr_value_message_t *message) {};
77+
virtual void zbAttributeRead(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute) {};
78+
virtual void zbReadBasicCluster(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute); //already implemented
79+
80+
private:
81+
static bool _allow_multiple_binding;
82+
83+
protected:
84+
static uint8_t _endpoint;
85+
esp_zb_ha_standard_devices_t _device_id;
86+
esp_zb_endpoint_config_t _ep_config;
87+
esp_zb_cluster_list_t *_cluster_list;
88+
static bool _is_bound;
89+
std::list<zb_device_params_t*> _bound_devices;
8690

87-
friend class ZigbeeCore;
91+
friend class ZigbeeCore;
8892
};
8993

9094
#endif //SOC_IEEE802154_SUPPORTED

libraries/Zigbee/src/ZigbeeHandlers.cpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ static esp_err_t zb_attribute_set_handler(const esp_zb_zcl_set_attr_value_messag
4646

4747
// List through all Zigbee EPs and call the callback function, with the message
4848
for (std::list<ZigbeeEP*>::iterator it = Zigbee.ep_objects.begin(); it != Zigbee.ep_objects.end(); ++it) {
49-
if (message->info.dst_endpoint == (*it)->_endpoint) {
50-
(*it)->attribute_set(message); //method zb_attribute_set_handler in the EP
49+
if (message->info.dst_endpoint == (*it)->getEndpoint()){
50+
(*it)->zbAttributeSet(message); //method zbAttributeSet must be implemented in specific EP class
5151
}
5252
}
5353
return ESP_OK;
@@ -66,8 +66,8 @@ static esp_err_t zb_attribute_reporting_handler(const esp_zb_zcl_report_attr_mes
6666
);
6767
// List through all Zigbee EPs and call the callback function, with the message
6868
for (std::list<ZigbeeEP*>::iterator it = Zigbee.ep_objects.begin(); it != Zigbee.ep_objects.end(); ++it) {
69-
if (message->dst_endpoint == (*it)->_endpoint) {
70-
(*it)->attribute_read(message->cluster, &message->attribute); //method attribute_read must be implemented in specific EP class
69+
if (message->dst_endpoint == (*it)->getEndpoint()) {
70+
(*it)->zbAttributeRead(message->cluster, &message->attribute); //method zbAttributeRead must be implemented in specific EP class
7171
}
7272
}
7373
return ESP_OK;
@@ -86,7 +86,7 @@ static esp_err_t zb_cmd_read_attr_resp_handler(const esp_zb_zcl_cmd_read_attr_re
8686
);
8787

8888
for (std::list<ZigbeeEP*>::iterator it = Zigbee.ep_objects.begin(); it != Zigbee.ep_objects.end(); ++it) {
89-
if (message->info.dst_endpoint == (*it)->_endpoint) {
89+
if (message->info.dst_endpoint == (*it)->getEndpoint()) {
9090
esp_zb_zcl_read_attr_resp_variable_t *variable = message->variables;
9191
while (variable) {
9292
log_v(
@@ -95,10 +95,10 @@ static esp_err_t zb_cmd_read_attr_resp_handler(const esp_zb_zcl_cmd_read_attr_re
9595
);
9696
if (variable->status == ESP_ZB_ZCL_STATUS_SUCCESS) {
9797
if (message->info.cluster == ESP_ZB_ZCL_CLUSTER_ID_BASIC) {
98-
(*it)->readBasicCluster(message->info.cluster, &variable->attribute); //method readBasicCluster implemented in the common EP class
98+
(*it)->zbReadBasicCluster(message->info.cluster, &variable->attribute); //method zbReadBasicCluster implemented in the common EP class
9999
}
100100
else {
101-
(*it)->attribute_read(message->info.cluster, &variable->attribute); //method attribute_read must be implemented in specific EP class
101+
(*it)->zbAttributeRead(message->info.cluster, &variable->attribute); //method zbAttributeRead must be implemented in specific EP class
102102
}
103103
}
104104
variable = variable->next;

libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ void ZigbeeColorDimmableLight::calculateRGB( uint16_t x, uint16_t y, uint8_t &re
4242
}
4343

4444
//set attribude method -> methon overriden in child class
45-
void ZigbeeColorDimmableLight::attribute_set(const esp_zb_zcl_set_attr_value_message_t *message) {
45+
void ZigbeeColorDimmableLight::zbAttributeSet(const esp_zb_zcl_set_attr_value_message_t *message) {
4646
//check the data and call right method
4747
if (message->info.cluster == ESP_ZB_ZCL_CLUSTER_ID_ON_OFF) {
4848
if (message->attribute.id == ESP_ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID && message->attribute.data.type == ESP_ZB_ZCL_ATTR_TYPE_BOOL) {

libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class ZigbeeColorDimmableLight : public ZigbeeEP {
1616
uint8_t getCurrentLevel();
1717
uint16_t getCurrentColorX();
1818
uint16_t getCurrentColorY();
19-
void calculateRGB(uint16_t x, uint16_t y, uint8_t &red, uint8_t &green, uint8_t &blue);
19+
2020

2121
// methods to be implemented by the user by overwritting them
2222
virtual void setOnOff(bool value);
@@ -29,7 +29,8 @@ class ZigbeeColorDimmableLight : public ZigbeeEP {
2929
virtual void setColorHue(uint8_t value);
3030

3131
private:
32-
void attribute_set(const esp_zb_zcl_set_attr_value_message_t *message) override;
32+
void zbAttributeSet(const esp_zb_zcl_set_attr_value_message_t *message) override;
33+
void calculateRGB(uint16_t x, uint16_t y, uint8_t &red, uint8_t &green, uint8_t &blue);
3334

3435
};
3536

0 commit comments

Comments
 (0)