Files
IoTManager/include/Const.h
2025-07-24 23:26:28 +03:00

154 lines
3.4 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 462
#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
#ifdef esp32_wifirep
#define FIRMWARE_NAME "esp32_wifirep"
#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)))
#ifdef LIBRETINY
//#define WIFI_ASYNC
#endif
#if defined(ESP32) && !defined(esp32_wifirep)
#define WIFI_ASYNC
#endif
// задачи таскера
enum TimerTask_t {
WIFI_SCAN,
WIFI_MQTT_CONNECTION_CHECK,
#ifdef WIFI_ASYNC
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 // не используется