summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-05-10unix: Print unhandled exception to stderr, like CPython does.Paul Sokolovsky
2015-05-10py: iternext() may not return MP_OBJ_NULL, only MP_OBJ_STOP_ITERATION.Paul Sokolovsky
Testing for incorrect value led to premature termination of generator containing yield from for such iterator (e.g. "yield from [1, 2]").
2015-05-09ACKNOWLEDGEMENTS: Add 1 backer name.Damien George
2015-05-08unix: Fix thumb2 vs arm native emitter auto-detection.Paul Sokolovsky
Make thumb2 have priority over arm.
2015-05-08emitnative: Revamp ARM codegen compile after full-arg support refactors.Paul Sokolovsky
The code was apparently broken after 9988618e0e0f5c319e31b135d993e22efb593093 "py: Implement full func arg passing for native emitter.". This attempts to propagate those changes to ARM emitter.
2015-05-08unix: Make extra-coverage function callable from Python scripts.Damien George
This allows the output of the extra-coverage tests to be checked using the normal run-tests script.
2015-05-08unix: Add special function to improve coverage.Damien George
The function and corresponding command-line option are only enabled for the coverage build. They are used to exercise uPy features that can't be properly tested by Python scripts.
2015-05-08tests: Add test for machine module (mem* functions).Damien George
2015-05-07tools: Add script to install "upip" package manager.Paul Sokolovsky
upip is a simple and light-weight package manager for MicroPython modules, offering subset of pip functionality. upip is part of micropython-lib project: https://github.com/micropython/micropython-lib/tree/master/upip This script bootstraps upip by downloading and unpacking it directly from PyPI repository, with all other packages to be installed with upip itself.
2015-05-07cc3200: Enable MICROPY_MODULE_WEAK_LINKS.Daniel Campora
2015-05-07tools/pyboard.py: Add "--follow" option to wait for output indefinitely.Damien George
Also flush stdout so you can see output as it comes.
2015-05-06stmhal: Move debug UART repl to after uart_init0 call.Dave Hylands
2015-05-06esp8266: Add support for frozen modulesJosef Gajdusek
2015-05-06esp8266: Add .onsent callback supportJosef Gajdusek
The function passed to socket.onsent() gets called after data is succesfully sent by the socket.
2015-05-06esp8266: Initialize socket->connlist to NULLJosef Gajdusek
This was causing crashes in .onconnect()
2015-05-06unix-cpy: Fix adjustment of stack size when leaving exception handler.Damien George
Also remove __debug__ from one of the bytecode tests.
2015-05-06esp8266: Fix garbage collector by hard-coding stack end address.Josef Gajdusek
As user_init() is not a true main functions, the stack pointer captured within is not pointing at the base of the stack. This caused gc_collect being called with sp being higher than stack_end, causing integer overflow and crashing as gc tried to scan almost the entire address space.
2015-05-06py: Fix naming of function arguments when function is a closure.Damien George
Addresses issue #1226.
2015-05-06mkrules.mk: Add comment why dependency parsing regex was tweaked.Paul Sokolovsky
(Windows compatibility.)
2015-05-06Adjust sed regex that processes dependency file from compilerAri Suutari
so that resulting file is correct also on windows systems (ie. with file names containing drive letter).
2015-05-06pyexec: Make raw REPL work with event-driven version of pyexec.Damien George
esp8266 port now has working raw and friendly REPL, as well as working soft reset (CTRL-D at REPL, or raise SystemExit). tools/pyboard.py now works with esp8266 port.
2015-05-05tests: Fix cmd_showbc now that LOAD_CONST_ELLIPSIS bytecode is gone.Damien George
2015-05-05esp8266: Return CPU frequency in Hz.Damien George
2015-05-05esp8266: Fix endian of address returned by esp.getaddrinfo()Josef Gajdusek
2015-05-05py: Remove LOAD_CONST_ELLIPSIS bytecode, use LOAD_CONST_OBJ instead.Damien George
Ellipsis constant is rarely used so no point having an extra bytecode for it.
2015-05-05obj: Handle user instance hash based on Python adhoc rules.Paul Sokolovsky
User instances are hashable by default (using __hash__ inherited from "object"). But if __eq__ is defined and __hash__ not defined in particular class, instance is not hashable.
2015-05-05objsingleton: New home for Ellipsis and NotImplemented.Paul Sokolovsky
Having NotImplemented as MP_OBJ_SENTINEL turned out to be problematic (it needs to be checked for in a lot of places, otherwise it'll crash as would pass MP_OBJ_IS_OBJ()), so made a proper singleton value like Ellipsis, both of them sharing the same type.
2015-05-05cc3200: Define MICROPY_CPYTHON_COMPAT=0.Daniel Campora
This only disables some corner case functionality to keep C Python compatibility, and saves ~600 bytes.
2015-05-04modbuiltins: Add NotImplemented builtin constant.Paul Sokolovsky
From https://docs.python.org/3/library/constants.html#NotImplemented : "Special value which should be returned by the binary special methods (e.g. __eq__(), __lt__(), __add__(), __rsub__(), etc.) to indicate that the operation is not implemented with respect to the other type; may be returned by the in-place binary special methods (e.g. __imul__(), __iand__(), etc.) for the same purpose. Its truth value is true." Some people however appear to abuse it to mean "no value" when None is a legitimate value (don't do that).
2015-05-04modstruct: Rename module to "ustruct", to allow full Python-level impl.Paul Sokolovsky
2015-05-04modstruct: Group module qstr's together.Paul Sokolovsky
2015-05-04esp8266: Add esp.socket class, with ESP-style socket functionality.Josef Gajdusek
* UDP currently not supported * As there is no way (that I know of) the espconn_regist_connectcb() callback can recognize on which socket has the connection arrived, only one listening function at a time is supported
2015-05-04lib: Move some common mod_network_* functions to lib/netutils.Josef Gajdusek
2015-05-04py: Check that arg to object.__new__ is a user-defined type.Damien George
Addresses issue #1203.
2015-05-04modmachine: Add new module to access hardware, starting with physical memory.Paul Sokolovsky
Refactored from "stm" module, provides mem8, mem16, mem32 objects with array subscript syntax.
2015-05-03CONTRIBUTING.md: Link to contrib guidelines and code conventions.Paul Sokolovsky
2015-05-03esp8266: Export station status() constantsJosef Gajdusek
2015-05-03stmhal: Allow to configure UART pins completely via mpconfigboard.h.Eero af Heurlin
2015-05-03cc3200: Clean up pyb.PinDaniel Campora
Remove unused and unneeded functions, also create Pin.get_config() that returns the whole configuration of the pin. This reduces code size by ~500 bytes.
2015-05-03cc3200: WLAN.ifconfig returns an attrtuple instead of a dictionary.Daniel Campora
2015-05-03cc3200: Implement Sleep.wake_reason()Daniel Campora
2015-05-03cc3200: Clear the pending interrupt flag when disabling RTC callbacks.Daniel Campora
2015-05-01unix/modffi.c: get_buffer is allowed to return NULL if len=0.Damien George
This is consistent with the logic in mp_get_buffer, and the code here is an inlined version of that function.
2015-04-30msvc: Allow overriding of build options with custom filestijn
- by default look for a user.props in the msvc directory, which is more convenient than the built-in way of looking for such file in the user's home directory - make git ignore the file
2015-04-29cc3200: Move wlan_init0() to the boot section.Daniel Campora
This one creates a semaphore, therefore it must be executed only after a hard reset (or when coming out of hibernation).
2015-04-29cc3200: Correct Sleep module name. Must be 'Sleep', not 'sleep'.Daniel Campora
2015-04-29cc3200: When requesting safe boot, blink the led 3 times, not 4.Daniel Campora
2015-04-29cc3200: Make WLAN.isconnected() also work in AP mode.Daniel Campora
While in STA mode isconnected() returns True when connected to an AP and the IP has been acquired. In AP mode, WLAN.isconnected() returns True if at least one connected station is present.
2015-04-29cc3200: Clean-up servers enable/disable algorithm.Daniel Campora
2015-04-29stmhal: Automatically re-enable IRQs on the USB REPL.Dave Hylands
This allows errors to be seen and prevents hanging the board from doing: pyb.disable_irq()