summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAge
* py/objstr: In str.format, handle case of no format spec for string arg.Damien George2016-01-04
| | | | | Handles, eg, "{:>20}".format("foo"), where there is no explicit spec for the type of the argument.
* docs: Set author as 'Damien P. George and contributors'.Paul Sokolovsky2016-01-03
|
* docs: Fix readthedocs build by updating Latex params.Paul Sokolovsky2016-01-03
|
* tests/object_dict.py: Add test for obj.__dict__ .Paul Sokolovsky2016-01-03
|
* py: Implement __dict__ for instances.stijn2016-01-03
| | | | | | Note that even though wrapped in MICROPY_CPYTHON_COMPAT, it is not fully compatible because the modifications to the dictionary do not propagate to the actual instance members.
* py: Make dir report instance membersDave Hylands2016-01-03
|
* tests/uctypes: Test item assignment for scalar arrays.Antonin ENFRUN2016-01-03
|
* uctypes: Implement assignment for scalar arrayAntonin ENFRUN2016-01-03
|
* py: Use polymorphic iterator type where possible to reduce code size.Damien George2016-01-03
| | | | | | | Only types whose iterator instances still fit in 4 machine words have been changed to use the polymorphic iterator. Reduces Thumb2 arch code size by 264 bytes.
* py/frozenmod: Store frozen module names together, to quickly scan them.Paul Sokolovsky2016-01-03
|
* py: Change struct and macro for builtin fun so they can be type checked.Damien George2016-01-03
|
* py: Change exception traceback data to use size_t instead of mp_uint_t.Damien George2016-01-02
| | | | | The traceback array stores qstrs and line numbers. qstrs are typed as size_t, and line numbers should safely fit in size_t as well.
* unix/Makefile: Move include of mpconfigport.mk to before mkenv.mk.Damien George2016-01-02
| | | | | So that if MICROPY_FORCE_32BIT is set mpconfigport.mk it influences mkenv.mk.
* unix/.gitignore: Ignore gcov files.Paul Sokolovsky2016-01-02
|
* unix/unix_mphal: Be sure to wrap dupterm code with MICROPY_PY_OS_DUPTERM.Paul Sokolovsky2016-01-01
|
* unix/unix_mphal: Handle exceptions in call to dupterm's .read().Paul Sokolovsky2016-01-01
|
* extmod/moduos_dupterm: Handle exceptions in call to dupterm's .write()Paul Sokolovsky2016-01-01
|
* extmod/moduos_dupterm: Make mp_uos_dupterm_tx_strn() function reusable.Paul Sokolovsky2016-01-01
| | | | Function to actually spool output terminal data to dupterm object.
* py: Clean up instantiation of dupterm object.Paul Sokolovsky2016-01-01
| | | | To comply with already established scheme for extmod's.
* py/mpconfig: Make configuration of dupterm object reusable.Paul Sokolovsky2016-01-01
|
* extmod/moduos_dupterm: Make uos.dupterm() implementation reusable.Paul Sokolovsky2016-01-01
| | | | | That's just function which sets/gets dup terminal object, and can be easily reused across ports.
* py/frozenmod: Make frozen module content be 0-terminated.Paul Sokolovsky2016-01-01
| | | | To allow simple zero-terminated lexers.
* docs: Bump version to 1.5.2.v1.5.2Damien George2015-12-31
|
* lib/libc/string0: Use uintptr_t instead of uint32_t.Damien George2015-12-31
| | | | This makes the code portable to non-32-bit architectures.
* stmhal: Fix USB on the STM32F429DISC boardDave Hylands2015-12-30
| | | | | The USB REPL has been broken since commit 1be0fde45c8d84eaf04851af96f06aad8171b2b2 This patch allows the STM32F429DISC board (which uses the USB_HS PHY)
* py/map: In map lookup, check for fixed map independent of ordered map.Damien George2015-12-31
| | | | | It's possible to have a fixed map that is properly hashed (ie not simply ordered).
* tools: Add C middle-processor to make builtin tables proper hash tables.Damien George2015-12-31
|
* docs: Add discussion on interrupt handlers incl uPy specific techniques.Peter Hinch2015-12-31
|
* extmod/modlwip: Use _ERR_BADF instead of magic number.Paul Sokolovsky2015-12-30
|
* extmod/modlwip: Avoid magic numeric values in memcpy().Paul Sokolovsky2015-12-30
|
* extmod/modlwip: User proper field name and value names for socket state.Paul Sokolovsky2015-12-30
|
* esp8266/modesp: Allow to compile out proprietary espconn stuff.Paul Sokolovsky2015-12-30
|
* extmod/modlwip: Mark some lwip_socket_obj_t's fields as volatile.Paul Sokolovsky2015-12-29
| | | | Any fields changed by asynchronous callbacks must be volatile.
* extmod/modlwip: tcp_recv: Use more regular and responsive poll pattern.Paul Sokolovsky2015-12-29
| | | | | | Polling once in 100ms means dismal performance. TODO: Propagate this pattern to other polling places.
* stmhal: Add struct qstr to block of qstrs needed for MICROPY_PY_STRUCT.Dave Hylands2015-12-28
| | | | Otherwise build fails if uctypes is disabled.
* windows: Propagate MICROPY_PY_OS_DUPTERM handling from unix port.Paul Sokolovsky2015-12-28
|
* unix: Implement uos.dupterm(). Conditional on MICROPY_PY_OS_DUPTERM.Paul Sokolovsky2015-12-28
|
* py/gc: Improve mark/sweep debug output.Paul Sokolovsky2015-12-27
| | | | | | | | | | | Previously, mark operation weren't logged at all, while it's quite useful to see cascade of marks in case of over-marking (and in other cases too). Previously, sweep was logged for each block of object in memory, but that doesn't make much sense and just lead to longer output, harder to parse by a human. Instead, log sweep only once per object. This is similar to other memory manager operations, e.g. an object is allocated, then freed. Or object is allocated, then marked, otherwise swept (one log entry per operation, with the same memory address in each case).
* esp8266: mac() function belongs to network module per the latest API.Paul Sokolovsky2015-12-27
|
* windows/msvc: Nicer handling of asserts and 'invalid' parametersstijn2015-12-26
| | | | | | | | | | The default bahaviour for debug builds is to show dialog boxes for asserts and invalid parameter handling. This is not so nice in general and causes the Appveyor debug builds to hang because the io\file_seek.py test passes a closed file descriptor to lseek. Disable this behaviour by printing assert messages to the output instead of showing the dialog, and by disabling 'invalid' parameter handling which causes the affected functions to just return an error and set errno appropriately.
* py/map: Add fast-path for hashing of map index when it is a qstr.Damien George2015-12-26
| | | | | | | | Map indicies are most commonly a qstr, and adding a fast-path for hashing of a qstr increases overall performance of the runtime. On pyboard there is a 4% improvement in the pystone benchmark for a cost of 20 bytes of code size. It's about a 2% improvement on unix.
* tests: Skip class_bind_self.py for native emitter.Damien George2015-12-26
|
* py: Be more restrictive binding self when looking up instance attrs.Damien George2015-12-26
| | | | | | | | | | | When looking up and extracting an attribute of an instance, some attributes must bind self as the first argument to make a working method call. Previously to this patch, any attribute that was callable had self bound as the first argument. But Python specs require the check to be more restrictive, and only functions, closures and generators should have self bound as the first argument Addresses issue #1675.
* lib/utils: Add pyexec_frozen_module to load and execute frozen module.Damien George2015-12-26
| | | | | | This is a convenience function similar to pyexec_file. It should be used instead of raw mp_parse_compile_execute because the latter does not catch and report exceptions.
* extmod/modubinascii: Add "separator" argument to hexlify().Paul Sokolovsky2015-12-26
| | | | | | | | This is extension to CPython, it allows to easily produce human-readable hex dump: >>> ubinascii.hexlify(b"\xaa\x55\xaa\x55", b" ") b'aa 55 aa 55'
* extmod/fsusermount: Move module qstrs to global pool from stmhal port.Paul Sokolovsky2015-12-25
|
* tests: Skip try-finally test for native emitter.Damien George2015-12-24
|
* py: Handle case of return within the finally block of try-finally.Damien George2015-12-24
| | | | Addresses issue #1636.
* tests: Add tests for stream IO errors.Damien George2015-12-23
|
* unix/unix_mphal: Raise KeyboardInterrupt straight from signal handler.Paul Sokolovsky2015-12-23
| | | | | | | | POSIX doesn't guarantee something like that to work, but it works on any system with careful signal implementation. Roughly, the requirement is that signal handler is executed in the context of the process, its main thread, etc. This is true for Linux. Also tested to work without issues on MacOSX.