Skip to content
Snippets Groups Projects
Select Git revision
  • 1e9093f8cbe117d50451a204f513fea78ef6abfb
  • wip-bootstrap default
  • dualcore
  • ch3/leds
  • ch3/time
  • master
6 results

hwconfig_console.py

Blame
  • inisetup.py 1.21 KiB
    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 gc
    #import webrepl
    #webrepl.start()
    gc.collect()
    """)
        return vfs