summaryrefslogtreecommitdiff
path: root/esp8266
AgeCommit message (Collapse)Author
2016-10-22esp8266/Makefile: deploy: Remove deprecated line.Paul Sokolovsky
2016-10-21py: Be more specific with MP_DECLARE_CONST_FUN_OBJ macros.Damien George
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.
2016-10-21py/py.mk: Automatically add frozen.c to source list if FROZEN_DIR is defined.Paul Sokolovsky
Now frozen modules generation handled fully by py.mk and available for reuse by any port.
2016-10-20esp8266/modules/webrepl: Enforce only one concurrent WebREPL connection.Paul Sokolovsky
Concurrent WebREPL connections were never supported, now actually check for this.
2016-10-19esp8266/main: Mark nlr_jump_fail() as MP_FASTCODE.Paul Sokolovsky
It's probably not strictly needed so far, but serves as an example of MP_FASTCODE use and may be helpful in the future.
2016-10-19esp8266: Add MP_FASTCODE modifier to put a function to iRAM.Paul Sokolovsky
It can be used in the following manner: void MP_FASTCODE(foo)(int arg) { ... }
2016-10-19esp8266/esp8266.ld: Move main.o to iROM.Paul Sokolovsky
2016-10-19esp8266/esp8266.ld: Move modmachine.o to iROM.Paul Sokolovsky
2016-10-19esp8266/esp8266.ld: Move help.o to iROM.Paul Sokolovsky
2016-10-18esp8266/esp_init_data: Auto-initialize system params with vendor SDK 2.0.0.Paul Sokolovsky
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.
2016-10-18esp8266/Makefile: Use latest esptool.py flash size auto-detection.Paul Sokolovsky
2016-10-16esp8266, stmhal, unix: MAKE_FROZEN is consistently defined in mkenv.mk.Paul Sokolovsky
2016-10-14extmod/utime_mphal: Factor out implementations in terms of mp_hal_* for reuse.Paul Sokolovsky
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.
2016-10-14esp8266: Enable micropython.alloc_emergency_exception_buf().Damien George
2016-10-12esp8266: Enable importing of precompiled .mpy files.Damien George
2016-10-12esp8266: Enable sys.{stdin,stdout,stderr}.buffer for raw serial access.Damien George
2016-10-11esp8266/mpconfigport: Enable MICROPY_PY_BUILTINS_SLICE_ATTRSRadomir Dopieralski
2016-10-09esp8266: Make neopixel support configurable.Paul Sokolovsky
To save iRAM.
2016-10-07esp8266: Use mp_raise_OSError helper function.Damien George
2016-10-07esp8266: Add FLASH_MODE,FLASH_SIZE options for make deploy target.dmanso
Added options to make deploy so it can be used for ESP8266 boards with other flash configurations. For example NodeMCU DEVKIT V1.0 can now use: $ make FLASH_MODE=dio FLASH_SIZE=32m deploy
2016-10-06esp8266: Make PY_UHASHLIB_SHA1 config depend on PY_USSL and SSL_AXTLS.Damien George
SHA1 can only be supported if ussl module is compiled in, and it uses axtls.
2016-10-05esp8266/modpybrtc.c: Implement machine.RTC.alarm_left()puuu
Implementation of machine.RTC.alarm_left(), like described in the documentation.
2016-10-05esp8266/main: Put /lib before / in sys.path.Paul Sokolovsky
upip will use first non-empty component in sys.path as an install path (if MICROPYPATH envvar is not set, like it will be for baremetal targets).
2016-10-04esp8266/modmachine: idle(): Return number of CPU cycles spent idling.Paul Sokolovsky
Useful to better understand esp8266 inner workings and compare behavior in different cases.
2016-10-04extmod/machine_spi: Use delay_half, not baudrate, for internal timing.Damien George
The delay_half parameter must be specified by the port to set up the timing of the software SPI. This allows the port to adjust the timing value to better suit its timing characteristics, as well as provide a more accurate printing of the baudrate.
2016-10-03esp8266/moduos: Move stat/statvfs funcs to sit within #if VFS guard.Damien George
2016-10-03extmod/machine_spi: Factor out software SPI code from esp8266 to extmod.Damien George
2016-10-03extmod/machine_spi: Simplify SPI xfer function to only take one buf len.Damien George
There is no need to take src_len and dest_len arguments. The case of reading-only with a single output byte (originally src_len=1, dest_len>1) is now handled by using the output buffer as the input buffer, and using memset to fill the output byte into this buffer. This simplifies the implementations of the spi_transfer protocol function.
2016-09-29lib/interrupt_char: Factor out typical Ctrl+C handling from esp8266 port.Paul Sokolovsky
Utility functions for keyboard interrupt handling, to be reused across (baremetal) ports.
2016-09-27esp8266: Add uos.statvfs() to get filesystem status.Alex March
2016-09-22all: Remove 'name' member from mp_obj_module_t struct.Damien George
One can instead lookup __name__ in the modules dict to get the value.
2016-09-20esp8266: Extend system microsecond counter to 64-bits; use in ticks_ms.Damien George
So now ticks_ms can count up to the full 30 bits. Fixes issue #2412.
2016-09-19esp8266/esp_mphal: Add tentative change to mp_hal_stdin_rx_chr() to wait IRQ.Paul Sokolovsky
Instead of busy-looping waiting for UART input. Not enabled by default, needs more testing.
2016-09-18esp8266/ets_alt_task: ets_post: Should return 0 on success, !0 - failure.Paul Sokolovsky
2016-09-17py: Move frozen modules rules from esp8266 port for reuse across ports.Paul Sokolovsky
A port now just needs to define FROZEN_DIR var and add $(BUILD)/frozen.c to SRC_C to support frozen modules.
2016-09-17esp8266/Makefile: Rename SCRIPTDIR to FROZEN_DIR for consistency.Paul Sokolovsky
With FROZEN_MPY_DIR.
2016-09-08stmhal,cc3200,esp8266: Consistently use PWRON_RESET constant.Damien George
machine.POWER_ON is renamed to machine.PWRON_RESET to match other reset-cause constants that all end in _RESET. The cc3200 port keeps a legacy definition of POWER_ON for backwards compatibility.
2016-09-07esp8266/modmachine: Map PWR_ON_RESET to vendor's REASON_DEFAULT_RST.Paul Sokolovsky
When dealing with a board which controls chip reset with UART's DTR/RTS, we never see REASON_DEFAULT_RST (0), only REASON_EXT_SYS_RST (6). However, trying a "raw" module with with just TXD/RXD UART connection, on power up it has REASON_DEFAULT_RST as a reset reason.
2016-09-06esp8266/modnetwork: Fix wlan.scan() method so it returns all networks.Damien George
According to the Arduino ESP8266 implementation the first argument to the wifi scan callback is actually a bss_info pointer. This patch fixes the iteration over this data so the first 2 entries are no longer skipped. Fixes issue #2372.
2016-09-06esp8266/espneopixel: Disable IRQs during eps.neopixel_write.Torsten Wagner
Interrupts during neopixel_write causes timing problems and therefore wrong light patterns. Switching off IRQs should help to keep the strict timing schedule.
2016-09-05unix,stmhal,esp8266: When find'ing frozen files follow symbolic links.Damien George
It's useful to be able to use symbolic links to add files and directories to the set of scripts to be frozen.
2016-09-05py: Add MICROPY_USE_INTERNAL_PRINTF option, defaults to enabled.Delio Brignoli
This new config option allows to control whether MicroPython uses its own internal printf or not (if not, an external one should be linked in). Accompanying this new option is the inclusion of lib/utils/printf.c in the core list of source files, so that ports no longer need to include it themselves.
2016-09-04esp8266/modmachine: Simplify SPI class implementation multiplexing.Paul Sokolovsky
modpybhspi now does the needed multiplexing, calling out to modpybspi (bitbanging SPI) for suitable peripheral ID's. modmachinespi (previous multiplexer class) thus not needed and removed. modpybhspi also updated to following standard SPI peripheral naming: SPI0 is used for FlashROM and thus not supported so far. SPI1 is available for users, and thus needs to be instantiated as: spi = machine.SPI(1, ...)
2016-09-04esp8266/modmachine: Don't expose internal SoftSPI and HSPI classes.Paul Sokolovsky
There functionality is available via standard SPI class.
2016-09-04esp8266/modmachine: Add WDT_RESET and SOFT_RESET constants.Paul Sokolovsky
Both tested to work. (WDT_RESET can be seen by issuing machine.disable_irq() and waiting for WDT reset, SOFT_RESET - by machine.reset()).
2016-09-03esp8266/modmachinewdt: Add .deinit() method.Paul Sokolovsky
2016-09-03esp8266/esp8266.ld: Move modmachinewdt to FlashROM.Paul Sokolovsky
2016-09-01esp8266/modpybhspi: Simplify HSPI driver by using 1 function for xfers.Damien George
2016-09-01esp8266/modpybspi: Use generic SPI helper methods to implement SPI.Damien George
2016-08-31unix,stmhal,esp8266: When find'ing frozen files don't use extra slash.Damien George
This extra forward slash for the starting-point directory is unnecessary and leads to additional slashes on Max OS X which mean that the frozen files cannot be imported. Fixes #2374.