<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/shared-bindings, branch 5.4.0-beta.0</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=5.4.0-beta.0</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=5.4.0-beta.0'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2020-05-11T22:42:33+00:00</updated>
<entry>
<title>Merge pull request #2877 from rhooper/pixelbuf-doc-fix</title>
<updated>2020-05-11T22:42:33+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@adafruit.com</email>
</author>
<published>2020-05-11T22:42:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1b0c52c8ca988e609ef51e1cbb0ecbd3a88714a7'/>
<id>urn:sha1:1b0c52c8ca988e609ef51e1cbb0ecbd3a88714a7</id>
<content type='text'>
Pixelbuf doc fix</content>
</entry>
<entry>
<title>ujson: do not eat trailing whitespace</title>
<updated>2020-05-11T03:45:42+00:00</updated>
<author>
<name>warriorofwire</name>
<email>3454741+WarriorOfWire@users.noreply.github.com</email>
</author>
<published>2020-05-11T03:45:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=eb3d5fa453bd04cc116e704c36a97250c93b7b4b'/>
<id>urn:sha1:eb3d5fa453bd04cc116e704c36a97250c93b7b4b</id>
<content type='text'>
Ujson should only worry about whitespace before JSON.  This becomes apparent when you are using MP stream protocol to read directly from input buffers.

When you attempt to read(1) on a UART (and possibly other protocols) you have to wait for either the byte or the timeout.

Fixes:
- Waiting for a timeout after you have completed reading a correct and complete JSON off the input.
- Raising an OSError after reading a correct and complete JSON off the input.
- Eating more data than semantically owned off the input buffer.
- Blocking to start parsing JSON until the entire JSON body has been loaded into a potentially large, contiguous Python object.

Code you would write before:
```
line = board_busio_uart_port.read_line()
json_dict = json.loads(line)
```
or reaching for fixed buffers and swapping them around in Python.

Code that did not work before that does now:
```
json_dict = json.load(board_busio_uart_port)
```

- This removes the need for intermediate copies of data when reading JSON from micropython stream protocol inputs.
- It also increases total application speed by parsing JSON concurrently with receiving on boards that read from UART via DMA.
- It simplifies code that users write while improving their apps.
</content>
</entry>
<entry>
<title>fix another doc error (pixelsx - thanks @theacodes)</title>
<updated>2020-05-11T01:35:37+00:00</updated>
<author>
<name>Roy Hooper</name>
<email>rhooper@toybox.ca</email>
</author>
<published>2020-05-11T01:35:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=09fedb3fd5d0dd5852d7aa54ac9826c9a0b287b0'/>
<id>urn:sha1:09fedb3fd5d0dd5852d7aa54ac9826c9a0b287b0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix docs some more</title>
<updated>2020-05-10T23:50:10+00:00</updated>
<author>
<name>Roy Hooper</name>
<email>rhooper@toybox.ca</email>
</author>
<published>2020-05-10T23:50:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=70f2ef3f8ef3707744741549bf7f094fd60f8435'/>
<id>urn:sha1:70f2ef3f8ef3707744741549bf7f094fd60f8435</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Minor fixes to _pixelbuf.PixelBuf docs</title>
<updated>2020-05-10T20:22:01+00:00</updated>
<author>
<name>Roy Hooper</name>
<email>rhooper@toybox.ca</email>
</author>
<published>2020-05-10T20:22:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=2f7c0ec8e4497c95bb7f5f5ee630c3748acdf9a9'/>
<id>urn:sha1:2f7c0ec8e4497c95bb7f5f5ee630c3748acdf9a9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update wheel to colorwheel and fix RGB order.</title>
<updated>2020-05-08T18:44:41+00:00</updated>
<author>
<name>Kattni Rembor</name>
<email>kattni@adafruit.com</email>
</author>
<published>2020-05-08T18:44:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a83d1d7b4b8f5ad1220a9ce9a4a08d8f50116bab'/>
<id>urn:sha1:a83d1d7b4b8f5ad1220a9ce9a4a08d8f50116bab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update colorwheel from GRB to RGB.</title>
<updated>2020-05-08T17:25:52+00:00</updated>
<author>
<name>Kattni Rembor</name>
<email>kattni@adafruit.com</email>
</author>
<published>2020-05-08T17:25:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=37e5ff7757f753516b5fca5aa345f6d112f8b2fa'/>
<id>urn:sha1:37e5ff7757f753516b5fca5aa345f6d112f8b2fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix type in RTC documentation.</title>
<updated>2020-05-06T19:11:11+00:00</updated>
<author>
<name>spkuehl</name>
<email>skuehlhorn@gmail.com</email>
</author>
<published>2020-05-06T19:11:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=af55af216a3aadd78960f7c8e60bc51b49a13df1'/>
<id>urn:sha1:af55af216a3aadd78960f7c8e60bc51b49a13df1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>aesio: add basic AES encryption and decryption</title>
<updated>2020-05-06T09:40:06+00:00</updated>
<author>
<name>Sean Cross</name>
<email>sean@xobs.io</email>
</author>
<published>2020-04-14T03:18:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b168784fa0fd97b17807836b390c79abaadfa8e4'/>
<id>urn:sha1:b168784fa0fd97b17807836b390c79abaadfa8e4</id>
<content type='text'>
This adds initial support for an AES module named aesio.  This
implementation supports only a subset of AES modes, namely
ECB, CBC, and CTR modes.

Example usage:

```
&gt;&gt;&gt; import aesio
&gt;&gt;&gt;
&gt;&gt;&gt; key = b'Sixteen byte key'
&gt;&gt;&gt; cipher = aesio.AES(key, aesio.MODE_ECB)
&gt;&gt;&gt; output = bytearray(16)
&gt;&gt;&gt; cipher.encrypt_into(b'Circuit Python!!', output)
&gt;&gt;&gt; output
bytearray(b'E\x14\x85\x18\x9a\x9c\r\x95&gt;\xa7kV\xa2`\x8b\n')
&gt;&gt;&gt;
```

This key is 16-bytes, so it uses AES128.  If your key is 24- or 32-
bytes long, it will switch to AES192 or AES256 respectively.

This has been tested with many of the official NIST test vectors,
such as those used in `pycryptodome` at
https://github.com/Legrandin/pycryptodome/tree/39626a5b01ce5c1cf51d022be166ad0aea722177/lib/Crypto/SelfTest/Cipher/test_vectors/AES

CTR has not been tested as NIST does not provide test vectors for it.

Signed-off-by: Sean Cross &lt;sean@xobs.io&gt;
</content>
</entry>
<entry>
<title>trivial change to force rebuild</title>
<updated>2020-05-05T03:05:47+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2020-05-05T03:05:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e1366d78b125f0aca7d9f2e6faa55d3b0adf2e83'/>
<id>urn:sha1:e1366d78b125f0aca7d9f2e6faa55d3b0adf2e83</id>
<content type='text'>
</content>
</entry>
</feed>
