<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/circuitpy_mpconfig.h, branch 6.0.x</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.0.x</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.0.x'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2020-10-15T02:39:04+00:00</updated>
<entry>
<title>Merge pull request #3554 from gamblor21/move_ordereddict</title>
<updated>2020-10-15T02:39:04+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@adafruit.com</email>
</author>
<published>2020-10-15T02:39:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f1e8f2b404ef45edf08b019c1e68d595aa69b357'/>
<id>urn:sha1:f1e8f2b404ef45edf08b019c1e68d595aa69b357</id>
<content type='text'>
Moved ORDEREDDICT define to central location</content>
</entry>
<entry>
<title>Remove ordered dict from SAMD21</title>
<updated>2020-10-15T01:18:49+00:00</updated>
<author>
<name>gamblor21</name>
<email>mark.komus@gmail.com</email>
</author>
<published>2020-10-15T01:18:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f6f89565d83c0ac942496f29394ff59976aaa5b9'/>
<id>urn:sha1:f6f89565d83c0ac942496f29394ff59976aaa5b9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Moved ORDEREDDICT define to central location</title>
<updated>2020-10-13T23:52:27+00:00</updated>
<author>
<name>gamblor21</name>
<email>mark.komus@gmail.com</email>
</author>
<published>2020-10-13T23:52:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4270061db491bae1e7cca9ca2cbed5db70f9062e'/>
<id>urn:sha1:4270061db491bae1e7cca9ca2cbed5db70f9062e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add async/await syntax to FULL_BUILD</title>
<updated>2020-10-10T22:38:40+00:00</updated>
<author>
<name>warriorofwire</name>
<email>3454741+WarriorOfWire@users.noreply.github.com</email>
</author>
<published>2020-05-31T20:09:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d94d2d297552decfc1f02b84c898127eb14e96bf'/>
<id>urn:sha1:d94d2d297552decfc1f02b84c898127eb14e96bf</id>
<content type='text'>
This adds the `async def` and `await` verbs to valid CircuitPython syntax using the Micropython implementation.

Consider:
```
&gt;&gt;&gt; class Awaitable:
...     def __iter__(self):
...         for i in range(3):
...             print('awaiting', i)
...             yield
...         return 42
...
&gt;&gt;&gt; async def wait_for_it():
...     a = Awaitable()
...     result = await a
...     return result
...
&gt;&gt;&gt; task = wait_for_it()
&gt;&gt;&gt; next(task)
awaiting 0
&gt;&gt;&gt; next(task)
awaiting 1
&gt;&gt;&gt; next(task)
awaiting 2
&gt;&gt;&gt; next(task)
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  StopIteration: 42
&gt;&gt;&gt;
```

and more excitingly:
```
&gt;&gt;&gt; async def it_awaits_a_subtask():
...     value = await wait_for_it()
...     print('twice as good', value * 2)
...
&gt;&gt;&gt; task = it_awaits_a_subtask()
&gt;&gt;&gt; next(task)
awaiting 0
&gt;&gt;&gt; next(task)
awaiting 1
&gt;&gt;&gt; next(task)
awaiting 2
&gt;&gt;&gt; next(task)
twice as good 84
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  StopIteration:
```

Note that this is just syntax plumbing, not an all-encompassing implementation of an asynchronous task scheduler or asynchronous hardware apis.
  uasyncio might be a good module to bring in, or something else - but the standard Python syntax does not _strictly require_ deeper hardware
  support.
Micropython implements the await verb via the __iter__ function rather than __await__.  It's okay.

The syntax being present will enable users to write clean and expressive multi-step state machines that are written serially and interleaved
  according to the rules provided by those users.

Given that this does not include an all-encompassing C scheduler, this is expected to be an advanced functionality until the community settles
  on the future of deep hardware support for async/await in CircuitPython.  Users will implement yield-based schedulers and tasks wrapping
  synchronous hardware APIs with polling to avoid blocking, while their application business logic gets simple `await` statements.
</content>
</entry>
<entry>
<title>canio: rename from _canio</title>
<updated>2020-09-21T21:44:26+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-09-21T21:42:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4869dbdc670bfa8a5f2e0a639495d03984ea0a6a'/>
<id>urn:sha1:4869dbdc670bfa8a5f2e0a639495d03984ea0a6a</id>
<content type='text'>
This reflects our belief that the API is stable enough to avoid incompatible changes during 6.x.
</content>
</entry>
<entry>
<title>_canio: Minimal implementation for SAM E5x MCUs</title>
<updated>2020-09-21T21:44:26+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-08-20T16:08:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a2e1867f69ec2d703a9651e5c36a02b0e14dfd9c'/>
<id>urn:sha1:a2e1867f69ec2d703a9651e5c36a02b0e14dfd9c</id>
<content type='text'>
Tested &amp; working:

 * Send standard packets
 * Receive standard packets (1 FIFO, no filter)

Interoperation between SAM E54 Xplained running this tree and
MicroPython running on STM32F405 Feather with an external
transceiver was also tested.

Many other aspects of a full implementation are not yet present,
such as error detection and recovery.
</content>
</entry>
<entry>
<title>camera: Implement new library for camera</title>
<updated>2020-09-14T11:11:15+00:00</updated>
<author>
<name>Kamil Tomaszewski</name>
<email>kamil.tomaszewski@sony.com</email>
</author>
<published>2020-09-02T13:42:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=064c597b60d7394216d9c36080b7ee8ff089cb53'/>
<id>urn:sha1:064c597b60d7394216d9c36080b7ee8ff089cb53</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #3326 from tannewt/native_wifi</title>
<updated>2020-09-10T18:20:44+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@adafruit.com</email>
</author>
<published>2020-09-10T18:20:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=683462c1b15055e20da55c40243e314d660f803a'/>
<id>urn:sha1:683462c1b15055e20da55c40243e314d660f803a</id>
<content type='text'>
Add native wifi API with ESP32S2 support</content>
</entry>
<entry>
<title>circuitpy_mpconfig: enable 3-arg pow() with CIRCUITPY_FULL_BUILD</title>
<updated>2020-09-06T15:07:57+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-09-06T15:07:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=73858ea682da98d1b4e153c2f0254a9956e975aa'/>
<id>urn:sha1:73858ea682da98d1b4e153c2f0254a9956e975aa</id>
<content type='text'>
This is needed for a port of python3's decimal.py module.
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'adafruit/main' into native_wifi</title>
<updated>2020-08-25T23:39:23+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2020-08-25T23:39:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8b71e26abdd5ae2dfcd82d9f2dcb8f7179882d3f'/>
<id>urn:sha1:8b71e26abdd5ae2dfcd82d9f2dcb8f7179882d3f</id>
<content type='text'>
</content>
</entry>
</feed>
