2026-02-27 08:15:30 +07:00
2026-02-27 08:04:48 +07:00
2026-02-20 06:58:17 +07:00
2026-02-20 06:58:17 +07:00
2026-02-27 08:04:48 +07:00
2026-02-20 06:58:17 +07:00
2026-02-20 06:58:17 +07:00
2026-02-27 08:04:48 +07:00
2026-02-27 08:04:48 +07:00
2026-02-27 08:04:48 +07:00
2026-02-20 06:45:18 +07:00
2026-02-27 08:04:48 +07:00
2026-02-20 06:58:17 +07:00
2026-02-20 06:58:17 +07:00
2026-02-20 06:58:17 +07:00
2026-02-20 06:58:17 +07:00
2026-02-27 08:15:30 +07:00

LVGL HMI Display UI — Кондиционер-доводчик

UI интерфейс для контроллера кондиционера-доводчика (КД) для ИФП СО РАН.

Проект использует LVGL — графическую библиотеку для встраиваемых систем. Код можно запустить на ПК с помощью SDL симулятора, а затем перенести на микроконтроллер.

Возможности

  • Главный экран со схематичным отображением модулей установки (клапаны, фильтры, нагреватели, вентилятор и т.д.)
  • Drag & Drop модулей для включения/отключения
  • Панель состояния системы (режим работы, сезон, мастер/слейв)
  • Уставка параметров для рабочего и дежурного режимов
  • Журнал аварий
  • Настройки с защитой паролем (ПИД-регуляторы, коррекция датчиков)
  • Всплывающие окна для показаний датчиков и аварий

Структура проекта

├── src/
│   ├── main_sim.c          # Точка входа для симулятора
│   ├── gui_generated.c     # Основной код UI
│   └── gui_generated.h     # Заголовочный файл UI
├── assets/                 # Изображения и шрифты (.c файлы)
├── images/                 # Неформатированные изображения
├── ├── example             # Примеры работы приложения
├── ├── modules             # Исходники изображения модулей
├── lvgl/                   # Библиотека LVGL (submodule)
├── lv_drivers/             # Драйверы LVGL
├── FreeRTOS/               # FreeRTOS (опционально)
├── config/                 # Конфигурация FreeRTOS
├── lv_conf.h               # Конфигурация LVGL
└── CMakeLists.txt          # Сборка проекта

Требования

Установка SDL и инструментов сборки

  • Windows (vcpkg):

    vcpkg install sdl2
    

    Также установите MinGW или другой компилятор и cmake.

  • macOS (Homebrew):

    brew install sdl2 cmake make
    
  • Linux (Debian/Ubuntu):

    sudo apt install build-essential cmake libsdl2-dev
    
  • Linux (Arch):

    sudo pacman -S base-devel cmake sdl2
    
  • Linux (Fedora):

    sudo dnf install @development-tools cmake SDL2-devel
    

Проверка установки

sdl2-config --version
cmake --version
gcc --version
g++ --version

Сборка и запуск

git clone https://gitea.e-automatics.ru/Trishkin/lvgl-hmi-display-ui

Через командную строку (CMake)

cd lvgl-hmi-display-ui
mkdir build
cd build
cmake ..
make -j

Запуск симулятора:

../bin/main

Или одной командой:

make run

Через Visual Studio Code

  1. Убедитесь, что SDL и инструменты сборки установлены
  2. Откройте проект: File → Open Workspace from File → simulator.code-workspace
  3. Установите рекомендованные расширения
  4. Перейдите в Run and Debug (Ctrl+Shift+D)
  5. Выберите Debug LVGL demo with gdb
  6. Нажмите F5 для запуска с отладкой

macOS

Apple Clang не поддерживает флаг -fsanitize=leak. Для сборки через Homebrew LLVM:

  1. brew install llvm
  2. Cmd+Shift+P → CMake: Select a Kit[Scan for kits]
  3. Cmd+Shift+P → CMake: Select a Kit → выберите clang из homebrew
  4. Cmd+Shift+P → CMake: Configure
  5. Запустите сборку

Конфигурация

Разрешение экрана

В файле lv_conf.h:

#define MY_DISP_HOR_RES 800
#define MY_DISP_VER_RES 480

FreeRTOS (опционально)

Для включения FreeRTOS:

  1. В CMakeLists.txt измените:

    option(USE_FREERTOS "Enable FreeRTOS" ON)
    
  2. В lv_conf.h измените:

    #define LV_USE_OS LV_OS_FREERTOS
    

Управление интерфейсом

  • Останов — выключает вентилятор и нагреватель, клапаны остаются на позициях
  • Дежурный — переключает в дежурный режим с соответствующими уставками
  • Рабочий — переключает в рабочий режим
  • Меню — переход в меню настроек
  • Показания — всплывающее окно с показаниями датчиков

Модули установки

Модули можно перетаскивать:

  • Вверх — активировать модуль (на линии воздуховода)
  • Вниз — деактивировать модуль

Пароль для настроек

Пароль по умолчанию: 1234

Тестирование

Проект протестирован на:

  • macOS (Apple Silicon & Intel)

Лицензия

MIT License

Description
UI для экрана для контроллера на кондиционер доводчик для ИФП СО РАН
Readme 11 MiB
Languages
C 98.8%
CMake 0.6%
C++ 0.5%