aboutsummaryrefslogtreecommitdiff
path: root/extmod
AgeCommit message (Collapse)Author
2016-04-09extmod/modwebsocket: Record current fragment type (binary/text/etc.)Paul Sokolovsky
Also, handle continuation frames (untested).
2016-04-09extmod/modwebsocket: Add option for blocking writes to non-blk sockets.Paul Sokolovsky
This is strange asymmetry which is sometimes needed, e.g. for WebREPL: we want to process only available input and no more; but for output, we want to get rid of all of it, because there's no other place to buffer/store it. This asymmetry is akin to CPython's asyncio asymmetry, where reads are asynchronous, but writes are synchronous (asyncio doesn't expect them to block, instead expects there to be (unlimited) buffering for any sync write to completely immediately).
2016-04-09extmod/modwebsocket: Reset mask between packets.Paul Sokolovsky
2016-04-08extmod/modwebsocket: Make sure to propagate EOF.Paul Sokolovsky
2016-04-08extmod/modure: re_exec() renamed to ure_exec() due to collison in 4.3BSD.Tom Sparks
Addresses issue #1972.
2016-04-08extmod/modwebsocket: Properly check number of args to constructor.Paul Sokolovsky
2016-03-27extmod/vfs_fat_diskio: Actually support sectors != 512 with Python blockdevs.Paul Sokolovsky
2016-03-25extmod/modlwip: lwip_socket_setsockopt: Handle option value properly.Paul Sokolovsky
2016-03-25extmod/modlwip: Add lwip->POSIX error map for lwIP 1.4.0.Paul Sokolovsky
Between 1.4.0 and 1.4.1, lwIP errors were renumbered.
2016-03-25extmod/modlwip: lwip_tcp_send: Handle properly send buffer full condition.Paul Sokolovsky
Per POSIX http://pubs.opengroup.org/onlinepubs/9699919799/functions/send.html : "If space is not available at the sending socket to hold the message to be transmitted, and the socket file descriptor does not have O_NONBLOCK set, send() shall block until space is available. If space is not available at the sending socket to hold the message to be transmitted, and the socket file descriptor does have O_NONBLOCK set, send() shall fail [with EAGAIN]."
2016-03-25extmod/modlwip: Implement setsocketopt(SO_REUSEADDR).Paul Sokolovsky
2016-03-25extmod/modlwip: Add SOL_SOCKET and SO_REUSEADDR constants for setsockopt().Paul Sokolovsky
2016-03-25extmod/modwebsocket: Implement read support.Paul Sokolovsky
2016-03-24extmod/modwebsocket: Start module for WebSocket helper functions.Paul Sokolovsky
Currently, only write support is implemented (of limited buffer size).
2016-03-19extmod/uctypes: Change param type from void* to byte*.Damien George
2016-03-19extmod/uctypes: Finish support for FLOAT32 and FLOAT64 types.Damien George
2016-03-19extmod/uctypes: Use mp_binary_get_val helper when extracting value.Damien George
It handles more cases than mp_binary_get_int.
2016-03-14py: When printf'ing an object as a pointer, pass the concrete pointer.Damien George
2016-03-12extmod/modlwip: lwip_tcp_receive: Properly map lwIP error to POSIX errno.Paul Sokolovsky
2016-03-12extmod/modlwip: Add socket.setblocking() method.Paul Sokolovsky
2016-03-12extmod/modlwip: Rework getaddrinfo() data passing.Paul Sokolovsky
The code is based on Damien George's implementation for esp8266 port, avoids use of global variables and associated re-entrancy issues, and fixes returning stale data in some cases.
2016-03-11extmod/modlwip: Use MICROPY_EVENT_POLL_HOOK for event polling if defined.Paul Sokolovsky
Instead of just delaying 100ms if event isn't yet ready. So far applies only to default, "infinite" socket timeout.
2016-03-09extmod/modlwip: Factor out "socket connected" check to a function.Paul Sokolovsky
Same code repeated for each send*() and recv*() function.
2016-03-09extmod/modlwip: Support non-blocking recv().Paul Sokolovsky
2016-03-09extmod/modlwip: Add .write() stream method.Paul Sokolovsky
2016-03-09extmod/modlwip: Still process remaining incoming data of a closed socket.Damien George
It can happen that a socket gets closed while the pbuf is not completely drained by the application. It can also happen that a new pbuf comes in via the recv callback, and then a "peer closed" event comes via the same callback (pbuf=NULL) before the previous event has been handled. In both cases the socket is closed but there is remaining data. This patch makes sure such data is passed to the application.
2016-03-09extmod/modlwip: Check for state change during recv busy-wait loop.Damien George
For example, the peer may close the connection while recv is waiting for incoming data.
2016-03-09extmod/modlwip: Add stream .read() and .readline() methods.Paul Sokolovsky
2016-03-09extmod/modlwip: Add dummy .makefile() method.Paul Sokolovsky
2016-03-09extmod/modlwip: Add stream protocol read method.Paul Sokolovsky
2016-03-08extmod/modlwip: Implement dummy setsockopt().Paul Sokolovsky
2016-03-08extmod/modlwip: Add .print() method.Paul Sokolovsky
2016-03-08extmod/modlwip: Update make_new() arguments for recent refactor.Paul Sokolovsky
2016-03-03extmod/vfs_fat_lexer: Add func prototype for pedantic warnings.Paul Sokolovsky
2016-03-03extmod/vfs_fat_lexer: Make conditional on FatFs support enabled.Paul Sokolovsky
2016-03-03extmod/vfs_fat: Add lexer, move from stmhal port for reuse.Paul Sokolovsky
2016-02-29extmod/vfs_fat: Add .rename() method.Paul Sokolovsky
2016-02-29extmod/vfs_fat_misc: Fix cc3200 port build.Paul Sokolovsky
2016-02-29extmod/vfs_fat_misc: Add func prototype for pedantic warnings.Paul Sokolovsky
2016-02-29extmod/vfs_fat: Add fat_vfs_import_stat(), reusable import stat routine.Paul Sokolovsky
Moved from stmhal.
2016-02-29extmod/vfs_fat: Add .mkdir() method.Paul Sokolovsky
2016-02-28extmod/vfs_fat: Fix unused param warning/error.Paul Sokolovsky
2016-02-28extmod/vfs_fat: Add .remove() method.Paul Sokolovsky
Based on stmhal implementation - rather small, so just duplicating.
2016-02-28extmod/vfs_fat: Move listdir() method from stmhal for reuse.Paul Sokolovsky
2016-02-15cc3200: Fix breakage after VfsFat refactor.Paul Sokolovsky
2016-02-15extmod/vfs_fat_ffconf: Reusable FatFs module, move from stmhal/ffconf.Paul Sokolovsky
TODO: Probably merge into vfs_fat_diskio.
2016-02-15extmod/vfs_fat_file: Reusable FatFs module, move from stmhal/file.Paul Sokolovsky
2016-02-15extmod/vfs_fat_diskio: Reusable FatFs module, move from stmhal/diskio.Paul Sokolovsky
2016-02-14extmod/fsusermount,vfs_fat: Nanbox cleanness.Paul Sokolovsky
2016-02-14extmod/vfs_fat: Object-oriented encapsulation of FatFs VFS.Paul Sokolovsky
This implements OO interface based on existing fsusermount code and with minimal changes to it, to serve as a proof of concept of OO interface. Examle of usage: bdev = RAMFS(48) uos.VfsFat.mkfs(bdev) vfs = uos.VfsFat(bdev, "/ramdisk") f = vfs.open("foo", "w") f.write("hello!") f.close()