Add DeviceInfo and VersionInfo frameworks

This commit is contained in:
Thomas Farstrike
2026-01-24 23:32:10 +01:00
parent b8cc049e0e
commit f772fc4b80
10 changed files with 67 additions and 32 deletions
@@ -1,6 +1,5 @@
from mpos import Activity, DisplayMetrics
from mpos import Activity, DisplayMetrics, BuildInfo, DeviceInfo
import mpos.info
import sys
class About(Activity):
@@ -46,8 +45,8 @@ class About(Activity):
# Basic OS info
self._add_label(screen, f"{lv.SYMBOL.HOME} System Information", is_header=True)
self._add_label(screen, f"MicroPythonOS version: {mpos.info.CURRENT_OS_VERSION}")
self._add_label(screen, f"Hardware ID: {mpos.info.get_hardware_id()}")
self._add_label(screen, f"MicroPythonOS version: {BuildInfo.version.release}")
self._add_label(screen, f"Hardware ID: {DeviceInfo.hardware_id}")
self._add_label(screen, f"sys.version: {sys.version}")
self._add_label(screen, f"sys.implementation: {sys.implementation}")
self._add_label(screen, f"sys.byteorder: {sys.byteorder}")
@@ -83,6 +82,7 @@ class About(Activity):
# These are always written to sys.stdout
#self._add_label(screen, f"micropython.mem_info(): {micropython.mem_info()}")
#self._add_label(screen, f"micropython.qstr_info(): {micropython.qstr_info()}")
import mpos
self._add_label(screen, f"mpos.__path__: {mpos.__path__}") # this will show .frozen if the /lib folder is frozen (prod build)
# ESP32 hardware info
@@ -2,8 +2,7 @@ import lvgl as lv
import ujson
import time
from mpos import Activity, PackageManager, ConnectivityManager, TaskManager, DownloadManager, DisplayMetrics
import mpos.info
from mpos import Activity, PackageManager, ConnectivityManager, TaskManager, DownloadManager, DisplayMetrics, DeviceInfo, BuildInfo
class OSUpdate(Activity):
@@ -47,7 +46,7 @@ class OSUpdate(Activity):
self.current_version_label = lv.label(self.main_screen)
self.current_version_label.align(lv.ALIGN.TOP_LEFT,0,0)
self.current_version_label.set_text(f"Installed OS version: {mpos.info.CURRENT_OS_VERSION}")
self.current_version_label.set_text(f"Installed OS version: {BuildInfo.version.release}")
self.force_update = lv.checkbox(self.main_screen)
self.force_update.set_text("Force Update")
self.force_update.add_event_cb(lambda *args: self.force_update_clicked(), lv.EVENT.VALUE_CHANGED, None)
@@ -182,7 +181,7 @@ class OSUpdate(Activity):
return f"An error occurred:\n{str(error)}\n\nPlease try again."
async def show_update_info(self):
hwid = mpos.info.get_hardware_id()
hwid = DeviceInfo.hardware_id
try:
# Use UpdateChecker to fetch update info
@@ -217,7 +216,7 @@ class OSUpdate(Activity):
self.download_update_url = download_url
# Use UpdateChecker to determine if update is available
is_newer = self.update_checker.is_update_available(version, mpos.info.CURRENT_OS_VERSION)
is_newer = self.update_checker.is_update_available(version, BuildInfo.version.release)
if is_newer:
label = "New"