Fabian Schlenz
0e82f94846
* More animations with generalized code to display them. * The hostname will now include a unique id of the ESP. * Effect can now be restricted to a smaller "window". * Clock is now BigClock, SmallClock is now Clock. * Clock shows the time as well as the sinematrix effect. Closes #8. * If the loop takes too long too often, the ESP will automatically be rebooted. Closes #12. * The text drawing methods are now much more generalized. #5.
36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
void ota_setup() {
|
|
ArduinoOTA.onStart([]() {
|
|
String type;
|
|
if (ArduinoOTA.getCommand() == U_FLASH)
|
|
type = "sketch";
|
|
else // U_SPIFFS
|
|
type = "filesystem";
|
|
|
|
// NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
|
|
Serial.println("OTA * Start updating " + type);
|
|
});
|
|
ArduinoOTA.onEnd([]() {
|
|
Serial.println("\nOTA * End");
|
|
});
|
|
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
|
|
Serial.printf("OTA * Progress: %u%%\r", (progress / (total / 100)));
|
|
});
|
|
ArduinoOTA.onError([](ota_error_t error) {
|
|
Serial.printf("OTA * Error[%u]: ", error);
|
|
if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
|
|
else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
|
|
else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
|
|
else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
|
|
else if (error == OTA_END_ERROR) Serial.println("End Failed");
|
|
});
|
|
char client_id[30];
|
|
snprintf(client_id, 30, HOSTNAME, ESP.getChipId());
|
|
LOG("OTA * Starting OTA with client_id "); LOGln(client_id);
|
|
ArduinoOTA.setHostname(client_id);
|
|
ArduinoOTA.begin();
|
|
}
|
|
|
|
void ota_loop() {
|
|
ArduinoOTA.handle();
|
|
}
|