From 688deab99cff100aedf1a943f485ac7008f85eb3 Mon Sep 17 00:00:00 2001 From: Sebastian Krzyszkowiak <dos@dosowisko.net> Date: Tue, 14 Nov 2023 16:26:17 +0100 Subject: [PATCH] py,st3m: Improve mangling of app paths in the simulator --- python_payload/st3m/application.py | 9 ++++++--- python_payload/st3m/utils.py | 5 +++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/python_payload/st3m/application.py b/python_payload/st3m/application.py index 38c1550b2f..0c449d026e 100644 --- a/python_payload/st3m/application.py +++ b/python_payload/st3m/application.py @@ -8,6 +8,7 @@ from st3m.input import InputState import st3m.wifi from st3m.goose import Optional, List, Dict from st3m.logging import Log +from st3m.utils import is_simulator from st3m import settings from ctx import Context from st3m.ui import led_patterns @@ -179,11 +180,13 @@ class BundleMetadata: containing_path = os.path.dirname(self.path) package_name = os.path.basename(self.path) - if sys.path[1].endswith("python_payload"): + if is_simulator(): # We are in the simulator. Hack around to get this to work. prefix = "/flash/sys" - assert containing_path.startswith(prefix) - containing_path = containing_path.replace(prefix, sys.path[1]) + if containing_path.startswith(prefix): + containing_path = containing_path.replace(prefix, sys.path[1]) + else: + containing_path = containing_path.replace("/flash", "/tmp/flow3r-sim") new_sys_path = old_sys_path + [containing_path] self._sys_path_set(new_sys_path) diff --git a/python_payload/st3m/utils.py b/python_payload/st3m/utils.py index f6747b5058..f16295eb23 100644 --- a/python_payload/st3m/utils.py +++ b/python_payload/st3m/utils.py @@ -1,5 +1,6 @@ import math import os +import sys_kernel try: import inspect @@ -146,4 +147,8 @@ def sd_card_plugged() -> bool: return False +def is_simulator() -> bool: + return sys_kernel.hardware_version() == "simulator" + + tau = math.pi * 2 -- GitLab