- 18 Jun, 2016 1 commit
-
-
Paul Sokolovsky authored
It's now used for more than just stream protocol (e.g. pin protocol), so don't use false names.
-
- 17 Jun, 2016 3 commits
-
-
Paul Sokolovsky authored
It's not really in-memory though, just uses anonymous temporary file on disk.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 16 Jun, 2016 4 commits
-
-
Paul Sokolovsky authored
-
Robert HH authored
The time stamp is taken from the RTC for all newly generated or changed files. RTC must be maintained separately. The dummy time stamp of Jan 1, 2000 is set in vfs.stat() for the root directory, avoiding invalid time values.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 15 Jun, 2016 1 commit
-
-
Paul Sokolovsky authored
-
- 14 Jun, 2016 1 commit
-
-
Paul Sokolovsky authored
This implements basic wrapping of native get/put/seq API, and then dictionary access protocol. Native API is intended to be superceded going forward.
-
- 31 May, 2016 4 commits
-
-
Damien George authored
Since not all ports that enable the machine module have the pin HAL functions.
-
Damien George authored
The C implementation is taken from the DHT driver.
-
Paul Sokolovsky authored
-
Robert HH authored
The call to stat() returns a 10 element tuple consistent to the os.stat() call. At the moment, the only relevant information returned are file type and file size.
-
- 29 May, 2016 4 commits
-
-
Paul Sokolovsky authored
Copy-paste issue, with the original mistake in stmhal.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Ported from stmhal.
-
Paul Sokolovsky authored
Ported from stmhal.
-
- 27 May, 2016 1 commit
-
-
Robert HH authored
These changes are in line with similar changes in other modules, and with standard Python interface.
-
- 26 May, 2016 2 commits
-
-
Paul Sokolovsky authored
Using usual method of virtual method tables. Single virtual method, ioctl, is defined currently for all operations. This universal and extensible vtable-based method is also defined as a default MPHAL GPIO implementation, but a specific port may override it with its own implementation (e.g. close-ended, but very efficient, e.g. avoiding virtual method dispatch).
-
Damien George authored
mp_hal_pin_config_od is renamed mp_hal_pin_open_drain, and mp_hal_pin_low is mp_hal_pin_od_low.
-
- 25 May, 2016 2 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Still not compatible with nanboxing.
-
- 20 May, 2016 4 commits
-
-
Paul Sokolovsky authored
Make dupterm subsystem close a term stream object when EOF or error occurs. There's no other party than dupterm itself in a better position to do this, and this is required to properly reclaim stream resources, especially if multiple dupterm sessions may be established (e.g. as networking connections).
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Damien George authored
-
- 17 May, 2016 1 commit
-
-
Paul Sokolovsky authored
Both read and write operations support variants where either a) a single call is made to the undelying stream implementation and returned buffer length may be less than requested, or b) calls are repeated until requested amount of data is collected, shorter amount is returned only in case of EOF or error. These operations are available from the level of C support functions to be used by other C modules to implementations of Python methods to be used in user-facing objects. The rationale of these changes is to allow to write concise and robust code to work with *blocking* streams of types prone to short reads, like serial interfaces and sockets. Particular object types may select "exact" vs "once" types of methods depending on their needs. E.g., for sockets, revc() and send() methods continue to be "once", while read() and write() thus converted to "exactly" versions. These changes don't affect non-blocking handling, e.g. trying "exact" method on the non-blocking socket will return as much data as available without blocking. No data available is continued to be signaled as None return value to read() and write(). From the point of view of CPython compatibility, this model is a cross between its io.RawIOBase and io.BufferedIOBase abstract classes. For blocking streams, it works as io.BufferedIOBase model (guaranteeing lack of short reads/writes), while for non-blocking - as io.RawIOBase, returning None in case of lack of data (instead of raising expensive exception, as required by io.BufferedIOBase). Such a cross-behavior should be optimal for MicroPython needs.
-
- 15 May, 2016 1 commit
-
-
Paul Sokolovsky authored
Calling it from lwIP accept callback will lead incorrect functioning and/or packet leaks if Python callback has any networking calls, due to lwIP non-reentrancy. So, instead schedule "poll" callback to do that, which will be called by lwIP when it does not perform networking activities. "Poll" callback is called infrequently though (docs say every 0.5s by default), so for better performance, lwIP needs to be patched to call poll callback soon after accept callback, but when current packet is already processed.
-
- 12 May, 2016 1 commit
-
-
Damien George authored
-
- 03 May, 2016 1 commit
-
-
Paul Sokolovsky authored
-
- 02 May, 2016 1 commit
-
-
Paul Sokolovsky authored
-
- 30 Apr, 2016 1 commit
-
-
Paul Sokolovsky authored
Request for password then becomes mandatory part of the protocol.
-
- 29 Apr, 2016 5 commits
-
-
Paul Sokolovsky authored
That's production setting. Also, extra UART output may affect behavior of (subpar) network drivers.
-
Paul Sokolovsky authored
Like ESP8266 has.
-
Paul Sokolovsky authored
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.
-
Paul Sokolovsky authored
So detailed that even commented by default.
-
Paul Sokolovsky authored
A bit of optimization.
-
- 28 Apr, 2016 2 commits
-
-
Paul Sokolovsky authored
EAGAIN should be returned only if underlying socket returned it. Wrap existing read function into external loop to process all data available.
-
Paul Sokolovsky authored
-