mirror of
https://github.com/lumapu/ahoy.git
synced 2025-05-25 14:56:11 +02:00
Add NRF to system site + api
This commit is contained in:
parent
4c52e9c307
commit
4f46106228
5 changed files with 112 additions and 11 deletions
51
src/.vscode/settings.json
vendored
51
src/.vscode/settings.json
vendored
|
@ -24,6 +24,55 @@
|
|||
"typeinfo": "cpp",
|
||||
"string": "cpp",
|
||||
"istream": "cpp",
|
||||
"ostream": "cpp"
|
||||
"ostream": "cpp",
|
||||
"array": "cpp",
|
||||
"atomic": "cpp",
|
||||
"*.tcc": "cpp",
|
||||
"bitset": "cpp",
|
||||
"cctype": "cpp",
|
||||
"chrono": "cpp",
|
||||
"clocale": "cpp",
|
||||
"cmath": "cpp",
|
||||
"cstdarg": "cpp",
|
||||
"cstddef": "cpp",
|
||||
"cstdint": "cpp",
|
||||
"cstdio": "cpp",
|
||||
"cstdlib": "cpp",
|
||||
"cstring": "cpp",
|
||||
"ctime": "cpp",
|
||||
"cwchar": "cpp",
|
||||
"cwctype": "cpp",
|
||||
"deque": "cpp",
|
||||
"list": "cpp",
|
||||
"unordered_map": "cpp",
|
||||
"unordered_set": "cpp",
|
||||
"vector": "cpp",
|
||||
"exception": "cpp",
|
||||
"algorithm": "cpp",
|
||||
"functional": "cpp",
|
||||
"iterator": "cpp",
|
||||
"map": "cpp",
|
||||
"memory": "cpp",
|
||||
"memory_resource": "cpp",
|
||||
"numeric": "cpp",
|
||||
"optional": "cpp",
|
||||
"random": "cpp",
|
||||
"ratio": "cpp",
|
||||
"regex": "cpp",
|
||||
"string_view": "cpp",
|
||||
"system_error": "cpp",
|
||||
"tuple": "cpp",
|
||||
"type_traits": "cpp",
|
||||
"utility": "cpp",
|
||||
"fstream": "cpp",
|
||||
"initializer_list": "cpp",
|
||||
"iomanip": "cpp",
|
||||
"iosfwd": "cpp",
|
||||
"limits": "cpp",
|
||||
"new": "cpp",
|
||||
"sstream": "cpp",
|
||||
"stdexcept": "cpp",
|
||||
"streambuf": "cpp",
|
||||
"cinttypes": "cpp"
|
||||
},
|
||||
}
|
16
src/app.cpp
16
src/app.cpp
|
@ -23,6 +23,7 @@ void app::setup(uint32_t timeout) {
|
|||
addListener(EVERY_12H, std::bind(&app::ntpUpdateTick, this));
|
||||
|
||||
resetSystem();
|
||||
|
||||
mSettings.setup();
|
||||
mSettings.getPtr(mConfig);
|
||||
DPRINTLN(DBG_INFO, F("Settings valid: ") + String((mSettings.getValid()) ? F("true") : F("false")));
|
||||
|
@ -33,19 +34,28 @@ void app::setup(uint32_t timeout) {
|
|||
mSys = new HmSystemType();
|
||||
mSys->enableDebug();
|
||||
mSys->setup(mConfig->nrf.amplifierPower, mConfig->nrf.pinIrq, mConfig->nrf.pinCe, mConfig->nrf.pinCs);
|
||||
|
||||
if(mSys->Radio.isChipConnected())
|
||||
{
|
||||
mSys->addInverters(&mConfig->inst);
|
||||
|
||||
mPayload.setup(mSys);
|
||||
mPayload.enableSerialDebug(mConfig->serial.debug);
|
||||
#if !defined(AP_ONLY)
|
||||
if (mConfig->mqtt.broker[0] > 0) {
|
||||
}
|
||||
else
|
||||
{
|
||||
DPRINTLN(DBG_WARN, F("WARNING! your NRF24 module can't be reached, check the wiring"));
|
||||
}
|
||||
|
||||
// when WiFi is in client mode, then enable mqtt broker
|
||||
if (mConfig->mqtt.broker[0] > 0 && WiFi.getMode() == WIFI_STA) {
|
||||
mMqtt.setup(&mConfig->mqtt, mConfig->sys.deviceName, mVersion, mSys, &mUtcTimestamp, &mSunrise, &mSunset);
|
||||
mPayload.addListener(std::bind(&PubMqttType::payloadEventListener, &mMqtt, std::placeholders::_1));
|
||||
addListener(EVERY_SEC, std::bind(&PubMqttType::tickerSecond, &mMqtt));
|
||||
addListener(EVERY_MIN, std::bind(&PubMqttType::tickerMinute, &mMqtt));
|
||||
addListener(EVERY_HR, std::bind(&PubMqttType::tickerHour, &mMqtt));
|
||||
}
|
||||
#endif
|
||||
|
||||
setupLed();
|
||||
|
||||
mWeb = new web(this, mConfig, &mStat, mVersion);
|
||||
|
|
|
@ -295,6 +295,14 @@ class HmRadio {
|
|||
return mNrf24.isChipConnected();
|
||||
}
|
||||
|
||||
rf24_datarate_e getDataRate(void) {
|
||||
return mNrf24.getDataRate();
|
||||
}
|
||||
|
||||
bool isPVariant(void) {
|
||||
return mNrf24.isPVariant();
|
||||
}
|
||||
|
||||
|
||||
|
||||
uint32_t mSendCnt;
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<div id="wrapper">
|
||||
<div id="content">
|
||||
<div><ul id="info"></ul></div>
|
||||
<div><ul id="radio"></ul></div>
|
||||
<div id="system"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -59,11 +60,34 @@
|
|||
}
|
||||
}
|
||||
|
||||
function parseRadio(obj) {
|
||||
const pa = ["MIN", "LOW", "HIGH", "MAX"];
|
||||
const datarate = ["1 MBps", "2 MBps", "250 kbps"];
|
||||
|
||||
var ul = document.getElementById("radio");
|
||||
let data;
|
||||
|
||||
var li = document.createElement("li");
|
||||
li.appendChild(document.createTextNode("nrf24l01" + (obj["isPVariant"] ? "+ " : "") + (obj["isconnected"] ? "is connected " : "is not connected ")));
|
||||
ul.appendChild(li);
|
||||
|
||||
if(obj["isconnected"]) {
|
||||
var li = document.createElement("li");
|
||||
li.appendChild(document.createTextNode("Datarate: " + datarate[obj["DataRate"]]));
|
||||
ul.appendChild(li);
|
||||
|
||||
var li = document.createElement("li");
|
||||
li.appendChild(document.createTextNode("Power Level: " + pa[obj["power_level"]]));
|
||||
ul.appendChild(li);
|
||||
}
|
||||
}
|
||||
|
||||
function parse(obj) {
|
||||
if(null != obj) {
|
||||
parseMenu(obj["menu"]);
|
||||
parseSys(obj["system"]);
|
||||
parseSysInfo(obj["system"]);
|
||||
parseRadio(obj["system"]["radio"]);
|
||||
var e = document.getElementById("system");
|
||||
e.innerHTML = obj["html"];
|
||||
|
||||
|
|
|
@ -162,6 +162,9 @@ void webApi::getSysInfo(JsonObject obj) {
|
|||
obj[F("sketch_total")] = ESP.getFreeSketchSpace();
|
||||
obj[F("sketch_used")] = ESP.getSketchSize() / 1024; // in kb
|
||||
|
||||
|
||||
getRadio(obj.createNestedObject(F("radio")));
|
||||
|
||||
#if defined(ESP32)
|
||||
obj[F("heap_total")] = ESP.getHeapSize();
|
||||
obj[F("chip_revision")] = ESP.getChipRevision();
|
||||
|
@ -306,6 +309,9 @@ void webApi::getPinout(JsonObject obj) {
|
|||
//-----------------------------------------------------------------------------
|
||||
void webApi::getRadio(JsonObject obj) {
|
||||
obj[F("power_level")] = mConfig->nrf.amplifierPower;
|
||||
obj[F("isconnected")] = mApp->mSys->Radio.isChipConnected();
|
||||
obj[F("DataRate")] = mApp->mSys->Radio.getDataRate();
|
||||
obj[F("isPVariant")] = mApp->mSys->Radio.isPVariant();
|
||||
}
|
||||
|
||||
|
||||
|
@ -358,6 +364,7 @@ void webApi::getMenu(JsonObject obj) {
|
|||
void webApi::getIndex(JsonObject obj) {
|
||||
getMenu(obj.createNestedObject(F("menu")));
|
||||
getSysInfo(obj.createNestedObject(F("system")));
|
||||
getRadio(obj.createNestedObject(F("radio")));
|
||||
getStatistics(obj.createNestedObject(F("statistics")));
|
||||
obj["refresh_interval"] = mConfig->nrf.sendInterval;
|
||||
|
||||
|
@ -380,6 +387,9 @@ void webApi::getIndex(JsonObject obj) {
|
|||
JsonArray warn = obj.createNestedArray(F("warnings"));
|
||||
if(!mApp->mSys->Radio.isChipConnected())
|
||||
warn.add(F("your NRF24 module can't be reached, check the wiring and pinout"));
|
||||
else if(!mApp->mSys->Radio.isPVariant())
|
||||
warn.add(F("your NRF24 module have not a plus(+), please check!"));
|
||||
|
||||
if(!mApp->mqttIsConnected())
|
||||
warn.add(F("MQTT is not connected"));
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue