From 71c35304d64c731ee6ca63b6256128bf4600b3be Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sun, 14 Feb 2021 12:26:51 +0800 Subject: [PATCH] delay position plugin start until 60 secs after first boot --- src/plugins/PositionPlugin.cpp | 12 ++++++++++-- src/plugins/PositionPlugin.h | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/plugins/PositionPlugin.cpp b/src/plugins/PositionPlugin.cpp index 09dbdd502..153d20cfc 100644 --- a/src/plugins/PositionPlugin.cpp +++ b/src/plugins/PositionPlugin.cpp @@ -7,6 +7,14 @@ PositionPlugin *positionPlugin; +PositionPlugin::PositionPlugin() + : ProtobufPlugin("position", PortNum_POSITION_APP, Position_fields), concurrency::OSThread("PositionPlugin") +{ + setIntervalFromNow(60 * + 1000); // Send our initial position 60 seconds after we start (to give GPS time to setup) + +} + bool PositionPlugin::handleReceivedProtobuf(const MeshPacket &mp, const Position &p) { // FIXME - we currently update position data in the DB only if the message was a broadcast or destined to us @@ -61,8 +69,8 @@ void PositionPlugin::sendOurPosition(NodeNum dest, bool wantReplies) service.sendToMesh(p); } - -int32_t PositionPlugin::runOnce(){ +int32_t PositionPlugin::runOnce() +{ // We limit our GPS broadcasts to a max rate uint32_t now = millis(); diff --git a/src/plugins/PositionPlugin.h b/src/plugins/PositionPlugin.h index 580a22999..7a45c23a0 100644 --- a/src/plugins/PositionPlugin.h +++ b/src/plugins/PositionPlugin.h @@ -20,8 +20,8 @@ class PositionPlugin : public ProtobufPlugin, private concurrency::OST /** Constructor * name is for debugging output */ - PositionPlugin() : ProtobufPlugin("position", PortNum_POSITION_APP, Position_fields), concurrency::OSThread("PositionPlugin") {} - + PositionPlugin(); + /** * Send our position into the mesh */