About app: add netmask separately

This commit is contained in:
Thomas Farstrike
2026-03-24 13:35:12 +01:00
parent c25e46c18b
commit fe9633b661
2 changed files with 30 additions and 12 deletions
@@ -105,16 +105,20 @@ class About(Activity):
self.logger.warning(error)
self._add_label(screen, error)
# Network info (ESP32 only)
try:
self._add_label(screen, f"{lv.SYMBOL.WIFI} Network Info", is_header=True)
from mpos import WifiService
self._add_label(screen, f"IPv4 Address: {WifiService.get_ipv4_address()}")
self._add_label(screen, f"IPv4 Gateway: {WifiService.get_ipv4_gateway()}")
except Exception as e:
error = f"Could not find network info because: {e}"
self.logger.warning(error)
self._add_label(screen, error)
# Network info
try:
self._add_label(screen, f"{lv.SYMBOL.WIFI} Network Info", is_header=True)
from mpos import WifiService
ipv4_address = WifiService.get_ipv4_address() or "127.0.0.1"
ipv4_netmask = WifiService.get_ipv4_netmask() or "255.255.255.0"
ipv4_gateway = WifiService.get_ipv4_gateway() or ""
self._add_label(screen, f"IPv4 Address: {ipv4_address}")
self._add_label(screen, f"IPv4 Netmask: {ipv4_netmask}")
self._add_label(screen, f"IPv4 Gateway: {ipv4_gateway}")
except Exception as e:
error = f"Could not find network info because: {e}"
self.logger.warning(error)
self._add_label(screen, error)
# Freezefs info (production builds only)
@@ -498,7 +498,10 @@ class WifiService:
ap = WifiService._get_ap_wlan(net)
return ap.ifconfig()[ap_index]
wlan = WifiService._get_sta_wlan(net)
return wlan.ipconfig(sta_key)
value = wlan.ipconfig(sta_key)
if isinstance(value, tuple):
return value[0] if value else None
return value
except Exception as e:
print(f"WifiService: Error retrieving ip4v {label}: {e}")
return None
@@ -513,13 +516,23 @@ class WifiService:
label="address",
)
@staticmethod
def get_ipv4_netmask(network_module=None):
return WifiService._get_ipv4_value(
network_module=network_module,
ap_index=1,
sta_key="addr4",
desktop_value="255.255.255.0",
label="netmask",
)
@staticmethod
def get_ipv4_gateway(network_module=None):
return WifiService._get_ipv4_value(
network_module=network_module,
ap_index=2,
sta_key="gw4",
desktop_value="000.123.456.789",
desktop_value="",
label="gateway",
)
@@ -760,3 +773,4 @@ class WifiService:
else:
print(f"WifiService: Network '{ssid}' not found in saved networks")
return False