diff options
Diffstat (limited to 'esp8266/scripts/inisetup.py')
-rw-r--r-- | esp8266/scripts/inisetup.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/esp8266/scripts/inisetup.py b/esp8266/scripts/inisetup.py new file mode 100644 index 0000000000..93a05bd8a7 --- /dev/null +++ b/esp8266/scripts/inisetup.py @@ -0,0 +1,46 @@ +import uos +import network +from flashbdev import bdev + +def wifi(): + import ubinascii + ap_if = network.WLAN(network.AP_IF) + essid = b"MicroPython-%s" % ubinascii.hexlify(ap_if.config("mac")[-3:]) + ap_if.config(essid=essid, authmode=network.AUTH_WPA_WPA2_PSK, password=b"micropythoN") + +def check_bootsec(): + buf = bytearray(bdev.SEC_SIZE) + bdev.readblocks(0, buf) + empty = True + for b in buf: + if b != 0xff: + empty = False + break + if empty: + return True + fs_corrupted() + +def fs_corrupted(): + import time + while 1: + print("""\ +FAT filesystem appears to be corrupted. If you had important data there, you +may want to make a flash snapshot to try to recover it. Otherwise, perform +factory reprogramming of MicroPython firmware (completely erase flash, followed +by firmware programming). +""") + time.sleep(3) + +def setup(): + check_bootsec() + print("Performing initial setup") + wifi() + uos.VfsFat.mkfs(bdev) + vfs = uos.VfsFat(bdev, "") + with open("/boot.py", "w") as f: + f.write("""\ +# This file is executed on every boot (including wake-boot from deepsleep) +import webrepl +webrepl.start() +""") + return vfs |