<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/circuitpy_mpconfig.mk, 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-15T15:27:21+00:00</updated>
<entry>
<title>enable CIRCUITPY_BLEIO_HCI on non-nRF boards where it will fit</title>
<updated>2020-10-15T15:27:21+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2020-10-15T15:15:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=82b49afe43494bb1d05bd7786a4f75a0288bf695'/>
<id>urn:sha1:82b49afe43494bb1d05bd7786a4f75a0288bf695</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove unnecessary board configuration and address feedback</title>
<updated>2020-10-12T05:42:59+00:00</updated>
<author>
<name>Kenny</name>
<email>3454741+WarriorOfWire@users.noreply.github.com</email>
</author>
<published>2020-10-12T05:42:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=94beeabc515986e366de569e85d395ab2678ee3d'/>
<id>urn:sha1:94beeabc515986e366de569e85d395ab2678ee3d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix missing cflag defeating the board gating</title>
<updated>2020-10-10T22:45:08+00:00</updated>
<author>
<name>warriorofwire</name>
<email>3454741+WarriorOfWire@users.noreply.github.com</email>
</author>
<published>2020-05-31T22:16:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5cadf525bdf27ef4a3fab9b1c7242384f260003e'/>
<id>urn:sha1:5cadf525bdf27ef4a3fab9b1c7242384f260003e</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: 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 remote-tracking branch 'adafruit/main' into native_wifi</title>
<updated>2020-09-03T23:34:56+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2020-09-03T23:34:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=96cf60fbbdc26d5ed3274a43ebbaab7feca797e1'/>
<id>urn:sha1:96cf60fbbdc26d5ed3274a43ebbaab7feca797e1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Changes based on Dan's feedback</title>
<updated>2020-09-03T23:32:12+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2020-09-03T23:32:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0b94638aeb667f2a417d859487083241a5749128'/>
<id>urn:sha1:0b94638aeb667f2a417d859487083241a5749128</id>
<content type='text'>
</content>
</entry>
<entry>
<title>merge from upstream</title>
<updated>2020-08-30T18:39:03+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2020-08-30T18:39:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6dbd369272c4bedea4e00c1dca80d0b3ee2d6781'/>
<id>urn:sha1:6dbd369272c4bedea4e00c1dca80d0b3ee2d6781</id>
<content type='text'>
</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>
