Damien George
87c6250b4c
esp8266: Add basic pyb.Pin class; supports output mode only.
10 years ago
Damien George
0b32e50365
stmhal: Make pybstdio usable by other ports, and use it.
Now all ports can use pybstdio.c to provide sys.stdin/stdout/stderr, so
long as they implement mp_hal_stdin_* and mp_hal_stdout_* functions.
10 years ago
Damien George
0bfc7638ba
py: Protect mp_parse and mp_compile with nlr push/pop block.
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.
10 years ago
Paul Sokolovsky
d6f648d04f
esp8266: modesp: Add status() function for connection status.
10 years ago
Paul Sokolovsky
1cd47c6315
esp8266: modesp: Add disconnect() function to disconnect from WiFi AP.
10 years ago
Paul Sokolovsky
471b2a8906
esp8266: modesp: Add connect() function to connect to WiFi AP.
10 years ago
Paul Sokolovsky
8fff7f8d38
esp8266: Add "reset" target to Makefile.
Just always keep jumper in bootloader position. After flashing, uPy
automatically executed. And to get back to bootloader, do "make reset".
10 years ago
Paul Sokolovsky
eca9a9323a
esp8266: Update ROM address map to vendor SDK 0.9.5.
10 years ago
Paul Sokolovsky
5fb775a0c0
esp8266: Handle exceptions in callback.
10 years ago
Paul Sokolovsky
6ec650b41f
esp8266: Add "esp" module with esp8266-specific "cooperative" networking.
So far implements .scan(lambda x: print(x)) function to scan for WiFi access
points.
10 years ago
Paul Sokolovsky
438b3d26b5
esp8266: Add missing hard_reset qstr.
10 years ago
Paul Sokolovsky
f1700a5154
esp8266:modpyb: Implement hard_reset().
10 years ago
Paul Sokolovsky
f12ea7c7ed
esp8266: Implement task-based, event-driven interface with UART.
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.
10 years ago
Paul Sokolovsky
c6b8750c14
esp8266: Use dedicated heap allocated as static array.
We cannot assume that all memory belongs to us - it actually belongs to
ESP8266 OS.
10 years ago
Paul Sokolovsky
06e9cb688b
esp8266: Update for readline module moved to lib/.
10 years ago
Damien George
4a5895c4eb
py: Disable stack checking by default; enable on most ports.
10 years ago
Damien George
3b51b3e90f
stmhal: Collect all root pointers together in 1 place.
A GC in stmhal port now only scans true root pointers, not entire BSS.
This reduces base GC time from 1700ms to 900ms.
10 years ago
Damien George
b4b10fd350
py: Put all global state together in state structures.
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.
10 years ago
Damien George
fe7d542352
esp8266: Prefix includes with py/; remove need for -I../py.
10 years ago
Damien George
9ddbe291c4
py: Add include guards to mpconfig,misc,qstr,obj,runtime,parsehelper.
10 years ago
Paul Sokolovsky
d4f80f58b8
esp8266/README: Fix typos.
10 years ago
Damien George
b395220ef0
esp8266: Add README.md.
10 years ago
Damien George
3b603f29ec
Use MP_DEFINE_CONST_DICT macro to define module dicts.
This is just a clean-up of the code. Generated code is exactly the
same.
10 years ago
Damien George
e636279fe0
esp8266: Move more rodata to irom section.
rodata can only go in iram/irom if it's accessed only using word loads
(ie no byte or half-word access).
10 years ago
Damien George
d96e6b14c9
esp8266: Make default ESP_SDK variable work correctly.
When esp-open-sdk is built with STANDALONE=y (the default) then ESP_SDK
is set to the correct value, so that "make" just works.
10 years ago
Damien George
fbea810043
esp8266: Change bignum from mpz to longlong; move some rodata to iram.
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.
10 years ago
Damien George
5f10065718
esp8266: Provide sensible default ESP_SDK; deploy 2 the images together.
10 years ago
Paul Sokolovsky
1bbc389d67
esp8266: Allow to override serial port.
10 years ago
Damien George
075d597464
esp8266: New port of Micro Python to ESP8266 wifi module.
10 years ago