Готові прошивки
Коли маленького прикладу вже недостатньо, можна подивитись, як ті ж частини SDK працюють разом. У репозиторії є дві окремі прошивки; вони збираються незалежно одна від одної.
Lilka Edit
Тека: lilka-editor/.
Це легкий редактор .txt та .lua з керуванням кнопками Lilka. Є екранна клавіатура, курсор, прокрутка, підсвітка Lua, перегляд папок microSD, Save та Save as. Для дат файлів він використовує keira-rtc.
Буфер документа обмежений 8 КіБ, назви нових файлів — 8.3, клавіатура — ASCII. UTF-8 у вже відкритому файлі зберігається, а курсор не ріже символ посеред байтів. Шрифт має підтримку латиниці та частини кирилиці.
Для екрана є два компактні framebuffer з палітрою 16 кольорів — разом 67200 байтів. Кадр готується в RAM, а SPI передає тільки змінені плитки, тому немає проміжного очищення екрана. Heap не використовується. Окремий буфер завантаження не дає невдалому відкриттю іншого файла зіпсувати поточний текст.
SD-теки скануються рекурсивно до 32 рівнів. У списку є сторінки по 64 записи, Left/Right перемикають їх, A відкриває теку, B повертає назад. Область документа — 34 колонки та 7 рядків із клавіатурою або 12 без неї.
cd lilka-editor
cargo +esp build --release --locked
cargo +esp espflash save-image --release --chip esp32s3 lilka-editor.bin
З кореня репозиторію можна створити прев'ю через embedded-graphics-simulator:
cargo +stable run --manifest-path lilka-editor/tests/host/Cargo.toml \
--example preview --locked -- lilka-editor/target/preview
Це той самий UI-код і розмір кадру 280×240. PNG збільшується втричі для перегляду, але прошивка малює в рідній роздільності. Детальні кнопки й команди є в lilka-editor/README.md.
Pinecil BLE Chart
Тека: pinecil-ble-chart/.
Прошивка знаходить Pinecil по BLE та показує його телеметрію: температуру жала, задану температуру, потужність, напругу й графік за останні 30 секунд.
На відміну від редактора, тут використовується async, BLE й повний framebuffer. Графік побудований через осі та renderer embedded-charts: точки обробляються послідовно, без великих тимчасових масивів високорівневого LineChart.
cd pinecil-ble-chart
cargo +esp build --release --locked
cargo +esp espflash save-image --release --chip esp32s3 pinecil-ble-chart.bin
Для симулятора з імітованою телеметрією, з кореня репозиторію:
cargo +stable run --manifest-path pinecil-ble-chart/tests/host/Cargo.toml \
--example display-preview --locked -- pinecil-ble-chart/target/display-preview
Симулятор — це ще не пристрій
Він перевіряє малювання та компонування екрана. Реальний SPI, кнопки, SD-карта, BLE та передача RTC між Keira і застосунком потребують перевірки на Lilka.