summaryrefslogtreecommitdiff
path: root/esp8266
AgeCommit message (Collapse)Author
2017-08-21esp8266: Fix UART stop bit constants.Ein Terakawa
As per the "ESP8266 Technical Reference".
2017-08-21all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros.Damien George
2017-08-13all: Raise exceptions via mp_raise_XXXJavier Candeira
- Changed: ValueError, TypeError, NotImplementedError - OSError invocations unchanged, because the corresponding utility function takes ints, not strings like the long form invocation. - OverflowError, IndexError and RuntimeError etc. not changed for now until we decide whether to add new utility functions.
2017-08-11all: Make use of $(TOP) variable in Makefiles, instead of "..".Damien George
$(TOP) is defined in py/mkenv.mk and should be used to refer to the top level of this repository.
2017-08-11minimal,esp8266,pic16bit: Remove unused stmhal include from Makefile.Damien George
2017-07-31all: Use the name MicroPython consistently in commentsAlexander Steffen
There were several different spellings of MicroPython present in comments, when there should be only one.
2017-07-30esp8266: Convert to mp_rom_map_elem_t.Paul Sokolovsky
2017-07-30esp8266/modesp: Remove unused constants: STA_MODE, etc.Paul Sokolovsky
WiFi mode selection happens on the level of individual interfaces.
2017-07-19esp8266/mpconfigport.h: Make socket a weak linkAlex Robbins
This way it can be overridden by a socket module in Python, as in other ports.
2017-07-19all: Remove trailing spaces, per coding conventions.Damien George
2017-07-18all: Unify header guard usage.Alexander Steffen
The code conventions suggest using header guards, but do not define how those should look like and instead point to existing files. However, not all existing files follow the same scheme, sometimes omitting header guards altogether, sometimes using non-standard names, making it easy to accidentally pick a "wrong" example. This commit ensures that all header files of the MicroPython project (that were not simply copied from somewhere else) follow the same pattern, that was already present in the majority of files, especially in the py folder. The rules are as follows. Naming convention: * start with the words MICROPY_INCLUDED * contain the full path to the file * replace special characters with _ In addition, there are no empty lines before #ifndef, between #ifndef and one empty line before #endif. #endif is followed by a comment containing the name of the guard macro. py/grammar.h cannot use header guards by design, since it has to be included multiple times in a single C file. Several other files also do not need header guards as they are only used internally and guaranteed to be included only once: * MICROPY_MPHALPORT_H * mpconfigboard.h * mpconfigport.h * mpthreadport.h * pin_defs_*.h * qstrdefs*.h
2017-07-04esp8266/mpconfigport_512k: Use terse error messages to get 512k to fit.Damien George
2017-06-28esp8266,minimal,pic16bit: Use size_t for mp_builtin_open argument.Alexander Steffen
py/builtin.h declares mp_builtin_open with the first argument of type size_t. Make all implementations conform to this declaration.
2017-06-26esp8266/machine_rtc: Use correct arithmetic for aligning RTC mem len.Damien George
2017-06-24esp8266/README: Make "Documentation" a top-level section.Paul Sokolovsky
2017-06-23esp8266: Enable MICROPY_ENABLE_FINALISER.Paul Sokolovsky
GC finalization should be enabled for modlwip, or it may lead to GC problems with socket objects. This decreases usable heap size from 36288 to 35968 (-320) bytes.
2017-06-22esp8266: Move mp_hal_pin_open_drain from esp_mphal.c to machine_pin.c.Damien George
It belongs with the other pin config functions in machine_pin.c. Also, esp_mphal.c is put in iRAM so this change saves about 300 bytes of iRAM (and mp_hal_pin_open_drain is not a time critical function so doesn't need to be in iRAM).
2017-06-22esp8266: Reinstate 1-wire scripts by sym-linking to drivers/onewire/.Damien George
No changes have been made to the code, the files just moved.
2017-06-22drivers/onewire: Move onewire.py, ds18x20.py from esp8266 to drivers.Damien George
These drivers can now be used by any port (so long as that port has the _onewire driver from extmod/modonewire.c). These drivers replace the existing 1-wire and DS18X20 drivers in the drivers/onewire directory. The existing ones were pyboard-specific and not very efficient nor minimal (although the 1-wire driver was written in pure Python it only worked at large enough CPU frequency). This commit brings backwards incompatible API changes to the existing 1-wire drivers. User code should be converted to use the new drivers, or check out the old version of the code and keep a local copy (it should continue to work unchanged).
2017-06-22extmmod/modonewire: Rename public module to mp_module_onewire.Damien George
This follows naming scheme of other modules in extmod.
2017-06-22extmod: Move modonewire.c from esp8266 to extmod directory.Damien George
It's now generic enough to be used by any port.
2017-06-22esp8266/modonewire: Make timings static and remove onewire.timings func.Damien George
The 1-wire bus is defined with fixed timings so there should be no need to change them dynamically at runtime. Making the timings fixed saves about 270 bytes of code and 20 bytes of RAM.
2017-06-22esp8266/modonewire: Move low-level 1-wire bus code to modonewire.c.Damien George
The reason it was separated is so that the low-level code could be put in iRAM, for timing reasons. But: 1. Tests show that it's not necessary to have this code in iRAM for it to function correctly, and taking it out of iRAM reclaims some of that precious resource. Furthermore, even though these functions were in iRAM there were some functions that it called (eg pin get/set functions) which were not in iRAM, so partially defeated the purpose of putting the 1-wire code in iRAM. 2. It's easier to reuse this 1-wire code in other ports if it's in a single file. 3. If it turns out that certain code does need to be in iRAM then one can use the MP_FASTCODE macro to do that.
2017-06-20esp8266: Make onewire module and support code usable by other ports.Damien George
2017-06-20esp8266/Makefile: Add LIB_SRC_C variable to qstr auto-extraction list.Damien George
2017-06-15stmhal: Move pybstdio.c to lib/utils/sys_stdio_mphal.c for common use.Damien George
It provides sys.stdin, sys.stdout, sys.stderr for bare-metal targets based on mp_hal functions.
2017-06-15esp8266/Makefile: Allow FROZEN_DIR,FROZEN_MPY_DIR to be overridden.Damien George
2017-06-15all: Make more use of mp_raise_{msg,TypeError,ValueError} helpers.Damien George
2017-06-14esp8266/Makefile: Bump axTLS TLS record buffer size to 5K.Paul Sokolovsky
The latest fashion is pushing certificate sub-chains, instead of a single certificate, during TLS handshake. These are pushed via single TLS record and effectively put minimum size limit on TLS record buffer. Recently, these commonly grew over 4K, so we have little choice but to adjust.
2017-06-10esp8266/Makefile: Add clean-modules target.Paul Sokolovsky
Helpful when dealing with frozen modules (and whole applications).
2017-06-08esp8266/Makefile: replace references to make with $(MAKE)Tamas TEVESZ
make is not always GNU make; the latter may go by different names. This helps builds on systems where the default make is not GNU make.
2017-06-01ports: Convert from using stmhal's input() to core provided version.Damien George
2017-05-29various: Spelling fixesVille Skyttä
2017-05-26esp8266/mpconfigport.h: Remove duplicate link to lwip module.Damien George
It's already included in the core when MICROPY_PY_LWIP is defined.
2017-05-26esp8266/modules: Mount filesystem at root when creating for first time.Damien George
2017-05-21esp8266, stmhal, zephyr: Rename machine.Pin high/low methods to on/off.Paul Sokolovsky
For consistent Pin/Signal class hierarchy. With it, Signal is a proper (while still ducktyped) subclass of a Pin, and any (direct) usage of Pin can be replace with Signal. As stmhal's class is reused both as machine.Pin and legacy pyb.Pin, high/low methods actually retained there.
2017-05-19esp8266/machine_uart: Add uart.any() method.Damien George
Returns 0 or 1, corresponding to no or at least 1 char waiting.
2017-05-16esp8266/modnetwork: In connect, fix potential buffer overflows.puuu
2017-05-13esp8266/ets_alt_task.c: Prevent spurious large increment of ticks_ms()Robert HH
This happened when the overflow counter for ticks_ms() was interrupted by an external hard interrupt (issue #3076).
2017-05-12esp8266/scripts: Move initsetup & port_diag tools to modules/.Paul Sokolovsky
2017-05-12esp8266/scripts: Move drivers/modules to modules/ (frozen bytecode).Paul Sokolovsky
2017-05-12esp8266/modules/flashbdev: Reserve one sector for native code storage.Paul Sokolovsky
2017-05-12esp8266/modesp: flash_user_start: Use value from linker script.Paul Sokolovsky
Make esp8266_common.ld export size reserved to all code segments, and use that in esp.flash_user_start() implementation.
2017-05-12esp8266/esp8266.ld, esp8266_ota.ld: Grow main firmware size by 32KB.Paul Sokolovsky
To accommodate both system and user frozen modules.
2017-05-10ports: Add ilistdir in uos module.Damien George
2017-05-05esp8266: Change default settings to mount flash at root dir.Damien George
2017-04-14esp8266/README: Add notice about 512K version.Paul Sokolovsky
2017-04-14esp8266/README: Replace reference of alpha status to beta status.Paul Sokolovsky
2017-04-11extmod/machine_signal: Support all Pin's arguments to the constructor.Paul Sokolovsky
This implements the orginal idea is that Signal is a subclass of Pin, and thus can accept all the same argument as Pin, and additionally, "inverted" param. On the practical side, it allows to avoid many enclosed parenses for a typical declararion, e.g. for Zephyr: Signal(Pin(("GPIO_0", 1))). Of course, passing a Pin to Signal constructor is still supported and is the most generic form (e.g. Unix port will only support such form, as it doesn't have "builtin" Pins), what's introduces here is just practical readability optimization. "value" kwarg is treated as applying to a Signal (i.e. accounts for possible inversion).
2017-04-03esp8266: Remove unused entry in port root pointers.Damien George