summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
Commit message (Collapse)AuthorAge
* esp8266: Add "ota" target to produce firmware binary for use with yaota8266.Paul Sokolovsky2016-12-14
| | | | | https://github.com/pfalcon/yaota8266 is a (WIP) OTA-enabled bootloader which doesn't require reserving space 2x size of a firmware.
* py/runtime: Zero out fs_user_mount array in mp_init.Damien George2016-12-14
| | | | | There's no need to force ports to copy-and-paste this initialisation code. If FSUSERMOUNT is enabled then this zeroing out must be done.
* esp8266: Enable inline Xtensa assembler.Damien George2016-12-09
| | | | With this patch, @micropython.asm_xtensa can be used on the esp8266 port.
* esp8266: Enable native emitter for Xtensa arch.Damien George2016-12-09
| | | | | | | This patch allows esp8266 to use @micropython.native and @micropython.viper function decorators. By default the executable machine code is written to the space at the end of the iram1 region. The user can call esp.set_native_code_location() to make the code go to flash instead.
* esp8266/mpconfigport_512k: Disable framebuf module for 512k build.Damien George2016-12-08
| | | | | | The 512k build recently overflowed because of the newly-enabled uselect module. uselect is arguable more important than framebuf for small devices so we disable framebuf to keep the 512k build within its limit.
* esp8266: Refactor to use extmod implementation of software SPI class.Damien George2016-12-08
|
* extmod/machine_spi: Provide reusable software SPI class.Damien George2016-12-08
| | | | | | So long as a port defines relevant mp_hal_pin_xxx functions (and delay) it can make use of this software SPI class without the need for additional code.
* esp8266: Move websocket_helper.py from scripts to modules for frozen BC.puuu2016-12-05
| | | | | | websocket_helper.py is used by webrepl. If webrepl is enabled and websocket_helper.py is not frozen bytecode it leads to heap fragmentation.
* esp8266: Enable uselect module.Damien George2016-12-02
| | | | Select and poll will now work on socket objects.
* py/lexer: Make lexer use an mp_reader as its source.Damien George2016-11-16
|
* py/lexer: Provide generic mp_lexer_new_from_file based on mp_reader.Damien George2016-11-16
| | | | | | If a port defines MICROPY_READER_POSIX or MICROPY_READER_FATFS then lexer.c now provides an implementation of mp_lexer_new_from_file using the mp_reader_new_file function.
* py: Factor out persistent-code reader into separate files.Damien George2016-11-16
| | | | | | | Implementations of persistent-code reader are provided for POSIX systems and systems using FatFS. Macros to use these are MICROPY_READER_POSIX and MICROPY_READER_FATFS respectively. If an alternative implementation is needed then a port can define the function mp_reader_new_file.
* py: Factor persistent code load/save funcs into persistentcode.[ch].Damien George2016-11-16
|
* all: Remove readall() method, which is equivalent to read() w/o args.Paul Sokolovsky2016-11-14
| | | | | | Its addition was due to an early exploration on how to add CPython-like stream interface. It's clear that it's not needed and just takes up bytes in all ports.
* esp8266: Update 512k linker script, renaming modpyb to machine.Damien George2016-11-09
|
* esp8266/modnetwork.c: Expose configuration for station DHCP hostname.Chris Popp2016-11-09
| | | | | | | The ESP SDK supports configuring the hostname that is reported when doing a DHCP request in station mode. This commit exposes that under network.WLAN(network.STA_IF).config('dhcp_hostname') as a read/write value similar to other parameters.
* py: Move frozen bytecode Makefile rules from ports to common mk files.Damien George2016-11-08
| | | | | | Now, to use frozen bytecode all a port needs to do is define FROZEN_MPY_DIR to the directory containing the .py files to freeze, and define MICROPY_MODULE_FROZEN_MPY and MICROPY_QSTR_EXTRA_POOL.
* esp8266: Update docs for esptool 1.2.1/SDK 2.0 (--flash_size=detect).Paul Sokolovsky2016-11-08
|
* esp8266: Include upip as a standard frozen bytecode module.Paul Sokolovsky2016-11-08
| | | | | | Previously, it was included only in release builds, but it's important tool which should be always at the fingertips to be useful (and to pump up its usage).
* esp8266/espneopixel.c: Solve glitching LED issues with cpu at 80MHz.Olivier Ortigues2016-11-07
| | | | | | | | At the WS2812 driver level, a 400ns value was used for T0H (time high to send a 0 bit) but LED specification says it should be 350ns +- 150ns. Due to loop overhead the 400ns value could lead to T0H close to 500ns which is too close from the limit value and gave glitches (bad data to pixels) in some cases. This patch makes the calculated T0H value 350ns.
* esp8266: Rework webrepl_setup to run over wired REPL.Paul Sokolovsky2016-11-06
|
* esp8266: Rename "machine" module implementation to use contemporary naming.Paul Sokolovsky2016-11-06
| | | | | | | Previously they used historical "pyb" affix causing confusion and inconsistency (there's no "pyb" module in modern ports; but people took esp8266 port as an example, and "pyb" naming kept proliferating, while other people complained that source structure is not clear).
* drivers: Add "from micropython import const" when const is used.Damien George2016-11-03
| | | | | Following best-practice use of the const feature, to make it compatible with Python.
* esp8266/modules: Fix negative temperature in ds18x20 driver.ernitron2016-11-02
|
* esp8266/etshal.h: Adjust size of MD5_CTX structure.Paul Sokolovsky2016-11-02
| | | | | | Size 64 was incorrect and will lead to stack corruption. Size 88 was verified empirically. Also, allow to skip defining it if MD5_CTX preprocessor macro is already defined (to avoid header conflict).
* esp8266/etshal.h: Add prototypes for SPIRead/SPIWrite/SPIEraseSector.Paul Sokolovsky2016-11-02
|
* esp8266/main: Bump heap size to 36K.Paul Sokolovsky2016-11-02
| | | | | | | ESP8266 SDK2.0 fixes (at least, I can't reproduce it) an infamous bug with crash during scan. 36K seams to be a safe value based on a download test (test_dl.py), over 1GB was downloaded. More testing is needed, but let's have other people participate by committing it now.
* esp8266/modnetwork.c: Allows AP reconnection without WiFi credentialspuuu2016-11-01
| | | | | | | | | There is no automatic reconnect after wlan.active(False); wlan.active(True). This commit provide the possibility to run wlan.connect() without parameter, to reconnect to the previously connected AP. resolve #2493
* esp8266/scripts/port_diag: Add descriptions for esf_buf types.Paul Sokolovsky2016-11-01
|
* esp8266/modnetwork: config(): Fix copy-paste error in setting "mac".Paul Sokolovsky2016-10-31
|
* esp8266/modutime: Consistently convert to MP_ROM_QSTR/MP_ROM_PTR.Paul Sokolovsky2016-10-29
|
* extmod/utime_mphal: Implement ticks_add(), add to all maintained ports.Paul Sokolovsky2016-10-29
|
* esp8266/scripts: Make neopixel/apa102 handle 4bpp LEDs with common code.Radomir Dopieralski2016-10-25
| | | | | | The NeoPixel class now handles 4 bytes-per-pixel LEDs (extra byte is intensity) and arbitrary byte ordering. APA102 class is now derived from NeoPixel to reduce code size and support fill() operation.
* esp8266: Add support for building firmware version for 512K modules.Paul Sokolovsky2016-10-25
| | | | | | | | To build, "make 512k". Disabled are FatFs support (no space for filesystem), Python functionality related to files, btree module, and recently enabled features. With all this, there's only one free FlashROM page.
* esp8266/modesp: Add flash_user_start() function.Paul Sokolovsky2016-10-24
| | | | | | | | As we're looking towards adding OTA support, calculation of a FlashROM area which can be used for filesystem (etc.) may become complex, so introduce C function for that. So far it just hardcodes current value, 0x90000. In the future the function may be extended (and renamed) to return the size of area too.
* esp8266/etshal.h: Add few more ESP8266 vendor lib prototypes.Paul Sokolovsky2016-10-23
|
* esp8266/Makefile: deploy: Remove deprecated line.Paul Sokolovsky2016-10-22
|
* py: Be more specific with MP_DECLARE_CONST_FUN_OBJ macros.Damien George2016-10-21
| | | | | | | In order to have more fine-grained control over how builtin functions are constructed, the MP_DECLARE_CONST_FUN_OBJ macros are made more specific, with suffix of _0, _1, _2, _3, _VAR, _VAR_BETEEN or _KW. These names now match the MP_DEFINE_CONST_FUN_OBJ macros.
* py/py.mk: Automatically add frozen.c to source list if FROZEN_DIR is defined.Paul Sokolovsky2016-10-21
| | | | | Now frozen modules generation handled fully by py.mk and available for reuse by any port.
* esp8266/modules/webrepl: Enforce only one concurrent WebREPL connection.Paul Sokolovsky2016-10-20
| | | | | Concurrent WebREPL connections were never supported, now actually check for this.
* esp8266/main: Mark nlr_jump_fail() as MP_FASTCODE.Paul Sokolovsky2016-10-19
| | | | | It's probably not strictly needed so far, but serves as an example of MP_FASTCODE use and may be helpful in the future.
* esp8266: Add MP_FASTCODE modifier to put a function to iRAM.Paul Sokolovsky2016-10-19
| | | | | | It can be used in the following manner: void MP_FASTCODE(foo)(int arg) { ... }
* esp8266/esp8266.ld: Move main.o to iROM.Paul Sokolovsky2016-10-19
|
* esp8266/esp8266.ld: Move modmachine.o to iROM.Paul Sokolovsky2016-10-19
|
* esp8266/esp8266.ld: Move help.o to iROM.Paul Sokolovsky2016-10-19
|
* esp8266/esp_init_data: Auto-initialize system params with vendor SDK 2.0.0.Paul Sokolovsky2016-10-18
| | | | | | | SDK 2.0.0 goes into boot loop if a firmware is programmed over erased flash, causing problems with user experience. This change implements behavior similar to older SDKs': if clean flash is detected, default system parameters are used.
* esp8266/Makefile: Use latest esptool.py flash size auto-detection.Paul Sokolovsky2016-10-18
|
* esp8266, stmhal, unix: MAKE_FROZEN is consistently defined in mkenv.mk.Paul Sokolovsky2016-10-16
|
* extmod/utime_mphal: Factor out implementations in terms of mp_hal_* for reuse.Paul Sokolovsky2016-10-14
| | | | | | As long as a port implement mp_hal_sleep_ms(), mp_hal_ticks_ms(), etc. functions, it can just use standard implementations of utime.sleel_ms(), utime.ticks_ms(), etc. Python-level functions.
* esp8266: Enable micropython.alloc_emergency_exception_buf().Damien George2016-10-14
|