summaryrefslogtreecommitdiff
path: root/esp8266
AgeCommit message (Collapse)Author
2016-04-18esp8266/modesp: Add flash_size() function.Paul Sokolovsky
Returns FlashROM size in bytes from vendor SDK's point of view, not physical size.
2016-04-18esp8266/scripts/flashbdev: Use all available space in 1MB FlashROM for FS.Paul Sokolovsky
2016-04-17esp8266/modesp: Allow esp.deepsleep to take 2nd arg for RF wake opt.Damien George
2016-04-17esp8266/README.md: Update feature list for current state of affairs.Paul Sokolovsky
2016-04-17esp8266/README.md: Typo fix.Paul Sokolovsky
2016-04-17esp8266/esp_mphal: Protect dupterm_task_handler() from recursive exec.Paul Sokolovsky
2016-04-17esp8266/moduos: Add dupterm_notify() function.Paul Sokolovsky
Should be called to notify that current dupterm object has more input data to read.
2016-04-16esp8266: Adapt port to use new auto-qstr generation.Damien George
2016-04-15esp8266/modmachine: Add reset_cause() function.Paul Sokolovsky
2016-04-14esp8266/moduos: Add uos.mkdir function.Damien George
2016-04-14esp8266/scripts/_boot: Mount block device on "" instead of "/".Damien George
"" is the correct name of the root directory when mounting a device there (as opposed to "/"). One can now do os.listdir('/') and open('/abc'), as well as os.listdir() and open('abc').
2016-04-15esp8266/qstrdefsport.h: Mark qstr's for "esp" module.Paul Sokolovsky
2016-04-15esp8266: Enable input() builtin.Paul Sokolovsky
2016-04-15py: Declare help, input, open builtins in core.Paul Sokolovsky
These are *defined* per-port, but why redeclare them again and again.
2016-04-14esp8266/scripts/port_diag.py: Module to collect diagnostic info.Paul Sokolovsky
A shortcut for users to provide background diagnostic info for bug reports.
2016-04-14esp8266: Switch integer arith routines to BootROM.Paul Sokolovsky
2016-04-14esp8266: Separate 1-wire timing funcs from Python module to save iRAM.Damien George
esponewire.c contains low-level timing-critical functions that go in iRAM. modonewire.c contains Python wrapper code.
2016-04-14esp8266: Add hard IRQ callbacks for pin change on GPIO0-15.Damien George
2016-04-14esp8266: Add dummy entries for non-existing pins to simplify pin logic.Damien George
Now pins can be easily looked up in the table using the pin number as the index and vice versa.
2016-04-14esp8266: Remove pin_id field from C pin object.Damien George
This field is the same as phys_port and not needed.
2016-04-13py: Add ability to have frozen persistent bytecode from .mpy files.Damien George
The config variable MICROPY_MODULE_FROZEN is now made of two separate parts: MICROPY_MODULE_FROZEN_STR and MICROPY_MODULE_FROZEN_MPY. This allows to have none, either or both of frozen strings and frozen mpy files (aka frozen bytecode).
2016-04-13esp8266/esp_mphal: call_dupterm_read(): Fix order of deactivating on EOF.Paul Sokolovsky
First deactivate, then print diagnostic message.
2016-04-13esp8266/esp_mphal: Don't swallow exceptions in dupterm's read()/write().Paul Sokolovsky
The idea is that if dupterm object can handle exceptions, it will handle them itself. Otherwise, object state can be compromised and it's better to terminate dupterm session. For example, disconnected socket will keep throwing exceptions and dump messages about that.
2016-04-13lib/utils/printf: Rework overriding printer of DEBUG_printf().Paul Sokolovsky
By default it uses mp_plat_print, but a port may override it to another value with MICROPY_DEBUG_PRINTER_DEST.
2016-04-13esp8266: In callback helpers, pop nlr_buf on successful call.Damien George
nlr_pop must be called if no exception was raised. Also, return value of these callback helpers is made void because ther is (currently) no use for it.
2016-04-12esp8266: Enable framebuf module.Damien George
2016-04-12esp8266: Switch from using custom I2C driver to generic extmod one.Damien George
2016-04-12esp8266: Implement basic C-level pin HAL.Damien George
2016-04-12esp8266: Protect modpyb.h header file from multiple inclusions.Damien George
Also include py/obj.h so the header is self contained.
2016-04-12esp8266/scripts/inisetup.py: Use "-" in AP ESSID instead of space.Damien George
2016-04-12esp8266/scripts/inisetup.py: Set WPA/WPA2 AP mode with a predefined password.Paul Sokolovsky
2016-04-12esp8266: Add Python modules for initial configuration.Paul Sokolovsky
Main entry point is _boot.py which checks whether FAT FS in flash mountable, and if so, mounts it. Otherwise, it checks if flash is empty, and if so, performs initial module setup: makes FAT FS, configures default AP name, etc. As a last option, if flash is not empty, and could not be mounted, it means filesystem corruption, and warning message with instructions is printed in an infinite loop.
2016-04-12esp8266/scripts/main.py: Remove stale file.Paul Sokolovsky
2016-04-12esp8266/modnetwork: .config(): Add "password" param (W/O).Paul Sokolovsky
2016-04-12esp8266/modnetwork: .config(): Add "authmode" param.Paul Sokolovsky
2016-04-12esp8266/modnetwork: .config(): Check interface whose config is requested.Paul Sokolovsky
2016-04-11esp8266: Enable websocket module.Paul Sokolovsky
2016-04-11esp8266/modesp: Add freemem() and meminfo() functions.Paul Sokolovsky
They call into vendor SDK functions system_get_free_heap_size() and system_print_meminfo() respectively.
2016-04-10esp8266/main: mp_builtin_open(): Implement, using vfs_proxy_call().Paul Sokolovsky
2016-04-10esp8266: Implement multistage bootstrap sequence.Damien George
Upon start-up, _boot module is executed from frozen files to do early initialization, e.g. create and mount the flash filesystem. Then "boot.py" is executed if it exists in the filesystem. Finally, "main.py" is executed if exists to allow start-on-boot user applications. This allows a user to make a custom boot file or startup application without recompiling the firmware, while letting to do early initialization in Python code. Based on RFC https://github.com/micropython/micropython/issues/1955.
2016-04-07esp8266: Switch from terse error messages to normal ones.Damien George
Adds 2k to the code size.
2016-04-07esp8266/README: Add short troubleshooting section.Paul Sokolovsky
2016-04-06esp8266: Add initial implementation of machine.UART.Damien George
Currently UART(0) and UART(1) are exposed and only uart.write works.
2016-04-06esp8266: Make destination for vendor OS debug output soft-configurable.Damien George
Use esp.osdebug(None) to disable, or esp.osdebug(uart_id) to send output to a UART.
2016-04-05esp8266/modnetwork: require_if(): Report the actual interface required.Paul Sokolovsky
2016-04-05esp8266: Move pyb.unique_id() to machine.unique_id().Paul Sokolovsky
2016-04-05esp8266: Move pyb.hard_reset() to machine.reset().Paul Sokolovsky
2016-04-03esp8266: Bump heap size to 24k.Paul Sokolovsky
2016-04-03esp8266: Update flashing instructions in README.Paul Sokolovsky
2016-04-03esp8266: Switch back to flashing combined firmware (single file).Paul Sokolovsky
With gap between segments minimized, there's not much padding to flash, so no big speed overhead.