<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/ports/nrf/background.c, branch master</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=master</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2020-01-06T04:33:42+00:00</updated>
<entry>
<title>wip; compiles</title>
<updated>2020-01-06T04:33:42+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2020-01-06T04:33:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=390337b9a518eaa4416458bce9f4a39b60b23372'/>
<id>urn:sha1:390337b9a518eaa4416458bce9f4a39b60b23372</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refine _bleio</title>
<updated>2019-10-22T01:57:03+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-09-14T19:40:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ae30a1e5aa198bdeee7dce04194b027ff4e3d65a'/>
<id>urn:sha1:ae30a1e5aa198bdeee7dce04194b027ff4e3d65a</id>
<content type='text'>
This PR refines the _bleio API. It was originally motivated by
the addition of a new CircuitPython service that enables reading
and modifying files on the device. Moving the BLE lifecycle outside
of the VM motivated a number of changes to remove heap allocations
in some APIs.

It also motivated unifying connection initiation to the Adapter class
rather than the Central and Peripheral classes which have been removed.
Adapter now handles the GAP portion of BLE including advertising, which
has moved but is largely unchanged, and scanning, which has been enhanced
to return an iterator of filtered results.

Once a connection is created (either by us (aka Central) or a remote
device (aka Peripheral)) it is represented by a new Connection class.
This class knows the current connection state and can discover and
instantiate remote Services along with their Characteristics and
Descriptors.

Relates to #586
</content>
</entry>
<entry>
<title>nrf: Add i2s audio output</title>
<updated>2019-09-08T21:46:35+00:00</updated>
<author>
<name>jepler</name>
<email>jepler@gmail.com</email>
</author>
<published>2019-09-08T18:08:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f38ee42874e4581080cd3bf808b4ab5e32e4807d'/>
<id>urn:sha1:f38ee42874e4581080cd3bf808b4ab5e32e4807d</id>
<content type='text'>
Testing performed: I used a Particle Xenon with a HDA1334 I2S DAC.
I played a variety of mono 16-bit samples at 11025 and 22050Hz nominal
bit rates.  With this setup, all the 11025Hz samples sound good.
I tested play, pause,  and loop functionality.

During some runs with 22050Hz samples, there were glitches.  However,
these may have only occurred during runs where I had set breakpoints
and watchpoints in gdb.

I also tested with a MAX98357A I2S amplifier.  On this device, everything
sounded "scratchy".  I was powering it from 5V and the 5V rail seemed
steady, so I don't have an explanation for this.  However, I haven't
tried it with a SAMD board.
</content>
</entry>
<entry>
<title>Begin refresh rework.</title>
<updated>2019-08-22T21:08:33+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-08-14T21:17:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c247e7df9c043dc6a452a6cabc7bf232c0e9e085'/>
<id>urn:sha1:c247e7df9c043dc6a452a6cabc7bf232c0e9e085</id>
<content type='text'>
</content>
</entry>
<entry>
<title>PWM audio: Rename AudioOut -&gt; PWMAudioOut, _audioio_ -&gt; _audiopwmio_</title>
<updated>2019-07-29T22:39:00+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2019-07-29T22:39:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b72352949ba50d4cece043f65e037de7e3ae3a1a'/>
<id>urn:sha1:b72352949ba50d4cece043f65e037de7e3ae3a1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ports/nrf: Implement audioio.AudioOut using PWM</title>
<updated>2019-07-26T12:57:11+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2019-07-16T00:56:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a183425e001e3a7e61ae3bfa7cb5f8cee5922974'/>
<id>urn:sha1:a183425e001e3a7e61ae3bfa7cb5f8cee5922974</id>
<content type='text'>
This implements AudioOut, with known caveats:
 * pause/resume are not yet implemented (this is just a bug)
 * at best, the sample fidelity is 8 bits (this is a hardware limitation)

Testing performed:

My test system is a Particle Xenon with a PAM8302 op-amp
https://www.adafruit.com/product/2130 and 8-ohm speaker.  There's no
analog filtering between the Xenon's PWM pin and the "A+" input of
the amplifier; the "A-" pin is disconnected.  It is powered from
VUSB.

I used pin D4, which is *NOT* listed as a low-speed-only pin, but
the code does NOT switch the pin to high drive.  This is related to
an open issue for general inability to set drive level for pins
being used by a "special function" on nrf:
https://github.com/adafruit/circuitpython/issues/1270

Nothing about the code I've written should limit the usable pins.

All samples I played were 16-bit, generally monophonic at 11025Hz
and 22050Hz from the Debian LibreOffice package.
</content>
</entry>
<entry>
<title>Include display objects in gc.</title>
<updated>2019-06-06T21:49:32+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2019-06-06T21:49:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=62de2506e47c14a71c7a9fe04360697ccb966aeb'/>
<id>urn:sha1:62de2506e47c14a71c7a9fe04360697ccb966aeb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't let a background task call run_background_tasks()</title>
<updated>2019-04-10T00:23:01+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2019-04-10T00:23:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d633928a160ee029fa1a16f10e62f6628020aaef'/>
<id>urn:sha1:d633928a160ee029fa1a16f10e62f6628020aaef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>flush flash filesystem once a second</title>
<updated>2019-03-20T16:21:36+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2019-03-20T16:21:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=2459eabd66169d18f3f223c942cc73152ce6de68'/>
<id>urn:sha1:2459eabd66169d18f3f223c942cc73152ce6de68</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix up nrf and using board.SPI in FourWire</title>
<updated>2019-01-18T02:19:07+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-01-18T02:19:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6404aaf411d7fe5fd96f3a8cbf7a1cb7580a09e7'/>
<id>urn:sha1:6404aaf411d7fe5fd96f3a8cbf7a1cb7580a09e7</id>
<content type='text'>
</content>
</entry>
</feed>
