29th of November 2021 to 5th of December 2021

Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++, and JavaScript. Find more information at https://slint-ui.com/ or go straight to github at https://github.com/slint-ui/slint

Development Summary

MCU Support

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 #![no_std] setup: 691d43, 6b60e8, 6004c4, bf84bb, 855ef6, 5a5e87, 9a7387, 414956, e8271b, dc2f4c, a5ea6d, 0e174b.

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: Picture of the early printer demo running on the Raspberry pi 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

New Features

Fixes

Janitor work

Statistics

35 patches were committed by 3 authors.