| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Initializing too early caused some of the API functions (wifi_*) to fail
when called in main.py
|
| |
|
|
|
|
|
|
|
| |
As user_init() is not a true main functions, the stack pointer captured within
is not pointing at the base of the stack. This caused gc_collect being called
with sp being higher than stack_end, causing integer overflow and crashing as
gc tried to scan almost the entire address space.
|
|
|
|
|
|
|
| |
esp8266 port now has working raw and friendly REPL, as well as working
soft reset (CTRL-D at REPL, or raise SystemExit).
tools/pyboard.py now works with esp8266 port.
|
|
|
|
|
|
|
|
|
|
| |
To enable parsing constants more efficiently, mp_parse should be allowed
to raise an exception, and mp_compile can already raise a MemoryError.
So these functions need to be protected by an nlr push/pop block.
This patch adds that feature in all places. This allows to simplify how
mp_parse and mp_compile are called: they now raise an exception if they
have an error and so explicit checking is not needed anymore.
|
|
|
|
|
|
| |
This enables proper interfacing with underlying OS - MicroPython doesn't
run the main loop, OS does, MicroPython just gets called when some event
takes place.
|
|
|
|
|
| |
We cannot assume that all memory belongs to us - it actually belongs to
ESP8266 OS.
|
|
|
|
|
|
| |
This patch consolidates all global variables in py/ core into one place,
in a global structure. Root pointers are all located together to make
GC tracing easier and more efficient.
|
| |
|
|
|
|
|
|
| |
Some rodata items can go in iram/irom segment, but not others. With
this patch ESP now has 24256 bytes of heap ram. It passes 228 out of
248 tests from tests/basics directory.
|
|
|