Skip to main content

Ziva на встроенных системах

Библиотека с самого начала проектировалась для работы в терминалах с ограниченными возможностями: BusyBox, OpenWrt, промышленные контроллеры, одноплатные компьютеры.

Базовая конфигурация

AutoConfigure() анализирует память и автоматически снижает нагрузку (уменьшает историю задач, включает лёгкие стили).

Переменные окружения

  • ZIVA_MEMORY_PRESSURE_THRESHOLD — порог, при котором очередь начнёт освобождать память.
  • ZIVA_MAX_COMPLETED_TASKS — сколько завершённых задач хранить в истории.
  • ZIVA_LANG — принудительный язык интерфейса.

Минималистичный вывод

Уберите всё лишнее, чтобы не переполнить экран:

Работа с таймаутами

На headless-устройствах оператор может не успеть ответить. Используйте таймауты с безопасными значениями по умолчанию:

ASCII и шрифты

Если терминал не поддерживает UTF-8:
  1. Включите EnableASCIIMode().
  2. Настройте локаль и шрифты (см. раздел «Установка»).
  3. Избегайте символов псевдографики в собственных сообщениях.

Логи и диагностика

  • Для долговременных логов используйте отдельный файл/удалённый syslog. Не выводите большие дампы в интерфейс Ziva.
  • Добавьте FuncTask, который проверяет доступность внешних ресурсов (например, сеть) перед запуском основной процедуры.

Рекомендации

  • Не перегружайте очередь. 4–6 задач в одном сценарии — оптимальный баланс для маленьких экранов.
  • Сохраняйте состояние. После queue.Run() сохраняйте результаты в конфигурационных файлах, чтобы устройство могло работать автономно.
  • Используйте предустановленные цвета. Встроенный режим подбирает безопасные оттенки для низкоскоростных терминалов.
  • Проверяйте ширину экрана. Ограничьте viewport (WithViewport) и держите описания короткими.

Дополнительно