Files
waterlevel-software/lib/fetchOTA/fetchOTA.h
Tobias Maier 6186959d8f
All checks were successful
Test compiling project / test (push) Successful in 2m17s
First version able to OTA update
2025-02-15 17:06:20 +01:00

32 lines
947 B
C++

#ifndef UNIT_TEST
#include <utils.h>
#ifdef UNIT_TEST
#include<ArduinoFake.h>
#else
#include <Arduino.h>
#endif
class OTA {
public:
OTA(String server_url, String currentVersion, String currentDeviceConfiguration);
Firmware getLatestVersionOnServer();
bool checkForUpdate();
void run_ota_update(String url, std::function<void()> callback_started, std::function<void()> callback_finished, std::function<void(int, int)> callback_progress, std::function<void(int)> callback_error);
private:
bool _isHTTPS = false;
String _serverUrl;
Version _currentVersion;
String _current_device_configuration;
Firmware createErrorResponse(const String& errorMsg);
void update_started();
void update_finished();
void update_progress(int cur, int total);
void update_error(int err);
};
#endif