Damien George
87c6250b4c
esp8266: Add basic pyb.Pin class; supports output mode only.
2015-02-13 22:21:44 +00:00
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.
2015-02-13 15:04:53 +00:00
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.
2015-02-07 18:33:58 +00:00
Paul Sokolovsky
d6f648d04f
esp8266: modesp: Add status() function for connection status.
2015-02-05 00:39:02 +02:00
Paul Sokolovsky
1cd47c6315
esp8266: modesp: Add disconnect() function to disconnect from WiFi AP.
2015-02-03 02:02:29 +02:00
Paul Sokolovsky
471b2a8906
esp8266: modesp: Add connect() function to connect to WiFi AP.
2015-02-01 01:36:48 +02:00
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".
2015-01-31 00:51:39 +02:00
Paul Sokolovsky
eca9a9323a
esp8266: Update ROM address map to vendor SDK 0.9.5.
2015-01-31 00:36:41 +02:00
Paul Sokolovsky
5fb775a0c0
esp8266: Handle exceptions in callback.
2015-01-25 17:41:06 +02:00
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.
2015-01-25 17:10:06 +02:00
Paul Sokolovsky
438b3d26b5
esp8266: Add missing hard_reset qstr.
2015-01-18 00:37:46 +02:00
Paul Sokolovsky
f1700a5154
esp8266:modpyb: Implement hard_reset().
2015-01-18 00:30:14 +02:00
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.
2015-01-16 19:20:17 +02:00
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.
2015-01-15 00:36:03 +02:00
Paul Sokolovsky
06e9cb688b
esp8266: Update for readline module moved to lib/.
2015-01-12 04:27:36 +02:00
Damien George
4a5895c4eb
py: Disable stack checking by default; enable on most ports.
2015-01-09 00:10:55 +00:00
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.
2015-01-07 23:38:50 +00:00
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.
2015-01-07 20:33:00 +00:00
Damien George
fe7d542352
esp8266: Prefix includes with py/; remove need for -I../py.
2015-01-01 21:16:58 +00:00
Damien George
9ddbe291c4
py: Add include guards to mpconfig,misc,qstr,obj,runtime,parsehelper.
2014-12-29 01:02:19 +00:00
Paul Sokolovsky
d4f80f58b8
esp8266/README: Fix typos.
2014-12-06 13:34:18 +02:00
Damien George
b395220ef0
esp8266: Add README.md.
2014-11-29 15:06:20 +00:00
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.
2014-11-29 14:39:27 +00:00
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).
2014-11-29 14:36:18 +00:00
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.
2014-11-28 18:05:25 +00:00
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.
2014-11-28 14:58:25 +00:00
Damien George
5f10065718
esp8266: Provide sensible default ESP_SDK; deploy 2 the images together.
2014-11-28 10:22:01 +00:00
Paul Sokolovsky
1bbc389d67
esp8266: Allow to override serial port.
2014-11-28 01:54:46 +02:00
Damien George
075d597464
esp8266: New port of Micro Python to ESP8266 wifi module.
2014-11-27 20:30:33 +00:00