Files
IoTManager/src/modules/exec/SmartBoiler/BoilerHeader.h
2024-02-26 23:31:12 +03:00

83 lines
2.7 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#pragma once
#define SLAVE true
#define TIMEOUT_TRESHOLD 5
namespace _Boiler_v2
{
// команды/установки от термостата
struct SetpointBoiler
{
bool cmd_chEnable = 0;
bool cmd_dhwEnable = 0;
float TSetCH = 0;
float TSetDhw = 0;
} set;
struct failCode
{
bool service_required = 0;
bool lockout_reset = 0;
bool low_water_pressure = 0;
bool gas_fault = 0;
bool air_fault = 0;
bool water_overtemp = 0;
int fault_code = 0;
};
// текущее реальное состояние котла
struct StateBoiler
{
bool antiFreezOn = false;
bool stateCH = 0;
bool stateDHW = 0;
bool fl_flame = 0;
int currentRele = 0;
bool fl_fail = 0;
failCode fCode;
float RelModLevel = 0;
float Tboiler = -40;
float Tret = 0;
float Tdhw = 0;
float Toutside = 0;
// bool r[3] = {0, 0, 0};
int numStepOn;
} state;
// конфигурация котла
struct ConfigBoiler
{
bool autoPower = true; // если false то управление только из сценария или веба
int antiFreez;
// bool pump = false; // 1- наличие реле насоса СО, 0 - мы не управляем насосом СО (в протоколе ОТ нет)
bool changeRele = false;
bool dhw = false; // 1- есть поддержка ГВС, по наличию реле(трехходовой)
bool ctrlType = false; // 0 - модуляция, 1- вкл/выкл
bool confDhw = false; // 1 - бак, 0 - проточная //TODO ПОКА НЕ ЗНАЮ ЧТО ДЕЛАТЬ
bool pumpControlMaster = false; // в протоколе ОТ: мастер управляет насосом ????????????????????? //TODO Команды кправления насосом от мастера не помню
int minDhw;
int maxDhw;
int minCH;
int maxCH;
int gistDhw;
int gistCH;
int countRele = 0;
// int relePwr[3]={0,0,0};
int prcOnekWt = 0; // процент одного киловата из общей мощности всех тэнев, расчитывается для модуляции
// int rele2Pwr = 0;
// int rele3Pwr = 0;
int numStepDhw;
float maxKW;
} conf;
unsigned long timeout_count = 0;
bool _debug = 0;
bool _telegram = false;
unsigned long ot_response = 0;
int SlaveMemberIDcode = 0;
}