mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
121 lines
2.7 KiB
C
121 lines
2.7 KiB
C
#pragma once
|
||
#include "BuildTime.h"
|
||
|
||
// Версия прошивки
|
||
#define FIRMWARE_VERSION 457
|
||
|
||
#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 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
|
||
|
||
// Размер буфера 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
|
||
|
||
#define UDP_ENABLED
|
||
|
||
// #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,
|
||
TIME,
|
||
TIME_SYNC,
|
||
UPTIME,
|
||
UDP, // UDPP
|
||
TIMES, // периодические секундные проверки
|
||
PTASK,
|
||
ST,
|
||
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
|