Files
IoTManager/src/i2c_bus.cpp

36 lines
797 B
C++
Raw Normal View History

2020-06-18 23:43:06 +02:00
#include "Global.h"
2020-06-17 23:30:48 +03:00
void do_i2c_scanning() {
if (i2c_scanning) {
i2c_scanning = false;
String tmp = i2c_scan();
if (tmp == "error") {
tmp = i2c_scan();
Serial.println(tmp);
jsonWriteStr(configJson, "i2c", tmp);
} else {
Serial.println(tmp);
jsonWriteStr(configJson, "i2c", tmp);
}
}
}
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;
}
}