8db61e5b5a
It interferes with running testsuite. master branch should be optimized for development, so any features which interfere with that, would need to be disabled by default.
47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
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
|