Bug fixes for initial setup

This commit is contained in:
fvanroie 2020-01-26 19:25:25 +01:00
parent f97060e198
commit b81345a77e
3 changed files with 42 additions and 9 deletions

View File

@ -104,7 +104,7 @@ uint16_t current_page = 0;
/********************** /**********************
* GLOBAL FUNCTIONS * GLOBAL FUNCTIONS
**********************/ **********************/
void haspLoadPage(); void haspLoadPage(String pages);
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////
/** /**
@ -658,6 +658,7 @@ void haspReconnect()
void haspSetup(JsonObject settings) void haspSetup(JsonObject settings)
{ {
char buffer[64]; char buffer[64];
haspPagesPath = F("/pages.jsonl");
haspSetConfig(settings); haspSetConfig(settings);
@ -766,7 +767,7 @@ void haspSetup(JsonObject settings)
lv_obj_set_pos(obj, lv_disp_get_hor_res(NULL) / 2 - 40, lv_disp_get_ver_res(NULL) / 2 - 40 - 20); lv_obj_set_pos(obj, lv_disp_get_hor_res(NULL) / 2 - 40, lv_disp_get_ver_res(NULL) / 2 - 40 - 20);
*/ */
haspDisconnect(); haspDisconnect();
haspLoadPage(); haspLoadPage(haspPagesPath);
haspSetPage(haspStartPage); haspSetPage(haspStartPage);
// // lv_page_set_style(page, LV_PAGE_STYLE_SB, &style_sb); /*Set the scrollbar style*/ // // lv_page_set_style(page, LV_PAGE_STYLE_SB, &style_sb); /*Set the scrollbar style*/
@ -1293,15 +1294,26 @@ void haspNewObject(const JsonObject & config)
} }
} }
void haspLoadPage() void haspLoadPage(String pages)
{ {
char msg[92];
if(!SPIFFS.begin()) { if(!SPIFFS.begin()) {
errorPrintln(F("HASP: %sFS not mounted. Failed to load /pages.jsonl")); sprintf_P(msg, PSTR("HASP: \%sFS not mounted. Failed to load %s"), pages.c_str());
errorPrintln(msg);
return; return;
} }
debugPrintln(F("HASP: Loading /pages.jsonl")); if(!SPIFFS.exists(pages)) {
File file = SPIFFS.open(haspPagesPath, "r"); sprintf_P(msg, PSTR("HASP: \%sFile '%s' does not exist"), pages.c_str());
errorPrintln(msg);
return;
}
sprintf_P(msg, PSTR("HASP: Loading file %s"), pages.c_str());
debugPrintln(msg);
File file = SPIFFS.open(pages, "r");
// ReadBufferingStream bufferingStream(file, 256); // ReadBufferingStream bufferingStream(file, 256);
DynamicJsonDocument config(256); DynamicJsonDocument config(256);
@ -1311,7 +1323,9 @@ void haspLoadPage()
haspNewObject(config.as<JsonObject>()); haspNewObject(config.as<JsonObject>());
} }
debugPrintln(F("HASP: /pages.jsonl loaded")); sprintf_P(msg, PSTR("HASP: File %s loaded"), pages.c_str());
debugPrintln(msg);
file.close(); file.close();
} }

View File

@ -41,6 +41,20 @@ DNSServer dnsServer;
// bool wifiWasConnected = false; // bool wifiWasConnected = false;
// int8_t wifiReconnectAttempt = -20; // int8_t wifiReconnectAttempt = -20;
String wifiGetMacAddress(int start, const char * seperator)
{
byte mac[6];
WiFi.macAddress(mac);
String cMac = "";
for(int i = start; i < 6; ++i) {
if(mac[i] < 0x10) cMac += "0";
cMac += String(mac[i], HEX);
if(i < 5) cMac += seperator;
}
cMac.toUpperCase();
return cMac;
}
void wifiConnected(IPAddress ipaddress) void wifiConnected(IPAddress ipaddress)
{ {
char buffer[64]; char buffer[64];
@ -115,15 +129,18 @@ void wifiSetup(JsonObject settings)
wifiSetConfig(settings); wifiSetConfig(settings);
if(wifiSsid == "") { if(wifiSsid == "") {
String apSsdid = F("HASP-");
apSsdid += wifiGetMacAddress(3, "");
WiFi.mode(WIFI_AP); WiFi.mode(WIFI_AP);
WiFi.softAP("HASP-test", "haspadmin"); WiFi.softAP(apSsdid.c_str(), "haspadmin");
IPAddress IP = WiFi.softAPIP(); IPAddress IP = WiFi.softAPIP();
/* Setup the DNS server redirecting all the domains to the apIP */ /* Setup the DNS server redirecting all the domains to the apIP */
dnsServer.setErrorReplyCode(DNSReplyCode::NoError); dnsServer.setErrorReplyCode(DNSReplyCode::NoError);
dnsServer.start(DNS_PORT, "*", IP); dnsServer.start(DNS_PORT, "*", IP);
sprintf_P(buffer, PSTR("WIFI: Setting up temporary Access Point")); sprintf_P(buffer, PSTR("WIFI: Setting up temporary Access Point: %s"), apSsdid.c_str());
debugPrintln(buffer); debugPrintln(buffer);
sprintf_P(buffer, PSTR("WIFI: AP IP address : %s"), IP.toString().c_str()); sprintf_P(buffer, PSTR("WIFI: AP IP address : %s"), IP.toString().c_str());
debugPrintln(buffer); debugPrintln(buffer);

View File

@ -10,4 +10,6 @@ void wifiStop();
bool wifiGetConfig(const JsonObject & settings); bool wifiGetConfig(const JsonObject & settings);
bool wifiSetConfig(const JsonObject & settings); bool wifiSetConfig(const JsonObject & settings);
String wifiGetMacAddress(int start, const char * seperator);
#endif #endif