Paul Sokolovsky
eb0e3bab1e
tests/machine_mem.py: Too non-portable, rework as an example for unix port.
2016-07-31 04:22:09 +03:00
Paul Sokolovsky
4d22ade102
esp8266: Enable btree module.
2016-07-31 02:39:59 +03:00
Paul Sokolovsky
64ad838fde
esp8266/esp_mphal: Implement libc's errno.
...
Using __errno() function, and redirect it to use mp_stream_errno from
stream module. This is pre-requisite for integrating with 3rd-party libs,
like BerkeleyDB.
2016-07-31 02:30:05 +03:00
Paul Sokolovsky
617bda27e9
tests/extmod/btree1: Tests against in-memory DB (using io.BytesIO).
2016-07-31 02:29:05 +03:00
Paul Sokolovsky
aac9e8cfa3
unix/Makefile: And note why btree module is disabled for coverage build.
2016-07-31 02:27:13 +03:00
Paul Sokolovsky
99061d1dcb
extmod/modbtree: Switch to accepting stream object instead of filename.
...
Requires "embedded" BerkeleyDB BTree implementation.
2016-07-31 00:40:35 +03:00
Paul Sokolovsky
0dfe849413
py/py.mk: Extra switches to build "embedded" BerkeleyDB BTree lib.
2016-07-31 00:39:09 +03:00
Paul Sokolovsky
2ec943284a
lib/berkeley-db-1.xx: Switch to "embedded" branch.
...
It allows to access files via a virtual method tables and thus can integrate
with MicroPython's stream objects.
2016-07-31 00:36:38 +03:00
Dave Hylands
460bceca39
stmhal: Make SPI NSS pin definition optional.
...
Some boards (like the GHI Electronics G30 Dev Board) don't use
NSS at all and rather just use GPIO chip selects.
2016-07-30 22:08:20 +03:00
Matt Brejza
afd4909a0f
stmhal: fixing malloc when used with external libraries
2016-07-30 21:24:35 +03:00
stijn
37b143ce9e
mpy-cross: Fix mingw and msys2 compilation
...
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.
2016-07-30 21:15:45 +03:00
Paul Sokolovsky
61e77a4e88
py/mpconfig.h: Add MICROPY_STREAMS_POSIX_API setting.
...
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.
2016-07-30 20:05:56 +03:00
Paul Sokolovsky
58d9d85a56
lib/abort_.c: Add prototype to make coverage build happy.
2016-07-30 17:52:06 +03:00
Paul Sokolovsky
ba2c503541
esp8266/mpconfigport.h: Include sys/types.h for POSIX types definitions.
...
As required for related functions in stream.h.
2016-07-30 17:46:36 +03:00
Paul Sokolovsky
50fea19416
esp8266/axtls_helpers: Remove abort_(), now in lib/embed/.
2016-07-30 00:36:28 +03:00
Paul Sokolovsky
c8b80e4740
lib/embed/abort_: Implementation of abort_() function raising uPy exception.
...
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.
2016-07-30 00:35:50 +03:00
Paul Sokolovsky
4f1b0292db
py/stream: Add adapter methods with POSIX-compatible signatures.
...
Previoussly such read() and write() methods were used by modussl_axtls,
move to py/stream for reuse.
2016-07-30 00:25:06 +03:00
Paul Sokolovsky
abd5a57ea1
tests/io/bytesio_ext: Test for .seek()/.flush() on BytesIO.
2016-07-29 23:00:25 +03:00
Paul Sokolovsky
3990b1715d
py/objstringio: Implement MP_STREAM_SEEK ioctl and add seek() method.
2016-07-28 01:53:44 +03:00
Paul Sokolovsky
f039ac5bd7
py/objstringio: Add MP_STREAM_FLUSH ioctl and flush() method.
...
No-op for this object.
2016-07-28 01:14:32 +03:00
Paul Sokolovsky
64da62ec2e
unix/file: Use generic stream flush() method.
2016-07-28 00:28:27 +03:00
daniel-k
aa4ada943a
esp8266/modpybuart: Fix UART parity setting.
...
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.
2016-07-27 21:05:45 +03:00
Paul Sokolovsky
01816068c8
unix/file: fdfile_ioctl(): Fix argument to check_fd_is_open().
2016-07-27 02:50:11 +03:00
Paul Sokolovsky
a60b0263ba
py/stream: Implement generic flush() method, in terms of C-level ioctl.
2016-07-27 00:39:10 +03:00
Paul Sokolovsky
ade36806c8
unix/file: ioctl(): Check that file is open before operations.
2016-07-27 00:30:09 +03:00
Paul Sokolovsky
8fac939889
unix/file: Implement MP_STREAM_FLUSH ioctl.
2016-07-27 00:24:09 +03:00
Paul Sokolovsky
6ead9f6f3d
tests/run-tests: Make "regex'ed .exp" facility available to device tests.
...
Required to pass bytes_compare3.py (opptional warnings) on devices.
2016-07-26 23:08:33 +03:00
Paul Sokolovsky
f2f761c0c3
py/stream: Stream module works with errno's, so should include mperrno.h.
2016-07-26 15:05:15 +03:00
Paul Sokolovsky
243f8988be
unix/mpconfigport.h: Include stdio.h by default.
...
This allows to use printf() in a any source file with unix port, for quick
debugging.
2016-07-26 02:51:25 +03:00
Paul Sokolovsky
d1771bbae0
tests/unicode_subscr.py: Detailed test for subscripting unicode strings.
2016-07-25 19:28:19 +03:00
Paul Sokolovsky
ed1c194ebf
py/objstrunicode: str_index_to_ptr: Implement positive indexing properly.
...
Order out-of-bounds check, completion check, and increment in the right way.
2016-07-25 19:28:04 +03:00
Paul Sokolovsky
6af90b2972
py/objstrunicode: str_index_to_ptr: Should handle bytes too.
...
There's single str_index_to_ptr() function, called for both bytes and
unicode objects, so should handle each properly.
2016-07-25 14:45:08 +03:00
Paul Sokolovsky
16f324641f
py/stream.h: Remove dated comment of POSIX-specificity of EAGAIN.
...
We have adopted POSIX-compatible error numbers as MicroPython's native.
2016-07-25 00:47:00 +03:00
Paul Sokolovsky
1a7e28d8b7
py/stream.h: Move mp_stream_write_adaptor() inside ifdef block.
2016-07-25 00:16:51 +03:00
Paul Sokolovsky
5a38694f55
tests/extmod/btree1: Close database at the end of test.
2016-07-24 00:30:32 +03:00
Paul Sokolovsky
25df419c67
extmod/modbtree: Check __bt_open() return value for error.
2016-07-24 00:29:32 +03:00
Paul Sokolovsky
0d221775f5
esp8266/_boot.py: Decrease GC alloc threshold to quarter of heap size.
...
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.
2016-07-23 13:56:24 +03:00
Paul Sokolovsky
2dd21d9a68
extmod/modwebrepl: Use mp_stream_close() method.
2016-07-23 00:52:35 +03:00
Paul Sokolovsky
614deb82c7
examples/http_client*: Be sure to close socket.
...
Otherwise, on bare-metal/RTOS systems can lead to resource leaks.
2016-07-23 00:41:19 +03:00
Paul Sokolovsky
a53e0e59f3
extmod/modussl_axtls: Use mp_stream_close() method.
2016-07-23 00:38:56 +03:00
Paul Sokolovsky
c141584e1e
esp8266/_boot.py: Set GC alloc threshold to half of heap size.
...
Should keep good chunk of heap unfragmented, if a user application allows
that at all.
2016-07-23 00:20:49 +03:00
Paul Sokolovsky
77f0cd8027
esp8266: dupterm_task_init() should be called before running _boot.py, etc.
...
Because they may use dupterm functionality (e.g. WebREPL running on boot).
2016-07-23 00:05:38 +03:00
Paul Sokolovsky
4d4cfc2ee6
examples/embedding: Add README.
2016-07-22 22:13:03 +03:00
Paul Sokolovsky
1e77e25675
examples/embedding: Example for embedding MicroPython in an app.
2016-07-22 22:13:03 +03:00
Paul Sokolovsky
e47c2ec64a
wundows/README: Typo fix.
2016-07-22 21:24:26 +03:00
stijn
9bdb82ef6b
mpy-cross: Use binary file translation mode for creating mpy files on windows
...
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().
2016-07-22 21:21:54 +03:00
Paul Sokolovsky
43473372e6
lib/utils/stdout_helpers: Move from minimal/uart_extra.c for reuse.
2016-07-22 19:56:27 +03:00
Paul Sokolovsky
b652ee705b
tests/bytes_compare: Rework test for bytes <-> str comparison.
...
This may produce a warning, depending on MicroPython configuration.
2016-07-22 12:02:04 +03:00
Paul Sokolovsky
40214b9e26
esp8266: Enable MICROPY_PY_STR_BYTES_CMP_WARN.
2016-07-22 00:57:55 +03:00
Paul Sokolovsky
918851e836
unix: Enable MICROPY_PY_STR_BYTES_CMP_WARN.
...
Also, fix a warning text (remove "duplicate" BytesWarning).
2016-07-22 00:52:07 +03:00