<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/extmod, branch v1.9.4</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.9.4</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.9.4'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2018-05-04T05:15:04+00:00</updated>
<entry>
<title>extmod/modlwip: In ioctl handle case when socket is in an error state.</title>
<updated>2018-05-04T05:15:04+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-05-04T05:15:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=318f874cda22567a55bb004434ed0ec891fd7d61'/>
<id>urn:sha1:318f874cda22567a55bb004434ed0ec891fd7d61</id>
<content type='text'>
Using MP_STREAM_POLL_HUP for ERR_RST state follows how *nix handles this
case.
</content>
</entry>
<entry>
<title>extmod/uzlib: Fix C-language sequencing error with uzlib_get_byte calls.</title>
<updated>2018-05-02T13:16:22+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-05-02T13:16:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=59361681501cda2aa998fda649929591308aaebb'/>
<id>urn:sha1:59361681501cda2aa998fda649929591308aaebb</id>
<content type='text'>
The order of function calls in an arithmetic expression is undefined and so
they must be written out as sequential statements.

Thanks to @dv-extrarius for reporting this issue, see issue #3690.
</content>
</entry>
<entry>
<title>extmod/vfs: Delegate import_stat to vfs.stat to allow generic FS import.</title>
<updated>2018-05-02T07:08:48+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-05-02T07:08:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=89b1c4a60cd43697e755b645127387d3b34e6d3f'/>
<id>urn:sha1:89b1c4a60cd43697e755b645127387d3b34e6d3f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extmod/modlwip: Check if getaddrinfo() constraints are supported or not.</title>
<updated>2018-04-23T06:38:20+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-04-23T06:38:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=bdff68db9c1f7e35d0600841647cffac4b1d9ef0'/>
<id>urn:sha1:bdff68db9c1f7e35d0600841647cffac4b1d9ef0</id>
<content type='text'>
In particular don't issue a warning if the passed-in constraints are
actually supported because they are the default values.
</content>
</entry>
<entry>
<title>extmod/re1.5: Fix compilecode.c compile problem on IAR tool chain.</title>
<updated>2018-04-10T03:54:22+00:00</updated>
<author>
<name>armink</name>
<email>armink.ztl@gmail.com</email>
</author>
<published>2018-03-21T02:21:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6a693db71d032518dedc50731376c15bebe6cec9'/>
<id>urn:sha1:6a693db71d032518dedc50731376c15bebe6cec9</id>
<content type='text'>
The 2nd and 3rd args of the ternary operator are treated like they are in
the same expression and must have similar types.  void is not compatible
with int so that's why the compiler is complaining.
</content>
</entry>
<entry>
<title>py/stream: Switch stream close operation from method to ioctl.</title>
<updated>2018-04-10T03:41:32+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-03-07T06:48:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cf31d384f1d2ca09f817f154892eaa6860c10144'/>
<id>urn:sha1:cf31d384f1d2ca09f817f154892eaa6860c10144</id>
<content type='text'>
This patch moves the implementation of stream closure from a dedicated
method to the ioctl of the stream protocol, for each type that implements
closing.  The benefits of this are:

1. Rounds out the stream ioctl function, which already includes flush,
   seek and poll (among other things).

2. Makes calling mp_stream_close() on an object slightly more efficient
   because it now no longer needs to lookup the close method and call it,
   rather it just delegates straight to the ioctl function (if it exists).

3. Reduces code size and allows future types that implement the stream
   protocol to be smaller because they don't need a dedicated close method.

Code size reduction is around 200 bytes smaller for x86 archs and around
30 bytes smaller for the bare-metal archs.
</content>
</entry>
<entry>
<title>extmod/vfs_fat: Add file size as 4th element of uos.ilistdir tuple.</title>
<updated>2018-03-12T01:26:36+00:00</updated>
<author>
<name>Tom Collins</name>
<email>tom.collins@digi.com</email>
</author>
<published>2018-03-09T00:02:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4d3a92c67c9b1550eaf07d06ed74de996ee8fa3b'/>
<id>urn:sha1:4d3a92c67c9b1550eaf07d06ed74de996ee8fa3b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>drivers/bus: Pull out software SPI implementation to dedicated driver.</title>
<updated>2018-03-09T13:59:43+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-03-09T06:25:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=58ebeca6a9a172a35b9298a911d450722797c409'/>
<id>urn:sha1:58ebeca6a9a172a35b9298a911d450722797c409</id>
<content type='text'>
This patch takes the software SPI implementation from extmod/machine_spi.c
and moves it to a dedicated file in drivers/bus/softspi.c.  This allows the
SPI driver to be used independently of the uPy runtime, making it a more
general component.
</content>
</entry>
<entry>
<title>extmod/machine_spi: Make SPI protocol structure public.</title>
<updated>2018-03-02T12:55:08+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-03-02T08:12:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=21d5527edf37ba550316ea0dbac87253c7791bd1'/>
<id>urn:sha1:21d5527edf37ba550316ea0dbac87253c7791bd1</id>
<content type='text'>
So it can be referenced directly without the need for the uPy object.
</content>
</entry>
<entry>
<title>extmod/vfs_fat_diskio: Use a C-stack-allocated bytearray for block buf.</title>
<updated>2018-02-28T04:11:20+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-02-28T04:11:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=09be031e047f0e7ba77620c29c5abbdbd5e3d055'/>
<id>urn:sha1:09be031e047f0e7ba77620c29c5abbdbd5e3d055</id>
<content type='text'>
This patch eliminates heap allocation in the VFS FAT disk IO layer, when
calling the underlying readblocks/writeblocks methods.  The bytearray
object that is passed to these methods is now allocated on the C stack
rather than the heap (it's only 4 words big).

This means that these methods should not retain a pointer to the buffer
object that is passed in, but this was already a restriction because the
original heap-allocated bytearray had its buffer passed by reference.
</content>
</entry>
</feed>
