@@ -108,79 +108,67 @@ public:
108
108
bool peer_is_master = false ;
109
109
bool peer_ready = false ;
110
110
111
- ESP_NOW_Network_Peer (const uint8_t *mac_addr, uint32_t priority = 0 , const uint8_t *lmk = (const uint8_t *)ESPNOW_EXAMPLE_LMK);
112
- ~ESP_NOW_Network_Peer ();
111
+ ESP_NOW_Network_Peer (const uint8_t *mac_addr, uint32_t priority = 0 , const uint8_t *lmk = (const uint8_t *)ESPNOW_EXAMPLE_LMK)
112
+ : ESP_NOW_Peer(mac_addr, ESPNOW_WIFI_CHANNEL, ESPNOW_WIFI_IFACE, lmk)
113
+ , priority(priority) {}
113
114
114
- bool begin ();
115
- bool send_message (const uint8_t *data, size_t len);
115
+ ~ESP_NOW_Network_Peer () {}
116
116
117
- // ESP_NOW_Peer interfaces
118
- void _onReceive (const uint8_t *data, size_t len, bool broadcast);
119
- void _onSent (bool success);
120
- };
121
-
122
- /* Methods */
123
-
124
- ESP_NOW_Network_Peer::ESP_NOW_Network_Peer (const uint8_t *mac_addr, uint32_t priority, const uint8_t *lmk)
125
- : ESP_NOW_Peer(mac_addr, ESPNOW_WIFI_CHANNEL, ESPNOW_WIFI_IFACE, lmk)
126
- , priority(priority) {}
127
-
128
- ESP_NOW_Network_Peer::~ESP_NOW_Network_Peer () {}
129
-
130
- bool ESP_NOW_Network_Peer::begin () {
131
- // In this example the ESP-NOW protocol will already be initialized as we require it to receive broadcast messages.
132
- if (!add ()) {
133
- log_e (" Failed to initialize ESP-NOW or register the peer" );
134
- return false ;
117
+ bool begin () {
118
+ // In this example the ESP-NOW protocol will already be initialized as we require it to receive broadcast messages.
119
+ if (!add ()) {
120
+ log_e (" Failed to initialize ESP-NOW or register the peer" );
121
+ return false ;
122
+ }
123
+ return true ;
135
124
}
136
- return true ;
137
- }
138
125
139
- bool ESP_NOW_Network_Peer::send_message (const uint8_t *data, size_t len) {
140
- if (data == NULL || len == 0 ) {
141
- log_e (" Data to be sent is NULL or has a length of 0" );
142
- return false ;
126
+ bool send_message (const uint8_t *data, size_t len) {
127
+ if (data == NULL || len == 0 ) {
128
+ log_e (" Data to be sent is NULL or has a length of 0" );
129
+ return false ;
130
+ }
131
+
132
+ // Call the parent class method to send the data
133
+ return send (data, len);
143
134
}
144
135
145
- // Call the parent class method to send the data
146
- return send (data, len);
147
- }
136
+ void _onReceive (const uint8_t *data, size_t len, bool broadcast) {
137
+ esp_now_data_t *msg = (esp_now_data_t *)data;
148
138
149
- void ESP_NOW_Network_Peer::_onReceive (const uint8_t *data, size_t len, bool broadcast) {
150
- esp_now_data_t *msg = (esp_now_data_t *)data;
139
+ if (peer_ready == false && msg->ready == true ) {
140
+ Serial.printf (" Peer " MACSTR " reported ready\n " , MAC2STR (addr ()));
141
+ peer_ready = true ;
142
+ }
151
143
152
- if (peer_ready == false && msg->ready == true ) {
153
- Serial.printf (" Peer " MACSTR " reported ready\n " , MAC2STR (addr ()));
154
- peer_ready = true ;
144
+ if (!broadcast) {
145
+ recv_msg_count++;
146
+ if (device_is_master) {
147
+ Serial.printf (" Received a message from peer " MACSTR " \n " , MAC2STR (addr ()));
148
+ Serial.printf (" Count: %lu\n " , msg->count );
149
+ Serial.printf (" Random data: %lu\n " , msg->data );
150
+ last_data.push_back (msg->data );
151
+ last_data.erase (last_data.begin ());
152
+ } else if (peer_is_master) {
153
+ Serial.println (" Received a message from the master" );
154
+ Serial.printf (" Average data: %lu\n " , msg->data );
155
+ }
156
+ else {
157
+ Serial.printf (" Peer " MACSTR " says: %s\n " , MAC2STR (addr ()), msg->str );
158
+ }
159
+ }
155
160
}
156
161
157
- if (!broadcast) {
158
- recv_msg_count++;
159
- if (device_is_master) {
160
- Serial.printf (" Received a message from peer " MACSTR " \n " , MAC2STR (addr ()));
161
- Serial.printf (" Count: %lu\n " , msg->count );
162
- Serial.printf (" Random data: %lu\n " , msg->data );
163
- last_data.push_back (msg->data );
164
- last_data.erase (last_data.begin ());
165
- } else if (peer_is_master) {
166
- Serial.println (" Received a message from the master" );
167
- Serial.printf (" Average data: %lu\n " , msg->data );
162
+ void _onSent (bool success) {
163
+ bool broadcast = memcmp (addr (), ESP_NOW.BROADCAST_ADDR , ESP_NOW_ETH_ALEN) == 0 ;
164
+ if (broadcast) {
165
+ log_v (" Broadcast message reported as sent %s" , success ? " successfully" : " unsuccessfully" );
168
166
}
169
167
else {
170
- Serial. printf ( " Peer " MACSTR " says: %s \n " , MAC2STR (addr ()), msg-> str );
168
+ log_v ( " Unicast message reported as sent %s to peer " MACSTR, success ? " successfully " : " unsuccessfully " , MAC2STR (addr ()));
171
169
}
172
170
}
173
- }
174
-
175
- void ESP_NOW_Network_Peer::_onSent (bool success) {
176
- bool broadcast = memcmp (addr (), ESP_NOW.BROADCAST_ADDR , ESP_NOW_ETH_ALEN) == 0 ;
177
- if (broadcast) {
178
- log_v (" Broadcast message reported as sent %s" , success ? " successfully" : " unsuccessfully" );
179
- }
180
- else {
181
- log_v (" Unicast message reported as sent %s to peer " MACSTR, success ? " successfully" : " unsuccessfully" , MAC2STR (addr ()));
182
- }
183
- }
171
+ };
184
172
185
173
/* Peers */
186
174
0 commit comments