summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAge
* lib/berkeley-db-1.xx: Switch to "embedded" branch.Paul Sokolovsky2016-07-31
| | | | | It allows to access files via a virtual method tables and thus can integrate with MicroPython's stream objects.
* stmhal: Make SPI NSS pin definition optional.Dave Hylands2016-07-30
| | | | | Some boards (like the GHI Electronics G30 Dev Board) don't use NSS at all and rather just use GPIO chip selects.
* stmhal: fixing malloc when used with external librariesMatt Brejza2016-07-30
|
* mpy-cross: Fix mingw and msys2 compilationstijn2016-07-30
| | | | | | | When compiling with msys2's gcc there's no need to apply the binary fmode so adjust the Makefile to reflect that. When compiling with mingw we need to include malloc.h since there is no alloca.h, and the 64bit detection in mpconfigport.h needs some adjustment.
* py/mpconfig.h: Add MICROPY_STREAMS_POSIX_API setting.Paul Sokolovsky2016-07-30
| | | | | | To filter out even prototypes of mp_stream_posix_*() functions, which require POSIX types like ssize_t & off_t, which may be not available in some ports.
* lib/abort_.c: Add prototype to make coverage build happy.Paul Sokolovsky2016-07-30
|
* esp8266/mpconfigport.h: Include sys/types.h for POSIX types definitions.Paul Sokolovsky2016-07-30
| | | | As required for related functions in stream.h.
* esp8266/axtls_helpers: Remove abort_(), now in lib/embed/.Paul Sokolovsky2016-07-30
|
* lib/embed/abort_: Implementation of abort_() function raising uPy exception.Paul Sokolovsky2016-07-30
| | | | | | | Helpful when porting existing C libraries to MicroPython. abort()ing in embedded environment isn't a good idea, so when compiling such library, -Dabort=abort_ option can be given to redirect standard abort() to this "safe" version.
* py/stream: Add adapter methods with POSIX-compatible signatures.Paul Sokolovsky2016-07-30
| | | | | Previoussly such read() and write() methods were used by modussl_axtls, move to py/stream for reuse.
* tests/io/bytesio_ext: Test for .seek()/.flush() on BytesIO.Paul Sokolovsky2016-07-29
|
* py/objstringio: Implement MP_STREAM_SEEK ioctl and add seek() method.Paul Sokolovsky2016-07-28
|
* py/objstringio: Add MP_STREAM_FLUSH ioctl and flush() method.Paul Sokolovsky2016-07-28
| | | | No-op for this object.
* unix/file: Use generic stream flush() method.Paul Sokolovsky2016-07-28
|
* esp8266/modpybuart: Fix UART parity setting.daniel-k2016-07-27
| | | | | | | | | The configuration bits for the UART register were wrong and the parity couldn't be enabled, because the exist_parity member hasn't been updated. I took this ESP8266 register description (http://esp8266.ru/esp8266-uart-reg/) as reference. Verification has been done with a logic analyzer.
* unix/file: fdfile_ioctl(): Fix argument to check_fd_is_open().Paul Sokolovsky2016-07-27
|
* py/stream: Implement generic flush() method, in terms of C-level ioctl.Paul Sokolovsky2016-07-27
|
* unix/file: ioctl(): Check that file is open before operations.Paul Sokolovsky2016-07-27
|
* unix/file: Implement MP_STREAM_FLUSH ioctl.Paul Sokolovsky2016-07-27
|
* tests/run-tests: Make "regex'ed .exp" facility available to device tests.Paul Sokolovsky2016-07-26
| | | | Required to pass bytes_compare3.py (opptional warnings) on devices.
* py/stream: Stream module works with errno's, so should include mperrno.h.Paul Sokolovsky2016-07-26
|
* unix/mpconfigport.h: Include stdio.h by default.Paul Sokolovsky2016-07-26
| | | | | This allows to use printf() in a any source file with unix port, for quick debugging.
* tests/unicode_subscr.py: Detailed test for subscripting unicode strings.Paul Sokolovsky2016-07-25
|
* py/objstrunicode: str_index_to_ptr: Implement positive indexing properly.Paul Sokolovsky2016-07-25
| | | | Order out-of-bounds check, completion check, and increment in the right way.
* py/objstrunicode: str_index_to_ptr: Should handle bytes too.Paul Sokolovsky2016-07-25
| | | | | There's single str_index_to_ptr() function, called for both bytes and unicode objects, so should handle each properly.
* py/stream.h: Remove dated comment of POSIX-specificity of EAGAIN.Paul Sokolovsky2016-07-25
| | | | We have adopted POSIX-compatible error numbers as MicroPython's native.
* py/stream.h: Move mp_stream_write_adaptor() inside ifdef block.Paul Sokolovsky2016-07-25
|
* tests/extmod/btree1: Close database at the end of test.Paul Sokolovsky2016-07-24
|
* extmod/modbtree: Check __bt_open() return value for error.Paul Sokolovsky2016-07-24
|
* esp8266/_boot.py: Decrease GC alloc threshold to quarter of heap size.Paul Sokolovsky2016-07-23
| | | | | | | | The idea behind decrease is: bytecode and other static data is also kept on heap, and can easily become half of heap, then setting threshold to half of heap will have null effect - GC will happen on complete heap exhaustion like before. But exactly in such config maintaining heap defragmented is very important, so lower threshold to accommodate that.
* extmod/modwebrepl: Use mp_stream_close() method.Paul Sokolovsky2016-07-23
|
* examples/http_client*: Be sure to close socket.Paul Sokolovsky2016-07-23
| | | | Otherwise, on bare-metal/RTOS systems can lead to resource leaks.
* extmod/modussl_axtls: Use mp_stream_close() method.Paul Sokolovsky2016-07-23
|
* esp8266/_boot.py: Set GC alloc threshold to half of heap size.Paul Sokolovsky2016-07-23
| | | | | Should keep good chunk of heap unfragmented, if a user application allows that at all.
* esp8266: dupterm_task_init() should be called before running _boot.py, etc.Paul Sokolovsky2016-07-23
| | | | Because they may use dupterm functionality (e.g. WebREPL running on boot).
* examples/embedding: Add README.Paul Sokolovsky2016-07-22
|
* examples/embedding: Example for embedding MicroPython in an app.Paul Sokolovsky2016-07-22
|
* wundows/README: Typo fix.Paul Sokolovsky2016-07-22
|
* mpy-cross: Use binary file translation mode for creating mpy files on windowsstijn2016-07-22
| | | | | | | | This is a fix for https://github.com/micropython/micropython/issues/2209: by default a file created using open() uses text translation mode so writing \n to it will result in the file having \r\n. This is obviously problematic for binary .mpy files, so provide functions for setting the open mode and use binary mode in mpy-cross' main().
* lib/utils/stdout_helpers: Move from minimal/uart_extra.c for reuse.Paul Sokolovsky2016-07-22
|
* tests/bytes_compare: Rework test for bytes <-> str comparison.Paul Sokolovsky2016-07-22
| | | | This may produce a warning, depending on MicroPython configuration.
* esp8266: Enable MICROPY_PY_STR_BYTES_CMP_WARN.Paul Sokolovsky2016-07-22
|
* unix: Enable MICROPY_PY_STR_BYTES_CMP_WARN.Paul Sokolovsky2016-07-22
| | | | Also, fix a warning text (remove "duplicate" BytesWarning).
* py/mpconfig.h: Fix description for MICROPY_PY_STR_BYTES_CMP_WARN.Paul Sokolovsky2016-07-22
|
* py/obj: Issue a warning when str and bytes objects are compared.Paul Sokolovsky2016-07-22
| | | | | | | | | | Something like: if foo == "bar": will be always false if foo is b"bar". In CPython, warning is issued if interpreter is started as "python3 -b". In MicroPython, MICROPY_PY_STR_BYTES_CMP_WARN setting controls it.
* py: Fix nlrthumb.c when DEBUG=1 is definedDave Hylands2016-07-21
|
* minimal: Disable MICROPY_GC_ALLOC_THRESHOLD.Paul Sokolovsky2016-07-21
|
* unix: Disable MICROPY_GC_ALLOC_THRESHOLD for minimal build.Paul Sokolovsky2016-07-21
|
* py/gc: Implement GC running by allocation threshold.Paul Sokolovsky2016-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently, MicroPython runs GC when it could not allocate a block of memory, which happens when heap is exhausted. However, that policy can't work well with "inifinity" heaps, e.g. backed by a virtual memory - there will be a lot of swap thrashing long before VM will be exhausted. Instead, in such cases "allocation threshold" policy is used: a GC is run after some number of allocations have been made. Details vary, for example, number or total amount of allocations can be used, threshold may be self-adjusting based on GC outcome, etc. This change implements a simple variant of such policy for MicroPython. Amount of allocated memory so far is used for threshold, to make it useful to typical finite-size, and small, heaps as used with MicroPython ports. And such GC policy is indeed useful for such types of heaps too, as it allows to better control fragmentation. For example, if a threshold is set to half size of heap, then for an application which usually makes big number of small allocations, that will (try to) keep half of heap memory in a nice defragmented state for an occasional large allocation. For an application which doesn't exhibit such behavior, there won't be any visible effects, except for GC running more frequently, which however may affect performance. To address this, the GC threshold is configurable, and by default is off so far. It's configured with gc.threshold(amount_in_bytes) call (can be queries without an argument).
* lib/utils/pyexec: Use full path to readline.h header, per latest conventions.Paul Sokolovsky2016-07-21
|