PipCore
PipCore — низкоуровневое ядро для embedded-прошивок на ESP32. Оно объединяет работу с платформой, дисплеями, графикой, вводом, звуком и сетью и служит общей основой для PipKit и Pip3D.
Приложения обращаются к общим интерфейсам ядра, а PipCore связывает их с аппаратными возможностями выбранной платы. Это позволяет не дублировать один и тот же низкоуровневый код в каждой библиотеке.
Это разделение хорошо видно на примере дисплея. PipKit строит интерфейс, а Pip3D — графику и физику, но обе библиотеки используют платформенный слой PipCore. Драйвер дисплея передаёт кадры асинхронно через два буфера: пока экран принимает один кадр, система может готовить следующий.
Ядро отвечает и за системную часть прошивки. Файлы хранятся через LittleFS, настройки — в NVS, а Wi-Fi работает как событийный сервис. OTA-обновление не блокирует основной цикл и перед установкой проверяет подпись Ed25519 и целостность данных по SHA-256.
Для разработки есть встроенный симулятор Windows: он запускает тот же код ядра, эмулирует ввод, сохраняет кадры в PNG и позволяет записать видео в MP4. Так поведение приложения можно проверить до прошивки платы. Драйвер ILI9488 пока экспериментальный, и его стабильность зависит от дисплейного модуля и конфигурации.