@@ -57,13 +57,14 @@ bool NetworkEvents::initNetworkEvents() {
5757 }
5858
5959 if (!_arduino_event_task_handle) {
60- xTaskCreateUniversal ( [](void * self){ static_cast <NetworkEvents*>(self)->_checkForEvent (); },
61- " arduino_events" , // label
62- 4096 , // event task's stack size
63- this ,
64- ESP_TASKD_EVENT_PRIO - 1 ,
65- &_arduino_event_task_handle,
66- ARDUINO_EVENT_RUNNING_CORE);
60+ xTaskCreateUniversal (
61+ [](void *self) {
62+ static_cast <NetworkEvents *>(self)->_checkForEvent ();
63+ },
64+ " arduino_events" , // label
65+ 4096 , // event task's stack size
66+ this , ESP_TASKD_EVENT_PRIO - 1 , &_arduino_event_task_handle, ARDUINO_EVENT_RUNNING_CORE
67+ );
6768 if (!_arduino_event_task_handle) {
6869 log_e (" Network Event Task Start Failed!" );
6970 return false ;
@@ -86,7 +87,7 @@ bool NetworkEvents::postEvent(const arduino_event_t *data) {
8687 memcpy (event, data, sizeof (arduino_event_t ));
8788 if (xQueueSend (_arduino_event_queue, &event, portMAX_DELAY) != pdPASS) {
8889 log_e (" Arduino Event Send Failed!" );
89- delete event; // release mem on error
90+ delete event; // release mem on error
9091 return false ;
9192 }
9293 return true ;
@@ -111,12 +112,12 @@ void NetworkEvents::_checkForEvent() {
111112 }
112113 log_v (" Network Event: %d - %s" , event->event_id , eventName (event->event_id ));
113114
114- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
115+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
115116 std::unique_lock<std::mutex> lock (_mtx);
116- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
117+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
117118
118119 // iterate over registered callbacks
119- for (auto &i : _cbEventList){
120+ for (auto &i : _cbEventList) {
120121 if (i.cb || i.fcb || i.scb ) {
121122 if (i.event == (arduino_event_id_t )event->event_id || i.event == ARDUINO_EVENT_MAX) {
122123 if (i.cb ) {
@@ -134,9 +135,9 @@ void NetworkEvents::_checkForEvent() {
134135 }
135136 }
136137
137- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
138+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
138139 lock.unlock ();
139- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
140+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
140141
141142 // release the event object's memory
142143 delete event;
@@ -159,9 +160,9 @@ network_event_handle_t NetworkEvents::onEvent(NetworkEventCb cbEvent, arduino_ev
159160 return 0 ;
160161 }
161162
162- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
163+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
163164 std::lock_guard<std::mutex> lock (_mtx);
164- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
165+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
165166
166167 _cbEventList.emplace_back (++_current_id, cbEvent, nullptr , nullptr , event);
167168 return _cbEventList.back ().id ;
@@ -172,9 +173,9 @@ network_event_handle_t NetworkEvents::onEvent(NetworkEventFuncCb cbEvent, arduin
172173 return 0 ;
173174 }
174175
175- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
176+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
176177 std::lock_guard<std::mutex> lock (_mtx);
177- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
178+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
178179
179180 _cbEventList.emplace_back (++_current_id, nullptr , cbEvent, nullptr , event);
180181 return _cbEventList.back ().id ;
@@ -185,9 +186,9 @@ network_event_handle_t NetworkEvents::onEvent(NetworkEventSysCb cbEvent, arduino
185186 return 0 ;
186187 }
187188
188- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
189+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
189190 std::lock_guard<std::mutex> lock (_mtx);
190- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
191+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
191192
192193 _cbEventList.emplace_back (++_current_id, nullptr , nullptr , cbEvent, event);
193194 return _cbEventList.back ().id ;
@@ -198,9 +199,9 @@ network_event_handle_t NetworkEvents::onSysEvent(NetworkEventCb cbEvent, arduino
198199 return 0 ;
199200 }
200201
201- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
202+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
202203 std::lock_guard<std::mutex> lock (_mtx);
203- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
204+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
204205
205206 _cbEventList.emplace (_cbEventList.begin (), ++_current_id, cbEvent, nullptr , nullptr , event);
206207 return _cbEventList.front ().id ;
@@ -211,9 +212,9 @@ network_event_handle_t NetworkEvents::onSysEvent(NetworkEventFuncCb cbEvent, ard
211212 return 0 ;
212213 }
213214
214- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
215+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
215216 std::lock_guard<std::mutex> lock (_mtx);
216- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
217+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
217218
218219 _cbEventList.emplace (_cbEventList.begin (), ++_current_id, nullptr , cbEvent, nullptr , event);
219220 return _cbEventList.front ().id ;
@@ -224,9 +225,9 @@ network_event_handle_t NetworkEvents::onSysEvent(NetworkEventSysCb cbEvent, ardu
224225 return 0 ;
225226 }
226227
227- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
228+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
228229 std::lock_guard<std::mutex> lock (_mtx);
229- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
230+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
230231
231232 _cbEventList.emplace (_cbEventList.begin (), ++_current_id, nullptr , nullptr , cbEvent, event);
232233 return _cbEventList.front ().id ;
@@ -237,43 +238,75 @@ void NetworkEvents::removeEvent(NetworkEventCb cbEvent, arduino_event_id_t event
237238 return ;
238239 }
239240
240- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
241+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
241242 std::lock_guard<std::mutex> lock (_mtx);
242- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
243+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
243244
244- _cbEventList.erase (std::remove_if (_cbEventList.begin (), _cbEventList.end (), [cbEvent, event](const NetworkEventCbList_t& e) { return e.cb == cbEvent && e.event == event; }), _cbEventList.end ());
245+ _cbEventList.erase (
246+ std::remove_if (
247+ _cbEventList.begin (), _cbEventList.end (),
248+ [cbEvent, event](const NetworkEventCbList_t &e) {
249+ return e.cb == cbEvent && e.event == event;
250+ }
251+ ),
252+ _cbEventList.end ()
253+ );
245254}
246255
247256void NetworkEvents::removeEvent (NetworkEventFuncCb cbEvent, arduino_event_id_t event) {
248257 if (!cbEvent) {
249258 return ;
250259 }
251260
252- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
261+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
253262 std::lock_guard<std::mutex> lock (_mtx);
254- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
263+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
255264
256- _cbEventList.erase (std::remove_if (_cbEventList.begin (), _cbEventList.end (), [cbEvent, event](const NetworkEventCbList_t& e) { return getStdFunctionAddress (e.fcb ) == getStdFunctionAddress (cbEvent) && e.event == event; }), _cbEventList.end ());
265+ _cbEventList.erase (
266+ std::remove_if (
267+ _cbEventList.begin (), _cbEventList.end (),
268+ [cbEvent, event](const NetworkEventCbList_t &e) {
269+ return getStdFunctionAddress (e.fcb ) == getStdFunctionAddress (cbEvent) && e.event == event;
270+ }
271+ ),
272+ _cbEventList.end ()
273+ );
257274}
258275
259276void NetworkEvents::removeEvent (NetworkEventSysCb cbEvent, arduino_event_id_t event) {
260277 if (!cbEvent) {
261278 return ;
262279 }
263280
264- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
281+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
265282 std::lock_guard<std::mutex> lock (_mtx);
266- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
283+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
267284
268- _cbEventList.erase (std::remove_if (_cbEventList.begin (), _cbEventList.end (), [cbEvent, event](const NetworkEventCbList_t& e) { return e.scb == cbEvent && e.event == event; }), _cbEventList.end ());
285+ _cbEventList.erase (
286+ std::remove_if (
287+ _cbEventList.begin (), _cbEventList.end (),
288+ [cbEvent, event](const NetworkEventCbList_t &e) {
289+ return e.scb == cbEvent && e.event == event;
290+ }
291+ ),
292+ _cbEventList.end ()
293+ );
269294}
270295
271296void NetworkEvents::removeEvent (network_event_handle_t id) {
272- #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
297+ #if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
273298 std::lock_guard<std::mutex> lock (_mtx);
274- #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
299+ #endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1
275300
276- _cbEventList.erase (std::remove_if (_cbEventList.begin (), _cbEventList.end (), [id](const NetworkEventCbList_t& e) { return e.id == id; }), _cbEventList.end ());
301+ _cbEventList.erase (
302+ std::remove_if (
303+ _cbEventList.begin (), _cbEventList.end (),
304+ [id](const NetworkEventCbList_t &e) {
305+ return e.id == id;
306+ }
307+ ),
308+ _cbEventList.end ()
309+ );
277310}
278311
279312int NetworkEvents::setStatusBits (int bits) {
0 commit comments