<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/supervisor/shared/display.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-15T13:57:36+00:00</updated>
<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>Replace displaio.Group.children with a python list</title>
<updated>2021-02-27T19:52:38+00:00</updated>
<author>
<name>Radomir Dopieralski</name>
<email>openstack@sheep.art.pl</email>
</author>
<published>2021-02-21T12:43:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=121c6bcc9b20d7419f2654680215fd8b4bd455c4'/>
<id>urn:sha1:121c6bcc9b20d7419f2654680215fd8b4bd455c4</id>
<content type='text'>
This is a first go at it, done by naive replacing of all array
operations with corresponding operations on the list. Note that
there is a lot of unnecessary type conversions, here. Also, list_pop
has been copied, because it's decalerd STATIC in py/objlist.h
</content>
</entry>
<entry>
<title>displaio: don't store group children native object</title>
<updated>2021-02-27T19:52:38+00:00</updated>
<author>
<name>Radomir Dopieralski</name>
<email>openstack@sheep.art.pl</email>
</author>
<published>2021-02-20T22:04:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6e0ce23f3e2ce341bcaefdd0a0d5c98ff43949f0'/>
<id>urn:sha1:6e0ce23f3e2ce341bcaefdd0a0d5c98ff43949f0</id>
<content type='text'>
Since we want to expose the list of group's children to the user,
we should only have the original objects in it, without any other
additional data, and compute the native object as needed.
</content>
</entry>
<entry>
<title>Use movable allocation system for terminal tilegrid.</title>
<updated>2020-11-28T16:54:34+00:00</updated>
<author>
<name>Christian Walther</name>
<email>cwalther@gmx.ch</email>
</author>
<published>2020-10-11T18:39:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=2ba9805f845e000fa3299e95e93a063471751ecd'/>
<id>urn:sha1:2ba9805f845e000fa3299e95e93a063471751ecd</id>
<content type='text'>
Moving memory is now done by the infrastructure and neither necessary nor correct here anymore.
</content>
</entry>
<entry>
<title>Add movable allocation system.</title>
<updated>2020-11-28T16:50:23+00:00</updated>
<author>
<name>Christian Walther</name>
<email>cwalther@gmx.ch</email>
</author>
<published>2020-10-11T12:59:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c7404a3ff89c738c002ec63448a58d56330dfcc3'/>
<id>urn:sha1:c7404a3ff89c738c002ec63448a58d56330dfcc3</id>
<content type='text'>
This allows calls to `allocate_memory()` while the VM is running, it will then allocate from the GC heap (unless there is a suitable hole among the supervisor allocations), and when the VM exits and the GC heap is freed, the allocation will be moved to the bottom of the former GC heap and transformed into a proper supervisor allocation. Existing movable allocations will also be moved to defragment the supervisor heap and ensure that the next VM run gets as much memory as possible for the GC heap.

By itself this breaks terminalio because it violates the assumption that supervisor_display_move_memory() still has access to an undisturbed heap to copy the tilegrid from. It will work in many cases, but if you're unlucky you will get garbled terminal contents after exiting from the vm run that created the display. This will be fixed in the following commit, which is separate to simplify review.
</content>
</entry>
<entry>
<title>displayio: When the display is tall, move blinka above the text</title>
<updated>2020-11-19T17:43:18+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-11-19T17:43:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=331aa6e59fd36b52afb4119068d0baa99c85ea3c'/>
<id>urn:sha1:331aa6e59fd36b52afb4119068d0baa99c85ea3c</id>
<content type='text'>
This makes a more useful display on the portrait magtag, allowing 21
characters across instead of just 18.  There are 20 full rows of text,
instead of 21.  The total number of characters increases slightly from 378
to 420.

For comparison, the Commodore VIC 20 had 22 rows of 23 characters for a
total of 506 characters. :-P
</content>
</entry>
<entry>
<title>supervisor: Always allocate at least a 1x1 terminal</title>
<updated>2020-09-01T15:55:45+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-09-01T15:29:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9bd2a61d8b2ba56cef241f3b93aed50e718998b5'/>
<id>urn:sha1:9bd2a61d8b2ba56cef241f3b93aed50e718998b5</id>
<content type='text'>
Otherwise, out of range writes would occur in tilegrid_set_tile, causing a safe mode reset.
```
Hardware watchpoint 6: -location *stack_alloc-&gt;ptr

Old value = 24652061
New value = 24641565
0x000444f2 in common_hal_displayio_tilegrid_set_tile (self=0x200002c8 &lt;supervisor_terminal_text_grid&gt;, x=1, y=1, tile_index=0 '\000')
    at ../../shared-module/displayio/TileGrid.c:236
236	    if (!self-&gt;partial_change) {
(gdb)
```
</content>
</entry>
<entry>
<title>Turn off terminalio for ja and ko</title>
<updated>2020-08-18T00:17:59+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2020-08-18T00:17:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d01f5dc0bdb3ea98d4cf234b7c08c8cc36694c1a'/>
<id>urn:sha1:d01f5dc0bdb3ea98d4cf234b7c08c8cc36694c1a</id>
<content type='text'>
The font is missing many characters and the build needs the space.
We can optimize font storage when we get a good font.

The serial output will work as usual.
</content>
</entry>
<entry>
<title>Fix build errors when SHARPDISPLAY &amp;&amp; !RGBMATRIX</title>
<updated>2020-08-12T12:39:12+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-08-12T12:39:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=759ded9c38390c6d4328bd34aa211499b7e9f4f6'/>
<id>urn:sha1:759ded9c38390c6d4328bd34aa211499b7e9f4f6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sharpmemory: Implement support for Sharp Memory Displays in framebufferio</title>
<updated>2020-08-12T12:32:18+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-08-06T21:03:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c1400bae9bbdd55f650ddfe24edf6778f08c35b8'/>
<id>urn:sha1:c1400bae9bbdd55f650ddfe24edf6778f08c35b8</id>
<content type='text'>
</content>
</entry>
</feed>
