Files
IoTManager/include/Const.h

154 lines
3.4 KiB
C
Raw Normal View History

#pragma once
#include "BuildTime.h"
// Версия прошивки
2025-07-24 22:40:24 +03:00
#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
2023-09-09 12:19:22 +03:00
#ifdef esp8266_16mb
#define FIRMWARE_NAME "esp8266_16mb"
#endif
#ifdef esp32_4mb
#define FIRMWARE_NAME "esp32_4mb"
#endif
2024-11-26 23:30:16 +03:00
#ifdef esp32_4mb3f
#define FIRMWARE_NAME "esp32_4mb3f"
#endif
2023-10-02 21:29:02 +03:00
#ifdef esp32cam_4mb
#define FIRMWARE_NAME "esp32cam_4mb"
#endif
2023-09-09 12:19:22 +03:00
#ifdef esp32_16mb
#define FIRMWARE_NAME "esp32_16mb"
#endif
#ifdef esp32s2_4mb
#define FIRMWARE_NAME "esp32s2_4mb"
#endif
2023-10-17 22:21:13 +03:00
#ifdef esp32c3m_4mb
#define FIRMWARE_NAME "esp32c3m_4mb"
#endif
#ifdef esp32s3_16mb
#define FIRMWARE_NAME "esp32s3_16mb"
#endif
2024-11-22 22:45:10 +03:00
#ifdef bk7231n
#define FIRMWARE_NAME "bk7231n"
#endif
#ifdef esp32c6_4mb
#define FIRMWARE_NAME "esp32c6_4mb"
#endif
#ifdef esp32c6_8mb
#define FIRMWARE_NAME "esp32c6_8mb"
2024-09-20 12:45:17 +03:00
#endif
2025-07-24 23:26:28 +03:00
#ifdef esp32_wifirep
#define FIRMWARE_NAME "esp32_wifirep"
#endif
// Размер буфера json
#define JSON_BUFFER_SIZE 4096 // держим 2 кб не меняем
2023-06-25 23:38:51 +02:00
/*
WEB_SOCKETS_FRAME_SIZE создан для того что бы не загружать оперативку.
Эта технология передаёт в сокеты большие файлы по частям.
Чем меньше этот фрейм тем теоретически лучше.
Но и сильно малый он тоже быть не должен.
Я опытным путём установил что размер 1024 является оптимальным. Можно так же поставить 2048
*/
#define WEB_SOCKETS_FRAME_SIZE 1024
// #define LOOP_DEBUG
2022-10-12 03:14:55 +02:00
// выбор сервера
// #define ASYNC_WEB_SERVER
// #define ASYNC_WEB_SOCKETS
2022-11-23 19:41:49 +01:00
#define STANDARD_WEB_SERVER
#define STANDARD_WEB_SOCKETS
2024-09-20 12:45:17 +03:00
//#ifndef LIBRETINY
#define UDP_ENABLED
2024-09-20 12:45:17 +03:00
//#endif
// #define REST_FILE_OPERATIONS
#define MQTT_RECONNECT_INTERVAL 20000
#define TELEMETRY_UPDATE_INTERVAL_MIN 60
2022-09-14 18:06:40 +02:00
#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)))
2025-03-27 22:19:36 +03:00
#ifdef LIBRETINY
//#define WIFI_ASYNC
#endif
2025-07-24 23:26:28 +03:00
#if defined(ESP32) && !defined(esp32_wifirep)
2025-03-27 22:19:36 +03:00
#define WIFI_ASYNC
#endif
// задачи таскера
enum TimerTask_t {
WIFI_SCAN,
WIFI_MQTT_CONNECTION_CHECK,
2025-03-27 22:19:36 +03:00
#ifdef WIFI_ASYNC
2025-02-15 00:20:44 +03:00
WIFI_CONN,
#endif
TIME,
2025-02-14 17:32:01 +03:00
// TIME_SYNC, // не используется
// UPTIME, // не используется
2024-09-20 12:45:17 +03:00
UDPt, // UDPP
TIMES, // периодические секундные проверки
PTASK,
ST,
PiWS,
END
};
2025-02-14 17:32:01 +03:00
// задачи которые надо протащить через loop // не используется
// enum NotAsyncActions {
// do_ZERO,
// do_MQTTPARAMSCHANGED,
// do_LAST,
// };
// состояния обновления
enum UpdateStates { UPDATE_COMPLETED, UPDATE_FAILED, PATH_ERROR };
2022-09-23 02:24:50 +02:00
enum distination {
TO_MQTT,
TO_WS,
2025-02-14 17:32:01 +03:00
TO_MQTT_WS
2022-09-23 02:24:50 +02:00
};
2025-02-14 17:32:01 +03:00
// #define WS_BROADCAST -1 // не используется