Skip to content

Commit be29127

Browse files
authored
Merge pull request #197 from pennam/ota_err_fwd
OTAUpdate: do not use Error enum to return error codes
2 parents 96457bc + 71d6ebe commit be29127

File tree

4 files changed

+48
-61
lines changed

4 files changed

+48
-61
lines changed

Diff for: libraries/OTAUpdate/examples/OTA/OTA.ino

+5-6
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,14 @@ void setup() {
5454

5555
printWiFiStatus();
5656

57-
OTAUpdate::Error ret = OTAUpdate::Error::None;
58-
ret = ota.begin("/update.bin");
59-
if(ret != OTAUpdate::Error::None) {
57+
int ret = ota.begin("/update.bin");
58+
if(ret != OTAUpdate::OTA_ERROR_NONE) {
6059
Serial.println("ota.begin() error: ");
6160
Serial.println((int)ret);
6261
return;
6362
}
6463
ret = ota.setCACert(root_ca);
65-
if(ret != OTAUpdate::Error::None) {
64+
if(ret != OTAUpdate::OTA_ERROR_NONE) {
6665
Serial.println("ota.setCACert() error: ");
6766
Serial.println((int)ret);
6867
return;
@@ -74,14 +73,14 @@ void setup() {
7473
return;
7574
}
7675
ret = ota.verify();
77-
if(ret != OTAUpdate::Error::None) {
76+
if(ret != OTAUpdate::OTA_ERROR_NONE) {
7877
Serial.println("ota.verify() error: ");
7978
Serial.println((int)ret);
8079
return;
8180
}
8281

8382
ret = ota.update("/update.bin");
84-
if(ret != OTAUpdate::Error::None) {
83+
if(ret != OTAUpdate::OTA_ERROR_NONE) {
8584
Serial.println("ota.update() error: ");
8685
Serial.println((int)ret);
8786
return;

Diff for: libraries/OTAUpdate/examples/WiFiFirmwareOTA/WiFiFirmwareOTA.ino

+6-7
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,14 @@ void setup() {
6464

6565
printWiFiStatus();
6666

67-
OTAUpdate::Error ret = OTAUpdate::Error::None;
68-
ret = ota.begin();
69-
if(ret != OTAUpdate::Error::None) {
67+
int ret = ota.begin();
68+
if(ret != OTAUpdate::OTA_ERROR_NONE) {
7069
Serial.println("ota.begin() error: ");
7170
Serial.println((int)ret);
7271
return;
7372
}
7473
ret = ota.setCACert(root_ca);
75-
if(ret != OTAUpdate::Error::None) {
74+
if(ret != OTAUpdate::OTA_ERROR_NONE) {
7675
Serial.println("ota.setCACert() error: ");
7776
Serial.println((int)ret);
7877
return;
@@ -84,19 +83,19 @@ void setup() {
8483
return;
8584
}
8685
ret = ota.verify();
87-
if(ret != OTAUpdate::Error::None) {
86+
if(ret != OTAUpdate::OTA_ERROR_NONE) {
8887
Serial.println("ota.verify() error: ");
8988
Serial.println((int)ret);
9089
return;
9190
}
9291
ret = ota.update();
93-
if(ret != OTAUpdate::Error::None) {
92+
if(ret != OTAUpdate::OTA_ERROR_NONE) {
9493
Serial.println("ota.update() error: ");
9594
Serial.println((int)ret);
9695
return;
9796
}
9897
ret = ota.reset();
99-
if(ret != OTAUpdate::Error::None) {
98+
if(ret != OTAUpdate::OTA_ERROR_NONE) {
10099
Serial.println("ota.reset() error: ");
101100
Serial.println((int)ret);
102101
return;

Diff for: libraries/OTAUpdate/src/OTAUpdate.cpp

+24-24
Original file line numberDiff line numberDiff line change
@@ -22,35 +22,35 @@ using namespace std;
2222

2323
OTAUpdate::OTAUpdate() {}
2424

25-
OTAUpdate::Error OTAUpdate::setCACert(const char* root_ca) {
25+
int OTAUpdate::setCACert(const char* root_ca) {
2626
string res = "";
2727
if ( root_ca != nullptr && strlen(root_ca) > 0) {
2828
modem.write_nowait(string(PROMPT(_OTA_SETCAROOT)), res, "%s%d\r\n", CMD_WRITE(_OTA_SETCAROOT), strlen(root_ca));
2929
if(modem.passthrough((uint8_t *)root_ca, strlen(root_ca))) {
30-
return Error::None;
30+
return static_cast<int>(Error::None);
3131
}
32-
return Error::Modem;
32+
return static_cast<int>(Error::Modem);
3333
}
34-
return Error::Library;
34+
return static_cast<int>(Error::Library);
3535
}
3636

37-
OTAUpdate::Error OTAUpdate::begin() {
37+
int OTAUpdate::begin() {
3838
string res = "";
3939
if (modem.write(string(PROMPT(_OTA_BEGIN)), res, "%s", CMD(_OTA_BEGIN))) {
40-
return static_cast<OTAUpdate::Error>(atoi(res.c_str()));
40+
return atoi(res.c_str());
4141
}
42-
return Error::Modem;
42+
return static_cast<int>(Error::Modem);
4343
}
4444

45-
OTAUpdate::Error OTAUpdate::begin(const char* file_path) {
45+
int OTAUpdate::begin(const char* file_path) {
4646
string res = "";
4747
if ( file_path != nullptr && strlen(file_path) > 0) {
4848
if (modem.write(string(PROMPT(_OTA_BEGIN)), res, "%s%s\r\n", CMD_WRITE(_OTA_BEGIN), file_path)) {
49-
return static_cast<OTAUpdate::Error>(atoi(res.c_str()));
49+
return atoi(res.c_str());
5050
}
51-
return Error::Modem;
51+
return static_cast<int>(Error::Modem);
5252
}
53-
return Error::Library;
53+
return static_cast<int>(Error::Library);
5454
}
5555

5656
int OTAUpdate::download(const char* url) {
@@ -87,37 +87,37 @@ int OTAUpdate::download(const char* url, const char* file_path) {
8787
return ret;
8888
}
8989

90-
OTAUpdate::Error OTAUpdate::verify() {
90+
int OTAUpdate::verify() {
9191
string res = "";
9292
if (modem.write(string(PROMPT(_OTA_VERIFY)), res, "%s", CMD(_OTA_VERIFY))) {
93-
return static_cast<OTAUpdate::Error>(atoi(res.c_str()));
93+
return atoi(res.c_str());
9494
}
95-
return Error::Modem;
95+
return static_cast<int>(Error::Modem);
9696
}
9797

98-
OTAUpdate::Error OTAUpdate::update() {
98+
int OTAUpdate::update() {
9999
string res = "";
100100
if (modem.write(string(PROMPT(_OTA_UPDATE)), res, "%s", CMD(_OTA_UPDATE))) {
101-
return static_cast<OTAUpdate::Error>(atoi(res.c_str()));
101+
return atoi(res.c_str());
102102
}
103-
return Error::Modem;
103+
return static_cast<int>(Error::Modem);
104104
}
105105

106-
OTAUpdate::Error OTAUpdate::update(const char* file_path) {
106+
int OTAUpdate::update(const char* file_path) {
107107
string res = "";
108108
if ( file_path != nullptr && strlen(file_path) > 0) {
109109
if (modem.write(string(PROMPT(_OTA_UPDATE)), res, "%s%s\r\n", CMD_WRITE(_OTA_UPDATE), file_path)) {
110-
return Error::None;
110+
return atoi(res.c_str());
111111
}
112-
return Error::Modem;
112+
return static_cast<int>(Error::Modem);
113113
}
114-
return Error::Library;
114+
return static_cast<int>(Error::Library);
115115
}
116116

117-
OTAUpdate::Error OTAUpdate::reset() {
117+
int OTAUpdate::reset() {
118118
string res = "";
119119
if (modem.write(string(PROMPT(_OTA_RESET)), res, "%s", CMD(_OTA_RESET))) {
120-
return Error::None;
120+
return static_cast<int>(Error::None);
121121
}
122-
return Error::Modem;
122+
return static_cast<int>(Error::Modem);
123123
}

Diff for: libraries/OTAUpdate/src/OTAUpdate.h

+13-24
Original file line numberDiff line numberDiff line change
@@ -28,35 +28,24 @@ class OTAUpdate {
2828

2929
public:
3030

31-
enum class Error: int {
32-
None = 0,
33-
StorageConfig = -1,
34-
NoOtaStorage = -2,
35-
OtaStorageInit = -3,
36-
OtaStorageEnd = -4,
37-
UrlParseError = -5,
38-
ServerConnectError = -6,
39-
HttpHeaderError = -7,
40-
ParseHttpHeader = -8,
41-
OtaHeaderLength = -9,
42-
OtaHeaderCrc = -10,
43-
OtaHeaderMagicNumber = -11,
44-
OtaDownload = -12,
45-
OtaFlash = -13,
46-
Library = -14,
47-
Modem = -15,
31+
enum class Error: int {
32+
None = 0,
33+
Library = -25,
34+
Modem = -26,
4835
};
4936

37+
constexpr static const int OTA_ERROR_NONE = static_cast<int>(Error::None);
38+
5039
OTAUpdate();
51-
OTAUpdate::Error setCACert(const char* root_ca);
52-
OTAUpdate::Error begin();
53-
OTAUpdate::Error begin(const char* file_path);
40+
int setCACert(const char* root_ca);
41+
int begin();
42+
int begin(const char* file_path);
5443
int download(const char* url);
5544
int download(const char* url, const char* file_path);
56-
OTAUpdate::Error verify();
57-
OTAUpdate::Error update();
58-
OTAUpdate::Error update(const char* file_path);
59-
OTAUpdate::Error reset();
45+
int verify();
46+
int update();
47+
int update(const char* file_path);
48+
int reset();
6049

6150
};
6251

0 commit comments

Comments
 (0)