<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/extmod/moductypes.c, branch v1.8.1</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.1</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.1'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-03-19T22:13:17+00:00</updated>
<entry>
<title>extmod/uctypes: Change param type from void* to byte*.</title>
<updated>2016-03-19T22:13:17+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-03-19T22:13:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b8945517723efaafa63df9ce52bb9d3fa3fceda5'/>
<id>urn:sha1:b8945517723efaafa63df9ce52bb9d3fa3fceda5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extmod/uctypes: Finish support for FLOAT32 and FLOAT64 types.</title>
<updated>2016-03-19T21:59:42+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-03-19T21:59:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=da161fd9f025b624547b6ed5f74a0d30928310f1'/>
<id>urn:sha1:da161fd9f025b624547b6ed5f74a0d30928310f1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extmod/uctypes: Use mp_binary_get_val helper when extracting value.</title>
<updated>2016-03-19T21:41:01+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-03-19T21:41:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=12154b1774c0a05ce97af13307d106a76169ecc7'/>
<id>urn:sha1:12154b1774c0a05ce97af13307d106a76169ecc7</id>
<content type='text'>
It handles more cases than mp_binary_get_int.
</content>
</entry>
<entry>
<title>py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*.</title>
<updated>2016-01-11T00:49:27+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-03T15:55:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5b3f0b7f39bd67cc9182993c288f09f67a0890df'/>
<id>urn:sha1:5b3f0b7f39bd67cc9182993c288f09f67a0890df</id>
<content type='text'>
The first argument to the type.make_new method is naturally a uPy type,
and all uses of this argument cast it directly to a pointer to a type
structure.  So it makes sense to just have it a pointer to a type from
the very beginning (and a const pointer at that).  This patch makes
such a change, and removes all unnecessary casting to/from mp_obj_t.
</content>
</entry>
<entry>
<title>py: Change type of .make_new and .call args: mp_uint_t becomes size_t.</title>
<updated>2016-01-11T00:48:41+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-03T09:59:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a0c97814dfcb0debbde8be99539e3d5ca2334e54'/>
<id>urn:sha1:a0c97814dfcb0debbde8be99539e3d5ca2334e54</id>
<content type='text'>
This patch changes the type signature of .make_new and .call object method
slots to use size_t for n_args and n_kw (was mp_uint_t.  Makes code more
efficient when mp_uint_t is larger than a machine word.  Doesn't affect
ports when size_t and mp_uint_t have the same size.
</content>
</entry>
<entry>
<title>extmod: Fix uctypes size calculation for bitfields</title>
<updated>2016-01-10T21:31:26+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2016-01-03T18:38:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=66d0c1052a4623ef91afe4c7b883b7f37a68fa2b'/>
<id>urn:sha1:66d0c1052a4623ef91afe4c7b883b7f37a68fa2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>uctypes: Implement assignment for scalar array</title>
<updated>2016-01-03T18:23:20+00:00</updated>
<author>
<name>Antonin ENFRUN</name>
<email>antonin.e@me.com</email>
</author>
<published>2015-12-27T19:16:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=26ed00118b48ccf9fca1308015e269f1fc400a79'/>
<id>urn:sha1:26ed00118b48ccf9fca1308015e269f1fc400a79</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extmod/moductypes: sizeof operation depends on layout type of structure.</title>
<updated>2015-12-09T19:43:28+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-12-09T19:39:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d4a874b81e29008713e9de2dd623e62c9f2aa5dc'/>
<id>urn:sha1:d4a874b81e29008713e9de2dd623e62c9f2aa5dc</id>
<content type='text'>
Previously, sizeof() blindly assumed LAYOUT_NATIVE and tried to align
size even for packed LAYOUT_LITTLE_ENDIAN &amp; LAYOUT_BIG_ENDIAN. As sizeof()
is implemented on a strucuture descriptor dictionary (not an structure
object), resolving this required passing layout type around.
</content>
</entry>
<entry>
<title>extmod/moductypes: set_aligned(): Handle INT64/UINT64.</title>
<updated>2015-12-03T22:59:08+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-12-03T22:58:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=add6f4556ed743e150db3a52f2dcab221ff731f1'/>
<id>urn:sha1:add6f4556ed743e150db3a52f2dcab221ff731f1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR.</title>
<updated>2015-11-29T14:25:35+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-11-27T17:01:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=999cedb90ff0827cdb9dfe0e4faa6ebc1739d271'/>
<id>urn:sha1:999cedb90ff0827cdb9dfe0e4faa6ebc1739d271</id>
<content type='text'>
This allows the mp_obj_t type to be configured to something other than a
pointer-sized primitive type.

This patch also includes additional changes to allow the code to compile
when sizeof(mp_uint_t) != sizeof(void*), such as using size_t instead of
mp_uint_t, and various casts.
</content>
</entry>
</feed>
