From 6e7d8a168240056fb2b7609dda6a07e2d533802c Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Tue, 1 Mar 2022 15:18:40 +0000 Subject: [PATCH] Badger2040: Allow builtin demos to be replaced --- .github/workflows/micropython-badger2040.yml | 2 +- micropython/badger2040_modules_py/boot.py | 15 +-------------- micropython/examples/badger2040/launcher.py | 5 ++++- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/.github/workflows/micropython-badger2040.yml b/.github/workflows/micropython-badger2040.yml index 14441e2e..290d1659 100644 --- a/.github/workflows/micropython-badger2040.yml +++ b/.github/workflows/micropython-badger2040.yml @@ -45,7 +45,7 @@ jobs: - name: Copy modules & examples run: | cp -r pimoroni-pico-${GITHUB_SHA}/micropython/badger2040_modules_py/* micropython/ports/rp2/modules/ - cp pimoroni-pico-${GITHUB_SHA}/micropython/examples/badger2040/launcher.py micropython/ports/rp2/modules/ + cp pimoroni-pico-${GITHUB_SHA}/micropython/examples/badger2040/launcher.py micropython/ports/rp2/modules/_launcher.py cp pimoroni-pico-${GITHUB_SHA}/micropython/examples/badger2040/clock.py micropython/ports/rp2/modules/_clock.py cp pimoroni-pico-${GITHUB_SHA}/micropython/examples/badger2040/fonts.py micropython/ports/rp2/modules/_fonts.py cp pimoroni-pico-${GITHUB_SHA}/micropython/examples/badger2040/e-reader.py micropython/ports/rp2/modules/_ebook.py diff --git a/micropython/badger2040_modules_py/boot.py b/micropython/badger2040_modules_py/boot.py index b297e2d6..76b5ef6d 100644 --- a/micropython/badger2040_modules_py/boot.py +++ b/micropython/badger2040_modules_py/boot.py @@ -1,19 +1,6 @@ -#import gc -#import machine -# -#a = machine.Pin(12, machine.Pin.IN, machine.Pin.PULL_DOWN) -#b = machine.Pin(13, machine.Pin.IN, machine.Pin.PULL_DOWN) -#c = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_DOWN) -# -#if a.value() or b.value() or c.value(): -# for k in locals().keys(): -# if k not in ("gc"): -# del locals()[k] -# gc.collect() -# __import__("launcher.py") try: open("main.py", "r") except OSError: with open("main.py", "w") as f: - f.write("import launcher") + f.write("import _launcher") f.flush() diff --git a/micropython/examples/badger2040/launcher.py b/micropython/examples/badger2040/launcher.py index 2a0d9a67..01679c8c 100644 --- a/micropython/examples/badger2040/launcher.py +++ b/micropython/examples/badger2040/launcher.py @@ -171,7 +171,10 @@ def launch(file): if k not in ("gc", "file"): del locals()[k] gc.collect() - __import__(file) + try: + __import__(file[1:]) # Try to import _[file] (drop underscore prefix) + except ImportError: + __import__(file) # Failover to importing [_file] sys.exit(0)