1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-11-23 16:16:13 +01:00

Retry harder for AP mode

This commit is contained in:
Harald Barth 2021-01-30 18:15:05 +01:00
parent 0d8f45efad
commit b6847419fc
2 changed files with 14 additions and 7 deletions

View File

@ -230,8 +230,17 @@ wifiSerialState WifiInterface::setup2(const __FlashStringHelper* SSid, const __F
if (!ipOK) {
// If we have not managed to get this going in station mode, go for AP mode
StringFormatter::send(wifiStream, F("AT+CWMODE=2\r\n")); // configure as AccessPoint.
checkForOK(1000, OK_SEARCH, true); // Not always OK, sometimes "no change"
// StringFormatter::send(wifiStream, F("AT+RST\r\n"));
// checkForOK(1000, OK_SEARCH, true); // Not always OK, sometimes "no change"
int i=0;
do {
// configure as AccessPoint. Try really hard as this is the
// last way out to get any Wifi connectivity.
StringFormatter::send(wifiStream, F("AT+CWMODE=2\r\n"));
} while (!checkForOK(1000+i*500, OK_SEARCH, true) && i++<10);
while (wifiStream->available()) StringFormatter::printEscape( wifiStream->read()); /// THIS IS A DIAG IN DISGUISE
// Figure out MAC addr
StringFormatter::send(wifiStream, F("AT+CIFSR\r\n")); // not TOMATO
@ -245,15 +254,12 @@ wifiSerialState WifiInterface::setup2(const __FlashStringHelper* SSid, const __F
}
} else {
memset(macAddress,'f',sizeof(macAddress));
// run a GMR just for fun
StringFormatter::send(wifiStream, F("AT+GMR\r\n"));
checkForOK(2000, OK_SEARCH, true, false); // Makes this visible on the console
}
char macTail[]={macAddress[9],macAddress[10],macAddress[12],macAddress[13],macAddress[15],macAddress[16],'\0'};
while (wifiStream->available()) StringFormatter::printEscape( wifiStream->read()); /// THIS IS A DIAG IN DISGUISE
int i=0;
i=0;
do {
if (strncmp_P(yourNetwork, (const char*)password, 13) == 0) {
// unconfigured

View File

@ -58,7 +58,8 @@ The configuration file for DCC++ EX Command Station
// The SSID of the AP will be automatically set to DCCEX_*.
// If you DO set the WIFI_SSID then the WiFi chip will try to connect
// to that (home) network in station (client) mode. If a WIFI_PASSWORD
// is set (recommended), that password will be used.
// is set (recommended), that password will be used for AP mode.
// The AP mode password must be at least 8 characters long.
//
// Your SSID may not conain ``"'' (double quote, ASCII 0x22).
#define WIFI_SSID "Your network name"