@@ -22,7 +22,9 @@ Preferences preferences;
22
22
#define PWM_FREQ 10000
23
23
#define PWM_RESOLUTION 8
24
24
25
+ #ifdef ESP32
25
26
TaskHandle_t Task1;
27
+ #endif
26
28
27
29
WiFiManager wifiManager (Serial1);
28
30
WiFiManagerParameter param_pwm_value (" pwm_value" , " PWM value" , " " , 6 );
@@ -51,10 +53,12 @@ int random_ch(){
51
53
#endif
52
54
}
53
55
56
+ #ifdef ESP32
54
57
void on_connected (WiFiEvent_t event, WiFiEventInfo_t info){
55
58
lastConnectTime = millis ();
56
59
reconnectCount++;
57
60
}
61
+ #endif
58
62
59
63
void wdt_start () {
60
64
#ifdef ESP32
@@ -136,45 +140,49 @@ void loop_duration() {
136
140
}
137
141
}
138
142
139
- void data_loop (void * pvParameters){
140
- while (1 ){
141
- loop_duration ();
143
+ void data_process (){
144
+ loop_duration ();
142
145
143
- // check clients for data
144
- for (int i = 0 ; i < MAX_SRV_CLIENTS; i++){
145
- handleClient (&serverClients[i]);
146
- handleEnhClient (&enhClients[i]);
147
- }
146
+ // check clients for data
147
+ for (int i = 0 ; i < MAX_SRV_CLIENTS; i++){
148
+ handleClient (&serverClients[i]);
149
+ handleEnhClient (&enhClients[i]);
150
+ }
148
151
149
- // check queue for data
150
- BusType::data d;
151
- if (Bus.read (d)) {
152
- for (int i = 0 ; i < MAX_SRV_CLIENTS; i++){
153
- if (d._enhanced ) {
154
- if (d._client == &enhClients[i]) {
155
- if (pushEnhClient (&enhClients[i], d._c , d._d , true )) {
156
- last_comms = millis ();
157
- }
158
- }
159
- }
160
- else {
161
- if (pushClient (&serverClients[i], d._d )){
152
+ // check queue for data
153
+ BusType::data d;
154
+ if (Bus.read (d)) {
155
+ for (int i = 0 ; i < MAX_SRV_CLIENTS; i++){
156
+ if (d._enhanced ) {
157
+ if (d._client == &enhClients[i]) {
158
+ if (pushEnhClient (&enhClients[i], d._c , d._d , true )) {
162
159
last_comms = millis ();
163
160
}
164
- if (pushClient (&serverClientsRO[i], d._d )){
161
+ }
162
+ }
163
+ else {
164
+ if (pushClient (&serverClients[i], d._d )){
165
+ last_comms = millis ();
166
+ }
167
+ if (pushClient (&serverClientsRO[i], d._d )){
168
+ last_comms = millis ();
169
+ }
170
+ if (d._client != &enhClients[i]) {
171
+ if (pushEnhClient (&enhClients[i], d._c , d._d , d._logtoclient == &enhClients[i])){
165
172
last_comms = millis ();
166
173
}
167
- if (d._client != &enhClients[i]) {
168
- if (pushEnhClient (&enhClients[i], d._c , d._d , d._logtoclient == &enhClients[i])){
169
- last_comms = millis ();
170
- }
171
- }
172
174
}
173
175
}
174
176
}
175
177
}
176
178
}
177
179
180
+ void data_loop (void * pvParameters){
181
+ while (1 ){
182
+ data_process ();
183
+ }
184
+ }
185
+
178
186
void saveParamsCallback () {
179
187
uint8_t new_pwm_value = atoi (param_pwm_value.getValue ());
180
188
if (new_pwm_value > 0 ){
@@ -212,7 +220,9 @@ void setup() {
212
220
WiFi.enableAP (false );
213
221
WiFi.begin ();
214
222
223
+ #ifdef ESP32
215
224
WiFi.onEvent (on_connected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_CONNECTED);
225
+ #endif
216
226
217
227
wifiManager.setSaveParamsCallback (saveParamsCallback);
218
228
wifiManager.addParameter (¶m_pwm_value);
@@ -241,7 +251,9 @@ void setup() {
241
251
242
252
last_comms = millis ();
243
253
254
+ #ifdef ESP32
244
255
xTaskCreate (data_loop, " data_loop" , 10000 , NULL , 1 , &Task1);
256
+ #endif
245
257
}
246
258
247
259
bool handleStatusServerRequests () {
@@ -284,11 +296,15 @@ void loop() {
284
296
285
297
#ifdef ESP8266
286
298
MDNS.update ();
299
+
300
+ data_process ();
287
301
#endif
288
302
289
303
wdt_feed ();
290
304
305
+ #ifdef ESP32
291
306
wifiManager.process ();
307
+ #endif
292
308
293
309
if (WiFi.status () != WL_CONNECTED) {
294
310
reset ();
0 commit comments