<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/shared-module, branch 0.9.1</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=0.9.1</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=0.9.1'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2017-02-19T16:02:29+00:00</updated>
<entry>
<title>Two I2C fixes:</title>
<updated>2017-02-19T16:02:29+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2017-02-19T16:02:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=710b5d8aff2de490c5531e5cbc9092d51fb39958'/>
<id>urn:sha1:710b5d8aff2de490c5531e5cbc9092d51fb39958</id>
<content type='text'>
1) Bus error will be thrown on read/write errors with errno set. (Read didn't used to fail at all.)
2) try_lock correctly returns boolean whether lock was grabbed.

Fixes #87
</content>
</entry>
<entry>
<title>Rename to CircuitPython</title>
<updated>2017-01-05T22:36:52+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2016-12-20T19:20:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=25ae844d555b489eebd1ca3e80cc34f67182e205'/>
<id>urn:sha1:25ae844d555b489eebd1ca3e80cc34f67182e205</id>
<content type='text'>
</content>
</entry>
<entry>
<title>atmel-samd: Add help() and remove mem_info functions from smallest builds to make room.</title>
<updated>2016-12-20T00:38:35+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2016-12-20T00:38:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=427d33c706236985dff950382e1c6b896b36b1bd'/>
<id>urn:sha1:427d33c706236985dff950382e1c6b896b36b1bd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>atmel-samd: Add APA102 support and flash more advanced status.</title>
<updated>2016-12-10T03:35:56+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2016-12-10T03:27:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b6f1eebab30b0e687e07cc3e42d9db9fd48aab05'/>
<id>urn:sha1:b6f1eebab30b0e687e07cc3e42d9db9fd48aab05</id>
<content type='text'>
The new sequence is as follows:
* Solid blue during the boot/settings script.
* Solid green during the main/code script.
* After main while waiting to enter repl or reset:
  * Fading green once main is done successfully.
  * On error produce a series of flashes:
    * Long flash color of script.
    * Long flash color of error:
      * Green = IndentationError
      * Cyan = SyntaxError
      * White = NameError
      * Orange = OSError
      * Yellow = Other error
    * Line number of the exception by digit. Number of flashes represents value.
      * Thousands = White
      * Hundreds = Blue
      * Tens = Yellow
      * Ones = Cyan
    * Off for a period and then repeats.

At any point a write to the flash storage will flicker red.

Fixes #63
</content>
</entry>
<entry>
<title>Add try_lock and unlock to I2C and SPI classes to make sure things</title>
<updated>2016-12-02T23:46:12+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2016-11-30T23:08:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=26229efe78f6c5f8598d6f9f1b2261c5a84d7a7b'/>
<id>urn:sha1:26229efe78f6c5f8598d6f9f1b2261c5a84d7a7b</id>
<content type='text'>
are shared well between threads and underlying MicroPython (SPI Flash
for example.)

It is recommended to use the bus device classes to manage the locks
and other transaction state.

https://github.com/adafruit/Adafruit_MicroPython_BusDevice

Fixed #58
Fixed #59
Fixed #60
</content>
</entry>
<entry>
<title>shared-bindings: Make MOSI and MISO optional for SPI.</title>
<updated>2016-11-30T00:54:20+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2016-11-30T00:54:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9b3afc7b375da6d820917fc912b88f92a5ef9873'/>
<id>urn:sha1:9b3afc7b375da6d820917fc912b88f92a5ef9873</id>
<content type='text'>
</content>
</entry>
<entry>
<title>uheap: Switch to using gc_nbytes to measure allcoation size so we stop undercounting.</title>
<updated>2016-11-24T01:32:50+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2016-11-24T01:32:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a319ac2f4e2aa20a9d6efa607465e5910f4964f6'/>
<id>urn:sha1:a319ac2f4e2aa20a9d6efa607465e5910f4964f6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add uheap for debugging the size of objects. Still not perfect though.</title>
<updated>2016-11-23T01:32:28+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott.shawcroft@gmail.com</email>
</author>
<published>2016-11-23T01:32:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ea1320bee7fbd0f895e8afe528e4b528489b2c5e'/>
<id>urn:sha1:ea1320bee7fbd0f895e8afe528e4b528489b2c5e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>This introduces an alternative hardware API called nativeio structured around different functions that are typically accelerated by native hardware. Its not meant to reflect the structure of the hardware.</title>
<updated>2016-11-21T22:11:52+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@chickadee.tech</email>
</author>
<published>2016-11-03T22:50:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ccbb5e84f980e252f7380d96fcc5c417a8a64523'/>
<id>urn:sha1:ccbb5e84f980e252f7380d96fcc5c417a8a64523</id>
<content type='text'>
Docs are here: http://tannewt-micropython.readthedocs.io/en/microcontroller/

It differs from upstream's machine in the following ways:

* Python API is identical across ports due to code structure. (Lives in shared-bindings)
* Focuses on abstracting common functionality (AnalogIn) and not representing structure (ADC).
* Documentation lives with code making it easy to ensure they match.
* Pin is split into references (board.D13 and microcontroller.pin.PA17) and functionality (DigitalInOut).
* All nativeio classes claim underlying hardware resources when inited on construction, support Context Managers (aka with statements) and have deinit methods which release the claimed hardware.
* All constructors take pin references rather than peripheral ids. Its up to the implementation to find hardware or throw and exception.
</content>
</entry>
</feed>
