summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
Commit message (Collapse)AuthorAge
* esp8266: Add utime and pyb.RTCJosef Gajdusek2015-05-13
|
* esp8266: Update the linker scriptJosef Gajdusek2015-05-13
| | | | | Moved modesp.o to flash and increased size of the irom0_0_seg segment. The new value was taken from NodeMCU linker script.
* esp8266: Implement time functionsJosef Gajdusek2015-05-12
|
* esp8266: Add support for frozen modulesJosef Gajdusek2015-05-06
|
* esp8266: Add .onsent callback supportJosef Gajdusek2015-05-06
| | | | | The function passed to socket.onsent() gets called after data is succesfully sent by the socket.
* esp8266: Initialize socket->connlist to NULLJosef Gajdusek2015-05-06
| | | | This was causing crashes in .onconnect()
* esp8266: Fix garbage collector by hard-coding stack end address.Josef Gajdusek2015-05-06
| | | | | | | 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.
* pyexec: Make raw REPL work with event-driven version of pyexec.Damien George2015-05-06
| | | | | | | 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.
* esp8266: Return CPU frequency in Hz.Damien George2015-05-05
|
* esp8266: Fix endian of address returned by esp.getaddrinfo()Josef Gajdusek2015-05-05
|
* esp8266: Add esp.socket class, with ESP-style socket functionality.Josef Gajdusek2015-05-04
| | | | | | | * UDP currently not supported * As there is no way (that I know of) the espconn_regist_connectcb() callback can recognize on which socket has the connection arrived, only one listening function at a time is supported
* esp8266: Export station status() constantsJosef Gajdusek2015-05-03
|
* py: Overhaul and simplify printf/pfenv mechanism.Damien George2015-04-16
| | | | | | | | | | | | | | | | | | | | | | Previous to this patch the printing mechanism was a bit of a tangled mess. This patch attempts to consolidate printing into one interface. All (non-debug) printing now uses the mp_print* family of functions, mainly mp_printf. All these functions take an mp_print_t structure as their first argument, and this structure defines the printing backend through the "print_strn" function of said structure. Printing from the uPy core can reach the platform-defined print code via two paths: either through mp_sys_stdout_obj (defined pert port) in conjunction with mp_stream_write; or through the mp_plat_print structure which uses the MP_PLAT_PRINT_STRN macro to define how string are printed on the platform. The former is only used when MICROPY_PY_IO is defined. With this new scheme printing is generally more efficient (less layers to go through, less arguments to pass), and, given an mp_print_t* structure, one can call mp_print_str for efficiency instead of mp_printf("%s", ...). Code size is also reduced by around 200 bytes on Thumb2 archs.
* string0.c: Move from stmhal/ to lib/.Paul Sokolovsky2015-04-05
|
* esp8266: Add basic pyb.Pin class; supports output mode only.Damien George2015-02-13
|
* stmhal: Make pybstdio usable by other ports, and use it.Damien George2015-02-13
| | | | | 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.
* py: Protect mp_parse and mp_compile with nlr push/pop block.Damien George2015-02-07
| | | | | | | | | | 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.
* esp8266: modesp: Add status() function for connection status.Paul Sokolovsky2015-02-05
|
* esp8266: modesp: Add disconnect() function to disconnect from WiFi AP.Paul Sokolovsky2015-02-03
|
* esp8266: modesp: Add connect() function to connect to WiFi AP.Paul Sokolovsky2015-02-01
|
* esp8266: Add "reset" target to Makefile.Paul Sokolovsky2015-01-31
| | | | | Just always keep jumper in bootloader position. After flashing, uPy automatically executed. And to get back to bootloader, do "make reset".
* esp8266: Update ROM address map to vendor SDK 0.9.5.Paul Sokolovsky2015-01-31
|
* esp8266: Handle exceptions in callback.Paul Sokolovsky2015-01-25
|
* esp8266: Add "esp" module with esp8266-specific "cooperative" networking.Paul Sokolovsky2015-01-25
| | | | | So far implements .scan(lambda x: print(x)) function to scan for WiFi access points.
* esp8266: Add missing hard_reset qstr.Paul Sokolovsky2015-01-18
|
* esp8266:modpyb: Implement hard_reset().Paul Sokolovsky2015-01-18
|
* esp8266: Implement task-based, event-driven interface with UART.Paul Sokolovsky2015-01-16
| | | | | | 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.
* esp8266: Use dedicated heap allocated as static array.Paul Sokolovsky2015-01-15
| | | | | We cannot assume that all memory belongs to us - it actually belongs to ESP8266 OS.
* esp8266: Update for readline module moved to lib/.Paul Sokolovsky2015-01-12
|
* py: Disable stack checking by default; enable on most ports.Damien George2015-01-09
|
* stmhal: Collect all root pointers together in 1 place.Damien George2015-01-07
| | | | | A GC in stmhal port now only scans true root pointers, not entire BSS. This reduces base GC time from 1700ms to 900ms.
* py: Put all global state together in state structures.Damien George2015-01-07
| | | | | | 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.
* esp8266: Prefix includes with py/; remove need for -I../py.Damien George2015-01-01
|
* py: Add include guards to mpconfig,misc,qstr,obj,runtime,parsehelper.Damien George2014-12-29
|
* esp8266/README: Fix typos.Paul Sokolovsky2014-12-06
|
* esp8266: Add README.md.Damien George2014-11-29
|
* Use MP_DEFINE_CONST_DICT macro to define module dicts.Damien George2014-11-29
| | | | | This is just a clean-up of the code. Generated code is exactly the same.
* esp8266: Move more rodata to irom section.Damien George2014-11-29
| | | | | rodata can only go in iram/irom if it's accessed only using word loads (ie no byte or half-word access).
* esp8266: Make default ESP_SDK variable work correctly.Damien George2014-11-28
| | | | | 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.
* esp8266: Change bignum from mpz to longlong; move some rodata to iram.Damien George2014-11-28
| | | | | | 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.
* esp8266: Provide sensible default ESP_SDK; deploy 2 the images together.Damien George2014-11-28
|
* esp8266: Allow to override serial port.Paul Sokolovsky2014-11-28
|
* esp8266: New port of Micro Python to ESP8266 wifi module.Damien George2014-11-27