diff --git a/bin/regen-protos.bat b/bin/regen-protos.bat index aa2a2684f..1422f7914 100644 --- a/bin/regen-protos.bat +++ b/bin/regen-protos.bat @@ -1,5 +1 @@ -cd protobufs && ..\nanopb-0.4.7\generator-bin\protoc.exe --nanopb_out=-v:..\src\mesh\generated -I=..\protobufs ..\protobufs\meshtastic\*.proto - -@REM cd ../src/mesh/generated/meshtastic -@REM sed -i 's/#include "meshtastic/#include "./g' * -@REM sed -i 's/meshtastic_//g' * +cd protobufs && ..\nanopb-0.4.7\generator-bin\protoc.exe --experimental_allow_proto3_optional --nanopb_out=-v:..\src\mesh\generated -I=..\protobufs ..\protobufs\meshtastic\*.proto diff --git a/src/mqtt/MQTT.cpp b/src/mqtt/MQTT.cpp index 260a70c3f..c0758019a 100644 --- a/src/mqtt/MQTT.cpp +++ b/src/mqtt/MQTT.cpp @@ -19,9 +19,9 @@ const int reconnectMax = 5; MQTT *mqtt; -std::string statusTopic = "msh/2/stat/"; -std::string cryptTopic = "msh/2/c/"; // msh/2/c/CHANNELID/NODEID -std::string jsonTopic = "msh/2/json/"; // msh/2/json/CHANNELID/NODEID +std::string statusTopic = "/2/stat/"; +std::string cryptTopic = "/2/c/"; // msh/2/c/CHANNELID/NODEID +std::string jsonTopic = "/2/json/"; // msh/2/json/CHANNELID/NODEID static MemoryDynamic staticMqttPool; @@ -164,6 +164,16 @@ MQTT::MQTT() : concurrency::OSThread("mqtt"), pubSub(mqttClient), mqttQueue(MAX_ assert(!mqtt); mqtt = this; + if (moduleConfig.mqtt.root) { + statusTopic = moduleConfig.mqtt.root + statusTopic; + cryptTopic = moduleConfig.mqtt.root + cryptTopic; + jsonTopic = moduleConfig.mqtt.root + jsonTopic; + } else { + statusTopic = "msh" + statusTopic; + cryptTopic = "msh" + cryptTopic; + jsonTopic = "msh" + jsonTopic; + } + pubSub.setCallback(mqttCallback); // preflightSleepObserver.observe(&preflightSleep);