-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathota.h
More file actions
67 lines (53 loc) · 1.67 KB
/
ota.h
File metadata and controls
67 lines (53 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
Copyright © 2019, 2020, 2021, 2022, 2023 HackEDA, Inc.
Licensed under the WiPhone Public License v.1.0 (the "License"); you
may not use this file except in compliance with the License. You may
obtain a copy of the License at
https://wiphone.io/WiPhone_Public_License_v1.0.txt.
Unless required by applicable law or agreed to in writing, software,
hardware or documentation distributed under the License is distributed
on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific language
governing permissions and limitations under the License.
*/
#ifndef OTA_H
#define OTA_H
#include <WiFi.h>
#include "Networks.h"
#include "esp_log.h"
#include <Update.h>
#include <string>
#define OTA_UPDATE_CHECK_INTERVAL 60*1000*60
#define DEFAULT_INI_HOST "wiphone.io"
#define DEFAULT_INI_LOC "/static/releases/firmware/WiPhone-phone.ini"
class Ota {
public:
Ota(std::string inifile);
bool updateExists(bool loadIni=true);
bool doUpdate();
bool hasJustUpdated();
bool commitUpdate();
void backgroundUpdateCheck();
void saveAutoUpdate(bool autoUpdate);
bool autoUpdateEnabled();
bool userRequestedUpdate();
void setUserRequestedUpdate(bool userUpdate);
void setIniUrl(const char* url);
void ensureUserVersion();
void resetIni();
const char* getIniUrl();
const char* getIniHost();
const char* getIniPath();
const char* getServerVersion();
const char* getLastErrorCode();
const char* getLastErrorString();
void reset();
private:
std::string inifileLocation_;
std::string fwUrl_;
std::string fwVersion_;
uint32_t lastLoad_;
std::string iniLocation_;
bool loadIniFile();
};
#endif // OTA_H