From caaa235c5d310a42b2018321067479b551bf4def Mon Sep 17 00:00:00 2001 From: Mike Kinney Date: Mon, 24 Jan 2022 17:24:40 +0000 Subject: [PATCH] more cppcheck warnings fixes --- .gitignore | 1 + bin/check-all.sh | 3 ++- src/Observer.h | 4 ++-- src/Power.cpp | 10 ++++----- src/RedirectablePrint.h | 4 ++-- src/SerialConsole.h | 6 +++--- src/concurrency/LockGuard.h | 2 +- src/concurrency/NotifiedWorkerThread.h | 2 +- src/concurrency/Periodic.h | 2 +- src/esp32/ESP32CryptoEngine.cpp | 6 +++--- src/gps/GPS.h | 2 +- src/gps/NMEAGPS.h | 10 ++++----- src/gps/UBloxGPS.h | 16 +++++++------- src/graphics/EInkDisplay2.h | 8 +++---- src/graphics/Screen.h | 4 ++-- src/graphics/TFTDisplay.h | 8 +++---- src/input/RotaryEncoderInterruptBase.h | 2 +- src/main.cpp | 4 ++-- src/mesh/DSRRouter.h | 6 +++--- src/mesh/FloodingRouter.h | 6 +++--- src/mesh/MemoryPool.h | 6 +++--- src/mesh/MeshPlugin.h | 2 +- src/mesh/NodeDB.cpp | 4 ++-- src/mesh/PhoneAPI.h | 2 +- src/mesh/PointerQueue.h | 2 +- src/mesh/ProtobufPlugin.h | 2 +- src/mesh/RF95Interface.h | 20 +++++++++--------- src/mesh/RadioInterface.h | 4 ++-- src/mesh/RadioLibInterface.h | 10 ++++----- src/mesh/ReliableRouter.h | 12 +++++------ src/mesh/Router.h | 4 ++-- src/mesh/SX1268Interface.h | 4 ++-- src/mesh/SX126xInterface.h | 22 ++++++++++---------- src/mesh/SinglePortPlugin.h | 2 +- src/mesh/StreamAPI.h | 6 +++--- src/mesh/TypedQueue.h | 2 +- src/mesh/http/WebServer.h | 2 +- src/mesh/wifi/WiFiServerAPI.h | 10 ++++----- src/mqtt/MQTT.h | 2 +- src/nrf52/NRF52Bluetooth.cpp | 6 +++--- src/nrf52/NRF52CryptoEngine.cpp | 4 ++-- src/plugins/AdminPlugin.h | 4 ++-- src/plugins/CannedMessagePlugin.h | 8 +++---- src/plugins/EnvironmentalMeasurementPlugin.h | 8 +++---- src/plugins/ExternalNotificationPlugin.h | 4 ++-- src/plugins/NodeInfoPlugin.h | 8 +++---- src/plugins/PositionPlugin.h | 8 +++---- src/plugins/RemoteHardwarePlugin.h | 6 +++--- src/plugins/ReplyPlugin.h | 2 +- src/plugins/RoutingPlugin.h | 8 +++---- src/plugins/TextMessagePlugin.h | 4 ++-- src/plugins/esp32/RangeTestPlugin.h | 6 +++--- src/plugins/esp32/SerialPlugin.h | 6 +++--- src/plugins/esp32/StoreForwardPlugin.h | 8 +++---- src/portduino/CrossPlatformCryptoEngine.cpp | 6 +++--- src/power.h | 4 ++-- suppressions.txt | 4 ++++ 57 files changed, 167 insertions(+), 161 deletions(-) diff --git a/.gitignore b/.gitignore index d63accc92..e9d3cfdf9 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ __pycache__ *~ venv/ +release/ diff --git a/bin/check-all.sh b/bin/check-all.sh index f7fd445d0..f54ff03e4 100755 --- a/bin/check-all.sh +++ b/bin/check-all.sh @@ -11,7 +11,8 @@ export APP_VERSION=$VERSION # only check high and medium in our source # TODO: only doing tbeam (to start; add all/more later) -pio check --flags "-DAPP_VERSION=${APP_VERSION} --suppressions-list=suppressions.txt" -e tbeam --skip-packages --severity=medium --severity=high --pattern="src/" +#pio check --flags "-DAPP_VERSION=${APP_VERSION} --suppressions-list=suppressions.txt" -e tbeam --skip-packages --severity=medium --severity=high --pattern="src/" +pio check --flags "-DAPP_VERSION=${APP_VERSION} --suppressions-list=suppressions.txt" -e tbeam --skip-packages --pattern="src/" return_code=$? # TODO: not sure why return_code is 0 diff --git a/src/Observer.h b/src/Observer.h index 85c40b1ea..fb024dc82 100644 --- a/src/Observer.h +++ b/src/Observer.h @@ -47,7 +47,7 @@ template class CallbackObserver : public Observer CallbackObserver(Callback *_objPtr, ObserverCallback _method) : objPtr(_objPtr), method(_method) {} protected: - virtual int onNotify(T arg) { return (objPtr->*method)(arg); } + virtual int onNotify(T arg) override { return (objPtr->*method)(arg); } }; /** @@ -104,4 +104,4 @@ template void Observer::observe(Observable *o) observed = o; o->addObserver(this); -} \ No newline at end of file +} diff --git a/src/Power.cpp b/src/Power.cpp index b46153c6e..72e2d07f5 100644 --- a/src/Power.cpp +++ b/src/Power.cpp @@ -75,7 +75,7 @@ class AnalogBatteryLevel : public HasBatteryLevel * * FIXME - use a lipo lookup table, the current % full is super wrong */ - virtual int getBattPercentage() + virtual int getBattPercentage() override { float v = getBattVoltage(); @@ -94,7 +94,7 @@ class AnalogBatteryLevel : public HasBatteryLevel /** * The raw voltage of the batteryin millivolts or NAN if unknown */ - virtual float getBattVoltage() + virtual float getBattVoltage() override { #ifndef ADC_MULTIPLIER @@ -127,15 +127,15 @@ class AnalogBatteryLevel : public HasBatteryLevel /** * return true if there is a battery installed in this unit */ - virtual bool isBatteryConnect() { return getBattPercentage() != -1; } + virtual bool isBatteryConnect() override { return getBattPercentage() != -1; } /// If we see a battery voltage higher than physics allows - assume charger is pumping /// in power - virtual bool isVBUSPlug() { return getBattVoltage() > chargingVolt; } + virtual bool isVBUSPlug() override { return getBattVoltage() > chargingVolt; } /// Assume charging if we have a battery and external power is connected. /// we can't be smart enough to say 'full'? - virtual bool isChargeing() { return isBatteryConnect() && isVBUSPlug(); } + virtual bool isChargeing() override { return isBatteryConnect() && isVBUSPlug(); } private: /// If we see a battery voltage higher than physics allows - assume charger is pumping diff --git a/src/RedirectablePrint.h b/src/RedirectablePrint.h index 1eb60199b..bf797b41f 100644 --- a/src/RedirectablePrint.h +++ b/src/RedirectablePrint.h @@ -22,7 +22,7 @@ class RedirectablePrint : public Print volatile bool inDebugPrint = false; public: - RedirectablePrint(Print *_dest) : dest(_dest) {} + explicit RedirectablePrint(Print *_dest) : dest(_dest) {} /** * Set a new destination @@ -56,4 +56,4 @@ class NoopPrint : public Print /** * A printer that doesn't go anywhere */ -extern NoopPrint noopPrint; \ No newline at end of file +extern NoopPrint noopPrint; diff --git a/src/SerialConsole.h b/src/SerialConsole.h index cc3ec4ec3..e7b8af34f 100644 --- a/src/SerialConsole.h +++ b/src/SerialConsole.h @@ -15,9 +15,9 @@ class SerialConsole : public StreamAPI, public RedirectablePrint * we override this to notice when we've received a protobuf over the serial stream. Then we shunt off * debug serial output. */ - virtual bool handleToRadio(const uint8_t *buf, size_t len); + virtual bool handleToRadio(const uint8_t *buf, size_t len) override; - virtual size_t write(uint8_t c) + virtual size_t write(uint8_t c) override { if (c == '\n') // prefix any newlines with carriage return RedirectablePrint::write('\r'); @@ -27,7 +27,7 @@ class SerialConsole : public StreamAPI, public RedirectablePrint protected: /// Check the current underlying physical link to see if the client is currently connected - virtual bool checkIsConnected(); + virtual bool checkIsConnected() override; }; // A simple wrapper to allow non class aware code write to the console diff --git a/src/concurrency/LockGuard.h b/src/concurrency/LockGuard.h index dc09f40fb..89c288f6a 100644 --- a/src/concurrency/LockGuard.h +++ b/src/concurrency/LockGuard.h @@ -10,7 +10,7 @@ namespace concurrency { class LockGuard { public: - LockGuard(Lock *lock); + explicit LockGuard(Lock *lock); ~LockGuard(); LockGuard(const LockGuard &) = delete; diff --git a/src/concurrency/NotifiedWorkerThread.h b/src/concurrency/NotifiedWorkerThread.h index 628277850..83e73a571 100644 --- a/src/concurrency/NotifiedWorkerThread.h +++ b/src/concurrency/NotifiedWorkerThread.h @@ -39,7 +39,7 @@ class NotifiedWorkerThread : public OSThread virtual void onNotify(uint32_t notification) = 0; /// just calls checkNotification() - virtual int32_t runOnce(); + virtual int32_t runOnce() override; /// Sometimes we might want to check notifications independently of when our thread was getting woken up (i.e. if we are about to change /// radio transmit/receive modes we want to handle any pending interrupts first). You can call this method and if any notifications are currently diff --git a/src/concurrency/Periodic.h b/src/concurrency/Periodic.h index bf60280de..db07145a6 100644 --- a/src/concurrency/Periodic.h +++ b/src/concurrency/Periodic.h @@ -18,7 +18,7 @@ class Periodic : public OSThread Periodic(const char *name, int32_t (*_callback)()) : OSThread(name), callback(_callback) {} protected: - int32_t runOnce() { return callback(); } + int32_t runOnce() override { return callback(); } }; } // namespace concurrency diff --git a/src/esp32/ESP32CryptoEngine.cpp b/src/esp32/ESP32CryptoEngine.cpp index f04614c72..154491ccb 100644 --- a/src/esp32/ESP32CryptoEngine.cpp +++ b/src/esp32/ESP32CryptoEngine.cpp @@ -32,7 +32,7 @@ class ESP32CryptoEngine : public CryptoEngine * @param bytes a _static_ buffer that will remain valid for the life of this crypto instance (i.e. this class will cache the * provided pointer) */ - virtual void setKey(const CryptoKey &k) + virtual void setKey(const CryptoKey &k) override { CryptoEngine::setKey(k); @@ -47,7 +47,7 @@ class ESP32CryptoEngine : public CryptoEngine * * @param bytes is updated in place */ - virtual void encrypt(uint32_t fromNode, uint64_t packetNum, size_t numBytes, uint8_t *bytes) + virtual void encrypt(uint32_t fromNode, uint64_t packetNum, size_t numBytes, uint8_t *bytes) override { if (key.length > 0) { uint8_t stream_block[16]; @@ -66,7 +66,7 @@ class ESP32CryptoEngine : public CryptoEngine } } - virtual void decrypt(uint32_t fromNode, uint64_t packetNum, size_t numBytes, uint8_t *bytes) + virtual void decrypt(uint32_t fromNode, uint64_t packetNum, size_t numBytes, uint8_t *bytes) override { // DEBUG_MSG("ESP32 decrypt!\n"); diff --git a/src/gps/GPS.h b/src/gps/GPS.h index 895d5607f..4764d1fb3 100644 --- a/src/gps/GPS.h +++ b/src/gps/GPS.h @@ -145,7 +145,7 @@ class GPS : private concurrency::OSThread */ void publishUpdate(); - virtual int32_t runOnce(); + virtual int32_t runOnce() override; }; // Creates an instance of the GPS class. diff --git a/src/gps/NMEAGPS.h b/src/gps/NMEAGPS.h index bc5582508..6133925dd 100644 --- a/src/gps/NMEAGPS.h +++ b/src/gps/NMEAGPS.h @@ -23,14 +23,14 @@ class NMEAGPS : public GPS #endif public: - virtual bool setupGPS(); + virtual bool setupGPS() override; protected: /** Subclasses should look for serial rx characters here and feed it to their GPS parser * * Return true if we received a valid message from the GPS */ - virtual bool whileIdle(); + virtual bool whileIdle() override; /** * Perform any processing that should be done only while the GPS is awake and looking for a fix. @@ -38,7 +38,7 @@ class NMEAGPS : public GPS * * @return true if we've acquired a time */ - virtual bool lookForTime(); + virtual bool lookForTime() override; /** * Perform any processing that should be done only while the GPS is awake and looking for a fix. @@ -46,7 +46,7 @@ class NMEAGPS : public GPS * * @return true if we've acquired a new location */ - virtual bool lookForLocation(); + virtual bool lookForLocation() override; - virtual bool hasLock(); + virtual bool hasLock() override; }; diff --git a/src/gps/UBloxGPS.h b/src/gps/UBloxGPS.h index 009744a52..c2521df23 100644 --- a/src/gps/UBloxGPS.h +++ b/src/gps/UBloxGPS.h @@ -22,22 +22,22 @@ class UBloxGPS : public GPS * * @return true for success */ - bool factoryReset(); + bool factoryReset() override; protected: /** * Returns true if we succeeded */ - virtual bool setupGPS(); + virtual bool setupGPS() override; /** Subclasses should look for serial rx characters here and feed it to their GPS parser * * Return true if we received a valid message from the GPS */ - virtual bool whileIdle(); + virtual bool whileIdle() override; /** Idle processing while GPS is looking for lock */ - virtual void whileActive(); + virtual void whileActive() override; /** * Perform any processing that should be done only while the GPS is awake and looking for a fix. @@ -45,7 +45,7 @@ class UBloxGPS : public GPS * * @return true if we've acquired a time */ - virtual bool lookForTime(); + virtual bool lookForTime() override; /** * Perform any processing that should be done only while the GPS is awake and looking for a fix. @@ -53,12 +53,12 @@ class UBloxGPS : public GPS * * @return true if we've acquired a new location */ - virtual bool lookForLocation(); + virtual bool lookForLocation() override; virtual bool hasLock(); /// If possible force the GPS into sleep/low power mode - virtual void sleep(); - virtual void wake(); + virtual void sleep() override; + virtual void wake() override; private: /// Attempt to connect to our GPS, returns false if no gps is present diff --git a/src/graphics/EInkDisplay2.h b/src/graphics/EInkDisplay2.h index 18b900305..76b2dc395 100644 --- a/src/graphics/EInkDisplay2.h +++ b/src/graphics/EInkDisplay2.h @@ -25,7 +25,7 @@ class EInkDisplay : public OLEDDisplay EInkDisplay(uint8_t address, int sda, int scl); // Write the buffer to the display memory (for eink we only do this occasionally) - virtual void display(void); + virtual void display(void) override; /** * Force a display update if we haven't drawn within the specified msecLimit @@ -36,13 +36,13 @@ class EInkDisplay : public OLEDDisplay protected: // the header size of the buffer used, e.g. for the SPI command header - virtual int getBufferOffset(void) { return 0; } + virtual int getBufferOffset(void) override { return 0; } // Send a command to the display (low level function) - virtual void sendCommand(uint8_t com); + virtual void sendCommand(uint8_t com) override; // Connect to the display - virtual bool connect(); + virtual bool connect() override; }; diff --git a/src/graphics/Screen.h b/src/graphics/Screen.h index 6c50ea2b7..9c178cd0a 100644 --- a/src/graphics/Screen.h +++ b/src/graphics/Screen.h @@ -95,7 +95,7 @@ class Screen : public concurrency::OSThread CallbackObserver(this, &Screen::handleUIFrameEvent); public: - Screen(uint8_t address, int sda = -1, int scl = -1); + explicit Screen(uint8_t address, int sda = -1, int scl = -1); Screen(const Screen &) = delete; Screen &operator=(const Screen &) = delete; @@ -313,4 +313,4 @@ class Screen : public concurrency::OSThread }; } // namespace graphics -#endif \ No newline at end of file +#endif diff --git a/src/graphics/TFTDisplay.h b/src/graphics/TFTDisplay.h index 83168e2e1..c21f190ce 100644 --- a/src/graphics/TFTDisplay.h +++ b/src/graphics/TFTDisplay.h @@ -21,15 +21,15 @@ class TFTDisplay : public OLEDDisplay TFTDisplay(uint8_t address, int sda, int scl); // Write the buffer to the display memory - virtual void display(void); + virtual void display(void) override; protected: // the header size of the buffer used, e.g. for the SPI command header - virtual int getBufferOffset(void) { return 0; } + virtual int getBufferOffset(void) override { return 0; } // Send a command to the display (low level function) - virtual void sendCommand(uint8_t com); + virtual void sendCommand(uint8_t com) override; // Connect to the display - virtual bool connect(); + virtual bool connect() override; }; diff --git a/src/input/RotaryEncoderInterruptBase.h b/src/input/RotaryEncoderInterruptBase.h index 443ba15fc..2f2633870 100644 --- a/src/input/RotaryEncoderInterruptBase.h +++ b/src/input/RotaryEncoderInterruptBase.h @@ -34,7 +34,7 @@ class RotaryEncoderInterruptBase : void intBHandler(); protected: - virtual int32_t runOnce(); + virtual int32_t runOnce() override; RotaryEncoderInterruptBaseStateType intHandler( bool actualPinRaising, int otherPinLevel, diff --git a/src/main.cpp b/src/main.cpp index b0f90c445..7ad375db5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -141,7 +141,7 @@ class PowerFSMThread : public OSThread PowerFSMThread() : OSThread("PowerFSM") {} protected: - int32_t runOnce() + int32_t runOnce() override { powerFSM.run_machine(); @@ -242,7 +242,7 @@ class ButtonThread : public OSThread protected: /// If the button is pressed we suppress CPU sleep until release - int32_t runOnce() + int32_t runOnce() override { canSleep = true; // Assume we should not keep the board awake diff --git a/src/mesh/DSRRouter.h b/src/mesh/DSRRouter.h index 796dc236c..0caa9310a 100644 --- a/src/mesh/DSRRouter.h +++ b/src/mesh/DSRRouter.h @@ -8,14 +8,14 @@ class DSRRouter : public ReliableRouter * Every (non duplicate) packet this node receives will be passed through this method. This allows subclasses to * update routing tables etc... based on what we overhear (even for messages not destined to our node) */ - virtual void sniffReceived(const MeshPacket *p, const Routing *c); + virtual void sniffReceived(const MeshPacket *p, const Routing *c) override; /** * Send a packet on a suitable interface. This routine will * later free() the packet to pool. This routine is not allowed to stall. * If the txmit queue is full it might return an error */ - virtual ErrorCode send(MeshPacket *p); + virtual ErrorCode send(MeshPacket *p) override; private: /** @@ -77,4 +77,4 @@ class DSRRouter : public ReliableRouter * when the discovery is complete. */ void startDiscovery(NodeNum dest); -}; \ No newline at end of file +}; diff --git a/src/mesh/FloodingRouter.h b/src/mesh/FloodingRouter.h index ca5bac663..387b4576b 100644 --- a/src/mesh/FloodingRouter.h +++ b/src/mesh/FloodingRouter.h @@ -41,7 +41,7 @@ class FloodingRouter : public Router, protected PacketHistory * later free() the packet to pool. This routine is not allowed to stall. * If the txmit queue is full it might return an error */ - virtual ErrorCode send(MeshPacket *p); + virtual ErrorCode send(MeshPacket *p) override; protected: /** @@ -50,10 +50,10 @@ class FloodingRouter : public Router, protected PacketHistory * Called immedately on receiption, before any further processing. * @return true to abandon the packet */ - virtual bool shouldFilterReceived(MeshPacket *p); + virtual bool shouldFilterReceived(MeshPacket *p) override; /** * Look for broadcasts we need to rebroadcast */ - virtual void sniffReceived(const MeshPacket *p, const Routing *c); + virtual void sniffReceived(const MeshPacket *p, const Routing *c) override; }; diff --git a/src/mesh/MemoryPool.h b/src/mesh/MemoryPool.h index 8023aa6bc..de97fe259 100644 --- a/src/mesh/MemoryPool.h +++ b/src/mesh/MemoryPool.h @@ -58,7 +58,7 @@ template class MemoryDynamic : public Allocator { public: /// Return a buffer for use by others - virtual void release(T *p) + virtual void release(T *p) override { assert(p); free(p); @@ -66,7 +66,7 @@ template class MemoryDynamic : public Allocator protected: // Alloc some storage - virtual T *alloc(TickType_t maxWait) + virtual T *alloc(TickType_t maxWait) override { T *p = (T *)malloc(sizeof(T)); assert(p); @@ -87,7 +87,7 @@ template class MemoryPool : public Allocator size_t maxElements; public: - MemoryPool(size_t _maxElements) : dead(_maxElements), maxElements(_maxElements) + explicit MemoryPool(size_t _maxElements) : dead(_maxElements), maxElements(_maxElements) { buf = new T[maxElements]; diff --git a/src/mesh/MeshPlugin.h b/src/mesh/MeshPlugin.h index b6bcf22b8..456769dc0 100644 --- a/src/mesh/MeshPlugin.h +++ b/src/mesh/MeshPlugin.h @@ -154,4 +154,4 @@ class MeshPlugin /** set the destination and packet parameters of packet p intended as a reply to a particular "to" packet * This ensures that if the request packet was sent reliably, the reply is sent that way as well. */ -void setReplyTo(MeshPacket *p, const MeshPacket &to); \ No newline at end of file +void setReplyTo(MeshPacket *p, const MeshPacket &to); diff --git a/src/mesh/NodeDB.cpp b/src/mesh/NodeDB.cpp index 04359aaed..d7fefc88f 100644 --- a/src/mesh/NodeDB.cpp +++ b/src/mesh/NodeDB.cpp @@ -407,8 +407,8 @@ void NodeDB::saveToDisk() #ifdef FS FS.mkdir("/prefs"); #endif - bool okay = saveProto(preffile, DeviceState_size, sizeof(devicestate), DeviceState_fields, &devicestate); - okay &= saveProto(radiofile, RadioConfig_size, sizeof(RadioConfig), RadioConfig_fields, &radioConfig); + saveProto(preffile, DeviceState_size, sizeof(devicestate), DeviceState_fields, &devicestate); + saveProto(radiofile, RadioConfig_size, sizeof(RadioConfig), RadioConfig_fields, &radioConfig); saveChannelsToDisk(); // remove any pre 1.2 pref files, turn on after 1.2 is in beta diff --git a/src/mesh/PhoneAPI.h b/src/mesh/PhoneAPI.h index 50ab3592c..67b52d20a 100644 --- a/src/mesh/PhoneAPI.h +++ b/src/mesh/PhoneAPI.h @@ -123,5 +123,5 @@ class PhoneAPI bool handleToRadioPacket(MeshPacket &p); /// If the mesh service tells us fromNum has changed, tell the phone - virtual int onNotify(uint32_t newValue); + virtual int onNotify(uint32_t newValue) override; }; diff --git a/src/mesh/PointerQueue.h b/src/mesh/PointerQueue.h index b587ac649..b45245eb8 100644 --- a/src/mesh/PointerQueue.h +++ b/src/mesh/PointerQueue.h @@ -8,7 +8,7 @@ template class PointerQueue : public TypedQueue { public: - PointerQueue(int maxElements) : TypedQueue(maxElements) {} + explicit PointerQueue(int maxElements) : TypedQueue(maxElements) {} // returns a ptr or null if the queue was empty T *dequeuePtr(TickType_t maxWait = portMAX_DELAY) diff --git a/src/mesh/ProtobufPlugin.h b/src/mesh/ProtobufPlugin.h index 72e3b902e..940d60d76 100644 --- a/src/mesh/ProtobufPlugin.h +++ b/src/mesh/ProtobufPlugin.h @@ -51,7 +51,7 @@ template class ProtobufPlugin : protected SinglePortPlugin @return ProcessMessage::STOP if you've guaranteed you've handled this message and no other handlers should be considered for it */ - virtual ProcessMessage handleReceived(const MeshPacket &mp) + virtual ProcessMessage handleReceived(const MeshPacket &mp) override { // FIXME - we currently update position data in the DB only if the message was a broadcast or destined to us // it would be better to update even if the message was destined to others. diff --git a/src/mesh/RF95Interface.h b/src/mesh/RF95Interface.h index d072f28e3..f62195a26 100644 --- a/src/mesh/RF95Interface.h +++ b/src/mesh/RF95Interface.h @@ -14,26 +14,26 @@ class RF95Interface : public RadioLibInterface public: RF95Interface(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, SPIClass &spi); - bool isIRQPending() { return lora->getPendingIRQ(); } + bool isIRQPending() override { return lora->getPendingIRQ(); } /// Initialise the Driver transport hardware and software. /// Make sure the Driver is properly configured before calling init(). /// \return true if initialisation succeeded. - virtual bool init(); + virtual bool init() override; /// Apply any radio provisioning changes /// Make sure the Driver is properly configured before calling init(). /// \return true if initialisation succeeded. - virtual bool reconfigure(); + virtual bool reconfigure() override; /// Prepare hardware for sleep. Call this _only_ for deep sleep, not needed for light sleep. - virtual bool sleep(); + virtual bool sleep() override; protected: /** * Glue functions called from ISR land */ - virtual void disableInterrupt(); + virtual void disableInterrupt() override; /** * Enable a particular ISR callback glue function @@ -41,24 +41,24 @@ class RF95Interface : public RadioLibInterface virtual void enableInterrupt(void (*callback)()) { lora->setDio0Action(callback); } /** are we actively receiving a packet (only called during receiving state) */ - virtual bool isActivelyReceiving(); + virtual bool isActivelyReceiving() override; /** * Start waiting to receive a message */ - virtual void startReceive(); + virtual void startReceive() override; /** * Add SNR data to received messages */ - virtual void addReceiveMetadata(MeshPacket *mp); + virtual void addReceiveMetadata(MeshPacket *mp) override; - virtual void setStandby(); + virtual void setStandby() override; /** * We override to turn on transmitter power as needed. */ - virtual void configHardwareForSend(); + virtual void configHardwareForSend() override; private: /** Some boards require GPIO control of tx vs rx paths */ diff --git a/src/mesh/RadioInterface.h b/src/mesh/RadioInterface.h index 542b575da..6b286bef8 100644 --- a/src/mesh/RadioInterface.h +++ b/src/mesh/RadioInterface.h @@ -205,8 +205,8 @@ class RadioInterface class SimRadio : public RadioInterface { public: - virtual ErrorCode send(MeshPacket *p); + virtual ErrorCode send(MeshPacket *p) override; }; /// Debug printing for packets -void printPacket(const char *prefix, const MeshPacket *p); \ No newline at end of file +void printPacket(const char *prefix, const MeshPacket *p); diff --git a/src/mesh/RadioLibInterface.h b/src/mesh/RadioLibInterface.h index b38d6d553..a394c5f9f 100644 --- a/src/mesh/RadioLibInterface.h +++ b/src/mesh/RadioLibInterface.h @@ -54,7 +54,7 @@ class LockingModule : public Module \param numBytes Number of bytes to transfer. */ - virtual void SPItransfer(uint8_t cmd, uint8_t reg, uint8_t *dataOut, uint8_t *dataIn, uint8_t numBytes); + virtual void SPItransfer(uint8_t cmd, uint8_t reg, uint8_t *dataOut, uint8_t *dataIn, uint8_t numBytes) override; }; class RadioLibInterface : public RadioInterface, protected concurrency::NotifiedWorkerThread @@ -116,14 +116,14 @@ class RadioLibInterface : public RadioInterface, protected concurrency::Notified RadioLibInterface(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE busy, SPIClass &spi, PhysicalLayer *iface = NULL); - virtual ErrorCode send(MeshPacket *p); + virtual ErrorCode send(MeshPacket *p) override; /** * Return true if we think the board can go to sleep (i.e. our tx queue is empty, we are not sending or receiving) * * This method must be used before putting the CPU into deep or light sleep. */ - virtual bool canSleep(); + virtual bool canSleep() override; /** * Start waiting to receive a message @@ -138,7 +138,7 @@ class RadioLibInterface : public RadioInterface, protected concurrency::Notified virtual bool isActivelyReceiving() = 0; /** Attempt to cancel a previously sent packet. Returns true if a packet was found we could cancel */ - virtual bool cancelSending(NodeNum from, PacketId id); + virtual bool cancelSending(NodeNum from, PacketId id) override; private: /** if we have something waiting to send, start a short random timer so we can come check for collision before actually doing @@ -153,7 +153,7 @@ class RadioLibInterface : public RadioInterface, protected concurrency::Notified static void timerCallback(void *p1, uint32_t p2); - virtual void onNotify(uint32_t notification); + virtual void onNotify(uint32_t notification) override; /** start an immediate transmit * This method is virtual so subclasses can hook as needed, subclasses should not call directly diff --git a/src/mesh/ReliableRouter.h b/src/mesh/ReliableRouter.h index 7bec0cf34..52e9b5af9 100644 --- a/src/mesh/ReliableRouter.h +++ b/src/mesh/ReliableRouter.h @@ -33,10 +33,10 @@ struct PendingPacket { MeshPacket *packet; /** The next time we should try to retransmit this packet */ - uint32_t nextTxMsec; + uint32_t nextTxMsec = 0; /** Starts at NUM_RETRANSMISSIONS -1(normally 3) and counts down. Once zero it will be removed from the list */ - uint8_t numRetransmissions; + uint8_t numRetransmissions = 0; /** True if we have started trying to find a route - for DSR usage * While trying to find a route we don't actually send the data packet. We just leave it here pending until @@ -74,10 +74,10 @@ class ReliableRouter : public FloodingRouter * later free() the packet to pool. This routine is not allowed to stall. * If the txmit queue is full it might return an error */ - virtual ErrorCode send(MeshPacket *p); + virtual ErrorCode send(MeshPacket *p) override; /** Do our retransmission handling */ - virtual int32_t runOnce() + virtual int32_t runOnce() override { // Note: We must doRetransmissions FIRST, because it might queue up work for the base class runOnce implementation auto d = doRetransmissions(); @@ -91,7 +91,7 @@ class ReliableRouter : public FloodingRouter /** * Look for acks/naks or someone retransmitting us */ - virtual void sniffReceived(const MeshPacket *p, const Routing *c); + virtual void sniffReceived(const MeshPacket *p, const Routing *c) override; /** * Try to find the pending packet record for this ID (or NULL if not found) @@ -102,7 +102,7 @@ class ReliableRouter : public FloodingRouter /** * We hook this method so we can see packets before FloodingRouter says they should be discarded */ - virtual bool shouldFilterReceived(MeshPacket *p); + virtual bool shouldFilterReceived(MeshPacket *p) override; /** * Add p to the list of packets to retransmit occasionally. We will free it once we stop retransmitting. diff --git a/src/mesh/Router.h b/src/mesh/Router.h index a11b47023..463596c85 100644 --- a/src/mesh/Router.h +++ b/src/mesh/Router.h @@ -37,7 +37,7 @@ class Router : protected concurrency::OSThread * do idle processing * Mostly looking in our incoming rxPacket queue and calling handleReceived. */ - virtual int32_t runOnce(); + virtual int32_t runOnce() override; /** * Works like send, but if we are sending to the local node, we directly put the message in the receive queue. @@ -143,4 +143,4 @@ extern Router *router; /// Generate a unique packet id // FIXME, move this someplace better -PacketId generatePacketId(); \ No newline at end of file +PacketId generatePacketId(); diff --git a/src/mesh/SX1268Interface.h b/src/mesh/SX1268Interface.h index c5b56171b..a288cdd09 100644 --- a/src/mesh/SX1268Interface.h +++ b/src/mesh/SX1268Interface.h @@ -9,7 +9,7 @@ class SX1268Interface : public SX126xInterface { public: /// override frequency of the SX1268 module regardless of the region (use EU433 value) - virtual float getFreq() { return 433.175f; } + virtual float getFreq() override { return 433.175f; } SX1268Interface(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE busy, SPIClass &spi); -}; \ No newline at end of file +}; diff --git a/src/mesh/SX126xInterface.h b/src/mesh/SX126xInterface.h index 953f89070..5168313e2 100644 --- a/src/mesh/SX126xInterface.h +++ b/src/mesh/SX126xInterface.h @@ -15,17 +15,17 @@ class SX126xInterface : public RadioLibInterface /// Initialise the Driver transport hardware and software. /// Make sure the Driver is properly configured before calling init(). /// \return true if initialisation succeeded. - virtual bool init(); + virtual bool init() override; /// Apply any radio provisioning changes /// Make sure the Driver is properly configured before calling init(). /// \return true if initialisation succeeded. - virtual bool reconfigure(); + virtual bool reconfigure() override; /// Prepare hardware for sleep. Call this _only_ for deep sleep, not needed for light sleep. - virtual bool sleep(); + virtual bool sleep() override; - bool isIRQPending() { return lora.getIrqStatus() != 0; } + bool isIRQPending() override { return lora.getIrqStatus() != 0; } protected: @@ -39,7 +39,7 @@ class SX126xInterface : public RadioLibInterface /** * Glue functions called from ISR land */ - virtual void disableInterrupt(); + virtual void disableInterrupt() override; /** * Enable a particular ISR callback glue function @@ -47,24 +47,24 @@ class SX126xInterface : public RadioLibInterface virtual void enableInterrupt(void (*callback)()) { lora.setDio1Action(callback); } /** are we actively receiving a packet (only called during receiving state) */ - virtual bool isActivelyReceiving(); + virtual bool isActivelyReceiving() override; /** * Start waiting to receive a message */ - virtual void startReceive(); + virtual void startReceive() override; /** * We override to turn on transmitter power as needed. */ - virtual void configHardwareForSend(); + virtual void configHardwareForSend() override; /** * Add SNR data to received messages */ - virtual void addReceiveMetadata(MeshPacket *mp); + virtual void addReceiveMetadata(MeshPacket *mp) override; - virtual void setStandby(); + virtual void setStandby() override; private: -}; \ No newline at end of file +}; diff --git a/src/mesh/SinglePortPlugin.h b/src/mesh/SinglePortPlugin.h index 305532dc5..60ca5e653 100644 --- a/src/mesh/SinglePortPlugin.h +++ b/src/mesh/SinglePortPlugin.h @@ -21,7 +21,7 @@ class SinglePortPlugin : public MeshPlugin /** * @return true if you want to receive the specified portnum */ - virtual bool wantPacket(const MeshPacket *p) { return p->decoded.portnum == ourPortNum; } + virtual bool wantPacket(const MeshPacket *p) override { return p->decoded.portnum == ourPortNum; } /** * Return a mesh packet which has been preinited as a data packet with a particular port number. diff --git a/src/mesh/StreamAPI.h b/src/mesh/StreamAPI.h index ca6cbdf16..0f36ecb06 100644 --- a/src/mesh/StreamAPI.h +++ b/src/mesh/StreamAPI.h @@ -48,7 +48,7 @@ class StreamAPI : public PhoneAPI, protected concurrency::OSThread * Currently we require frequent invocation from loop() to check for arrived serial packets and to send new packets to the * phone. */ - virtual int32_t runOnce(); + virtual int32_t runOnce() override; private: /** @@ -67,10 +67,10 @@ class StreamAPI : public PhoneAPI, protected concurrency::OSThread */ void emitRebooted(); - virtual void onConnectionChanged(bool connected); + virtual void onConnectionChanged(bool connected) override; /// Check the current underlying physical link to see if the client is currently connected - virtual bool checkIsConnected() = 0; + virtual bool checkIsConnected() override = 0; /** * Send the current txBuffer over our stream diff --git a/src/mesh/TypedQueue.h b/src/mesh/TypedQueue.h index 09d828a96..ad8bbed58 100644 --- a/src/mesh/TypedQueue.h +++ b/src/mesh/TypedQueue.h @@ -19,7 +19,7 @@ template class TypedQueue concurrency::OSThread *reader = NULL; public: - TypedQueue(int maxElements) + explicit TypedQueue(int maxElements) { h = xQueueCreate(maxElements, sizeof(T)); assert(h); diff --git a/src/mesh/http/WebServer.h b/src/mesh/http/WebServer.h index b036a303d..815d87432 100644 --- a/src/mesh/http/WebServer.h +++ b/src/mesh/http/WebServer.h @@ -16,7 +16,7 @@ class WebServerThread : private concurrency::OSThread uint32_t requestRestart = 0; protected: - virtual int32_t runOnce(); + virtual int32_t runOnce() override; }; extern WebServerThread *webServerThread; diff --git a/src/mesh/wifi/WiFiServerAPI.h b/src/mesh/wifi/WiFiServerAPI.h index b7b8c335a..416c94371 100644 --- a/src/mesh/wifi/WiFiServerAPI.h +++ b/src/mesh/wifi/WiFiServerAPI.h @@ -18,17 +18,17 @@ class WiFiServerAPI : public StreamAPI virtual ~WiFiServerAPI(); /// override close to also shutdown the TCP link - virtual void close(); + virtual void close() override; protected: /// We override this method to prevent publishing EVENT_SERIAL_CONNECTED/DISCONNECTED for wifi links (we want the board to /// stay in the POWERED state to prevent disabling wifi) - virtual void onConnectionChanged(bool connected) {} + virtual void onConnectionChanged(bool connected) override {} - virtual int32_t runOnce(); // Check for dropped client connections + virtual int32_t runOnce() override; // Check for dropped client connections /// Check the current underlying physical link to see if the client is currently connected - virtual bool checkIsConnected(); + virtual bool checkIsConnected() override; }; /** @@ -52,7 +52,7 @@ class WiFiServerPort : public WiFiServer, private concurrency::OSThread static void debugOut(char c); protected: - int32_t runOnce(); + int32_t runOnce() override; }; void initApiServer(); diff --git a/src/mqtt/MQTT.h b/src/mqtt/MQTT.h index 3f4c8f80c..e03ad67b3 100644 --- a/src/mqtt/MQTT.h +++ b/src/mqtt/MQTT.h @@ -40,7 +40,7 @@ class MQTT : private concurrency::OSThread void reconnect(); protected: - virtual int32_t runOnce(); + virtual int32_t runOnce() override; private: /** return true if we have a channel that wants uplink/downlink diff --git a/src/nrf52/NRF52Bluetooth.cpp b/src/nrf52/NRF52Bluetooth.cpp index efe8dc6e1..41e7fef29 100644 --- a/src/nrf52/NRF52Bluetooth.cpp +++ b/src/nrf52/NRF52Bluetooth.cpp @@ -28,7 +28,7 @@ class BluetoothPhoneAPI : public PhoneAPI /** * Subclasses can use this as a hook to provide custom notifications for their transport (i.e. bluetooth notifies) */ - virtual void onNowHasData(uint32_t fromRadioNum) + virtual void onNowHasData(uint32_t fromRadioNum) override { PhoneAPI::onNowHasData(fromRadioNum); @@ -37,7 +37,7 @@ class BluetoothPhoneAPI : public PhoneAPI } /// Check the current underlying physical link to see if the client is currently connected - virtual bool checkIsConnected() { + virtual bool checkIsConnected() override { return bleConnected; } }; @@ -265,4 +265,4 @@ void NRF52Bluetooth::setup() void updateBatteryLevel(uint8_t level) { blebas.write(level); -} \ No newline at end of file +} diff --git a/src/nrf52/NRF52CryptoEngine.cpp b/src/nrf52/NRF52CryptoEngine.cpp index 435925f9c..4bf400fd1 100644 --- a/src/nrf52/NRF52CryptoEngine.cpp +++ b/src/nrf52/NRF52CryptoEngine.cpp @@ -17,7 +17,7 @@ class NRF52CryptoEngine : public CryptoEngine * * @param bytes is updated in place */ - virtual void encrypt(uint32_t fromNode, uint64_t packetNum, size_t numBytes, uint8_t *bytes) + virtual void encrypt(uint32_t fromNode, uint64_t packetNum, size_t numBytes, uint8_t *bytes) override { // DEBUG_MSG("NRF52 encrypt!\n"); @@ -31,7 +31,7 @@ class NRF52CryptoEngine : public CryptoEngine } } - virtual void decrypt(uint32_t fromNode, uint64_t packetNum, size_t numBytes, uint8_t *bytes) + virtual void decrypt(uint32_t fromNode, uint64_t packetNum, size_t numBytes, uint8_t *bytes) override { // DEBUG_MSG("NRF52 decrypt!\n"); diff --git a/src/plugins/AdminPlugin.h b/src/plugins/AdminPlugin.h index bbd0d14ad..4c4b956cc 100644 --- a/src/plugins/AdminPlugin.h +++ b/src/plugins/AdminPlugin.h @@ -17,7 +17,7 @@ class AdminPlugin : public ProtobufPlugin @return true if you've guaranteed you've handled this message and no other handlers should be considered for it */ - virtual bool handleReceivedProtobuf(const MeshPacket &mp, AdminMessage *p); + virtual bool handleReceivedProtobuf(const MeshPacket &mp, AdminMessage *p) override; private: void handleSetOwner(const User &o); @@ -28,4 +28,4 @@ class AdminPlugin : public ProtobufPlugin void handleGetRadio(const MeshPacket &req); }; -extern AdminPlugin *adminPlugin; \ No newline at end of file +extern AdminPlugin *adminPlugin; diff --git a/src/plugins/CannedMessagePlugin.h b/src/plugins/CannedMessagePlugin.h index b65c0b1a4..1f7dcf42e 100644 --- a/src/plugins/CannedMessagePlugin.h +++ b/src/plugins/CannedMessagePlugin.h @@ -40,7 +40,7 @@ class CannedMessagePlugin : protected: - virtual int32_t runOnce(); + virtual int32_t runOnce() override; void sendText( NodeNum dest, @@ -52,10 +52,10 @@ class CannedMessagePlugin : int getPrevIndex(); int handleInputEvent(const InputEvent *event); - virtual bool wantUIFrame() { return this->shouldDraw(); } - virtual Observable* getUIFrameObservable() { return this; } + virtual bool wantUIFrame() override { return this->shouldDraw(); } + virtual Observable* getUIFrameObservable() override { return this; } virtual void drawFrame( - OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y); + OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y) override; int currentMessageIndex = -1; cannedMessagePluginRunState runState = CANNED_MESSAGE_RUN_STATE_INACTIVE; diff --git a/src/plugins/EnvironmentalMeasurementPlugin.h b/src/plugins/EnvironmentalMeasurementPlugin.h index 14da3b5ba..79f844e89 100644 --- a/src/plugins/EnvironmentalMeasurementPlugin.h +++ b/src/plugins/EnvironmentalMeasurementPlugin.h @@ -18,15 +18,15 @@ class EnvironmentalMeasurementPlugin : private concurrency::OSThread, public Pro { lastMeasurementPacket = nullptr; } - virtual bool wantUIFrame(); - virtual void drawFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y); + virtual bool wantUIFrame() override; + virtual void drawFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y) override; protected: /** Called to handle a particular incoming message @return true if you've guaranteed you've handled this message and no other handlers should be considered for it */ - virtual bool handleReceivedProtobuf(const MeshPacket &mp, EnvironmentalMeasurement *p); - virtual int32_t runOnce(); + virtual bool handleReceivedProtobuf(const MeshPacket &mp, EnvironmentalMeasurement *p) override; + virtual int32_t runOnce() override; /** * Send our EnvironmentalMeasurement into the mesh */ diff --git a/src/plugins/ExternalNotificationPlugin.h b/src/plugins/ExternalNotificationPlugin.h index b56b78288..dc8a1cb12 100644 --- a/src/plugins/ExternalNotificationPlugin.h +++ b/src/plugins/ExternalNotificationPlugin.h @@ -26,7 +26,7 @@ class ExternalNotificationPlugin : public SinglePortPlugin, private concurrency: @return ProcessMessage::STOP if you've guaranteed you've handled this message and no other handlers should be considered for it */ - virtual ProcessMessage handleReceived(const MeshPacket &mp); + virtual ProcessMessage handleReceived(const MeshPacket &mp) override; - virtual int32_t runOnce(); + virtual int32_t runOnce() override; }; diff --git a/src/plugins/NodeInfoPlugin.h b/src/plugins/NodeInfoPlugin.h index d2b29c91a..3ad959518 100644 --- a/src/plugins/NodeInfoPlugin.h +++ b/src/plugins/NodeInfoPlugin.h @@ -26,14 +26,14 @@ class NodeInfoPlugin : public ProtobufPlugin, private concurrency::OSThrea @return true if you've guaranteed you've handled this message and no other handlers should be considered for it */ - virtual bool handleReceivedProtobuf(const MeshPacket &mp, User *p); + virtual bool handleReceivedProtobuf(const MeshPacket &mp, User *p) override; /** Messages can be received that have the want_response bit set. If set, this callback will be invoked * so that subclasses can (optionally) send a response back to the original sender. */ - virtual MeshPacket *allocReply(); + virtual MeshPacket *allocReply() override; /** Does our periodic broadcast */ - virtual int32_t runOnce(); + virtual int32_t runOnce() override; }; -extern NodeInfoPlugin *nodeInfoPlugin; \ No newline at end of file +extern NodeInfoPlugin *nodeInfoPlugin; diff --git a/src/plugins/PositionPlugin.h b/src/plugins/PositionPlugin.h index 402650afb..05042ac29 100644 --- a/src/plugins/PositionPlugin.h +++ b/src/plugins/PositionPlugin.h @@ -37,14 +37,14 @@ class PositionPlugin : public ProtobufPlugin, private concurrency::OST @return true if you've guaranteed you've handled this message and no other handlers should be considered for it */ - virtual bool handleReceivedProtobuf(const MeshPacket &mp, Position *p); + virtual bool handleReceivedProtobuf(const MeshPacket &mp, Position *p) override; /** Messages can be received that have the want_response bit set. If set, this callback will be invoked * so that subclasses can (optionally) send a response back to the original sender. */ - virtual MeshPacket *allocReply(); + virtual MeshPacket *allocReply() override; /** Does our periodic broadcast */ - virtual int32_t runOnce(); + virtual int32_t runOnce() override; }; -extern PositionPlugin *positionPlugin; \ No newline at end of file +extern PositionPlugin *positionPlugin; diff --git a/src/plugins/RemoteHardwarePlugin.h b/src/plugins/RemoteHardwarePlugin.h index 86a0bbd35..ab55c1a07 100644 --- a/src/plugins/RemoteHardwarePlugin.h +++ b/src/plugins/RemoteHardwarePlugin.h @@ -27,7 +27,7 @@ class RemoteHardwarePlugin : public ProtobufPlugin, private con @return true if you've guaranteed you've handled this message and no other handlers should be considered for it */ - virtual bool handleReceivedProtobuf(const MeshPacket &mp, HardwareMessage *p); + virtual bool handleReceivedProtobuf(const MeshPacket &mp, HardwareMessage *p) override; /** * Periodically read the gpios we have been asked to WATCH, if they have changed, @@ -37,7 +37,7 @@ class RemoteHardwarePlugin : public ProtobufPlugin, private con * * Returns desired period for next invocation (or RUN_SAME for no change) */ - virtual int32_t runOnce(); + virtual int32_t runOnce() override; }; -extern RemoteHardwarePlugin remoteHardwarePlugin; \ No newline at end of file +extern RemoteHardwarePlugin remoteHardwarePlugin; diff --git a/src/plugins/ReplyPlugin.h b/src/plugins/ReplyPlugin.h index 7d0ff8b71..16f0d1cdf 100644 --- a/src/plugins/ReplyPlugin.h +++ b/src/plugins/ReplyPlugin.h @@ -18,5 +18,5 @@ class ReplyPlugin : public SinglePortPlugin /** For reply plugin we do all of our processing in the (normally optional) * want_replies handling */ - virtual MeshPacket *allocReply(); + virtual MeshPacket *allocReply() override; }; diff --git a/src/plugins/RoutingPlugin.h b/src/plugins/RoutingPlugin.h index c0288f603..cb0eab13e 100644 --- a/src/plugins/RoutingPlugin.h +++ b/src/plugins/RoutingPlugin.h @@ -22,14 +22,14 @@ class RoutingPlugin : public ProtobufPlugin @return true if you've guaranteed you've handled this message and no other handlers should be considered for it */ - virtual bool handleReceivedProtobuf(const MeshPacket &mp, Routing *p); + virtual bool handleReceivedProtobuf(const MeshPacket &mp, Routing *p) override; /** Messages can be received that have the want_response bit set. If set, this callback will be invoked * so that subclasses can (optionally) send a response back to the original sender. */ - virtual MeshPacket *allocReply(); + virtual MeshPacket *allocReply() override; /// Override wantPacket to say we want to see all packets, not just those for our port number - virtual bool wantPacket(const MeshPacket *p) { return true; } + virtual bool wantPacket(const MeshPacket *p) override { return true; } }; -extern RoutingPlugin *routingPlugin; \ No newline at end of file +extern RoutingPlugin *routingPlugin; diff --git a/src/plugins/TextMessagePlugin.h b/src/plugins/TextMessagePlugin.h index 87eb82e35..d730c3ae4 100644 --- a/src/plugins/TextMessagePlugin.h +++ b/src/plugins/TextMessagePlugin.h @@ -19,7 +19,7 @@ class TextMessagePlugin : public SinglePortPlugin, public Observable 0) { uint8_t stream_block[16]; @@ -67,7 +67,7 @@ class CrossPlatformCryptoEngine : public CryptoEngine } } - virtual void decrypt(uint32_t fromNode, uint64_t packetNum, size_t numBytes, uint8_t *bytes) + virtual void decrypt(uint32_t fromNode, uint64_t packetNum, size_t numBytes, uint8_t *bytes) override { // For CTR, the implementation is the same encrypt(fromNode, packetNum, numBytes, bytes); diff --git a/src/power.h b/src/power.h index 8168e09c0..5e5005a64 100644 --- a/src/power.h +++ b/src/power.h @@ -26,7 +26,7 @@ class Power : private concurrency::OSThread void shutdown(); void readPowerStatus(); virtual bool setup(); - virtual int32_t runOnce(); + virtual int32_t runOnce() override; void setStatusHandler(meshtastic::PowerStatus *handler) { statusHandler = handler; } protected: @@ -42,4 +42,4 @@ class Power : private concurrency::OSThread uint8_t low_voltage_counter; }; -extern Power *power; \ No newline at end of file +extern Power *power; diff --git a/suppressions.txt b/suppressions.txt index 074c9bfdf..d0deeb377 100644 --- a/suppressions.txt +++ b/suppressions.txt @@ -4,6 +4,10 @@ assertWithSideEffect // TODO: need to come back to these duplInheritedMember +// no real downside/harm in these +unusedFunction +unusedPrivateFunction + // most likely due to a cppcheck configuration issue (like missing an include) syntaxError