Arduino - проблема многопоточности / циклов с - PullRequest
0 голосов
/ 31 января 2020

Здесь я пытаюсь исправить таймер с подключениями Wi-Fi. Есть два вайфай (RideTAR C и inovas). Мне нужно установить таймер между ними. Например, мне нужно установить таймер для inovas (wifi), но он также должен всегда подключаться к RideTAR C (wifi) и отправлять данные

Здесь я использовал булеву функцию

updateChecked = false (latestversion)
updateChecked = true (currentversion)

Может кто-нибудь помочь мне решить эту проблему?

unsigned long currentMilliss = millis();

if(currentMilliss - previousMilliss > 300L * 1000) //5 min
{
previousMilliss = currentMilliss;

Serial.println("chill bro");
updateChecked = false;
}


if (!updateChecked)
{
wifiMulti.addAP("inovas", "tarcbus!@#$");
}

if (wifiMulti.run() != WL_CONNECTED)
{
digitalWrite(14, LOW);
delay(1000);
}

if ( WiFi.SSID() == "inovas" && !updateChecked )
{
Serial.println(WiFi.SSID());
digitalWrite(14, HIGH);
if (updateStatus != NULL && updateStatus != "" && updateStatus.equals("2"))
{
if (filep != NULL && filep != "")
{
completeOTA(filep);
}
else
{
fetchFile();
}
}
else
{
checkForUpdates();
}
}
else if (WiFi.SSID() == "RideTARC")
{
digitalWrite(14, HIGH);

while (ss.available() > 0)
if (gps.encode(ss.read()))

if (t.equals("true") && t != "" && t != NULL)
{
troubleshootMode();
}
else
{
displayInfoo();
delay(3000);
}
if (millis() > 5000 && gps.charsProcessed() < 10)
{

String gpsError = "No GPS detected: check wiring.";
deviceError(gpsError);

while(true);

}
}
...