aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-03-16py: Don't allocate an extra parse node for power exponent.Damien George
Previous to this patch, the "**b" in "a**b" had its own parse node with just one item (the "b"). Now, the "b" is just the last element of the power parse-node. This saves (a tiny bit of) RAM when compiling.
2016-03-16py/frozenmod: Allow port to override lexer to use for frozen modules.Paul Sokolovsky
2016-03-16tests: Add a test for argument passing to inline-asm functions.Damien George
2016-03-16py/objfun: Allow inline-asm functions to be called with 4 arguments.Damien George
2016-03-15qemu-arm: Enable builtin override feature, and enable more tests.Damien George
Hopefully these tests run reliably on Travis.
2016-03-15qemu-arm: Reinitialise uPy heap and runtime at start of each test.Damien George
Previous to this patch, all qemu-arm tests were running in the same session, and global variables could be left over from the previous test. This patch makes it so that the heap and runtime are reinitialised at the start of each test.
2016-03-15tests: Add new subdir "stress/" specifically for stress tests.Damien George
2016-03-15tests: Split large tests into smaller files, to run with a small heap.Damien George
All tests in basics/ directory can now run and pass using 64-bit unix port with only a 16k heap (./run-tests --heapsize 16k). Tests in this directory should remain small so they can be used for ports with a small heap.
2016-03-15tests/run-tests: Add cmd line option "--heapsize".Damien George
This allows you to specify the heapsize that unix will use when running the test suite, eg: ./run-tests --heapsize 16k
2016-03-15py/formatfloat: Fix buffer overflow when formatting tiny numbers.Damien George
2016-03-15py: For mp_buffer_info_t, change len type from mp_uint_t to size_t.Damien George
2016-03-14py/objarray: Fix array slice assignment when array is reallocated.Damien George
Addresses issue #1898.
2016-03-14py/parsenum: Fix compiler warnings for no decl and signed comparison.Damien George
2016-03-14py: When printf'ing an object as a pointer, pass the concrete pointer.Damien George
2016-03-14py: Fix passing of some wide int types to printf varg format list.Damien George
Passing an mp_uint_t to a %d printf format is incorrect for builds where mp_uint_t is larger than word size (eg a nanboxing build). This patch adds some simple casting to int in these cases.
2016-03-14py/argcheck: Use size_t instead of mp_uint_t to count number of args.Damien George
2016-03-14py/parsenum: Use size_t to count bytes, and int for type of base arg.Damien George
size_t is the proper type to count number of bytes in a string. The base argument does not need to be a full mp_uint_t, int is enough.
2016-03-13stmhal: NUCELO_F401RE cleanupDave Hylands
Added definitions for SPI1, SPI2, and SPI3 Removed USB stuff (that could be removed) Updated BOARD name defintion
2016-03-13stmhal: Rename STM32F401NUCLEO to NUCLEO_F401REDave Hylands
This makes the board match the name printed on the board (and agree with the documentation)
2016-03-12stmhal: Add board definition files for NUCLEO_F411REDave Hylands
2016-03-12esp8266: Switch to lwIP built from source.Paul Sokolovsky
Using https://github.com/pfalcon/esp-open-lwip project.
2016-03-12extmod/modlwip: lwip_tcp_receive: Properly map lwIP error to POSIX errno.Paul Sokolovsky
2016-03-12extmod/modlwip: Add socket.setblocking() method.Paul Sokolovsky
2016-03-12extmod/modlwip: Rework getaddrinfo() data passing.Paul Sokolovsky
The code is based on Damien George's implementation for esp8266 port, avoids use of global variables and associated re-entrancy issues, and fixes returning stale data in some cases.
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