Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | esp8266/qstrdefsport.h: Mark qstr's for "esp" module. | Paul Sokolovsky | 2016-04-15 |
| | |||
* | esp8266: Enable input() builtin. | Paul Sokolovsky | 2016-04-15 |
| | |||
* | py: Declare help, input, open builtins in core. | Paul Sokolovsky | 2016-04-15 |
| | | | | These are *defined* per-port, but why redeclare them again and again. | ||
* | esp8266/scripts/port_diag.py: Module to collect diagnostic info. | Paul Sokolovsky | 2016-04-14 |
| | | | | | A shortcut for users to provide background diagnostic info for bug reports. | ||
* | esp8266: Switch integer arith routines to BootROM. | Paul Sokolovsky | 2016-04-14 |
| | |||
* | esp8266: Separate 1-wire timing funcs from Python module to save iRAM. | Damien George | 2016-04-14 |
| | | | | | esponewire.c contains low-level timing-critical functions that go in iRAM. modonewire.c contains Python wrapper code. | ||
* | esp8266: Add hard IRQ callbacks for pin change on GPIO0-15. | Damien George | 2016-04-14 |
| | |||
* | esp8266: Add dummy entries for non-existing pins to simplify pin logic. | Damien George | 2016-04-14 |
| | | | | | Now pins can be easily looked up in the table using the pin number as the index and vice versa. | ||
* | esp8266: Remove pin_id field from C pin object. | Damien George | 2016-04-14 |
| | | | | This field is the same as phys_port and not needed. | ||
* | py: Add ability to have frozen persistent bytecode from .mpy files. | Damien George | 2016-04-13 |
| | | | | | | | 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). | ||
* | esp8266/esp_mphal: call_dupterm_read(): Fix order of deactivating on EOF. | Paul Sokolovsky | 2016-04-13 |
| | | | | First deactivate, then print diagnostic message. | ||
* | esp8266/esp_mphal: Don't swallow exceptions in dupterm's read()/write(). | Paul Sokolovsky | 2016-04-13 |
| | | | | | | | 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. | ||
* | lib/utils/printf: Rework overriding printer of DEBUG_printf(). | Paul Sokolovsky | 2016-04-13 |
| | | | | | By default it uses mp_plat_print, but a port may override it to another value with MICROPY_DEBUG_PRINTER_DEST. | ||
* | esp8266: In callback helpers, pop nlr_buf on successful call. | Damien George | 2016-04-13 |
| | | | | | | | 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. | ||
* | esp8266: Enable framebuf module. | Damien George | 2016-04-12 |
| | |||
* | esp8266: Switch from using custom I2C driver to generic extmod one. | Damien George | 2016-04-12 |
| | |||
* | esp8266: Implement basic C-level pin HAL. | Damien George | 2016-04-12 |
| | |||
* | esp8266: Protect modpyb.h header file from multiple inclusions. | Damien George | 2016-04-12 |
| | | | | Also include py/obj.h so the header is self contained. | ||
* | esp8266/scripts/inisetup.py: Use "-" in AP ESSID instead of space. | Damien George | 2016-04-12 |
| | |||
* | esp8266/scripts/inisetup.py: Set WPA/WPA2 AP mode with a predefined password. | Paul Sokolovsky | 2016-04-12 |
| | |||
* | esp8266: Add Python modules for initial configuration. | Paul Sokolovsky | 2016-04-12 |
| | | | | | | | | | 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. | ||
* | esp8266/scripts/main.py: Remove stale file. | Paul Sokolovsky | 2016-04-12 |
| | |||
* | esp8266/modnetwork: .config(): Add "password" param (W/O). | Paul Sokolovsky | 2016-04-12 |
| | |||
* | esp8266/modnetwork: .config(): Add "authmode" param. | Paul Sokolovsky | 2016-04-12 |
| | |||
* | esp8266/modnetwork: .config(): Check interface whose config is requested. | Paul Sokolovsky | 2016-04-12 |
| | |||
* | esp8266: Enable websocket module. | Paul Sokolovsky | 2016-04-11 |
| | |||
* | esp8266/modesp: Add freemem() and meminfo() functions. | Paul Sokolovsky | 2016-04-11 |
| | | | | | They call into vendor SDK functions system_get_free_heap_size() and system_print_meminfo() respectively. | ||
* | esp8266/main: mp_builtin_open(): Implement, using vfs_proxy_call(). | Paul Sokolovsky | 2016-04-10 |
| | |||
* | esp8266: Implement multistage bootstrap sequence. | Damien George | 2016-04-10 |
| | | | | | | | | | | | | | 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. | ||
* | esp8266: Switch from terse error messages to normal ones. | Damien George | 2016-04-07 |
| | | | | Adds 2k to the code size. | ||
* | esp8266/README: Add short troubleshooting section. | Paul Sokolovsky | 2016-04-07 |
| | |||
* | esp8266: Add initial implementation of machine.UART. | Damien George | 2016-04-06 |
| | | | | Currently UART(0) and UART(1) are exposed and only uart.write works. | ||
* | esp8266: Make destination for vendor OS debug output soft-configurable. | Damien George | 2016-04-06 |
| | | | | | Use esp.osdebug(None) to disable, or esp.osdebug(uart_id) to send output to a UART. | ||
* | esp8266/modnetwork: require_if(): Report the actual interface required. | Paul Sokolovsky | 2016-04-05 |
| | |||
* | esp8266: Move pyb.unique_id() to machine.unique_id(). | Paul Sokolovsky | 2016-04-05 |
| | |||
* | esp8266: Move pyb.hard_reset() to machine.reset(). | Paul Sokolovsky | 2016-04-05 |
| | |||
* | esp8266: Bump heap size to 24k. | Paul Sokolovsky | 2016-04-03 |
| | |||
* | esp8266: Update flashing instructions in README. | Paul Sokolovsky | 2016-04-03 |
| | |||
* | esp8266: Switch back to flashing combined firmware (single file). | Paul Sokolovsky | 2016-04-03 |
| | | | | | With gap between segments minimized, there's not much padding to flash, so no big speed overhead. | ||
* | esp8266: Minimize gap between Inst/DataRAM segments and FlashROM segment. | Paul Sokolovsky | 2016-04-03 |
| | | | | | | | | | With .rodata being in FlashROM now, gap can be much smaller now. InstRAM can be max 32K, and with segment headers, that already makes it more than 32K. Then there's some .data still, and the next Flash page boundary is 0x9000. That figure should be more or less future-proof. TODO: Refactor makeimg to take FlashROM segment offset from file name. | ||
* | esp8266/ets_alt_task: Comment out debug output. | Paul Sokolovsky | 2016-04-03 |
| | |||
* | esp8266: Bump iROM size to 512k. | Paul Sokolovsky | 2016-04-03 |
| | | | | Needed for frozen scripts, and for future growth of binary. | ||
* | esp8266: Move .rodata where it belongs with -mforce-l32 help. | Paul Sokolovsky | 2016-04-03 |
| | |||
* | esp8266/README: Add link to docs. | Paul Sokolovsky | 2016-04-03 |
| | |||
* | esp8266: Use VM_HOOK to call ets_loop_iter within the VM. | Damien George | 2016-04-02 |
| | | | | Starting with a divisor of 10, pystone_lowmem gives a score of 256. | ||
* | esp8266/uart: Get ctrl-C working now that event-based REPL is disabled. | Damien George | 2016-04-01 |
| | |||
* | esp8266/uart: Comment out old, unused rx buffering code. | Damien George | 2016-04-01 |
| | | | | | | | This was originally used for non-event based REPL processing. Then it was unused when event-based processing was activated. But now that event based is disabled, and non-event based is back, there has been new ring buffer code to process the chars. | ||
* | esp8266: Switch to non event-driven REPL to support paste mode. | Paul Sokolovsky | 2016-04-01 |
| | |||
* | esp8266: Support dedicated REPL loop (aka pull-style). | Paul Sokolovsky | 2016-04-01 |
| | | | | | | | | Event-driven loop (push-style) is still supported and default (controlled by MICROPY_REPL_EVENT_DRIVEN setting, as expected). Dedicated loop worked even without adding ets_loop_iter(), though that needs to be revisited later. | ||
* | esp8266: Disallow recursive calls to REPL. | Paul Sokolovsky | 2016-04-01 |
| | | | | | | | | | Before this change, if REPL blocked executing some code, it was possible to still input new statememts and excuting them, all leading to weird, and portentially dangerous interaction. TODO: Current implementation may have issues processing input accumulated while REPL was blocked. |