Ziva на встроенных системах
Библиотека с самого начала проектировалась для работы в терминалах с ограниченными возможностями: BusyBox, OpenWrt, промышленные контроллеры, одноплатные компьютеры.Базовая конфигурация
AutoConfigure()
анализирует память и автоматически снижает нагрузку (уменьшает историю задач, включает лёгкие стили).
Переменные окружения
- ZIVA_MEMORY_PRESSURE_THRESHOLD — порог, при котором очередь начнёт освобождать память.
- ZIVA_MAX_COMPLETED_TASKS — сколько завершённых задач хранить в истории.
- ZIVA_LANG — принудительный язык интерфейса.
Минималистичный вывод
Уберите всё лишнее, чтобы не переполнить экран:Работа с таймаутами
На headless-устройствах оператор может не успеть ответить. Используйте таймауты с безопасными значениями по умолчанию:ASCII и шрифты
Если терминал не поддерживает UTF-8:- Включите
EnableASCIIMode()
. - Настройте локаль и шрифты (см. раздел «Установка»).
- Избегайте символов псевдографики в собственных сообщениях.
Логи и диагностика
- Для долговременных логов используйте отдельный файл/удалённый syslog. Не выводите большие дампы в интерфейс Ziva.
- Добавьте
FuncTask
, который проверяет доступность внешних ресурсов (например, сеть) перед запуском основной процедуры.
Рекомендации
- Не перегружайте очередь. 4–6 задач в одном сценарии — оптимальный баланс для маленьких экранов.
- Сохраняйте состояние. После
queue.Run()
сохраняйте результаты в конфигурационных файлах, чтобы устройство могло работать автономно. - Используйте предустановленные цвета. Встроенный режим подбирает безопасные оттенки для низкоскоростных терминалов.
- Проверяйте ширину экрана. Ограничьте viewport (
WithViewport
) и держите описания короткими.