Skip to content

Commit fb96e6c

Browse files
wificonf: auto connect at boot
1 parent 7242a5a commit fb96e6c

File tree

6 files changed

+25
-10
lines changed

6 files changed

+25
-10
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
Manifest-Version: 1.0
22
Name: WiFiConf
33
Start-Script: assets/wificonf.py
4+
WiFi-Connect-Script: assets/auto_connect.py
5+
WiFi-Configure-Script: assets/wificonf.py

internal_filesystem/main.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -355,17 +355,28 @@ def start_app(app_dir, is_launcher=False):
355355
# Execute this if it exists
356356
execute_script_new_thread("/autorun.py", True, False, False)
357357

358-
# A generic "start at boot" mechanism hasn't been implemented yet, so do it like this:
359-
execute_script_new_thread("/builtin/apps/com.example.wificonf/assets/auto_connect.py", True, False, False)
360-
361-
362358
try:
363359
import freezefs_mount_builtin
364360
except Exception as e:
365361
print("/main.py: WARNING: could not import/run freezefs_mount_builtin: ", e)
366362

367-
# The launcher might have been updated from the builtin one, so check that:
363+
364+
# A generic "start at boot" mechanism hasn't been implemented yet, so do it like this:
368365
import uos
366+
custom_auto_connect = "/apps/com.example.wificonf/assets/auto_connect.py"
367+
builtin_auto_connect = "/builtin/apps/com.example.wificonf/assets/auto_connect.py"
368+
try:
369+
stat = uos.stat(custom_auto_connect)
370+
execute_script_new_thread(custom_auto_connect, True, False, False)
371+
except OSError:
372+
try:
373+
print(f"Couldn't execute {custom_auto_connect}, trying {builtin_auto_connect}...")
374+
stat = uos.stat(builtin_auto_connect)
375+
execute_script_new_thread(builtin_auto_connect, True, False, False)
376+
except OSError:
377+
print("Couldn't execute {builtin_auto_connect}, continuing...")
378+
379+
# The launcher might have been updated from the builtin one, so check that:
369380
custom_launcher = "/apps/com.example.launcher"
370381
builtin_launcher = "/builtin/apps/com.example.launcher"
371382
try:

manifest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
freeze('internal_filesystem/', 'boot.py') # Hardware initialization
22
freeze('internal_filesystem/', 'main.py') # User Interface initialization
33
freeze('internal_filesystem/lib', '') # Additional libraries
4-
freeze('/home/user/sources/freezeFS/', 'freezefs_mount.py') # Built-in apps
4+
freeze('/home/user/sources/freezeFS/', 'freezefs_mount_builtin.py') # Built-in apps

scripts/build_freezefs_mount_builtin.sh

100644100755
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
pushd ~/sources/freezeFS
12
python3 -m freezefs --target /builtin --on-import mount ~/sources/PiggyOS/internal_filesystem/builtin freezefs_mount_builtin.py
3+
popd

scripts/build_lvgl_micropython.sh

100644100755
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
# --partition size: both OTA partitions are 4MB
44
# --flash-size: total flash size is 16MB
55
#
6-
python3 make.py --ota --partition-size=4194304 --flash-size=16 esp32 BOARD=ESP32_GENERIC_S3 BOARD_VARIANT=SPIRAM_OCT DISPLAY=st7789 INDEV=cst816s USER_C_MODULE="/home/user/sources/micropython-camera-API/src/micropython.cmake" FROZEN_MANIFEST=manifest.py
6+
python3 make.py --ota --partition-size=4194304 --flash-size=16 esp32 BOARD=ESP32_GENERIC_S3 BOARD_VARIANT=SPIRAM_OCT DISPLAY=st7789 INDEV=cst816s USER_C_MODULE="/home/user/sources/micropython-camera-API/src/micropython.cmake" FROZEN_MANIFEST=~/sources/PiggyOS/manifest.py

scripts/flash_over_usb.sh

100644100755
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
fwfile="build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin"
2-
ls -al "$fwfile"
3-
~/.espressif/python_env/idf5.2_py3.9_env/bin/python -m esptool --chip esp32s3 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 16MB --flash_freq 80m --erase-all 0x0 "$fwfile"
1+
fwfile="/home/user/sources/lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin"
2+
ls -al $fwfile
3+
~/.espressif/python_env/idf5.2_py3.9_env/bin/python -m esptool --chip esp32s3 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 16MB --flash_freq 80m --erase-all 0x0 $fwfile
44

0 commit comments

Comments
 (0)