<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py, branch v1.6</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.6</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.6'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-01-29T11:39:12+00:00</updated>
<entry>
<title>py/formatfloat: Add ability to format doubles with exponents &gt; 99.</title>
<updated>2016-01-29T11:39:12+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-29T11:39:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7417ccfb0d27c7c09b5ed6468a9e3ca729af41bb'/>
<id>urn:sha1:7417ccfb0d27c7c09b5ed6468a9e3ca729af41bb</id>
<content type='text'>
For single prec, exponents never get larger than about 37.  For double
prec, exponents can be larger than 99 and need 3 bytes to format.  This
patch makes the number of bytes needed configurable.

Addresses issue #1772.
</content>
</entry>
<entry>
<title>py/runtime: mp_stack_ctrl_init() should be called immediately on startup.</title>
<updated>2016-01-29T00:13:42+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-01-28T23:05:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d3b1f0b627ccc6705d9fe958549badb87a74ded1'/>
<id>urn:sha1:d3b1f0b627ccc6705d9fe958549badb87a74ded1</id>
<content type='text'>
Calling it from mp_init() is too late for some ports (like Unix), and leads
to incomplete stack frame being captured, with following GC issues. So, now
each port should call mp_stack_ctrl_init() on its own, ASAP after startup,
and taking special precautions so it really was called before stack variables
get allocated (because if such variable with a pointer is missed, it may lead
to over-collecting (typical symptom is segfaulting)).
</content>
</entry>
<entry>
<title>py/bc: Update opcode format table now that MP_BC_NOT opcode is gone.</title>
<updated>2016-01-28T16:11:41+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-28T16:11:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7b05b1b22526d28f15da4c656440ebc6ba1455b8'/>
<id>urn:sha1:7b05b1b22526d28f15da4c656440ebc6ba1455b8</id>
<content type='text'>
MP_BC_NOT was removed and the "not" operation made a proper unary
operator, and the opcode format table needs to be updated to reflect
this change (but actually the change is only cosmetic).
</content>
</entry>
<entry>
<title>py/inlineasm: Add ability to specify return type of asm_thumb funcs.</title>
<updated>2016-01-27T14:27:10+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-15T15:20:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8f54c08691faa3dd859852d211230fd7d9791abd'/>
<id>urn:sha1:8f54c08691faa3dd859852d211230fd7d9791abd</id>
<content type='text'>
Supported return types are: object, bool, int, uint.

For example:

@micropython.asm_thumb
def foo(r0, r1) -&gt; uint:
    add(r0, r0, r1)
</content>
</entry>
<entry>
<title>extmod/modurandom: Add some extra random functions.</title>
<updated>2016-01-26T15:27:00+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-22T16:19:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a53af6c87540c41fdf34211ea99ee794cae6d160'/>
<id>urn:sha1:a53af6c87540c41fdf34211ea99ee794cae6d160</id>
<content type='text'>
Functions added are:
- randint
- randrange
- choice
- random
- uniform

They are enabled with configuration variable
MICROPY_PY_URANDOM_EXTRA_FUNCS, which is disabled by default.  It is
enabled for unix coverage build and stmhal.
</content>
</entry>
<entry>
<title>extmod/moduhashlib: Add support for SHA1 (based on axTLS).</title>
<updated>2016-01-24T18:55:09+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-01-24T18:52:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ee1656e148f81d48989393d7ed579e2eb5d63b1b'/>
<id>urn:sha1:ee1656e148f81d48989393d7ed579e2eb5d63b1b</id>
<content type='text'>
SHA1 is used in a number of protocols and algorithm originated 5 years ago
or so, in other words, it's in "wide use", and only newer protocols use
SHA2.

The implementation depends on axTLS enabled. TODO: Make separate config
option specifically for sha1().
</content>
</entry>
<entry>
<title>py/modmicropython: Add stack_use, heap_lock and heap_unlock functions.</title>
<updated>2016-01-24T09:12:06+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-22T16:16:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=df4ce930e3a050401042ec949270d3e1a1ac9858'/>
<id>urn:sha1:df4ce930e3a050401042ec949270d3e1a1ac9858</id>
<content type='text'>
micropython.stack_use() returns an integer being the number of bytes used
on the stack.

micropython.heap_lock() and heap_unlock() can be used to prevent the
memory manager from allocating anything on the heap.  Calls to these are
allowed to be nested.
</content>
</entry>
<entry>
<title>py/objgetitemiter: Typo fix in comment.</title>
<updated>2016-01-23T21:30:06+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-01-23T21:27:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6c8b3a7feeb85b8d94f9035e972372b848fa2e74'/>
<id>urn:sha1:6c8b3a7feeb85b8d94f9035e972372b848fa2e74</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Add ustruct.pack_into and unpack_from</title>
<updated>2016-01-19T12:25:28+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2015-12-24T03:11:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a17755ee8ba2982505d349e0f06acdabe943d33e'/>
<id>urn:sha1:a17755ee8ba2982505d349e0f06acdabe943d33e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extmod/modurandom: Add "urandom" module.</title>
<updated>2016-01-17T10:13:01+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-01-17T10:10:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a58a91eb04c50daafb31228a79f6752374338c5e'/>
<id>urn:sha1:a58a91eb04c50daafb31228a79f6752374338c5e</id>
<content type='text'>
Seedable and reproducible pseudo-random number generator. Implemented
functions are getrandbits(n) (n &lt;= 32) and seed().

The algorithm used is Yasmarang by Ilya Levin:
http://www.literatecode.com/yasmarang
</content>
</entry>
</feed>
