aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-03-11docs: Add Python speed optimisation guide, including minimal viper ref.Peter Hinch
2016-03-11docs: Update details on using ADCAll object for vref/vbat channels.Peter Hinch
2016-03-11docs: Update asm_thumb2_hints_tips re return type of asm funcs.Peter Hinch
2016-03-11esp8266: Mention git submodule in build instructions for esp8266 port.Christopher Arndt
2016-03-11esp8266: Rejig Makefile so extmod/modlwip.o is placed under build/.Damien George
2016-03-11esp8266: Define MICROPY_EVENT_POLL_HOOK for the port.Paul Sokolovsky
2016-03-11esp8266: Be sure to build ets_alt_task.Paul Sokolovsky
2016-03-11esp8266/esp_mphal: Add higher-level event polling function.Paul Sokolovsky
ets_event_poll() polls both system events and uPy pending exception.
2016-03-11extmod/modlwip: Use MICROPY_EVENT_POLL_HOOK for event polling if defined.Paul Sokolovsky
Instead of just delaying 100ms if event isn't yet ready. So far applies only to default, "infinite" socket timeout.
2016-03-11esp8266/ets_alt_task: Update for vendor SDK 1.5.0.Paul Sokolovsky
SDK 1.5.0 has a task with priority 3: ets_task(401001f4, 3, 3fff9808, 4). Recognizing SDK version requires the latets esp-open-sdk build.
2016-03-11esp8266/ets_alt_task: Be sure to "pop" event before calling its handler.Paul Sokolovsky
Otherwise, if handler calls recursive event loop, there's infinite recursion (because the loop calls the same handler on same event again).
2016-03-11esp8266: Feed WDT in ets_loop_iter().Damien George
2016-03-11esp8266: Add alternative event loop implementation.Paul Sokolovsky
This implementation provides the same interface and uses the same datastructures as used by BootROM, i.e. is a drop-in replacement for it. But it offers one advantage: it allows to run single iteration of event-pumping loop. Original BootROM function are renamed, prefixed with underscore. There's a switch which allows to use forward calls to them, for compatibility testing. The implementation also includes workarounds for hardware timer handler, and these workarounds may be SDK version specific.
2016-03-10py: Use MP_SMALL_INT_POSITIVE_MASK to check if uint fits in a small int.Damien George
Using the original WORD_MSBIT_HIGH-logic resulted in errors when the object model is not REPR_A or REPR_C.
2016-03-10esp8266/modnetwork: Add symbolic names for network interfaces: STA_IF & AP_IF.Paul Sokolovsky
These are expected to be passed to network.WLAN() to instantiate network interface objects.
2016-03-10esp8266/modnetwork: Introduce interface .config() method.Paul Sokolovsky
Allows to set (in case keyword args are given) or query (in case a single "symbolic keyword" (a string, value is the same as keyword)) arbitrary interface paramters (i.e. extensible and adaptable to various hardware). Example usage: ap_if = network.WLAN(1) ap_if.config(essid="MicroPython on Air") print(ap_if.config("essid"))
2016-03-10esp8266/modnetwork: Move config defines to the top.Paul Sokolovsky
2016-03-10esp8266/modnetwork: Add per-interface .active() method.Paul Sokolovsky
Allows to up/down interface when called with a boolean, or query current state if called without args. This per-interface method is intended to supersede adhoc network.wifi_mode() function.
2016-03-10esp8266: Move wifi_mode() and phy_mode() to network module.Paul Sokolovsky
2016-03-10esp8266/modnetwork: Allow to configure STA and AP interfaces separately.Paul Sokolovsky
On ESP8266, there're 2 different interfaces. Pretending it's not the case desn't make sense. So, network.WLAN() now takes interface id, and returns interface object. Individual operations are then methods of interface object. Some operations require i/f of specific type (e.g. .connect() makes sense only for STA), other are defined for any (e.g. .ifconfig(), .mac()).
2016-03-09stmhal: Add makefile target and configuration to deploy via OpenOCD.Christopher Arndt
2016-03-09stmhal: Add support for generic STM32F439 board (non DISCO).Ryan Shaw
2016-03-09mpy-cross: Remove setting of MICROPY_FORCE_32BIT=1 from Makefile.Damien George
Building in 32-bit mode was only to reduce binary size on 64-bit machines and is otherwise not needed. Having it forced to 32-bit meant an unnecessary dependency on 32-bit libraries that is now removed.
2016-03-09stmhal: Add makefile target to deploy stmhal build via ST-LINK.Christopher Arndt
2016-03-09docs/esp8266: Fix indent errors, typos, and add info about REPL UART.Damien George
2016-03-09docs: Allow list of versions to be specified by environment variable.Damien George
2016-03-09docs: Add versions.html template and support code for a version sidebar.Damien George
2016-03-09docs/esp8266: Minor tweaks to quickref, Timer and I2C classes.Damien George
2016-03-09extmod/modlwip: Factor out "socket connected" check to a function.Paul Sokolovsky
Same code repeated for each send*() and recv*() function.
2016-03-09extmod/modlwip: Support non-blocking recv().Paul Sokolovsky
2016-03-09extmod/modlwip: Add .write() stream method.Paul Sokolovsky
2016-03-09extmod/modlwip: Still process remaining incoming data of a closed socket.Damien George
It can happen that a socket gets closed while the pbuf is not completely drained by the application. It can also happen that a new pbuf comes in via the recv callback, and then a "peer closed" event comes via the same callback (pbuf=NULL) before the previous event has been handled. In both cases the socket is closed but there is remaining data. This patch makes sure such data is passed to the application.
2016-03-09extmod/modlwip: Check for state change during recv busy-wait loop.Damien George
For example, the peer may close the connection while recv is waiting for incoming data.
2016-03-09extmod/modlwip: Add stream .read() and .readline() methods.Paul Sokolovsky
2016-03-09extmod/modlwip: Add dummy .makefile() method.Paul Sokolovsky
2016-03-09extmod/modlwip: Add stream protocol read method.Paul Sokolovsky
2016-03-09esp8266: Move pyb.freq to machine.freq.Damien George
2016-03-08docs: Add esp8266 quick reference page, with basic info.Damien George
2016-03-08py/objboundmeth: Allocate arg state on stack if heap alloc fails.Damien George
If the heap is locked, or memory allocation fails, then calling a bound method will still succeed by allocating the argument state on the stack. The new code also allocates less stack than before if less than 4 arguments are passed. It's also a tiny bit smaller in code size. This was done as part of the ESA project.
2016-03-08stmhal: Add stmhal-specific README.md with extra details for this port.Damien George
2016-03-08stmhal: Switch from dfu-util to tools/pydfu.py for deflt deploy method.Damien George
tools/pydfu.py is now the recommended way of deploying a DFU file. Old behaviour of dfu-util can be obtained by passing USE_PYDFU=0 when invoking make. The main README.md file has been updated to reflect this change.
2016-03-08tests/run-tests: Simplify handling of newline in output from tests.Damien George
Now, all output has newlines converted to \n, regardless of port or platform.
2016-03-08extmod/modlwip: Implement dummy setsockopt().Paul Sokolovsky
2016-03-08esp8266/main: Module to run on boot is "boot", not "main".Paul Sokolovsky
2016-03-08extmod/modlwip: Add .print() method.Paul Sokolovsky
2016-03-08esp8266: Put more code in iROM section.Damien George
Also explicitly name the py/*.o files in the linker file, to enable easy testing of putting certain ones in iRAM.
2016-03-08extmod/modlwip: Update make_new() arguments for recent refactor.Paul Sokolovsky
2016-03-08esp8266/Makefile: Add define for ESP8266 lwIP.Paul Sokolovsky
2016-03-08esp8266: Enable modlwip.Damien George
2016-03-08esp8266: Don't gc-collect BSS.Paul Sokolovsky
None of the other ports do, since introduction of mp_state_ctx_t. In the case of current esp8266 port, heap is inside BSS, so scanning it picked up a lot of dead pointers.