Files
Arduino/CPU_temp/ui.h
T
oskarvitaliiandClaude Opus 5 bd0a87ea49 feat(ui): тревога по перегреву и config.h со всеми настройками
Настройки собраны в config.h: пины, ориентация, пороги тревоги, шкала
графика, тайминги и скорость Serial. Раньше они были раскиданы по
модулям, и подстройка требовала лазить по коду.

Тревога включается на ALARM_ON_C и отпускает только на ALARM_OFF_C
(85 и 82 градуса). Один порог заставлял бы её дёргаться каждую секунду,
пока температура топчется на границе.

В тревоге экран мигает негативом (инверсия буфера, а не команда
контроллера - не зависит от микросхемы дисплея), светодиод GPIO8 мигает
с ним в общей фазе. Без данных светодиод горит ровно, в норме погашен.
Зажигается низким уровнем: проверено опытом, заодно в простое пин стоит
высоким, что безопасно для GPIO8 как пина начальной загрузки.

Переменная alarm переименована в alarmActive: имя alarm занято функцией
из unistd.h, которая попадает в сборку ESP32.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 22:32:31 +07:00

16 lines
798 B
C

#pragma once
#include <stdint.h>
// Инициализирует дисплей и показывает заставку ожидания.
void uiBegin();
// Добавляет значение в кольцевой буфер истории. Вызывать раз в секунду
// и только при свежих данных, чтобы пауза связи не рисовалась как провал.
void uiPushSample(float tempC);
// Перерисовывает экран целиком.
// fresh == false - данные устарели, вместо цифр выводится NO DATA.
// invert == true - кадр показывается в негативе (фаза мигания тревоги).
void uiRender(bool fresh, float tempC, int loadPct, bool invert);