From f5ba8274889f4b597fbfd56134954a4881a0f3e8 Mon Sep 17 00:00:00 2001 From: Mit4el Date: Thu, 27 Mar 2025 22:19:36 +0300 Subject: [PATCH] fix wifi bk7231n --- include/Const.h | 10 +++++++++- include/utils/WiFiUtils.h | 2 +- platformio.ini | 2 +- src/Main.cpp | 6 +++--- src/WsServer.cpp | 6 +++--- src/modules/API.cpp | 26 ++------------------------ src/utils/WiFiUtils.cpp | 8 ++++---- 7 files changed, 23 insertions(+), 37 deletions(-) diff --git a/include/Const.h b/include/Const.h index 691983f0..2010e944 100644 --- a/include/Const.h +++ b/include/Const.h @@ -104,11 +104,19 @@ WEB_SOCKETS_FRAME_SIZE создан для того что бы не загру #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 + +#ifdef ESP32 +#define WIFI_ASYNC +#endif + // задачи таскера enum TimerTask_t { WIFI_SCAN, WIFI_MQTT_CONNECTION_CHECK, -#ifndef ESP8266 +#ifdef WIFI_ASYNC WIFI_CONN, #endif TIME, diff --git a/include/utils/WiFiUtils.h b/include/utils/WiFiUtils.h index 9620b7f8..90934b90 100644 --- a/include/utils/WiFiUtils.h +++ b/include/utils/WiFiUtils.h @@ -5,7 +5,7 @@ boolean isNetworkActive(); uint8_t getNumAPClients(); bool startAPMode(); -#ifdef ESP8266 +#ifndef WIFI_ASYNC void routerConnect(); boolean RouterFind(std::vector jArray); #else diff --git a/platformio.ini b/platformio.ini index 00fd3a7f..5b6945af 100644 --- a/platformio.ini +++ b/platformio.ini @@ -456,7 +456,7 @@ upload_speed = 921600 monitor_speed = 115200 build_flags = -Dbk7231n="bk7231n" - -DLT_LOGLEVEL=LT_LEVEL_DEBUG + -DLT_LOGLEVEL=LT_LEVEL_FATAL -DLT_DEBUG_ALL=1 -DPROJECT_DATA_DIR="data_svelte" -DLT_USE_TIME=1 diff --git a/src/Main.cpp b/src/Main.cpp index d05248f9..18fd4a31 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -201,7 +201,7 @@ void setup() { initErrorMarker(SETUPINET_ERRORMARKER); // подключаемся к роутеру -#ifdef ESP8266 +#ifndef WIFI_ASYNC routerConnect(); #else WiFiUtilsItit(); @@ -237,7 +237,7 @@ void setup() { // инициализация задач переодического выполнения periodicTasksInit(); -#if defined(ESP8266) +#if !defined(WIFI_ASYNC) // Перенесли после получения IP, так как теперь работа WiFi асинхронная // запуск работы udp addThisDeviceToList(); @@ -306,7 +306,7 @@ void setup() { } void loop() { -#if !defined(ESP8266) +#if defined(WIFI_ASYNC) static bool udpFirstFlag = true; // Перенесли после получения IP, так как теперь работа WiFi асинхронная if (isNetworkActive() && udpFirstFlag) { diff --git a/src/WsServer.cpp b/src/WsServer.cpp index e8201934..a4f5268a 100644 --- a/src/WsServer.cpp +++ b/src/WsServer.cpp @@ -143,7 +143,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) sendFileToWsByFrames("/widgets.json", "widget", "", num, WEB_SOCKETS_FRAME_SIZE); sendFileToWsByFrames("/config.json", "config", "", num, WEB_SOCKETS_FRAME_SIZE); sendStringToWs("settin", settingsFlashJson, num); -#ifndef ESP8266 +#ifdef WIFI_ASYNC ssidListHeapJson = "{}"; jsonWriteStr_(ssidListHeapJson, "0", "Scanning..."); #endif @@ -161,7 +161,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) sendStringToWs("errors", errorsHeapJson, num); // если не было создано приема данных по udp - то создадим его addThisDeviceToList(); -#ifndef ESP8266 +#ifdef WIFI_ASYNC settingsFlashJson = readFile(F("settings.json"), 4096); settingsFlashJson.replace("\r\n", ""); Serial.println(settingsFlashJson); @@ -183,7 +183,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) // запуск асинхронного сканирования wifi сетей при нажатии выпадающего // списка if (headerStr == "/scan|") { -#ifdef ESP8266 +#ifndef WIFI_ASYNC std::vector jArray; jsonReadArray(settingsFlashJson, "routerssid", jArray); RouterFind(jArray); diff --git a/src/modules/API.cpp b/src/modules/API.cpp index c37672b5..6e4dde81 100644 --- a/src/modules/API.cpp +++ b/src/modules/API.cpp @@ -1,35 +1,13 @@ #include "ESPConfiguration.h" -void* getAPI_Cron(String subtype, String params); -void* getAPI_Loging(String subtype, String params); -void* getAPI_LogingDaily(String subtype, String params); -void* getAPI_IoTMath(String subtype, String params); -void* getAPI_owmWeather(String subtype, String params); void* getAPI_Timer(String subtype, String params); -void* getAPI_Variable(String subtype, String params); -void* getAPI_VButton(String subtype, String params); -void* getAPI_AnalogAdc(String subtype, String params); void* getAPI_BL0937(String subtype, String params); -void* getAPI_UART(String subtype, String params); -void* getAPI_AnalogBtn(String subtype, String params); -void* getAPI_ButtonIn(String subtype, String params); -void* getAPI_ButtonOut(String subtype, String params); +void* getAPI_BL0942(String subtype, String params); void* getAPI(String subtype, String params) { void* tmpAPI; -if ((tmpAPI = getAPI_Cron(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Loging(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_LogingDaily(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_IoTMath(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_owmWeather(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_Timer(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_Variable(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_VButton(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_AnalogAdc(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_BL0937(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_UART(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_AnalogBtn(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_ButtonIn(subtype, params)) != nullptr) return tmpAPI; -if ((tmpAPI = getAPI_ButtonOut(subtype, params)) != nullptr) return tmpAPI; +if ((tmpAPI = getAPI_BL0942(subtype, params)) != nullptr) return tmpAPI; return nullptr; } \ No newline at end of file diff --git a/src/utils/WiFiUtils.cpp b/src/utils/WiFiUtils.cpp index 5b7bf79d..6ebcc37d 100644 --- a/src/utils/WiFiUtils.cpp +++ b/src/utils/WiFiUtils.cpp @@ -6,7 +6,7 @@ #define TRIESONE 20 // количество секунд ожидания подключения к одной сети из несколких #define TRIES 30 // количество секунд ожидания подключения сети если она одна -#ifndef ESP8266 +#ifdef WIFI_ASYNC std::vector _ssidList; std::vector _passwordList; // номер сети, для перебирания в момент подключения к сетям из массива @@ -397,7 +397,7 @@ void routerConnect() #endif bool startAPMode() { -#ifndef ESP8266 +#ifdef WIFI_ASYNC wifiConnecting = false; currentNetwork = 0; connectionAttempts = 0; @@ -427,7 +427,7 @@ bool startAPMode() WIFI_SCAN, 30 * 1000, [&](void *) { -#ifdef ESP8266 +#ifndef WIFI_ASYNC std::vector jArray; jsonReadArray(settingsFlashJson, "routerssid", jArray); for (int8_t i = 0; i < jArray.size(); i++) @@ -449,7 +449,7 @@ bool startAPMode() return true; } -#if defined(ESP8266) +#ifndef WIFI_ASYNC boolean RouterFind(std::vector jArray) { bool res = false;