1010#define HTTP_SERVER_PING_INTERVAL_MS (10000 )
1111
1212#define WIFI_CONNECTION_TIMEOUT_MS (10000 )
13+ #define WIFI_SCAN_NOT_SEEN_MAX_COUNT (5 )
14+ #define WIFI_SCAN_MINIMUM_RSSI_FOR_TRACKING (-80 )
15+ #define WIFI_SCAN_MAX_TRACKED_NETWORKS_COUNT (10 )
1316
1417#define TEMPERATURE_DEGREE_INVALID (65535 )
1518
@@ -43,7 +46,7 @@ struct WifiNetworkInfo {
4346 seenInThisScan(true ) {}
4447};
4548
46- std::vector<WifiNetworkInfo> wifiNetworks;
49+ static std::vector<WifiNetworkInfo> wifiNetworks;
4750static bool wifiScanInProgress = false ;
4851static unsigned long lastConnectAttemptMs = 0 ;
4952
@@ -191,7 +194,7 @@ void cleanNetworksNotSeen() {
191194 it->notSeenCount = 0 ;
192195 }
193196
194- if (it->notSeenCount >= 5 ) {
197+ if (it->notSeenCount >= WIFI_SCAN_NOT_SEEN_MAX_COUNT ) {
195198 it = wifiNetworks.erase (it);
196199 } else {
197200 ++it;
@@ -217,7 +220,7 @@ void updateOrInsertNetwork(
217220 }
218221
219222 // Filtro para evitar agregar redes volátiles de 1 sola muestra
220- if (rssi < - 80 ) {
223+ if (rssi < WIFI_SCAN_MINIMUM_RSSI_FOR_TRACKING ) {
221224 // Si la red es débil y no estaba antes, ignorarla
222225 return ;
223226 }
@@ -271,8 +274,8 @@ void ESP8266Utils_checkScanResults() {
271274
272275 std::sort (wifiNetworks.begin (), wifiNetworks.end (), compareByRssiDesc);
273276
274- if (wifiNetworks.size () > 10 ) {
275- wifiNetworks.resize (10 );
277+ if (wifiNetworks.size () > WIFI_SCAN_MAX_TRACKED_NETWORKS_COUNT ) {
278+ wifiNetworks.resize (WIFI_SCAN_MAX_TRACKED_NETWORKS_COUNT );
276279 }
277280
278281 Serial.println (" Lista de redes ordenada por RSSI promedio:" );
0 commit comments