fix: minor bugs related to the Wifi logging

This commit is contained in:
ZanzyTHEbar 2023-11-17 12:07:49 +00:00
parent 72559dbcb5
commit dca378c048
3 changed files with 18 additions and 34 deletions

View File

@ -81,7 +81,7 @@ void ProjectConfig::wifiConfigSave() {
std::string ssid = "ssid";
std::string password = "pass";
std::string channel = "channel";
std::string power = "power";
std::string power = "txpower";
for (int i = 0; i < this->config.networks.size(); i++) {
char buffer[2];
std::string iter_str = Helpers::itoa(i, buffer, 10);
@ -122,7 +122,7 @@ void ProjectConfig::mdnsConfigSave() {
void ProjectConfig::wifiTxPowerConfigSave() {
/* Device Config */
putInt("power", this->config.txpower.power);
putInt("txpower", this->config.txpower.power);
}
void ProjectConfig::cameraConfigSave() {
@ -159,14 +159,16 @@ void ProjectConfig::load() {
this->config.mdns.service = getString("service").c_str();
/* Wifi TX Power Config */
this->config.txpower.power = getUInt("power", 52);
// 11dBm is the default value
this->config.txpower.power = getUInt("txpower", 52);
/* WiFi Config */
int networkCount = getInt("networkCount", 0);
std::string name = "name";
std::string ssid = "ssid";
std::string password = "pass";
std::string channel = "channel";
std::string power = "power";
std::string power = "txpower";
for (int i = 0; i < networkCount; i++) {
char buffer[2];
std::string iter_str = Helpers::itoa(i, buffer, 10);
@ -342,7 +344,6 @@ void ProjectConfig::deleteWifiConfig(const std::string& networkName,
void ProjectConfig::setWiFiTxPower(uint8_t power, bool shouldNotify) {
this->config.txpower.power = power;
log_d("Updating wifi tx power");
if (shouldNotify)
this->notifyAll(ConfigState_e::wifiTxPowerUpdated);

View File

@ -118,8 +118,7 @@ void BaseAPI::setWiFi(AsyncWebServerRequest* request) {
break;
}
case DELETE: {
projectConfig.deleteWifiConfig(request->arg("networkName").c_str(),
true);
projectConfig.deleteWifiConfig(request->arg("networkName").c_str(), true);
request->send(200, MIMETYPE_JSON,
"{\"msg\":\"Done. Wifi Creds have been deleted.\"}");
break;
@ -210,23 +209,7 @@ void BaseAPI::setDeviceConfig(AsyncWebServerRequest* request) {
void BaseAPI::setWiFiTXPower(AsyncWebServerRequest* request) {
switch (_networkMethodsMap_enum[request->method()]) {
case GET: {
int params = request->params();
uint8_t txPower = 0;
for (int i = 0; i < params; i++) {
AsyncWebParameter* param = request->getParam(i);
if (param->name() == "txPower") {
txPower = atoi(param->value().c_str());
}
}
projectConfig.setWiFiTxPower(txPower, true);
projectConfig.wifiTxPowerConfigSave();
request->send(200, MIMETYPE_JSON,
"{\"msg\":\"Done. TX Power has been set.\"}");
break;
}
case GET:
case POST: {
int params = request->params();
@ -234,7 +217,7 @@ void BaseAPI::setWiFiTXPower(AsyncWebServerRequest* request) {
for (int i = 0; i < params; i++) {
AsyncWebParameter* param = request->getParam(i);
if (param->name() == "txPower") {
if (param->name() == "txpower" || param->name() == "txPower") {
txPower = atoi(param->value().c_str());
}
}

View File

@ -56,7 +56,7 @@ void WiFiHandler::begin() {
for (auto& network : networks) {
log_i("Trying to connect to network: %s \n\r", network.ssid.c_str());
if (this->iniSTA(network.ssid, network.password, network.channel,
(wifi_power_t)txpower.power)) {
(wifi_power_t)network.power)) {
return;
}
}
@ -130,7 +130,7 @@ bool WiFiHandler::iniSTA(const std::string& ssid,
wifi_power_t power) {
unsigned long currentMillis = millis();
unsigned long startingMillis = currentMillis;
int connectionTimeout = 30000; // 30 seconds
int connectionTimeout = 45000; // 30 seconds
int progress = 0;
wifiStateManager.setState(WiFiState_e::WiFiState_Connecting);
@ -142,6 +142,7 @@ bool WiFiHandler::iniSTA(const std::string& ssid,
INADDR_NONE); // need to call before setting hostname
WiFi.setHostname(mdnsConfig.hostname.c_str());
WiFi.begin(ssid.c_str(), password.c_str(), channel);
WiFi.setTxPower(power);
log_d("Waiting for WiFi to connect... \n\r");
while (WiFi.status() != WL_CONNECTED) {
progress++;
@ -157,7 +158,6 @@ bool WiFiHandler::iniSTA(const std::string& ssid,
wifiStateManager.setState(WiFiState_e::WiFiState_Connected);
log_i("Successfully connected to %s \n\r", ssid.c_str());
log_i("Setting TX power to: %d \n\r", (uint8_t)power);
WiFi.setTxPower(power);
return true;
}