We continued the work started last week on bringing SixtyFPS to micro controller units (MCU).
These units do not offer support for the rust standard library, so we made SixtyFPS itself and
its generated code run in a
We have been testing using a Raspberry Pi Pico, a $4 ARM Cortex M0 micro controller with 264KiB of RAM and 2MiB of flash storage. Our unit has an extra 15$ LCD screen attached.
In addition to the limited memory and CPU speed, this hardware does not support atomic CAS (Compare and Swap). This required additional patches to dependencies such as once_cell#165.
Here's a photo of a very early version of the printer demo running on the Pico:
As you can see, there is still a lot to do: The demo needs to be resized to fit in the small screen, and we do not even render text yet! Performance also needs to be improved: We can not guess at the frame rate we can reach on the device yet.
Follow @sixtyfpsui on Twitter to follow the MCU work more closely.
SixtyFPS UI Library
- Native style: respond to the StyleChange event (
So that color scheme is updated when switching to the dark style, for example
- Compiler: keep const-ness information of native property in the NativeClass ( bc8d55)
- Mark properties that we know are never modified as constant, (
so that we don't need to register dependencies when accessing them
- Mark properties being set by the ListView and Flickable as set externally (
As we will do more optimization on constant properties, it is important to detect the ones that aren't
- Fix components being inadvertently shown when using Qt (
Remove a spurious show() call, only an explicit show() should bring up the widget on the screen.
- Use SharedVector internally in SharedString (
Get rid of the triomphe dependency
35 patches were committed by 3 authors.