diff --git a/bin/uf2-convert.bat b/bin/uf2-convert.bat new file mode 100644 index 00000000..242bec3a --- /dev/null +++ b/bin/uf2-convert.bat @@ -0,0 +1,2 @@ +@echo off +if [%1]==[] (echo "Please specify a platformio NRF target (i.e. rak4631) as the first argument.") else (python3 .\bin\uf2conv.py .\.pio\build\%1\firmware.hex -c -o .\.pio\build\%1\firmware.uf2 -f 0xADA52840) \ No newline at end of file diff --git a/src/mesh/generated/admin.pb.h b/src/mesh/generated/admin.pb.h index ab415243..e27ee193 100644 --- a/src/mesh/generated/admin.pb.h +++ b/src/mesh/generated/admin.pb.h @@ -4,9 +4,9 @@ #ifndef PB_ADMIN_PB_H_INCLUDED #define PB_ADMIN_PB_H_INCLUDED #include +#include "channel.pb.h" #include "mesh.pb.h" #include "radioconfig.pb.h" -#include "channel.pb.h" #if PB_PROTO_HEADER_VERSION != 40 #error Regenerate this file with the current version of nanopb generator. diff --git a/src/mesh/generated/deviceonly.pb.h b/src/mesh/generated/deviceonly.pb.h index 591c3cc2..129e0b81 100644 --- a/src/mesh/generated/deviceonly.pb.h +++ b/src/mesh/generated/deviceonly.pb.h @@ -4,8 +4,8 @@ #ifndef PB_DEVICEONLY_PB_H_INCLUDED #define PB_DEVICEONLY_PB_H_INCLUDED #include -#include "mesh.pb.h" #include "channel.pb.h" +#include "mesh.pb.h" #include "radioconfig.pb.h" #if PB_PROTO_HEADER_VERSION != 40 diff --git a/src/plugins/PositionPlugin.cpp b/src/plugins/PositionPlugin.cpp index 11d13aba..2a6ccbd9 100644 --- a/src/plugins/PositionPlugin.cpp +++ b/src/plugins/PositionPlugin.cpp @@ -145,7 +145,7 @@ int32_t PositionPlugin::runOnce() DEBUG_MSG("Sending pos@%x:6 to mesh (wantReplies=%d)\n", node->position.pos_timestamp, requestReplies); sendOurPosition(NODENUM_BROADCAST, requestReplies); } else if (radioConfig.preferences.position_broadcast_smart == true) { - // NodeInfo *node = service.refreshMyNodeInfo(); // should guarantee there is now a position + NodeInfo *node = service.refreshMyNodeInfo(); // should guarantee there is now a position if (node->has_position && (node->position.latitude_i != 0 || node->position.longitude_i != 0)) { float distance = GeoCoord::latLongToMeter(lastGpsLatitude * 1e-7, lastGpsLongitude * 1e-7, @@ -170,6 +170,11 @@ int32_t PositionPlugin::runOnce() DEBUG_MSG("Sending smart pos@%x:6 to mesh (wantReplies=%d)\n", node->position.pos_timestamp, requestReplies); sendOurPosition(NODENUM_BROADCAST, requestReplies); + + /* Update lastGpsSend to now. This means if the device is stationary, then + getPref_position_broadcast_secs will still apply. + */ + lastGpsSend = now; } } }