Merge pull request #401 from Mit4el/ver4dev

fix bk7231n
This commit is contained in:
Mit4el
2025-03-27 23:19:06 +03:00
committed by GitHub
9 changed files with 32 additions and 40 deletions

View File

@@ -2,7 +2,7 @@
#include "BuildTime.h" #include "BuildTime.h"
// Версия прошивки // Версия прошивки
#define FIRMWARE_VERSION 457 #define FIRMWARE_VERSION 460
#ifdef esp8266_1mb_ota #ifdef esp8266_1mb_ota
#define FIRMWARE_NAME "esp8266_1mb_ota" #define FIRMWARE_NAME "esp8266_1mb_ota"
@@ -104,11 +104,19 @@ WEB_SOCKETS_FRAME_SIZE создан для того что бы не загру
#define MIN_DATETIME 1575158400 #define MIN_DATETIME 1575158400
#define LEAP_YEAR(Y) (((1970 + Y) > 0) && !((1970 + Y) % 4) && (((1970 + Y) % 100) || !((1970 + Y) % 400))) #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 { enum TimerTask_t {
WIFI_SCAN, WIFI_SCAN,
WIFI_MQTT_CONNECTION_CHECK, WIFI_MQTT_CONNECTION_CHECK,
#ifndef ESP8266 #ifdef WIFI_ASYNC
WIFI_CONN, WIFI_CONN,
#endif #endif
TIME, TIME,

View File

@@ -28,6 +28,8 @@ class IoTUart : public IoTItem {
protected: protected:
#ifdef ESP8266 #ifdef ESP8266
SoftwareSerial* _myUART; SoftwareSerial* _myUART;
#elif LIBRETINY
SerialClass* _myUART;
#else #else
Stream* _myUART; Stream* _myUART;
#endif #endif

View File

@@ -5,7 +5,7 @@
boolean isNetworkActive(); boolean isNetworkActive();
uint8_t getNumAPClients(); uint8_t getNumAPClients();
bool startAPMode(); bool startAPMode();
#ifdef ESP8266 #ifndef WIFI_ASYNC
void routerConnect(); void routerConnect();
boolean RouterFind(std::vector<String> jArray); boolean RouterFind(std::vector<String> jArray);
#else #else

View File

@@ -456,7 +456,7 @@ upload_speed = 921600
monitor_speed = 115200 monitor_speed = 115200
build_flags = build_flags =
-Dbk7231n="bk7231n" -Dbk7231n="bk7231n"
-DLT_LOGLEVEL=LT_LEVEL_DEBUG -DLT_LOGLEVEL=LT_LEVEL_FATAL
-DLT_DEBUG_ALL=1 -DLT_DEBUG_ALL=1
-DPROJECT_DATA_DIR="data_svelte" -DPROJECT_DATA_DIR="data_svelte"
-DLT_USE_TIME=1 -DLT_USE_TIME=1

View File

@@ -201,7 +201,7 @@ void setup() {
initErrorMarker(SETUPINET_ERRORMARKER); initErrorMarker(SETUPINET_ERRORMARKER);
// подключаемся к роутеру // подключаемся к роутеру
#ifdef ESP8266 #ifndef WIFI_ASYNC
routerConnect(); routerConnect();
#else #else
WiFiUtilsItit(); WiFiUtilsItit();
@@ -237,7 +237,7 @@ void setup() {
// инициализация задач переодического выполнения // инициализация задач переодического выполнения
periodicTasksInit(); periodicTasksInit();
#if defined(ESP8266) #if !defined(WIFI_ASYNC)
// Перенесли после получения IP, так как теперь работа WiFi асинхронная // Перенесли после получения IP, так как теперь работа WiFi асинхронная
// запуск работы udp // запуск работы udp
addThisDeviceToList(); addThisDeviceToList();
@@ -306,7 +306,7 @@ void setup() {
} }
void loop() { void loop() {
#if !defined(ESP8266) #if defined(WIFI_ASYNC)
static bool udpFirstFlag = true; static bool udpFirstFlag = true;
// Перенесли после получения IP, так как теперь работа WiFi асинхронная // Перенесли после получения IP, так как теперь работа WiFi асинхронная
if (isNetworkActive() && udpFirstFlag) { if (isNetworkActive() && udpFirstFlag) {

View File

@@ -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("/widgets.json", "widget", "", num, WEB_SOCKETS_FRAME_SIZE);
sendFileToWsByFrames("/config.json", "config", "", num, WEB_SOCKETS_FRAME_SIZE); sendFileToWsByFrames("/config.json", "config", "", num, WEB_SOCKETS_FRAME_SIZE);
sendStringToWs("settin", settingsFlashJson, num); sendStringToWs("settin", settingsFlashJson, num);
#ifndef ESP8266 #ifdef WIFI_ASYNC
ssidListHeapJson = "{}"; ssidListHeapJson = "{}";
jsonWriteStr_(ssidListHeapJson, "0", "Scanning..."); jsonWriteStr_(ssidListHeapJson, "0", "Scanning...");
#endif #endif
@@ -161,7 +161,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
sendStringToWs("errors", errorsHeapJson, num); sendStringToWs("errors", errorsHeapJson, num);
// если не было создано приема данных по udp - то создадим его // если не было создано приема данных по udp - то создадим его
addThisDeviceToList(); addThisDeviceToList();
#ifndef ESP8266 #ifdef WIFI_ASYNC
settingsFlashJson = readFile(F("settings.json"), 4096); settingsFlashJson = readFile(F("settings.json"), 4096);
settingsFlashJson.replace("\r\n", ""); settingsFlashJson.replace("\r\n", "");
Serial.println(settingsFlashJson); Serial.println(settingsFlashJson);
@@ -183,7 +183,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
// запуск асинхронного сканирования wifi сетей при нажатии выпадающего // запуск асинхронного сканирования wifi сетей при нажатии выпадающего
// списка // списка
if (headerStr == "/scan|") { if (headerStr == "/scan|") {
#ifdef ESP8266 #ifndef WIFI_ASYNC
std::vector<String> jArray; std::vector<String> jArray;
jsonReadArray(settingsFlashJson, "routerssid", jArray); jsonReadArray(settingsFlashJson, "routerssid", jArray);
RouterFind(jArray); RouterFind(jArray);

View File

@@ -9,11 +9,11 @@ IoTUart::IoTUart(const String& parameters) : IoTItem(parameters) {
jsonRead(parameters, "speed", _speed); jsonRead(parameters, "speed", _speed);
jsonRead(parameters, "line", _line); jsonRead(parameters, "line", _line);
#ifdef ESP8266 #if defined (ESP8266)
_myUART = new SoftwareSerial(_rx, _tx); _myUART = new SoftwareSerial(_rx, _tx);
_myUART->begin(_speed); _myUART->begin(_speed);
#endif #endif
#ifdef ESP32 #if defined (ESP32)
if (_line >= 0) { if (_line >= 0) {
_myUART = new HardwareSerial(_line); _myUART = new HardwareSerial(_line);
((HardwareSerial*)_myUART)->begin(_speed, SERIAL_8N1, _rx, _tx); ((HardwareSerial*)_myUART)->begin(_speed, SERIAL_8N1, _rx, _tx);
@@ -22,6 +22,10 @@ IoTUart::IoTUart(const String& parameters) : IoTItem(parameters) {
((SoftwareSerial*)_myUART)->begin(_speed); ((SoftwareSerial*)_myUART)->begin(_speed);
} }
#endif #endif
#if defined (LIBRETINY)
_myUART = new SerialClass(_rx, _tx);
_myUART->begin((unsigned long)_speed);
#endif
} }
void IoTUart::loop() { void IoTUart::loop() {

View File

@@ -1,35 +1,13 @@
#include "ESPConfiguration.h" #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_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_BL0937(String subtype, String params);
void* getAPI_UART(String subtype, String params); void* getAPI_BL0942(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(String subtype, String params) { void* getAPI(String subtype, String params) {
void* tmpAPI; 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_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_BL0937(subtype, params)) != nullptr) return tmpAPI;
if ((tmpAPI = getAPI_UART(subtype, params)) != nullptr) return tmpAPI; if ((tmpAPI = getAPI_BL0942(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;
return nullptr; return nullptr;
} }

View File

@@ -6,7 +6,7 @@
#define TRIESONE 20 // количество секунд ожидания подключения к одной сети из несколких #define TRIESONE 20 // количество секунд ожидания подключения к одной сети из несколких
#define TRIES 30 // количество секунд ожидания подключения сети если она одна #define TRIES 30 // количество секунд ожидания подключения сети если она одна
#ifndef ESP8266 #ifdef WIFI_ASYNC
std::vector<String> _ssidList; std::vector<String> _ssidList;
std::vector<String> _passwordList; std::vector<String> _passwordList;
// номер сети, для перебирания в момент подключения к сетям из массива // номер сети, для перебирания в момент подключения к сетям из массива
@@ -397,7 +397,7 @@ void routerConnect()
#endif #endif
bool startAPMode() bool startAPMode()
{ {
#ifndef ESP8266 #ifdef WIFI_ASYNC
wifiConnecting = false; wifiConnecting = false;
currentNetwork = 0; currentNetwork = 0;
connectionAttempts = 0; connectionAttempts = 0;
@@ -427,7 +427,7 @@ bool startAPMode()
WIFI_SCAN, 30 * 1000, WIFI_SCAN, 30 * 1000,
[&](void *) [&](void *)
{ {
#ifdef ESP8266 #ifndef WIFI_ASYNC
std::vector<String> jArray; std::vector<String> jArray;
jsonReadArray(settingsFlashJson, "routerssid", jArray); jsonReadArray(settingsFlashJson, "routerssid", jArray);
for (int8_t i = 0; i < jArray.size(); i++) for (int8_t i = 0; i < jArray.size(); i++)
@@ -449,7 +449,7 @@ bool startAPMode()
return true; return true;
} }
#if defined(ESP8266) #ifndef WIFI_ASYNC
boolean RouterFind(std::vector<String> jArray) boolean RouterFind(std::vector<String> jArray)
{ {
bool res = false; bool res = false;