<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py, branch 6.0.0-beta.2</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.0.0-beta.2</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.0.0-beta.2'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2020-09-28T22:22:00+00:00</updated>
<entry>
<title>canio: RemoteTransmissionRequest: Split implementation, keep one structure</title>
<updated>2020-09-28T22:22:00+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-09-26T14:44:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a4cc3ad6cb75845e0dc75ede97b8287bb1af0317'/>
<id>urn:sha1:a4cc3ad6cb75845e0dc75ede97b8287bb1af0317</id>
<content type='text'>
This already begins obscuring things, because now there are two sets of
shared-module functions for manipulating the same structure, e.g.,
common_hal_canio_remote_transmission_request_get_id and
common_hal_canio_message_get_id
</content>
</entry>
<entry>
<title>Merge pull request #3456 from jepler/qstr-and-or-demagic</title>
<updated>2020-09-23T19:24:02+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@adafruit.com</email>
</author>
<published>2020-09-23T19:24:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a8558a48ed91f5279a97d4d95669a40224dc6663'/>
<id>urn:sha1:a8558a48ed91f5279a97d4d95669a40224dc6663</id>
<content type='text'>
makeqstrdefs: don't make _and_, _or_ poisoned substrings for QSTRs</content>
</entry>
<entry>
<title>makeqstrdefs: don't make _and_, _or_ poisoned substrings for QSTRs</title>
<updated>2020-09-22T22:39:44+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-09-22T22:38:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=28e80e47d708fe346be0ae8d430f1a86d5d3049b'/>
<id>urn:sha1:28e80e47d708fe346be0ae8d430f1a86d5d3049b</id>
<content type='text'>
New contributor @mdroberts1243 encountered an interesting problem in
which the argument they had named "column_underscore_and_page_addressing"
simply couldn't be used; I discovered that internally this had been
transformed into "column_underscore∧page_addressing", because QSTR
makes _ENTITY_ stand for the same thing as &amp;ENTITY; does in HTML.

This might be nice for some things, but we don't want it here!
I was unable to find a sensible way to "escape" and prevent this entity
coding, so instead I ripped out support for the _and_ and _or_ escapes.
</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>py: Add enum helper code</title>
<updated>2020-09-21T21:44:26+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-09-16T16:57:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e7a213a11420ed362dfb672cd0fa6e77c032fa07'/>
<id>urn:sha1:e7a213a11420ed362dfb672cd0fa6e77c032fa07</id>
<content type='text'>
This makes it much easier to implement enums, and the printing code is
shared.  We might want to convert other enums to this in the future.
</content>
</entry>
<entry>
<title>makeqstrdata: Work around python3.6 compatibility problem</title>
<updated>2020-09-21T15:03:07+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-09-21T15:02:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0318eb359fbeb91c6b37ed2050e57711ec2740bc'/>
<id>urn:sha1:0318eb359fbeb91c6b37ed2050e57711ec2740bc</id>
<content type='text'>
Discord user Folknology encountered a problem building with Python 3.6.9,
`TypeError: ord() expected a character, but string of length 0 found`.

I was able to reproduce the problem using Python3.5*, and discovered that
the meaning of the regular expression `"|."` had changed in 3.7.  Before,
```
&gt;&gt;&gt; [m.group(0) for m in re.finditer("|.", "hello")]
['', '', '', '', '', '']
```
After:
```
&gt;&gt;&gt; [m.group(0) for m in re.finditer("|.", "hello")]
['', 'h', '', 'e', '', 'l', '', 'l', '', 'o', '']
```
Check if `words` is empty and if so use `"."` as the regular expression
instead.  This gives the same result on both versions:
```
['h', 'e', 'l', 'l', 'o']
```
and fixes the generation of the huffman dictionary.

Folknology verified that this fix worked for them.

 * I could easily install 3.5 but not 3.6.  3.5 reproduced the same problem
</content>
</entry>
<entry>
<title>makeqstrdata: Work with older Python</title>
<updated>2020-09-19T15:16:13+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-09-19T15:16:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=bfbbbd6c5ce58ba1bcb57323566209902e1000b0'/>
<id>urn:sha1:bfbbbd6c5ce58ba1bcb57323566209902e1000b0</id>
<content type='text'>
This construct (which I added without sufficient testing,
apparently) is only supported in Python 3.7 and newer.  Make it
optional so that this script works on other Python versions.  This
means that if you have a system with non-UTF-8 encoding you will
need to use Python 3.7.

In particular, this affects a problem building circuitpython in
github's ubuntu-18.04 virtual environment when Python 3.7 is not
explicitly installed.  cookie-cuttered libraries call for Python
3.6:
```
    - name: Set up Python 3.6
      uses: actions/setup-python@v1
      with:
        python-version: 3.6
```
Since CircuitPython's own build calls for 3.8, this problem was not
detected.

This problem was also encountered by discord user mdroberts1243.

The failure I encountered was here:
https://github.com/jepler/Jepler_CircuitPython_udecimal/runs/1138045020?check_suite_focus=true
.. while my step of "clone and build circuitpython unix port" is
unusual, I think the same problem would have affected "build assets"
if that step had been reached.
</content>
</entry>
<entry>
<title>Merge pull request #3398 from jepler/better-dictionary-compression</title>
<updated>2020-09-16T18:10:22+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@adafruit.com</email>
</author>
<published>2020-09-16T18:10:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=750bc1e04ac6f3c5bec7cb6d5f2bdf1e84c45f47'/>
<id>urn:sha1:750bc1e04ac6f3c5bec7cb6d5f2bdf1e84c45f47</id>
<content type='text'>
compression: Implement @ciscorn's dictionary approach</content>
</entry>
<entry>
<title>makeqstrdata: comment my understanding of @ciscorn's code</title>
<updated>2020-09-16T13:28:15+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-09-16T12:58:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a8e98cda83119b8716533ce24af6e3d691f7d2ca'/>
<id>urn:sha1:a8e98cda83119b8716533ce24af6e3d691f7d2ca</id>
<content type='text'>
</content>
</entry>
</feed>
