1
0
mirror of https://github.com/thooge/esp32-nmea2000-obp60.git synced 2025-12-13 05:53:06 +01:00

add testServer

This commit is contained in:
andreas
2021-10-17 18:17:18 +02:00
parent 271e461be5
commit 8f03ad1373
5 changed files with 126 additions and 7 deletions

View File

@@ -31,11 +31,12 @@ String GwConfigHandler::toString() const{
String GwConfigHandler::toJson() const{
String rt;
DynamicJsonDocument jdoc(50);
DynamicJsonDocument jdoc(300);
for (int i=0;i<getNumConfig();i++){
jdoc[configs[i]->getName()]=configs[i]->asString();
jdoc[configs[i]->getName()]=configs[i]->asCString();
}
serializeJson(jdoc,rt);
logger->logString("configJson: %s",rt.c_str());
return rt;
}
GwConfigItem * GwConfigHandler::findConfig(const String name, bool dummy){
@@ -61,6 +62,7 @@ bool GwConfigHandler::loadConfig(){
prefs.begin(PREF_NAME,true);
for (int i=0;i<getNumConfig();i++){
String v=prefs.getString(configs[i]->getName().c_str(),configs[i]->getDefault());
configs[i]->fromString(v);
}
prefs.end();
return true;
@@ -68,6 +70,7 @@ bool GwConfigHandler::loadConfig(){
bool GwConfigHandler::saveConfig(){
prefs.begin(PREF_NAME,false);
for (int i=0;i<getNumConfig();i++){
logger->logString("saving %s=%s",configs[i]->getName().c_str(),configs[i]->asCString());
prefs.putString(configs[i]->getName().c_str(),configs[i]->asString());
}
prefs.end();
@@ -80,6 +83,12 @@ bool GwConfigHandler::updateValue(const char *name, const char * value){
logger->logString("update config %s=>%s",name,value);
i->fromString(value);
}
bool GwConfigHandler::updateValue(String name, String value){
GwConfigItem *i=findConfig(name);
if (i == NULL) return false;
logger->logString("update config %s=>%s",name.c_str(),value.c_str());
i->fromString(value);
}
bool GwConfigHandler::reset(bool save){
logger->logString("reset config");
for (int i=0;i<getNumConfig();i++){

View File

@@ -65,6 +65,7 @@ class GwConfigHandler{
bool loadConfig();
bool saveConfig();
bool updateValue(const char *name, const char * value);
bool updateValue(String name, String value);
bool reset(bool save);
String toString() const;
String toJson() const;
@@ -74,14 +75,14 @@ class GwConfigHandler{
GwConfigInterface * getConfigItem(const String name, bool dummy=false) const;
private:
GwConfigItem* configs[5]={
new GwConfigItem(sendUsb,true),
new GwConfigItem (receiveUsb,false),
new GwConfigItem (wifiClient,false),
new GwConfigItem(sendUsb,"true"),
new GwConfigItem (receiveUsb,"false"),
new GwConfigItem (wifiClient,"false"),
new GwConfigItem (wifiSSID,""),
new GwConfigItem (wifiPass,"")
};
int getNumConfig() const{
return sizeof(configs)/sizeof(GwConfigItem*);
return 5;
}
};
#endif

View File

@@ -17,7 +17,7 @@ void GwWifi::setup(){
IPAddress AP_local_ip(192, 168, 15, 1); // Static address for AP
IPAddress AP_gateway(192, 168, 15, 1);
IPAddress AP_subnet(255, 255, 255, 0);
WiFi.mode(WIFI_AP_STA); //enable both AP and client
WiFi.mode(WIFI_MODE_APSTA); //enable both AP and client
WiFi.softAP(AP_ssid,AP_password);
delay(100);
WiFi.softAPConfig(AP_local_ip, AP_gateway, AP_subnet);