Bus scanner added

This commit is contained in:
Dmitry Borisenko
2020-09-18 00:24:07 +03:00
parent b66b4ab947
commit 734f3e1b36
4 changed files with 56 additions and 12 deletions

4
include/Bus.h Normal file
View File

@@ -0,0 +1,4 @@
#pragma once
#include <Arduino.h>
void busInit();
String i2c_scan();

38
src/Bus.cpp Normal file
View File

@@ -0,0 +1,38 @@
#include "Bus.h"
#include "Class/NotAsinc.h"
#include "Global.h"
void busInit() {
myNotAsincActions->add(
do_BUSSCAN, [&](void*) {
String tmp = i2c_scan();
if (tmp == "error") {
tmp = i2c_scan();
Serial.println(tmp);
jsonWriteStr(configLiveJson, "i2c", tmp);
} else {
Serial.println(tmp);
jsonWriteStr(configLiveJson, "i2c", tmp);
}
},
nullptr);
}
String i2c_scan() {
String out;
byte count = 0;
Wire.begin();
for (byte i = 8; i < 120; i++) {
Wire.beginTransmission(i);
if (Wire.endTransmission() == 0) {
count++;
out += String(count) + ". 0x" + String(i, HEX) + "; ";
delay(1);
}
}
if (count == 0) {
return "error";
} else {
return out;
}
}

View File

@@ -109,7 +109,6 @@ void web_init() {
// request->send(200);
//}
//==============================wifi settings=============================================
if (request->hasArg("routerssid")) {
jsonWriteStr(configSetupJson, "routerssid", request->getParam("routerssid")->value());
@@ -219,20 +218,20 @@ void web_init() {
request->send(200, "text/html", payload);
}
// //==============================push settings=============================================
//#ifdef PUSH_ENABLED
// if (request->hasArg("pushingboxid")) {
// jsonWriteStr(configSetupJson, "pushingboxid", request->getParam("pushingboxid")->value());
// saveConfig();
// request->send(200);
// }
//#endif
// //==============================push settings=============================================
//#ifdef PUSH_ENABLED
// if (request->hasArg("pushingboxid")) {
// jsonWriteStr(configSetupJson, "pushingboxid", request->getParam("pushingboxid")->value());
// saveConfig();
// request->send(200);
// }
//#endif
//==============================utilities settings=============================================
if (request->hasArg("i2c")) {
myNotAsincActions->make(do_BUSSCAN);
request->redirect("/?set.utilities");
}
}
});
//==============================list of items=====================================================
@@ -285,7 +284,6 @@ void web_init() {
*/
server.on("/upgrade", HTTP_GET, [](AsyncWebServerRequest* request) {
myNotAsincActions->make(do_UPGRADE);
;
request->send(200, "text/html");
});
}

View File

@@ -14,6 +14,7 @@
#include "Utils\WebUtils.h"
#include "items/ButtonInClass.h"
#include "RemoteOrdersUdp.h"
#include "Bus.h"
void not_async_actions();
@@ -73,6 +74,9 @@ void setup() {
SerialPrint("I","UDP","Udp Init");
asyncUdpInit();
SerialPrint("I","Bus","Bus Init");
busInit();
#ifdef SSDP_EN
SerialPrint("I","SSDP","Ssdp Init");