aboutsummaryrefslogtreecommitdiff
path: root/extmod
AgeCommit message (Collapse)Author
2016-09-05extmod/framebuf: Add the xstep!=0 case to scroll() method.Radomir Dopieralski
Adds horizontal scrolling. Right now, I'm just leaving the margins created by the scrolling as they were -- so they will repeat the edge of the framebuf. This is fast, and the user can always fill the margins themselves.
2016-09-04extmod/moduzlib: Support wbits arg to DecompIO.Paul Sokolovsky
2016-09-04extmod/modframebuf: Include font from stmhal directory explicitly.Damien George
So that users of framebuf don't need to have stmhal directory in their path. (Eventually the font can be moved elsewhere.)
2016-09-03extmod/moduzlib: Use mperrno.h for error constants.Paul Sokolovsky
2016-09-03extmod/moduzlib: Implement zlib stream decompressor class, DecompIO.Paul Sokolovsky
2016-09-02extmod/modframebuf: Fix fill and scroll when height not divisible by 8.Radomir Dopieralski
There was a bug in `framebuf1_fill` function, that makes it leave a few lines unfilled at the bottom if the height is not divisible by 8. A similar bug is fixed in the scroll method.
2016-09-01extmod: Add machine_spi with generic SPI C-protocol and helper methods.Damien George
The idea is that all ports can use these helper methods and only need to provide initialisation of the SPI bus, as well as a single transfer function. The coding pattern follows the stream protocol and helper methods.
2016-08-27extmod/modframebuf: Fix pixel accessor to return a 1-bit result.Damien George
2016-08-26esp8266/modous: Add os.umount method to unmount a filesystem.Radomir Dopieralski
This is an object-oriented approach, where uos is only a proxy for the methods on the vfs object. Some internals had to be exposed (the STATIC keyword removed) for this to work. Fixes #2338.
2016-08-24extmod/modubinascii: Make crc32() support configurable.Paul Sokolovsky
Disable by default, enable in unix port.
2016-08-24extmod/modubinascii: implement binascii.crc32Pavol Rusnak
2016-08-24extmod/modbtree: do CHECK_ERROR after __bt_seq()Krzysztof Blazewicz
In `btree_seq()`, when `__bt_seq()` gets called with invalid `flags` argument it will return `RET_ERROR` and it won't initialize `val`. If field `data` of uninitialized `val` is passed to `mp_obj_new_bytes()` it causes a segfault.
2016-08-17extmod/uzlib/: Update uzlib to v2.0.2.Paul Sokolovsky
Consistently use stdint types. Fixes stmhal build.
2016-08-17extmod/uzlib/: Update uzlib to v2.0.1.Paul Sokolovsky
Fixes for pedantic compiler warnings.
2016-08-17extmod/moduzlib: Refactor to new stream-compatible uzlib 2.0 API.Paul Sokolovsky
2016-08-17extmod/uzlib/: Update uzlib to v2.0.Paul Sokolovsky
New API supporting stream decompression.
2016-08-16extmod/modwebrepl: set_password(): Raise exception for too long password.Paul Sokolovsky
2016-08-07extmod/modwebrepl: Add GET_VER operation to query MicroPython version.Paul Sokolovsky
2016-08-06extmod/modwebsocket: Use mp_rom_map_elem_t and friends.Paul Sokolovsky
2016-08-06extmod/modwebsocket: Make compatible with non-default object models.Paul Sokolovsky
2016-08-06extmod/modwebsocket: Add readline method.Paul Sokolovsky
This goes bit against websocket nature (message-based communication), as it ignores boundaries bertween messages, but may be very practical to do simple things with websockets.
2016-08-06extmod/modbtree: open(): Add option kwargs.Paul Sokolovsky
Namely: flags, cachesize, pagesize, minkeypage.
2016-08-05extmod/modwebrepl: Make GET_FILE operation non-blocking.Paul Sokolovsky
In the sense that while GET_FILE transfers its data, REPL still works. This is done by requiring client to send 1-byte block before WebREPL server transfers next block of data.
2016-08-05extmod/modwebrepl: Factor out "GET" iteration to write_file_chunk().Paul Sokolovsky
2016-08-02extmod/modbtree: Implement __contains__ operation.Paul Sokolovsky
2016-07-31extmod/modbtree: Switch to accepting stream object instead of filename.Paul Sokolovsky
Requires "embedded" BerkeleyDB BTree implementation.
2016-07-30py/stream: Add adapter methods with POSIX-compatible signatures.Paul Sokolovsky
Previoussly such read() and write() methods were used by modussl_axtls, move to py/stream for reuse.
2016-07-24extmod/modbtree: Check __bt_open() return value for error.Paul Sokolovsky
2016-07-23extmod/modwebrepl: Use mp_stream_close() method.Paul Sokolovsky
2016-07-23extmod/modussl_axtls: Use mp_stream_close() method.Paul Sokolovsky
2016-07-16extmod/vfs_fat: Implement rmdir() method.Paul Sokolovsky
Shares the code with remove() method due to the same underlying f_unlink() FatFs operation.
2016-07-15extmod/modussl_axtls: Add dummy setblocking() method.Paul Sokolovsky
Accepts only value of True.
2016-07-13extmod/modussl_axtls: Further changes to allow alternative SSL modules.Paul Sokolovsky
Make variable MICROPY_SSL_AXTLS=1 should be defined to activate modussl_axtls and link with -laxtls.
2016-07-13extmod/modussl: Rename to modussl_axtls.c, to allow impl using other SSL libs.Paul Sokolovsky
2016-07-07extmod/moduos_dupterm: Reuse dupterm_arr_obj for write operations.Paul Sokolovsky
Instead of allocating new array object header again and again, causing memory fragmentation.
2016-07-04extmod/moduos_dupterm: Reserve buffer bytearray object for dupterm.Paul Sokolovsky
Allocating it for each read/write operation is a memory fragmentation hazard.
2016-07-02extmod/modbtree: Fixes for nanbox build.Paul Sokolovsky
2016-07-02extmod/modbtree: Fix unused argument warning.Paul Sokolovsky
2016-07-02extmod/modwebrepl: Add readinto() method.Paul Sokolovsky
2016-07-02extmod/modwebsocket: Add readinto() method.Paul Sokolovsky
2016-06-23extmod/modbtree: Cleverly implement "for key in btree:" syntax.Paul Sokolovsky
I.e. make it work like btree.keys(), while still not using a separate iterator type.
2016-06-20extmod/modbtree: Implement keys(), values(), items() iterators.Paul Sokolovsky
Each takes optional args of starting key, ending key, and flags (ending key inclusive, reverse order).
2016-06-19extmod/modlwip: Store a chain of incoming pbufs, instead of only one.Paul Sokolovsky
Storing a chain of pbuf was an original design of @pfalcon's lwIP socket module. The problem with storing just one, like modlwip does is that "peer closed connection" notification is completely asynchronous and out of band. So, there may be following sequence of actions: 1. pbuf #1 arrives, and stored in a socket. 2. pbuf #2 arrives, and rejected, which causes lwIP to put it into a queue to re-deliver later. 3. "Peer closed connection" is signaled, and socket is set at such status. 4. pbuf #1 is processed. 5. There's no stored pbufs in teh socket, and socket status is "peer closed connection", so EOF is returned to a client. 6. pbuf #2 gets redelivered. Apparently, there's no easy workaround for this, except to queue all incoming pbufs in a socket. This may lead to increased memory pressure, as number of pending packets would be regulated only by TCP/IP flow control, whereas with previous setup lwIP had a global overlook of number packets waiting for redelivery and could regulate them centrally.
2016-06-19extmod/machine_pinbase: Fix nanbox build.Paul Sokolovsky
MP_ROM_PTR() is only for data structures initialization, code should use MP_OBJ_FROM_PTR().
2016-06-18extmod/machine_pinbase: Implementation of PinBase class.Paul Sokolovsky
Allows to translate C-level pin API to Python-level pin API. In other words, allows to implement a pin class and Python which will be usable for efficient C-coded algorithms, like bitbanging SPI/I2C, time_pulse, etc.
2016-06-18all: Rename mp_obj_type_t::stream_p to protocol.Paul Sokolovsky
It's now used for more than just stream protocol (e.g. pin protocol), so don't use false names.
2016-06-18extmod/modbtree: open(): Support "in-memory" database with filename=None.Paul Sokolovsky
It's not really in-memory though, just uses anonymous temporary file on disk.
2016-06-18extmod/modbtree: __getitem__() should raise KeyError for non-existing key.Paul Sokolovsky
2016-06-18extmod/modbtree: items(): Implement DESC flag.Paul Sokolovsky
2016-06-17extmod/modbtree: items(): Implement "end key inclusive" flag.Paul Sokolovsky