<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/shared-bindings/supervisor/Runtime.c, branch 6.2.x</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.2.x</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.2.x'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2021-03-18T04:30:01+00:00</updated>
<entry>
<title>implement function to check usb connection</title>
<updated>2021-03-18T04:30:01+00:00</updated>
<author>
<name>microDev</name>
<email>70126934+microDev1@users.noreply.github.com</email>
</author>
<published>2021-03-18T04:30:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=bd95914e887fc3d92b9ee7f7ca8fef32fe25a578'/>
<id>urn:sha1:bd95914e887fc3d92b9ee7f7ca8fef32fe25a578</id>
<content type='text'>
</content>
</entry>
<entry>
<title>run code formatting script</title>
<updated>2021-03-15T13:57:36+00:00</updated>
<author>
<name>microDev</name>
<email>70126934+microDev1@users.noreply.github.com</email>
</author>
<published>2021-03-15T13:57:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a52eb88031620a81521b937f2a0651dbac2bb350'/>
<id>urn:sha1:a52eb88031620a81521b937f2a0651dbac2bb350</id>
<content type='text'>
</content>
</entry>
<entry>
<title>merge from upstream; complicated webusb merge</title>
<updated>2021-02-11T23:50:02+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2021-02-11T23:50:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f0564b49862eaef0b9752b62d80ef00e3e12a3ee'/>
<id>urn:sha1:f0564b49862eaef0b9752b62d80ef00e3e12a3ee</id>
<content type='text'>
</content>
</entry>
<entry>
<title>wip</title>
<updated>2021-02-08T15:57:41+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2021-02-08T15:57:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1b7f3d11e73be5cb0f7a97a528fedad87624b97f'/>
<id>urn:sha1:1b7f3d11e73be5cb0f7a97a528fedad87624b97f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>some API renaming and bug fixes; fix docs</title>
<updated>2020-11-25T04:37:05+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2020-11-25T04:36:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f868cc5dd02319957500180541281f41ec0d0573'/>
<id>urn:sha1:f868cc5dd02319957500180541281f41ec0d0573</id>
<content type='text'>
</content>
</entry>
<entry>
<title>working, but need to avoid deep sleeping too fast before USB ready</title>
<updated>2020-11-24T03:44:53+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2020-11-24T03:44:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7a45afc54919162df342fab421ed113ff1771d01'/>
<id>urn:sha1:7a45afc54919162df342fab421ed113ff1771d01</id>
<content type='text'>
</content>
</entry>
<entry>
<title>wip</title>
<updated>2020-11-23T00:10:09+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2020-11-23T00:10:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a0f1ec3c4a3dd52b11752e10d0dd31202e9c705f'/>
<id>urn:sha1:a0f1ec3c4a3dd52b11752e10d0dd31202e9c705f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>wip: ResetReason to microcontroller.cpu</title>
<updated>2020-11-22T04:29:52+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2020-11-22T04:29:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=75559f35ccc946dfd292e25671919e5d5b3bd7a6'/>
<id>urn:sha1:75559f35ccc946dfd292e25671919e5d5b3bd7a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More API changes</title>
<updated>2020-10-27T23:18:39+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2020-10-15T23:59:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=85dadf3a561c21e284d5daf42b1b3e367ce7ebc6'/>
<id>urn:sha1:85dadf3a561c21e284d5daf42b1b3e367ce7ebc6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>supervisor: Improve serial connection detection</title>
<updated>2020-09-17T23:32:06+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-09-03T18:36:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=28043c94b5ea5f3cce11fa57afa9f3f0141b8dce'/>
<id>urn:sha1:28043c94b5ea5f3cce11fa57afa9f3f0141b8dce</id>
<content type='text'>
These changes remove the caveat from supervisor.runtime.serial_connected.

It appears that _tud_cdc_connected() only tracks explicit changes to the
"DTR" bit, which leads to disconnects not being registered.

Instead:
 * when line state is changed explicitly, track the dtr value in
   _serial_connected
 * when the USB bus is suspended, set _serial_connected to False

Testing performed (using sam e54 xplained):  Run a program to show
the state of `serial_connected` on the LED:
```
import digitalio
import supervisor
import board

led = digitalio.DigitalInOut(board.LED)
while True:
    led.switch_to_output(not supervisor.runtime.serial_connected)
```

Try all the following:
 * open, close serial terminal program
    - LED status tracks whether terminal is open
 * turn on/off data lines using the switchable charge-only cable
    - LED turns off when switch is in "charger" position
    - LED turns back on when switch is in Data position and terminal is
      opened (but doesn't turn back on just because switch position is
      changed)
</content>
</entry>
</feed>
