<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/supervisor/shared/background_callback.c, branch 6.0.x</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.0.x</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.0.x'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2020-10-07T22:23:47+00:00</updated>
<entry>
<title>Unify iMX flash config and add Metro M7 1011</title>
<updated>2020-10-07T22:23:47+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2020-09-29T02:21:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=09bc4157516dd59754a3eb1a5dbbb72a758ebe93'/>
<id>urn:sha1:09bc4157516dd59754a3eb1a5dbbb72a758ebe93</id>
<content type='text'>
This unifies the flash config to the settings used by the Boot ROM.
This makes the config unique per board which allows for changing
quad enable and status bit differences per flash device. It also
allows for timing differences due to the board layout.

This change also tweaks linker layout to leave more ram space for
the CircuitPython heap.
</content>
</entry>
<entry>
<title>background callbacks: Clear any callbacks that were queued</title>
<updated>2020-07-20T13:44:39+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-07-20T13:44:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=db43c56f794508689b07d931c16cadd3e98aad87'/>
<id>urn:sha1:db43c56f794508689b07d931c16cadd3e98aad87</id>
<content type='text'>
Before this, a background callback that was on the list when
background_callback_reset was called could have ended up in a state
that made it "un-queueable": its "prev" pointer could have been non-NULL.
</content>
</entry>
<entry>
<title>background_callback_gc_collect: We must traverse the whole list</title>
<updated>2020-07-17T19:55:46+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-07-17T19:55:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=98eef79faaa36adbdd0b074c712aad5df7ef37a0'/>
<id>urn:sha1:98eef79faaa36adbdd0b074c712aad5df7ef37a0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>background_callback: Add gc collect callback</title>
<updated>2020-07-17T13:36:26+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-07-17T13:36:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a18a39210919a886d4efb4c52b85a309b3403abf'/>
<id>urn:sha1:a18a39210919a886d4efb4c52b85a309b3403abf</id>
<content type='text'>
A background callback must never outlive its related object.  By
collecting the head of the linked list of background tasks, this will
not happen.

One hypothetical case where this could happen is if an MP3Decoder is
deleted while its callback to fill its buffer is scheduled.
</content>
</entry>
<entry>
<title>background_callback: Avoid CALLBACK_CRITICAL_BEGIN with nothing to do</title>
<updated>2020-07-15T14:26:47+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-07-10T19:42:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=36b46465167f15eaf8535608b16859e6de10fac8'/>
<id>urn:sha1:36b46465167f15eaf8535608b16859e6de10fac8</id>
<content type='text'>
CALLBACK_CRITICAL_BEGIN is heavyweight, but we can be confident we do
not have work to do as long as callback_head is NULL.

This gives back performance on nRF.
</content>
</entry>
<entry>
<title>supervisor: Add a linked list of background callbacks</title>
<updated>2020-07-15T14:26:47+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-05-11T13:37:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1474fccd2fb1cf6ccd14979a3b5405d2a355054b'/>
<id>urn:sha1:1474fccd2fb1cf6ccd14979a3b5405d2a355054b</id>
<content type='text'>
In time, we should transition interrupt driven background tasks out of the
overall run_background_tasks into distinct background callbacks,
so that the number of checks that occur with each tick is reduced.
</content>
</entry>
</feed>
