Skip to content

Commit b34e242

Browse files
authored
Merge pull request #427 from pennam/fix-firmware-init
UNO R4 WiFi Fix firmware init from cold boot
2 parents 99b3454 + 3ffc324 commit b34e242

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

Diff for: libraries/WiFiS3/src/Modem.cpp

+7-3
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,18 @@ ModemClass::~ModemClass() {
3030
}
3131

3232
/* -------------------------------------------------------------------------- */
33-
void ModemClass::begin(int badurate){
33+
void ModemClass::begin(int badurate, int retry){
3434
/* -------------------------------------------------------------------------- */
3535
if(_serial != nullptr && !beginned) {
3636
_serial->begin(badurate);
37-
beginned = true;
3837
string res = "";
3938
_serial->flush();
40-
modem.write(string(PROMPT(_SOFTRESETWIFI)),res, "%s" , CMD(_SOFTRESETWIFI));
39+
modem.timeout(500);
40+
while(!beginned && retry > 0) {
41+
beginned = modem.write(string(PROMPT(_SOFTRESETWIFI)),res, "%s" , CMD(_SOFTRESETWIFI));
42+
retry -= 1;
43+
}
44+
modem.timeout(MODEM_TIMEOUT);
4145
}
4246
}
4347

Diff for: libraries/WiFiS3/src/Modem.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class ModemClass {
2222
ModemClass(UART * _serial);
2323
~ModemClass();
2424

25-
void begin(int badurate = 115200);
25+
void begin(int badurate = 115200, int retry = 3);
2626
void end();
2727
bool write(const std::string &cmd, std::string &str, const char * fmt, ...);
2828
void write_nowait(const std::string &cmd, std::string &str, const char * fmt, ...);

0 commit comments

Comments
 (0)