From 37881d56babf058e37713ae99c8065eba64e0235 Mon Sep 17 00:00:00 2001 From: Olivier Date: Sat, 10 Dec 2016 21:46:52 +0100 Subject: [PATCH] Fix Cppcheck warnings (#684) --- core/MyProtocolMySensors.cpp | 2 +- core/MySensorsCore.cpp | 6 ++++-- drivers/RFM69/RFM69.cpp | 7 ++----- drivers/RFM69/RFM69.h | 5 +++++ drivers/RFM95/RFM95.cpp | 10 +++++----- drivers/RFM95/RFM95.h | 2 +- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/core/MyProtocolMySensors.cpp b/core/MyProtocolMySensors.cpp index a591891..0c73085 100755 --- a/core/MyProtocolMySensors.cpp +++ b/core/MyProtocolMySensors.cpp @@ -60,8 +60,8 @@ bool protocolParse(MyMessage &message, char *inputString) case 5: // Variable value if (command == C_STREAM) { blen = 0; - uint8_t val; while (*str) { + uint8_t val; val = protocolH2i(*str++) << 4; val += protocolH2i(*str++); bvalue[blen] = val; diff --git a/core/MySensorsCore.cpp b/core/MySensorsCore.cpp index 934eeb1..82b64d4 100644 --- a/core/MySensorsCore.cpp +++ b/core/MySensorsCore.cpp @@ -426,11 +426,13 @@ bool _processInternalMessages(void) #if defined(MY_GATEWAY_FEATURE) // registeration requests are exclusively handled by GW/Controller #if !defined(MY_REGISTRATION_CONTROLLER) - // auto registration if version compatible - bool approveRegistration = true; + bool approveRegistration; #if defined(MY_CORE_COMPATIBILITY_CHECK) approveRegistration = (_msg.getByte() >= MY_CORE_MIN_VERSION); +#else + // auto registration if version compatible + approveRegistration = true; #endif #if (F_CPU>16000000) diff --git a/drivers/RFM69/RFM69.cpp b/drivers/RFM69/RFM69.cpp index bd3f3aa..0e67ea5 100644 --- a/drivers/RFM69/RFM69.cpp +++ b/drivers/RFM69/RFM69.cpp @@ -256,10 +256,9 @@ void RFM69::send(uint8_t toAddress, const void* buffer, uint8_t bufferSize, bool bool RFM69::sendWithRetry(uint8_t toAddress, const void* buffer, uint8_t bufferSize, uint8_t retries, uint8_t retryWaitTime) { - uint32_t sentTime; for (uint8_t i = 0; i <= retries; i++) { send(toAddress, buffer, bufferSize, true); - sentTime = millis(); + uint32_t sentTime = millis(); while (millis() - sentTime < retryWaitTime) { if (ACKReceived(toAddress)) { //Serial.print(" ~ms:"); Serial.print(millis() - sentTime); @@ -574,8 +573,6 @@ void SerialPrint_P(PGM_P str, void (*f)(uint8_t) = SerialWrite ) void RFM69::readAllRegs() { - uint8_t regVal; - #if REGISTER_DETAIL int capVal; @@ -590,7 +587,7 @@ void RFM69::readAllRegs() for (uint8_t regAddr = 1; regAddr <= 0x4F; regAddr++) { select(); SPI.transfer(regAddr & 0x7F); // send address + r/w bit - regVal = SPI.transfer(0); + uint8_t regVal = SPI.transfer(0); unselect(); Serial.print(regAddr, HEX); diff --git a/drivers/RFM69/RFM69.h b/drivers/RFM69/RFM69.h index 682319b..cb6c697 100644 --- a/drivers/RFM69/RFM69.h +++ b/drivers/RFM69/RFM69.h @@ -111,6 +111,11 @@ public: _promiscuousMode = false; _powerLevel = 31; _isRFM69HW = isRFM69HW; + _address = RF69_BROADCAST_ADDR; +#if defined (SPCR) && defined (SPSR) + _SPCR = 0; + _SPSR = 0; +#endif } bool initialize(uint8_t freqBand, uint8_t ID, uint8_t networkID=1); //!< initialize diff --git a/drivers/RFM95/RFM95.cpp b/drivers/RFM95/RFM95.cpp index 1ce4773..7a0fc3d 100644 --- a/drivers/RFM95/RFM95.cpp +++ b/drivers/RFM95/RFM95.cpp @@ -156,7 +156,7 @@ LOCAL bool RFM95_initialise(const float frequency) (void)RFM95_setRadioMode(RFM95_RADIO_MODE_STDBY); const rfm95_modemConfig_t configuration = { MY_RFM95_MODEM_CONFIGRUATION }; - RFM95_setModemRegisters(configuration); + RFM95_setModemRegisters(&configuration); RFM95_setPreambleLength(RFM95_PREAMBLE_LENGTH); RFM95_setFrequency(frequency); // set power level @@ -331,11 +331,11 @@ LOCAL bool RFM95_setTxPower(uint8_t powerLevel) } // Sets registers from a canned modem configuration structure -LOCAL void RFM95_setModemRegisters(const rfm95_modemConfig_t config) +LOCAL void RFM95_setModemRegisters(const rfm95_modemConfig_t* config) { - RFM95_writeReg(RFM95_REG_1D_MODEM_CONFIG1, config.reg_1d); - RFM95_writeReg(RFM95_REG_1E_MODEM_CONFIG2, config.reg_1e); - RFM95_writeReg(RFM95_REG_26_MODEM_CONFIG3, config.reg_26); + RFM95_writeReg(RFM95_REG_1D_MODEM_CONFIG1, config->reg_1d); + RFM95_writeReg(RFM95_REG_1E_MODEM_CONFIG2, config->reg_1e); + RFM95_writeReg(RFM95_REG_26_MODEM_CONFIG3, config->reg_26); } LOCAL void RFM95_setPreambleLength(const uint16_t preambleLength) diff --git a/drivers/RFM95/RFM95.h b/drivers/RFM95/RFM95.h index 0a35f29..110b165 100644 --- a/drivers/RFM95/RFM95.h +++ b/drivers/RFM95/RFM95.h @@ -291,7 +291,7 @@ LOCAL uint8_t RFM95_getAddress(void); * bandwidth, spreading factor etc. * @param config See modemConfig_t and references therein */ -LOCAL void RFM95_setModemRegisters(const rfm95_modemConfig_t config); +LOCAL void RFM95_setModemRegisters(const rfm95_modemConfig_t* config); /** * @brief Tests whether a new message is available * @return True if a new, complete, error-free uncollected message is available to be retreived by @ref RFM95_recv()