gitextract_erc644zb/ ├── .gitignore ├── LICENSE ├── README.md ├── README_ZH.md ├── SConscript ├── docs/ │ ├── external_c_modules.md │ ├── firmware-develop.md │ ├── introduction.md │ ├── micropython-ide.md │ ├── micropython-librarys.md │ ├── micropython-mpy.md │ ├── micropython_for_pandora_iot_board.md │ ├── micropython_for_sparrow_one_board.md │ ├── micropython_for_w601_iot_board.md │ ├── spec-librarys/ │ │ ├── machine/ │ │ │ ├── ADC.md │ │ │ ├── I2C.md │ │ │ ├── LCD.md │ │ │ ├── PWM.md │ │ │ ├── Pin.md │ │ │ ├── RTC.md │ │ │ ├── SPI.md │ │ │ ├── Timer.md │ │ │ ├── UART.md │ │ │ └── WDT.md │ │ ├── machine.md │ │ ├── micropython.md │ │ ├── network/ │ │ │ └── wlan.md │ │ ├── network.md │ │ └── rtthread.md │ ├── std-librarys/ │ │ ├── _thread.md │ │ ├── builtins.md │ │ ├── cmath.md │ │ ├── gc.md │ │ ├── math.md │ │ ├── rtthread.md │ │ ├── sys.md │ │ ├── uarray.md │ │ ├── ubinascii.md │ │ ├── ucollections.md │ │ ├── uctypes.md │ │ ├── uerrno.md │ │ ├── uhashlib.md │ │ ├── uheapq.md │ │ ├── uio.md │ │ ├── ujson.md │ │ ├── uos.md │ │ ├── urandom.md │ │ ├── ure.md │ │ ├── uselect.md │ │ ├── usocket.md │ │ ├── ussl.md │ │ ├── ustruct.md │ │ ├── utime.md │ │ └── uzlib.md │ └── tools-mpy-cross.md ├── drivers/ │ └── bus/ │ ├── qspi.h │ ├── softqspi.c │ ├── softspi.c │ └── spi.h ├── extmod/ │ ├── axtls-include/ │ │ ├── config.h │ │ └── version.h │ ├── crypto-algorithms/ │ │ ├── sha256.c │ │ └── sha256.h │ ├── lwip-include/ │ │ ├── arch/ │ │ │ ├── cc.h │ │ │ └── perf.h │ │ └── lwipopts.h │ ├── machine_i2c.c │ ├── machine_i2c.h │ ├── machine_mem.c │ ├── machine_mem.h │ ├── machine_pinbase.c │ ├── machine_pinbase.h │ ├── machine_pulse.c │ ├── machine_pulse.h │ ├── machine_signal.c │ ├── machine_signal.h │ ├── machine_spi.c │ ├── machine_spi.h │ ├── misc.h │ ├── modbtree.c │ ├── modframebuf.c │ ├── modonewire.c │ ├── modubinascii.c │ ├── modubinascii.h │ ├── moducryptolib.c │ ├── moductypes.c │ ├── moduhashlib.c │ ├── moduheapq.c │ ├── modujson.c │ ├── modurandom.c │ ├── modure.c │ ├── moduselect.c │ ├── modussl_axtls.c │ ├── modussl_mbedtls.c │ ├── modutimeq.c │ ├── moduwebsocket.c │ ├── moduwebsocket.h │ ├── moduzlib.c │ ├── modwebrepl.c │ ├── modwebsocket.c │ ├── modwebsocket.h │ ├── re1.5/ │ │ ├── charclass.c │ │ ├── compilecode.c │ │ ├── dumpcode.c │ │ ├── re1.5.h │ │ └── recursiveloop.c │ ├── uos_dupterm.c │ ├── utime_mphal.c │ ├── utime_mphal.h │ ├── uzlib/ │ │ ├── adler32.c │ │ ├── crc32.c │ │ ├── defl_static.h │ │ ├── tinf.h │ │ ├── tinf_compat.h │ │ ├── tinfgzip.c │ │ ├── tinflate.c │ │ ├── tinfzlib.c │ │ ├── uzlib.h │ │ └── uzlib_conf.h │ ├── vfs.c │ ├── vfs.h │ ├── vfs_fat.c │ ├── vfs_fat.h │ ├── vfs_fat_diskio.c │ ├── vfs_fat_file.c │ ├── vfs_posix.c │ ├── vfs_posix.h │ ├── vfs_posix_file.c │ ├── vfs_reader.c │ ├── virtpin.c │ ├── virtpin.h │ └── webrepl/ │ ├── manifest.py │ ├── webrepl.py │ ├── webrepl_setup.py │ └── websocket_helper.py ├── lib/ │ ├── mp-readline/ │ │ ├── readline.c │ │ └── readline.h │ ├── netutils/ │ │ ├── netutils.c │ │ └── netutils.h │ ├── oofatfs/ │ │ ├── diskio.h │ │ ├── ff.c │ │ ├── ff.h │ │ ├── ffconf.h │ │ └── option/ │ │ ├── ccsbcs.c │ │ └── unicode.c │ ├── timeutils/ │ │ ├── timeutils.c │ │ └── timeutils.h │ └── utils/ │ ├── gchelper.h │ ├── gchelper_m0.s │ ├── gchelper_m3.s │ ├── interrupt_char.c │ ├── interrupt_char.h │ ├── mpirq.c │ ├── mpirq.h │ ├── printf.c │ ├── pyexec.c │ ├── pyexec.h │ ├── stdout_helpers.c │ └── sys_stdio_mphal.c ├── port/ │ ├── frozen_mpy.c │ ├── gccollect.c │ ├── genhdr/ │ │ ├── gen_qstr.py │ │ ├── moduledefs.h │ │ ├── mpversion.h │ │ └── qstrdefs.generated.h │ ├── modules/ │ │ ├── machine/ │ │ │ ├── machine_adc.c │ │ │ ├── machine_adc.h │ │ │ ├── machine_hw_i2c.c │ │ │ ├── machine_hw_spi.c │ │ │ ├── machine_lcd.c │ │ │ ├── machine_lcd.h │ │ │ ├── machine_pin.c │ │ │ ├── machine_pwm.c │ │ │ ├── machine_pwm.h │ │ │ ├── machine_rtc.c │ │ │ ├── machine_rtc.h │ │ │ ├── machine_timer.c │ │ │ ├── machine_timer.h │ │ │ ├── machine_uart.c │ │ │ ├── machine_uart.h │ │ │ ├── machine_wdt.c │ │ │ ├── machine_wdt.h │ │ │ ├── modmachine.c │ │ │ └── modmachine.h │ │ ├── modffi.c │ │ ├── modfile.c │ │ ├── modnetwork.c │ │ ├── modnetwork.h │ │ ├── modnetwork_wlan.c │ │ ├── modpyb.c │ │ ├── modrtthread.c │ │ ├── moduos.c │ │ ├── moduos_file.c │ │ ├── moduos_file.h │ │ ├── modusocket.c │ │ ├── modutils.c │ │ ├── modutime.c │ │ └── user/ │ │ └── moduserfunc.c │ ├── mpconfigport.h │ ├── mpgetcharport.c │ ├── mpgetcharport.h │ ├── mphalport.c │ ├── mphalport.h │ ├── mpputsnport.c │ ├── mpputsnport.h │ ├── mpthreadport.c │ ├── mpthreadport.h │ ├── mpy_main.c │ ├── mpy_project_cfg.h │ ├── native/ │ │ ├── easyflash_module.c │ │ ├── easyflash_module.py │ │ ├── native_module.c │ │ └── native_module.py │ └── qstrdefsport.h ├── py/ │ ├── argcheck.c │ ├── asmarm.c │ ├── asmarm.h │ ├── asmbase.c │ ├── asmbase.h │ ├── asmthumb.c │ ├── asmthumb.h │ ├── asmx64.c │ ├── asmx64.h │ ├── asmx86.c │ ├── asmx86.h │ ├── asmxtensa.c │ ├── asmxtensa.h │ ├── bc.c │ ├── bc.h │ ├── bc0.h │ ├── binary.c │ ├── binary.h │ ├── builtin.h │ ├── builtinevex.c │ ├── builtinhelp.c │ ├── builtinimport.c │ ├── compile.c │ ├── compile.h │ ├── dynruntime.h │ ├── dynruntime.mk │ ├── emit.h │ ├── emitbc.c │ ├── emitcommon.c │ ├── emitglue.c │ ├── emitglue.h │ ├── emitinlinethumb.c │ ├── emitinlinextensa.c │ ├── emitnarm.c │ ├── emitnative.c │ ├── emitnthumb.c │ ├── emitnx64.c │ ├── emitnx86.c │ ├── emitnxtensa.c │ ├── emitnxtensawin.c │ ├── formatfloat.c │ ├── formatfloat.h │ ├── frozenmod.c │ ├── frozenmod.h │ ├── gc.c │ ├── gc.h │ ├── grammar.h │ ├── lexer.c │ ├── lexer.h │ ├── makecompresseddata.py │ ├── makemoduledefs.py │ ├── makeqstrdata.py │ ├── makeqstrdefs.py │ ├── makeversionhdr.py │ ├── malloc.c │ ├── map.c │ ├── misc.h │ ├── mkenv.mk │ ├── mkrules.mk │ ├── modarray.c │ ├── modbuiltins.c │ ├── modcmath.c │ ├── modcollections.c │ ├── modgc.c │ ├── modio.c │ ├── modmath.c │ ├── modmicropython.c │ ├── modstruct.c │ ├── modsys.c │ ├── modthread.c │ ├── moduerrno.c │ ├── mpconfig.h │ ├── mperrno.h │ ├── mphal.h │ ├── mpprint.c │ ├── mpprint.h │ ├── mpstate.c │ ├── mpstate.h │ ├── mpthread.h │ ├── mpz.c │ ├── mpz.h │ ├── nativeglue.c │ ├── nativeglue.h │ ├── nlr.c │ ├── nlr.h │ ├── nlrpowerpc.c │ ├── nlrsetjmp.c │ ├── nlrthumb.c │ ├── nlrx64.c │ ├── nlrx86.c │ ├── nlrxtensa.c │ ├── obj.c │ ├── obj.h │ ├── objarray.c │ ├── objarray.h │ ├── objattrtuple.c │ ├── objbool.c │ ├── objboundmeth.c │ ├── objcell.c │ ├── objclosure.c │ ├── objcomplex.c │ ├── objdeque.c │ ├── objdict.c │ ├── objenumerate.c │ ├── objexcept.c │ ├── objexcept.h │ ├── objfilter.c │ ├── objfloat.c │ ├── objfun.c │ ├── objfun.h │ ├── objgenerator.c │ ├── objgenerator.h │ ├── objgetitemiter.c │ ├── objint.c │ ├── objint.h │ ├── objint_longlong.c │ ├── objint_mpz.c │ ├── objlist.c │ ├── objlist.h │ ├── objmap.c │ ├── objmodule.c │ ├── objmodule.h │ ├── objnamedtuple.c │ ├── objnamedtuple.h │ ├── objnone.c │ ├── objobject.c │ ├── objpolyiter.c │ ├── objproperty.c │ ├── objrange.c │ ├── objreversed.c │ ├── objset.c │ ├── objsingleton.c │ ├── objslice.c │ ├── objstr.c │ ├── objstr.h │ ├── objstringio.c │ ├── objstringio.h │ ├── objstrunicode.c │ ├── objtuple.c │ ├── objtuple.h │ ├── objtype.c │ ├── objtype.h │ ├── objzip.c │ ├── opmethods.c │ ├── pairheap.c │ ├── pairheap.h │ ├── parse.c │ ├── parse.h │ ├── parsenum.c │ ├── parsenum.h │ ├── parsenumbase.c │ ├── parsenumbase.h │ ├── persistentcode.c │ ├── persistentcode.h │ ├── profile.c │ ├── profile.h │ ├── py.mk │ ├── pystack.c │ ├── pystack.h │ ├── qstr.c │ ├── qstr.h │ ├── qstrdefs.h │ ├── reader.c │ ├── reader.h │ ├── repl.c │ ├── repl.h │ ├── ringbuf.c │ ├── ringbuf.h │ ├── runtime.c │ ├── runtime.h │ ├── runtime0.h │ ├── runtime_utils.c │ ├── scheduler.c │ ├── scope.c │ ├── scope.h │ ├── sequence.c │ ├── showbc.c │ ├── smallint.c │ ├── smallint.h │ ├── stackctrl.c │ ├── stackctrl.h │ ├── stream.c │ ├── stream.h │ ├── unicode.c │ ├── unicode.h │ ├── vm.c │ ├── vmentrytable.h │ ├── vstr.c │ └── warning.c └── tools/ └── mpy-cross/ ├── hellortt.mpy └── hellortt.py