aboutsummaryrefslogtreecommitdiff
path: root/esp8266/Makefile
AgeCommit message (Collapse)Author
2017-09-06ports: Make new ports/ sub-directory and move all ports there.Damien George
This is to keep the top-level directory clean, to make it clear what is core and what is a port, and to allow the repository to grow with new ports in a sustainable way.
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-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: 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/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-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-03-31all: Use full path name when including mp-readline/timeutils/netutils.Damien George
This follows the pattern of how all other headers are now included, and makes it explicit where the header file comes from. This patch also removes -I options from Makefile's that specify the mp-readline/timeutils/ netutils directories, which are no longer needed.
2017-03-24py/modbuiltins: For round() builtin use nearbyint instead of round.Damien George
The C nearbyint function has exactly the semantics that Python's round() requires, whereas C's round() requires extra steps to handle rounding of numbers half way between integers. So using nearbyint reduces code size and potentially eliminates any source of errors in the handling of half-way numbers. Also, bare-metal implementations of nearbyint can be more efficient than round, so further code size is saved (and efficiency improved). nearbyint is provided in the C99 standard so it should be available on all supported platforms.
2017-03-23all/Makefile: Remove -ansi from GCC flags, its ignored anyway.Krzysztof Blazewicz
The -ansi flag is used for C dialect selection and it is equivalent to -std=c90. Because it goes right before -std=gnu99 it is ignored as for conflicting flags GCC always uses the last one.
2017-01-27esp8266: Switch to use OO version of FatFs library.Damien George
2017-01-22esp8266: Convert to use builtin help function.Damien George
2017-01-04esp8266/Makefile: Put firmware-ota.bin in build/, for consistency.Paul Sokolovsky
2017-01-02esp8266/Makefile: Produce OTA firmware as firmware-ota.bin.Paul Sokolovsky
2016-12-20esp8266: Force relinking OTA firmware image if built after normal one.Paul Sokolovsky
2016-12-15esp8266: Add "erase" target to Makefile, to erase entire flash.Mike Causer
2016-12-14esp8266: Add "ota" target to produce firmware binary for use with yaota8266.Paul Sokolovsky
https://github.com/pfalcon/yaota8266 is a (WIP) OTA-enabled bootloader which doesn't require reserving space 2x size of a firmware.
2016-12-08esp8266: Refactor to use extmod implementation of software SPI class.Damien George
2016-11-08py: Move frozen bytecode Makefile rules from ports to common mk files.Damien George
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.
2016-11-06esp8266: Rename "machine" module implementation to use contemporary naming.Paul Sokolovsky
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).
2016-10-25esp8266: Add support for building firmware version for 512K modules.Paul Sokolovsky
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.
2016-10-22esp8266/Makefile: deploy: Remove deprecated line.Paul Sokolovsky
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-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-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-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-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-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-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.
2016-08-28esp8266/modmachinewdt: Implement machine.WDT class.Paul Sokolovsky
2016-08-19esp8266/modmachinespi: Add a factory method for SoftSPI/HSPIRadomir Dopieralski
2016-08-19esp8266/modpybhspi: Add a HSPI module for hardware SPI supportRadomir Dopieralski
This module uses ESP8266's SPI hardware, which allows much higher speeds. It uses a library from https://github.com/MetalPhreak/ESP8266_SPI_Driver
2016-07-31esp8266: Enable btree module.Paul Sokolovsky
2016-07-16esp8266: Cache Xtensa-built libaxtls.a in local build dir.Paul Sokolovsky
Allows to build the library variant for other archs in parallel.
2016-07-13esp8266: Select axTLS for SSL implementation, following recent refactor.Paul Sokolovsky
2016-06-29esp8266: Enable frozen bytecode, with scripts in modules/ subdir.Damien George
To start with, the critical scripts _boot.py and flashbdev.py are frozen to improve performance and reduce RAM consumption. Saves about 1000 bytes of heap RAM for a bare boot with filesystem.
2016-06-12esp8266/Makefile: Enable --verify option for esptool.py write_flash.Paul Sokolovsky
Based on my experience, there's rather non-zero chance to have an image be flashed incorrectly. As --verify option is now works well in teh latest esptool.py, enable it by default.
2016-05-27esp8266/Makefile: Document "disable" value for UART_OS.Paul Sokolovsky
2016-05-26esp8266: Enable DHT C-level driver.Damien George
Exposed as esp.dht_readinto. Probably should go somewhere less port-specific.
2016-05-19esp8266: Add APA102 serial individually controllable LEDs support.misterdanb
APA102 is a new "smart LED", similar to WS2812 aka "Neopixel".