@@ -664,7 +664,7 @@ void setRadioIcons(std::vector<iconPropertyBlinking> *iconList)
664
664
// ESP-Now + Bluetooth + WiFi
665
665
666
666
// Count the number of radios in use
667
- uint8_t numberOfRadios = 1 ; // Bluetooth always indicated. TODO don't count if BT radio type is OFF.
667
+ uint8_t numberOfRadios = 1 ; // Bluetooth always indicated.
668
668
if (wifiStationRunning || wifiSoftApRunning)
669
669
numberOfRadios++;
670
670
if (wifiEspNowRunning)
@@ -747,8 +747,22 @@ void setRadioIcons(std::vector<iconPropertyBlinking> *iconList)
747
747
iconList->push_back (prop);
748
748
}
749
749
750
- if (wifiStationRunning || wifiSoftApRunning) // WiFi : Columns 34 - 46
750
+ // WiFi : Columns 34 - 46
751
+ if (wifiStationRunning && networkInterfaceHasInternet (NETWORK_WIFI_STATION))
752
+ {
753
+ // Display solid icon based on RSSI
754
+ displayWiFiIcon (iconList, prop, ICON_POSITION_CENTER, 0b11111111 );
755
+ }
756
+ else if (wifiStationRunning && (networkInterfaceHasInternet (NETWORK_WIFI_STATION) == false ))
757
+ {
758
+ // We are not connected, blink icon
759
+ displayWiFiFullIcon (iconList, prop, ICON_POSITION_CENTER, 0b00001111 );
760
+ }
761
+ else if (wifiSoftApRunning)
762
+ {
763
+ // We are in AP mode, solid WiFi icon
751
764
displayWiFiIcon (iconList, prop, ICON_POSITION_CENTER, 0b11111111 );
765
+ }
752
766
753
767
#ifdef COMPILE_CELLULAR
754
768
// Cellular : Columns 49 - 61
@@ -1139,10 +1153,14 @@ void setWiFiIcon_TwoRadios(std::vector<iconPropertyBlinking> *iconList)
1139
1153
}
1140
1154
}
1141
1155
else
1156
+ {
1142
1157
displayWiFiIcon (iconList, prop, ICON_POSITION_LEFT, 0b11111111 );
1158
+ }
1143
1159
}
1144
1160
else // We are not paired, blink icon
1161
+ {
1145
1162
displayWiFiFullIcon (iconList, prop, ICON_POSITION_LEFT, 0b00001111 );
1163
+ }
1146
1164
#endif // COMPILE_WIFI
1147
1165
}
1148
1166
0 commit comments