aboutsummaryrefslogtreecommitdiff
path: root/extmod
AgeCommit message (Collapse)Author
2016-05-03extmod/modlwip: Implement sendall() method for TCP sockets.Paul Sokolovsky
2016-05-02extmod/modwebrepl: Get rid of using strncpy().Paul Sokolovsky
2016-04-30extmod/modwebrepl: Add support for password.Paul Sokolovsky
Request for password then becomes mandatory part of the protocol.
2016-04-29extmod/modwebrepl: Set debugging by default to off.Paul Sokolovsky
That's production setting. Also, extra UART output may affect behavior of (subpar) network drivers.
2016-04-29extmod/modwebrepl: Add rate-limiting workaround for broken network drivers.Paul Sokolovsky
Like ESP8266 has.
2016-04-29extmod/modwebrepl: Use bigger socket receive buffer.Paul Sokolovsky
The smaller chunks we send (and receive), the more packets there to receive, and higher chance to git internal packet buffer overflow in WiFi driver.
2016-04-29extmod/modwebrepl: More detailed debug output.Paul Sokolovsky
So detailed that even commented by default.
2016-04-29extmod/modwebrepl: GET_FILE: Send length-prefix chunk with one write().Paul Sokolovsky
A bit of optimization.
2016-04-29extmod/modwebrepl: Keep reading data when there's something to read.Paul Sokolovsky
EAGAIN should be returned only if underlying socket returned it. Wrap existing read function into external loop to process all data available.
2016-04-29extmod/modwebrepl: Initial implementation of "get file" operation.Paul Sokolovsky
2016-04-29extmod/modwebrepl: Module to handle WebREPL protocol.Paul Sokolovsky
While just a websocket is enough for handling terminal part of WebREPL, handling file transfer operations requires demultiplexing and acting upon, which is encapsulated in _webrepl class provided by this module, which wraps a websocket object.
2016-04-28extmod/modussl: SSL_OK from ssl_read() means "no user data so far".Paul Sokolovsky
SSL_OK is numeric 0, and it's *not* an EOF. So, should keep reading.
2016-04-28extmod/modussl: Support server-side SSL sockets.Paul Sokolovsky
wrap_socket(sock, server_side=True)
2016-04-28extmod/modussl: Throw Python exceptions in case of errors.Paul Sokolovsky
2016-04-27extmod/modwebsocket: Handle CLOSE control frame.Paul Sokolovsky
This fixes situation when clients hangs waiting for disconnect and does so only on timeout.
2016-04-26extmod/modlwip: Add print_pcbs() debug function.Paul Sokolovsky
This requires lwIP built with LWIP_DEBUG (or it will be no-op).
2016-04-26extmod/modlwip: Workaround esp8266 sendto issue where 1 is returned.Damien George
2016-04-26extmod, stmhal: Fix typo of macro that detects if float is enabled.Damien George
2016-04-25extmod/modlwip: Protect recv/accept Python callback against exceptions.Paul Sokolovsky
Using usual call_function_*_protected() helper, to avoid NLR jump crashes.
2016-04-22extmod/machine_i2c: Allow mp_hal_pin_obj_t to be any type, not a ptr.Damien George
2016-04-17extmod/modlwip: Add ability to run callback on "recv" and "accept" events.Paul Sokolovsky
To use: .setsockopt(SOL_SOCKET, 20, lambda sock: print(sock)). There's a single underlying callback slot. For normal sockets, it serves as data received callback, for listening sockets - connection arrived callback.
2016-04-17extmod/modlwip: lwip_tcp_receive(): Full error handling.Paul Sokolovsky
2016-04-17extmod/modlwip: lwip_tcp_send(): Full error handling.Paul Sokolovsky
2016-04-14extmod/fsusermount: In mount/mkfs, deregister VFS object on error.Damien George
Should fix issue #1947.
2016-04-15extmod/modlwip: More debug messages for various edge conditions.Paul Sokolovsky
2016-04-14extmod/modlwip: Start adding debug output.Paul Sokolovsky
2016-04-14extmod/modlwip: lwip_tcp_receive(): Properly handle EOF for non-blocking sock.Paul Sokolovsky
2016-04-13extmod/modwebsocket: Another case to propagate EOF.Paul Sokolovsky
2016-04-13extmod/moduos_dupterm: Don't swallow exceptions in dupterm's read()/write().Paul Sokolovsky
The idea is that if dupterm object can handle exceptions, it will handle them itself. Otherwise, object state can be compromised and it's better to terminate dupterm session. For example, disconnected socket will keep throwing exceptions and dump messages about that.
2016-04-12extmod/machine_i2c: Implement I2C memory reading/writing.Damien George
2016-04-12extmod/machine_i2c: Fix I2C reading by sending ack/nack at end of byte.Damien George
2016-04-12extmod: Add generic machine.I2C class, with bit-bang I2C.Damien George
Should work on any machine that provides the correct pin functions.
2016-04-12extmod: Add initial framebuf module.Damien George
2016-04-11extmod/modwebsocket: write(): Support write size beyond 125 bytes.Paul Sokolovsky
2016-04-11extmod/modlwip: Fix for loss of data in unaccepted incoming sockets.Paul Sokolovsky
When lwIP creates a incoming connection socket of a listen socket, it sets its recv callback to one which discards incoming data. We set proper callback only in accept() call, when we allocate Python-level socket where we can queue incoming data. So, in lwIP accept callback be sure to set recv callback to one which tells lwIP to not discard incoming data.
2016-04-10extmod/modwebsocket.h: Split websocket-related defines for reuse.Paul Sokolovsky
2016-04-10extmod/modwebsocket: Implement MP_STREAM_SET_DATA_OPTS ioctl.Paul Sokolovsky
Allows to set fragment type (txt/bin/etc.) for output records.
2016-04-10extmod/modwebsocket: Allow to get type of last read data using ioctl().Paul Sokolovsky
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