From f274c551c0af3ae6bd513c9be2f3d58b2dd6b16b Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Fri, 2 May 2025 09:12:52 +0200 Subject: [PATCH] Remove app1 and app2, add HelloWorld --- .../com.example.app1/META-INF/MANIFEST.MF | 4 -- .../apps/com.example.app1/assets/app1.py | 50 ---------------- .../com.example.app2/META-INF/MANIFEST.MF | 4 -- .../apps/com.example.app2/assets/app2.py | 56 ------------------ .../META-INF/MANIFEST.MF | 4 ++ .../com.example.helloworld/assets/hello.py | 11 ++++ .../res/mipmap-mdpi/icon_64x64.png | Bin 0 -> 5378 bytes 7 files changed, 15 insertions(+), 114 deletions(-) delete mode 100644 internal_filesystem/apps/com.example.app1/META-INF/MANIFEST.MF delete mode 100644 internal_filesystem/apps/com.example.app1/assets/app1.py delete mode 100644 internal_filesystem/apps/com.example.app2/META-INF/MANIFEST.MF delete mode 100644 internal_filesystem/apps/com.example.app2/assets/app2.py create mode 100644 internal_filesystem/apps/com.example.helloworld/META-INF/MANIFEST.MF create mode 100644 internal_filesystem/apps/com.example.helloworld/assets/hello.py create mode 100644 internal_filesystem/apps/com.example.helloworld/res/mipmap-mdpi/icon_64x64.png diff --git a/internal_filesystem/apps/com.example.app1/META-INF/MANIFEST.MF b/internal_filesystem/apps/com.example.app1/META-INF/MANIFEST.MF deleted file mode 100644 index 5f249cfc..00000000 --- a/internal_filesystem/apps/com.example.app1/META-INF/MANIFEST.MF +++ /dev/null @@ -1,4 +0,0 @@ -Manifest-Version: 1.0 -Name: App1 -Start-Script: assets/app1.py -Version: 0.0.1 diff --git a/internal_filesystem/apps/com.example.app1/assets/app1.py b/internal_filesystem/apps/com.example.app1/assets/app1.py deleted file mode 100644 index 02e11055..00000000 --- a/internal_filesystem/apps/com.example.app1/assets/app1.py +++ /dev/null @@ -1,50 +0,0 @@ -print("running app1") - -#subwindow = lv.screen_active() - -import time -print("Child coroutine: Creating UI") -# Label -print("Child coroutine: adding label") -label = lv.label(subwindow) -print("Child coroutine: added label") -label.set_text("App1: 0") -label.align(lv.ALIGN.TOP_MID, 0, 10) -# Button -button = lv.button(subwindow) -button.set_size(100, 60) -button.align(lv.ALIGN.CENTER, 0, 0) -button_label = lv.label(button) -button_label.set_text("Quit") -button_label.center() -# Slider -slider = lv.slider(subwindow) -slider.set_range(0, 100) -slider.set_value(50, lv.ANIM.OFF) -slider.align(lv.ALIGN.BOTTOM_MID, 0, -30) -print("quit flag") -# Quit flag -should_continue = True -# Button callback -def button_cb(e): - global should_continue - print("Quit button clicked, exiting child") - should_continue = False -button.add_event_cb(button_cb, lv.EVENT.CLICKED, None) -# Slider callback -print("slider callback") -def slider_cb(e): - value = slider.get_value() - #print("Child slider value:", value) -slider.add_event_cb(slider_cb, lv.EVENT.VALUE_CHANGED, None) -# Update loop -print("update loop") -count = 0 -while should_continue: - count += 1 - print("Child coroutine: Updating label to", count) - label.set_text(f"App1: {count}") - time.sleep_ms(500) # shorter makes it more responive to the quit button -print("Child coroutine: Exiting") - - diff --git a/internal_filesystem/apps/com.example.app2/META-INF/MANIFEST.MF b/internal_filesystem/apps/com.example.app2/META-INF/MANIFEST.MF deleted file mode 100644 index 783cae7b..00000000 --- a/internal_filesystem/apps/com.example.app2/META-INF/MANIFEST.MF +++ /dev/null @@ -1,4 +0,0 @@ -Manifest-Version: 1.0 -Name: App2 -Start-Script: assets/app2.py -Version: 0.0.1 diff --git a/internal_filesystem/apps/com.example.app2/assets/app2.py b/internal_filesystem/apps/com.example.app2/assets/app2.py deleted file mode 100644 index 3193305d..00000000 --- a/internal_filesystem/apps/com.example.app2/assets/app2.py +++ /dev/null @@ -1,56 +0,0 @@ -print("app2 is running") - -import time -import _thread -print("App2 running") - -# Quit flag -should_continue = True - -def app2_thread(): - count=0 - while should_continue and appscreen == lv.screen_active(): - print(f"app2_thread: thread_id {_thread.get_ident()} - {count}") - count+=1 - time.sleep(1) - -_thread.start_new_thread(app2_thread, ()) - - -# Label -label = lv.label(subwindow) -label.set_text("App2: 0") -label.align(lv.ALIGN.TOP_MID, 0, 10) -# Button -button = lv.button(subwindow) -button.set_size(100, 60) -button.align(lv.ALIGN.CENTER, 0, 0) -button_label = lv.label(button) -button_label.set_text("Quit") -button_label.center() -# Slider -slider = lv.slider(subwindow) -slider.set_range(0, 100) -slider.set_value(50, lv.ANIM.OFF) -slider.align(lv.ALIGN.BOTTOM_MID, 0, -30) -# Button callback -def button_cb(e): - global should_continue - print("Quit button clicked, exiting child") - should_continue = False -button.add_event_cb(button_cb, lv.EVENT.CLICKED, None) -# Slider callback -def slider_cb(e): - value = slider.get_value() - #print("Child slider value:", value) -slider.add_event_cb(slider_cb, lv.EVENT.VALUE_CHANGED, None) -# Update loop -count = 0 -while should_continue: - count += 1 - #print("Child coroutine: Updating label to", count) - label.set_text(f"App2: {count}") - time.sleep_ms(1000) # shorter makes it more responive to the quit button -print("Child coroutine: Exiting") - - diff --git a/internal_filesystem/apps/com.example.helloworld/META-INF/MANIFEST.MF b/internal_filesystem/apps/com.example.helloworld/META-INF/MANIFEST.MF new file mode 100644 index 00000000..8976e5cc --- /dev/null +++ b/internal_filesystem/apps/com.example.helloworld/META-INF/MANIFEST.MF @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +Name: HelloWorld +Start-Script: assets/hello.py +Version: 0.0.1 diff --git a/internal_filesystem/apps/com.example.helloworld/assets/hello.py b/internal_filesystem/apps/com.example.helloworld/assets/hello.py new file mode 100644 index 00000000..f9179ec2 --- /dev/null +++ b/internal_filesystem/apps/com.example.helloworld/assets/hello.py @@ -0,0 +1,11 @@ +import time +myscreen = lv.screen_active() + +print("Hello World running!") + +label = lv.label(myscreen) +label.set_text("Hello World!") + +while lv.screen_active() == myscreen + time.sleep_ms(100) + diff --git a/internal_filesystem/apps/com.example.helloworld/res/mipmap-mdpi/icon_64x64.png b/internal_filesystem/apps/com.example.helloworld/res/mipmap-mdpi/icon_64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..cac4a6f27a110dd0060adf12b8942a43ffd7a436 GIT binary patch literal 5378 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 literal 0 HcmV?d00001