@@ -108,79 +108,67 @@ public:
108108 bool peer_is_master = false ;
109109 bool peer_ready = false ;
110110
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) {}
113114
114- bool begin ();
115- bool send_message (const uint8_t *data, size_t len);
115+ ~ESP_NOW_Network_Peer () {}
116116
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 ;
135124 }
136- return true ;
137- }
138125
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);
143134 }
144135
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;
148138
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+ }
151143
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+ }
155160 }
156161
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" );
168166 }
169167 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 ()));
171169 }
172170 }
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+ };
184172
185173/* Peers */
186174
0 commit comments