sync
This commit is contained in:
@@ -3,24 +3,23 @@ from core.connection import BuzzerError
|
||||
|
||||
def execute(conn) -> dict:
|
||||
"""Holt die Systeminformationen und gibt sie als strukturiertes Dictionary zurück."""
|
||||
lines = conn.send_command("info")
|
||||
if not lines:
|
||||
raise BuzzerError("Keine Antwort auf 'info' empfangen.")
|
||||
protocol_version = conn.get_protocol_version()
|
||||
if protocol_version != 1:
|
||||
raise BuzzerError(f"Inkompatibles Protokoll: Gerät nutzt v{protocol_version}, Host erwartet v1.")
|
||||
|
||||
parts = lines[0].split(';')
|
||||
# Auf 6 Parameter aktualisiert
|
||||
if len(parts) != 6:
|
||||
raise BuzzerError(f"Unerwartetes Info-Format: {lines[0]}")
|
||||
status_code, app_version = conn.get_firmware_status()
|
||||
flash = conn.get_flash_status()
|
||||
|
||||
protocol_version = int(parts[0])
|
||||
if protocol_version != 2:
|
||||
raise BuzzerError(f"Inkompatibles Protokoll: Gerät nutzt v{protocol_version}, Host erwartet v2.")
|
||||
f_frsize = flash["block_size"]
|
||||
f_blocks = flash["total_blocks"]
|
||||
f_bfree = flash["free_blocks"]
|
||||
|
||||
app_version = parts[1]
|
||||
f_frsize = int(parts[2])
|
||||
f_blocks = int(parts[3])
|
||||
f_bfree = int(parts[4])
|
||||
image_status = parts[5].strip() # CONFIRMED oder UNCONFIRMED
|
||||
status_map = {
|
||||
1: "CONFIRMED",
|
||||
2: "TESTING",
|
||||
3: "PENDING",
|
||||
}
|
||||
image_status = status_map.get(status_code, f"UNKNOWN({status_code})")
|
||||
|
||||
total_kb = (f_blocks * f_frsize) / 1024
|
||||
free_kb = (f_bfree * f_frsize) / 1024
|
||||
|
||||
Reference in New Issue
Block a user