#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 #ifdef LIBRETINY #define FIRMWARE_NAME "libretiny" #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, 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