Настройки собраны в 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>
16 lines
798 B
C
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);
|