summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
Commit message (Collapse)AuthorAge
* 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
|
* all: Move BYTES_PER_WORD definition from ports to py/mpconfig.hDamien George2017-04-01
| | | | | It can still be overwritten by a port in mpconfigport.h but for almost all cases one can use the provided default.
* all: Use full path name when including mp-readline/timeutils/netutils.Damien George2017-03-31
| | | | | | | 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.
* esp8266: Update for changes to mp_obj_str_get_data.Damien George2017-03-29
|
* esp8266: Update to use size_t for tuple/list accessors.Damien George2017-03-29
|
* esp8266/modesp: Remove long-obsolete and unused espconn bindings.Damien George2017-03-27
|
* esp8266/modesp: Use mp_obj_str_get_str instead of mp_obj_str_get_data.Damien George2017-03-26
|
* py/modbuiltins: For round() builtin use nearbyint instead of round.Damien George2017-03-24
| | | | | | | | | | | | | | 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.
* all/Makefile: Remove -ansi from GCC flags, its ignored anyway.Krzysztof Blazewicz2017-03-23
| | | | | | 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.
* esp8266/machine_pin: Fix pin.irq() to work when all args are keywords.Damien George2017-03-21
|
* esp8266/machine_pin: Fix memset size for zeroing of pin_irq_is_hard.Damien George2017-03-21
| | | | Thanks to @robert-hh.
* esp8266/machine_pin: Make pin.irq arguments positional.Damien George2017-03-20
| | | | | | | | All arguments to pin.irq are converted from keyword-only to positional, and can still be specified by keyword so it's a backwards compatible change. The default value for the "trigger" arg is changed from 0 (no trigger) to rising+falling edge.
* esp8266/machine_pin: Add "hard" parameter to pin.irq, soft by default.Damien George2017-03-20
|