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:
parent
0d8f45efad
commit
b6847419fc
|
@ -230,8 +230,17 @@ wifiSerialState WifiInterface::setup2(const __FlashStringHelper* SSid, const __F
|
||||||
if (!ipOK) {
|
if (!ipOK) {
|
||||||
// If we have not managed to get this going in station mode, go for AP mode
|
// 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.
|
// StringFormatter::send(wifiStream, F("AT+RST\r\n"));
|
||||||
checkForOK(1000, OK_SEARCH, true); // Not always OK, sometimes "no change"
|
// 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
|
// Figure out MAC addr
|
||||||
StringFormatter::send(wifiStream, F("AT+CIFSR\r\n")); // not TOMATO
|
StringFormatter::send(wifiStream, F("AT+CIFSR\r\n")); // not TOMATO
|
||||||
|
@ -245,15 +254,12 @@ wifiSerialState WifiInterface::setup2(const __FlashStringHelper* SSid, const __F
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
memset(macAddress,'f',sizeof(macAddress));
|
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'};
|
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
|
while (wifiStream->available()) StringFormatter::printEscape( wifiStream->read()); /// THIS IS A DIAG IN DISGUISE
|
||||||
|
|
||||||
int i=0;
|
i=0;
|
||||||
do {
|
do {
|
||||||
if (strncmp_P(yourNetwork, (const char*)password, 13) == 0) {
|
if (strncmp_P(yourNetwork, (const char*)password, 13) == 0) {
|
||||||
// unconfigured
|
// unconfigured
|
||||||
|
|
|
@ -58,7 +58,8 @@ The configuration file for DCC++ EX Command Station
|
||||||
// The SSID of the AP will be automatically set to DCCEX_*.
|
// 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
|
// 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
|
// 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).
|
// Your SSID may not conain ``"'' (double quote, ASCII 0x22).
|
||||||
#define WIFI_SSID "Your network name"
|
#define WIFI_SSID "Your network name"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user