summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
Commit message (Collapse)AuthorAge
* esp8266: Fix UART stop bit constants.Ein Terakawa2017-08-21
| | | | As per the "ESP8266 Technical Reference".
* all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros.Damien George2017-08-21
|
* all: Raise exceptions via mp_raise_XXXJavier Candeira2017-08-13
| | | | | | | | - 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.
* all: Make use of $(TOP) variable in Makefiles, instead of "..".Damien George2017-08-11
| | | | | $(TOP) is defined in py/mkenv.mk and should be used to refer to the top level of this repository.
* minimal,esp8266,pic16bit: Remove unused stmhal include from Makefile.Damien George2017-08-11
|
* all: Use the name MicroPython consistently in commentsAlexander Steffen2017-07-31
| | | | | There were several different spellings of MicroPython present in comments, when there should be only one.
* esp8266: Convert to mp_rom_map_elem_t.Paul Sokolovsky2017-07-30
|
* esp8266/modesp: Remove unused constants: STA_MODE, etc.Paul Sokolovsky2017-07-30
| | | | WiFi mode selection happens on the level of individual interfaces.
* esp8266/mpconfigport.h: Make socket a weak linkAlex Robbins2017-07-19
| | | | | This way it can be overridden by a socket module in Python, as in other ports.
* all: Remove trailing spaces, per coding conventions.Damien George2017-07-19
|
* all: Unify header guard usage.Alexander Steffen2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* esp8266/mpconfigport_512k: Use terse error messages to get 512k to fit.Damien George2017-07-04
|
* esp8266,minimal,pic16bit: Use size_t for mp_builtin_open argument.Alexander Steffen2017-06-28
| | | | | py/builtin.h declares mp_builtin_open with the first argument of type size_t. Make all implementations conform to this declaration.
* esp8266/machine_rtc: Use correct arithmetic for aligning RTC mem len.Damien George2017-06-26
|
* esp8266/README: Make "Documentation" a top-level section.Paul Sokolovsky2017-06-24
|
* esp8266: Enable MICROPY_ENABLE_FINALISER.Paul Sokolovsky2017-06-23
| | | | | | 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.
* esp8266: Move mp_hal_pin_open_drain from esp_mphal.c to machine_pin.c.Damien George2017-06-22
| | | | | | | 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).
* esp8266: Reinstate 1-wire scripts by sym-linking to drivers/onewire/.Damien George2017-06-22
| | | | No changes have been made to the code, the files just moved.
* drivers/onewire: Move onewire.py, ds18x20.py from esp8266 to drivers.Damien George2017-06-22
| | | | | | | | | | | | | | | 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).
* extmmod/modonewire: Rename public module to mp_module_onewire.Damien George2017-06-22
| | | | This follows naming scheme of other modules in extmod.
* extmod: Move modonewire.c from esp8266 to extmod directory.Damien George2017-06-22
| | | | It's now generic enough to be used by any port.
* esp8266/modonewire: Make timings static and remove onewire.timings func.Damien George2017-06-22
| | | | | | 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.
* esp8266/modonewire: Move low-level 1-wire bus code to modonewire.c.Damien George2017-06-22
| | | | | | | | | | | | | | | | | 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.
* esp8266: Make onewire module and support code usable by other ports.Damien George2017-06-20
|
* esp8266/Makefile: Add LIB_SRC_C variable to qstr auto-extraction list.Damien George2017-06-20
|
* stmhal: Move pybstdio.c to lib/utils/sys_stdio_mphal.c for common use.Damien George2017-06-15
| | | | | It provides sys.stdin, sys.stdout, sys.stderr for bare-metal targets based on mp_hal functions.
* esp8266/Makefile: Allow FROZEN_DIR,FROZEN_MPY_DIR to be overridden.Damien George2017-06-15
|
* all: Make more use of mp_raise_{msg,TypeError,ValueError} helpers.Damien George2017-06-15
|
* esp8266/Makefile: Bump axTLS TLS record buffer size to 5K.Paul Sokolovsky2017-06-14
| | | | | | | 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.
* esp8266/Makefile: Add clean-modules target.Paul Sokolovsky2017-06-10
| | | | Helpful when dealing with frozen modules (and whole applications).
* esp8266/Makefile: replace references to make with $(MAKE)Tamas TEVESZ2017-06-08
| | | | | 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.
* ports: Convert from using stmhal's input() to core provided version.Damien George2017-06-01
|
* various: Spelling fixesVille Skyttä2017-05-29
|
* esp8266/mpconfigport.h: Remove duplicate link to lwip module.Damien George2017-05-26
| | | | It's already included in the core when MICROPY_PY_LWIP is defined.
* esp8266/modules: Mount filesystem at root when creating for first time.Damien George2017-05-26
|
* esp8266, stmhal, zephyr: Rename machine.Pin high/low methods to on/off.Paul Sokolovsky2017-05-21
| | | | | | | | | 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.
* esp8266/machine_uart: Add uart.any() method.Damien George2017-05-19
| | | | Returns 0 or 1, corresponding to no or at least 1 char waiting.
* esp8266/modnetwork: In connect, fix potential buffer overflows.puuu2017-05-16
|
* esp8266/ets_alt_task.c: Prevent spurious large increment of ticks_ms()Robert HH2017-05-13
| | | | | This happened when the overflow counter for ticks_ms() was interrupted by an external hard interrupt (issue #3076).
* esp8266/scripts: Move initsetup & port_diag tools to modules/.Paul Sokolovsky2017-05-12
|
* esp8266/scripts: Move drivers/modules to modules/ (frozen bytecode).Paul Sokolovsky2017-05-12
|
* esp8266/modules/flashbdev: Reserve one sector for native code storage.Paul Sokolovsky2017-05-12
|
* esp8266/modesp: flash_user_start: Use value from linker script.Paul Sokolovsky2017-05-12
| | | | | Make esp8266_common.ld export size reserved to all code segments, and use that in esp.flash_user_start() implementation.
* esp8266/esp8266.ld, esp8266_ota.ld: Grow main firmware size by 32KB.Paul Sokolovsky2017-05-12
| | | | To accommodate both system and user frozen modules.
* ports: Add ilistdir in uos module.Damien George2017-05-10
|
* esp8266: Change default settings to mount flash at root dir.Damien George2017-05-05
|
* esp8266/README: Add notice about 512K version.Paul Sokolovsky2017-04-14
|
* esp8266/README: Replace reference of alpha status to beta status.Paul Sokolovsky2017-04-14
|
* extmod/machine_signal: Support all Pin's arguments to the constructor.Paul Sokolovsky2017-04-11
| | | | | | | | | | | | | | | | | 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).
* esp8266: Remove unused entry in port root pointers.Damien George2017-04-03
|