Files
IoTManager/include/Const.h
2025-03-29 20:17:18 +03:00

142 lines
3.2 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
#include "BuildTime.h"
// Версия прошивки
#define FIRMWARE_VERSION 461
#ifdef esp8266_1mb_ota
#define FIRMWARE_NAME "esp8266_1mb_ota"
#endif
#ifdef esp8266_1mb
#define FIRMWARE_NAME "esp8266_1mb"
#endif
#ifdef esp8266_2mb
#define FIRMWARE_NAME "esp8266_2mb"
#endif
#ifdef esp8266_2mb_ota
#define FIRMWARE_NAME "esp8266_2mb_ota"
#endif
#ifdef esp8266_4mb
#define FIRMWARE_NAME "esp8266_4mb"
#endif
#ifdef esp8266_16mb
#define FIRMWARE_NAME "esp8266_16mb"
#endif
#ifdef esp32_4mb
#define FIRMWARE_NAME "esp32_4mb"
#endif
#ifdef esp32_4mb3f
#define FIRMWARE_NAME "esp32_4mb3f"
#endif
#ifdef esp32cam_4mb
#define FIRMWARE_NAME "esp32cam_4mb"
#endif
#ifdef esp32_16mb
#define FIRMWARE_NAME "esp32_16mb"
#endif
#ifdef esp32s2_4mb
#define FIRMWARE_NAME "esp32s2_4mb"
#endif
#ifdef esp32c3m_4mb
#define FIRMWARE_NAME "esp32c3m_4mb"
#endif
#ifdef esp32s3_16mb
#define FIRMWARE_NAME "esp32s3_16mb"
#endif
#ifdef bk7231n
#define FIRMWARE_NAME "bk7231n"
#endif
#ifdef esp32c6_4mb
#define FIRMWARE_NAME "esp32c6_4mb"
#endif
#ifdef esp32c6_8mb
#define FIRMWARE_NAME "esp32c6_8mb"
#endif
// Размер буфера json
#define JSON_BUFFER_SIZE 4096 // держим 2 кб не меняем
/*
WEB_SOCKETS_FRAME_SIZE создан для того что бы не загружать оперативку.
Эта технология передаёт в сокеты большие файлы по частям.
Чем меньше этот фрейм тем теоретически лучше.
Но и сильно малый он тоже быть не должен.
Я опытным путём установил что размер 1024 является оптимальным. Можно так же поставить 2048
*/
#define WEB_SOCKETS_FRAME_SIZE 1024
// #define LOOP_DEBUG
// выбор сервера
// #define ASYNC_WEB_SERVER
// #define ASYNC_WEB_SOCKETS
#define STANDARD_WEB_SERVER
#define STANDARD_WEB_SOCKETS
//#ifndef LIBRETINY
#define UDP_ENABLED
//#endif
// #define REST_FILE_OPERATIONS
#define MQTT_RECONNECT_INTERVAL 20000
#define TELEMETRY_UPDATE_INTERVAL_MIN 60
#define USE_LITTLEFS true
#define START_DATETIME 1661990400 // 01.09.2022 00:00:00 константа для сокращения unix time
#define MIN_DATETIME 1575158400
#define LEAP_YEAR(Y) (((1970 + Y) > 0) && !((1970 + Y) % 4) && (((1970 + Y) % 100) || !((1970 + Y) % 400)))
// задачи таскера
enum TimerTask_t {
WIFI_SCAN,
WIFI_MQTT_CONNECTION_CHECK,
#ifndef ESP8266
WIFI_CONN,
#endif
TIME,
// TIME_SYNC, // не используется
// UPTIME, // не используется
UDPt, // UDPP
TIMES, // периодические секундные проверки
PTASK,
ST,
PiWS,
END
};
// задачи которые надо протащить через loop // не используется
// enum NotAsyncActions {
// do_ZERO,
// do_MQTTPARAMSCHANGED,
// do_LAST,
// };
// состояния обновления
enum UpdateStates { UPDATE_COMPLETED, UPDATE_FAILED, PATH_ERROR };
enum distination {
TO_MQTT,
TO_WS,
TO_MQTT_WS
};
// #define WS_BROADCAST -1 // не используется