- move source file according with platformio standard directory structure
- remove lib_deps from platformio.ini since they are already in libs folder
This commit is contained in:
52
src/Ota.cpp
Normal file
52
src/Ota.cpp
Normal file
@@ -0,0 +1,52 @@
|
||||
#include <Arduino.h>
|
||||
#include "Ota.h"
|
||||
#include "Logger.h"
|
||||
#include "RestartReason.h"
|
||||
|
||||
#define FULL_PACKET 1436 // HTTP_UPLOAD_BUFLEN in WebServer,h
|
||||
|
||||
void Ota::updateFirmware(uint8_t* buf, size_t size)
|
||||
{
|
||||
if(!_updateStarted && size == 0)
|
||||
{
|
||||
Log->println("OTA upload cancelled, size is 0.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_updateStarted)
|
||||
{ //If it's the first packet of OTA since bootup, begin OTA
|
||||
Log->println("BeginOTA");
|
||||
esp_ota_begin(esp_ota_get_next_update_partition(NULL), OTA_SIZE_UNKNOWN, &otaHandler);
|
||||
_updateStarted = true;
|
||||
}
|
||||
esp_ota_write(otaHandler, buf, size);
|
||||
if (size != FULL_PACKET)
|
||||
{
|
||||
esp_ota_end(otaHandler);
|
||||
Log->println("EndOTA");
|
||||
if (ESP_OK == esp_ota_set_boot_partition(esp_ota_get_next_update_partition(NULL)))
|
||||
{
|
||||
_updateCompleted = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
Log->println("Upload Error");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool Ota::updateStarted()
|
||||
{
|
||||
return _updateStarted;
|
||||
}
|
||||
|
||||
bool Ota::updateCompleted()
|
||||
{
|
||||
return _updateCompleted;
|
||||
}
|
||||
|
||||
void Ota::restart()
|
||||
{
|
||||
_updateCompleted = false;
|
||||
_updateStarted = false;
|
||||
}
|
||||
Reference in New Issue
Block a user