summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-07-07stmhal: Add I2S support to make-pins.pyDave Hylands
2015-07-06tools: Fix pydfu.py to work with old and new versions of PyUSBDave Hylands
Update pydfu.py to match with the version from openmv. I just updated the openmv version to work with both of the PyUSB 1.0.0.b1 and 1.0.0.b2 See: https://github.com/walac/pyusb/blob/master/ReleaseNotes.rst
2015-07-06py: Prevent many extra vstr allocations.Dave Hylands
I checked the entire codebase, and every place that vstr_init_len was called, there was a call to mp_obj_new_str_from_vstr after it. mp_obj_new_str_from_vstr always tries to reallocate a new buffer 1 byte larger than the original to store the terminating null character. In many cases, if we allocated the initial buffer to be 1 byte longer, we can prevent this extra allocation, and just reuse the originally allocated buffer. Asking to read 256 bytes and only getting 100 will still cause the extra allocation, but if you ask to read 256 and get 256 then the extra allocation will be optimized away. Yes - the reallocation is optimized in the heap to try and reuse the buffer if it can, but it takes quite a few cycles to figure this out. Note by Damien: vstr_init_len should now be considered as a string-init convenience function and used only when creating null-terminated objects.
2015-07-06py/repl: Fix case where shorter names are shadowed by longer names.Damien George
Previous to this patch, if "abcd" and "ab" were possible completions to tab-completing "a", then tab would expand to "abcd" straight away if this identifier appeared first in the dict.
2015-07-06tools/make-frozen.py: Use Python2-compatible shebang.Paul Sokolovsky
2015-07-06tests: Catch ValueError instead of any exception to properly test error.Damien George
2015-07-06extmod/modubinascii: Re-use error string to reduce code size.Damien George
Drops Thumb2 arch size by 24 bytes.
2015-07-06tools/make-frozen.py: Actually make Python2-compatible.Paul Sokolovsky
2015-07-06tools/make-frozen.py: Add Python2 compatibility.Paul Sokolovsky
2015-07-05modstruct: Raise NotImplementedError for unsupported repeat specification.Paul Sokolovsky
2015-07-04cc3200/README.md: Improve make deploy instructions.Daniel Campora
2015-07-04cc3200: Enable base64 methods from modubinascii.Daniel Campora
2015-07-04cc3200/README.md: Add notes about deploying a new software version.Daniel Campora
2015-07-04ubinascii: Fix a shadowed variable case.Paul Sokolovsky
2015-07-04ubinascii: b2a_base64: Optimize away a modulo operation.Paul Sokolovsky
2015-07-04extmod: Add a2b_base64 and b2a_base64 functions to ubinascii.Galen Hazelwood
2015-07-04esp8266: Allow to easily override programming baudrate.Paul Sokolovsky
2015-07-02cc3200: Fix socket recv and recvfrom return value type.Daniel Campora
2015-07-02py/objarray.c: Allow to build with debugging and bytearray but no array.Damien George
2015-07-02cc3200: time.sleep() now receives seconds, like CPython.Daniel Campora
2015-07-02cc3200: Add modussl, ssl sockets subclassed from normal sockets.Daniel Campora
Stream methods were added to normal sockets as in the unix port.
2015-07-02cc3200: Code clean-up on pybpin.Daniel Campora
2015-07-02cc3200: Set WLAN date/time via the rtc.datetime method().Daniel Campora
WLAN needs time info when validating certificates.
2015-07-02cc3200: Optimize check for WLAN AP mode.Daniel Campora
2015-07-02cc3200: Raise an exception if trying to scan for networks in AP mode.Daniel Campora
2015-07-02cc3200: Add socket.timeout and socket.error exceptions.Daniel Campora
2015-07-02py: Add TimeoutError exception subclassed from OSError.Daniel Campora
The TimeoutError is useful for some modules, specially the the socket module. TimeoutError can then be alised to socket.timeout and then Python code can differentiate between socket.error and socket.timeout.
2015-06-30docs/wipy: Update safe boot comments to match actual behaviour.Daniel Campora
2015-06-30cc3200: Add CA, certificate and key files to the updater list.Daniel Campora
2015-06-29cc3200: Correct socket settimeout time format.Daniel Campora
2015-06-29builtinimport: Fix running package submodule with -m.Paul Sokolovsky
When "micropython -m pkg.mod" command was used, relative imports in pkg.mod didn't work, because pkg.mod.__name__ was set to __main__, and the fact that it's a package submodule was missed. This is an original workaround to this issue. TODO: investigate and compare how CPython deals with this issue.
2015-06-28cc3200: Adapt update-wipy.py timing to improve stability.Daniel Campora
2015-06-28cc3200: Add `Pin.name()` method.Daniel Campora
2015-06-28cc3200: Enable more features to improve compatibility with stmhal.Daniel Campora
2015-06-27stmhal: Add config option for storage to use second flash segment.Damien George
When enabled this allows the internal storage to be split over 2 contiguous regions of flash (two segments), and so the storage can be increased. This option is disabled by default, giving original behaviour.
2015-06-27docs: Fix duplicate label error for network.WLAN.Damien George
2015-06-27docs: Make index link point to "index.html" irrespective of port.Damien George
2015-06-27tests: Add test for relative import without package context.Paul Sokolovsky
2015-06-27builtinimport: Catch case when relative import happens without active package.Paul Sokolovsky
CPython raises SystemError in this case, but we don't have that enabled, so raise ImportError.
2015-06-27runtime: Improve mp_import_name() debug logging.Paul Sokolovsky
2015-06-26objstr: Add note that replace() is nicely optimized.Paul Sokolovsky
Doesn't allocate memory and returns original string if no replacements are to be made.
2015-06-26docs: Add link from pyboard asm tutorial to asm reference.Damien George
2015-06-25py: Remove mp_load_const_bytes and instead load precreated bytes object.Damien George
Previous to this patch each time a bytes object was referenced a new instance (with the same data) was created. With this patch a single bytes object is created in the compiler and is loaded directly at execute time as a true constant (similar to loading bignum and float objects). This saves on allocating RAM and means that bytes objects can now be used when the memory manager is locked (eg in interrupts). The MP_BC_LOAD_CONST_BYTES bytecode was removed as part of this. Generated bytecode is slightly larger due to storing a pointer to the bytes object instead of the qstr identifier. Code size is reduced by about 60 bytes on Thumb2 architectures.
2015-06-25py: Remove mp_load_const_str and replace uses with inlined version.Damien George
2015-06-25tools: Update upip to 0.5.4.Paul Sokolovsky
Recognize and handle "package not found" error.
2015-06-25CODECONVENTIONS.md: add documentation on putting comments in code.Garrett Berg
2015-06-25tests: Split out json float tests to separate files.Damien George
2015-06-25tests: Add support for the WiPy in run-tests script.Daniel Campora
The --pyboard param has been replaced by --target which defaults to 'unix'. Possible values at this moment are 'unix', 'pyboard' and 'wipy'. Now is also possible to select the baud rate of the serial device when calling the script.
2015-06-25docs: Add link in references index to Thumb2 assembler docs.Damien George
2015-06-25docs: Add reference for Thumb2 inline assembler.Damien George
Thanks to Peter Hinch for contributing this.