[SX127x] Fixes from cppcheck scan
This commit is contained in:
parent
95e7bdb7c6
commit
a367a3fe69
6 changed files with 41 additions and 38 deletions
|
@ -218,7 +218,7 @@ int16_t SX1272::setOutputPower(int8_t power) {
|
|||
state |= _mod->SPIsetRegValue(SX127X_REG_PA_CONFIG, SX127X_PA_SELECT_RFO, 7, 7);
|
||||
state |= _mod->SPIsetRegValue(SX127X_REG_PA_CONFIG, (power + 1), 3, 0);
|
||||
state |= _mod->SPIsetRegValue(SX1272_REG_PA_DAC, SX127X_PA_BOOST_OFF, 2, 0);
|
||||
} else if((power >= 2) && (power <= 17)) {
|
||||
} else if(power <= 17) {
|
||||
// power is 2 - 17 dBm, enable PA1 + PA2 on PA_BOOST
|
||||
state |= _mod->SPIsetRegValue(SX127X_REG_PA_CONFIG, SX127X_PA_SELECT_BOOST, 7, 7);
|
||||
state |= _mod->SPIsetRegValue(SX127X_REG_PA_CONFIG, (power - 2), 3, 0);
|
||||
|
|
|
@ -159,7 +159,7 @@ class SX1272: public SX127x {
|
|||
/*!
|
||||
\brief Reset method. Will reset the chip to the default state using RST pin.
|
||||
*/
|
||||
void reset();
|
||||
void reset() override;
|
||||
|
||||
// configuration methods
|
||||
|
||||
|
@ -226,7 +226,7 @@ class SX1272: public SX127x {
|
|||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t setDataShaping(float sh);
|
||||
int16_t setDataShaping(float sh) override;
|
||||
|
||||
/*!
|
||||
\brief Sets filter cutoff frequency that will be used for data shaping.
|
||||
|
|
|
@ -290,7 +290,7 @@ int16_t SX1278::setOutputPower(int8_t power) {
|
|||
state |= _mod->SPIsetRegValue(SX127X_REG_PA_CONFIG, SX127X_PA_SELECT_RFO, 7, 7);
|
||||
state |= _mod->SPIsetRegValue(SX127X_REG_PA_CONFIG, SX1278_LOW_POWER | (power + 3), 6, 0);
|
||||
state |= _mod->SPIsetRegValue(SX1278_REG_PA_DAC, SX127X_PA_BOOST_OFF, 2, 0);
|
||||
} else if((power >= 2) && (power <= 17)) {
|
||||
} else if(power <= 17) {
|
||||
// power is 2 - 17 dBm, enable PA1 + PA2 on PA_BOOST
|
||||
state |= _mod->SPIsetRegValue(SX127X_REG_PA_CONFIG, SX127X_PA_SELECT_BOOST, 7, 7);
|
||||
state |= _mod->SPIsetRegValue(SX127X_REG_PA_CONFIG, SX1278_MAX_POWER | (power - 2), 6, 0);
|
||||
|
|
|
@ -168,7 +168,7 @@ class SX1278: public SX127x {
|
|||
/*!
|
||||
\brief Reset method. Will reset the chip to the default state using RST pin.
|
||||
*/
|
||||
void reset();
|
||||
void reset() override;
|
||||
|
||||
// configuration methods
|
||||
|
||||
|
@ -235,7 +235,7 @@ class SX1278: public SX127x {
|
|||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t setDataShaping(float sh);
|
||||
int16_t setDataShaping(float sh) override;
|
||||
|
||||
/*!
|
||||
\brief Sets filter cutoff frequency that will be used for data shaping.
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
SX127x::SX127x(Module* mod) : PhysicalLayer(SX127X_FREQUENCY_STEP_SIZE, SX127X_MAX_PACKET_LENGTH) {
|
||||
_mod = mod;
|
||||
_packetLengthQueried = false;
|
||||
}
|
||||
|
||||
int16_t SX127x::begin(uint8_t chipVersion, uint8_t syncWord, uint8_t currentLimit, uint16_t preambleLength) {
|
||||
|
@ -122,6 +121,7 @@ int16_t SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxB
|
|||
int16_t SX127x::transmit(uint8_t* data, size_t len, uint8_t addr) {
|
||||
// set mode to standby
|
||||
int16_t state = setMode(SX127X_STANDBY);
|
||||
RADIOLIB_ASSERT(state);
|
||||
|
||||
int16_t modem = getActiveModem();
|
||||
uint32_t start = 0;
|
||||
|
@ -188,6 +188,7 @@ int16_t SX127x::transmit(uint8_t* data, size_t len, uint8_t addr) {
|
|||
int16_t SX127x::receive(uint8_t* data, size_t len) {
|
||||
// set mode to standby
|
||||
int16_t state = setMode(SX127X_STANDBY);
|
||||
RADIOLIB_ASSERT(state);
|
||||
|
||||
int16_t modem = getActiveModem();
|
||||
if(modem == SX127X_LORA) {
|
||||
|
@ -284,7 +285,7 @@ int16_t SX127x::standby() {
|
|||
return(setMode(SX127X_STANDBY));
|
||||
}
|
||||
|
||||
int16_t SX127x::transmitDirect(uint32_t FRF) {
|
||||
int16_t SX127x::transmitDirect(uint32_t frf) {
|
||||
// check modem
|
||||
if(getActiveModem() != SX127X_FSK_OOK) {
|
||||
return(ERR_WRONG_MODEM);
|
||||
|
@ -294,10 +295,10 @@ int16_t SX127x::transmitDirect(uint32_t FRF) {
|
|||
_mod->setRfSwitchState(LOW, HIGH);
|
||||
|
||||
// user requested to start transmitting immediately (required for RTTY)
|
||||
if(FRF != 0) {
|
||||
_mod->SPIwriteRegister(SX127X_REG_FRF_MSB, (FRF & 0xFF0000) >> 16);
|
||||
_mod->SPIwriteRegister(SX127X_REG_FRF_MID, (FRF & 0x00FF00) >> 8);
|
||||
_mod->SPIwriteRegister(SX127X_REG_FRF_LSB, FRF & 0x0000FF);
|
||||
if(frf != 0) {
|
||||
_mod->SPIwriteRegister(SX127X_REG_FRF_MSB, (frf & 0xFF0000) >> 16);
|
||||
_mod->SPIwriteRegister(SX127X_REG_FRF_MID, (frf & 0x00FF00) >> 8);
|
||||
_mod->SPIwriteRegister(SX127X_REG_FRF_LSB, frf & 0x0000FF);
|
||||
|
||||
return(setMode(SX127X_TX));
|
||||
}
|
||||
|
@ -352,11 +353,12 @@ int16_t SX127x::packetMode() {
|
|||
int16_t SX127x::startReceive(uint8_t len, uint8_t mode) {
|
||||
// set mode to standby
|
||||
int16_t state = setMode(SX127X_STANDBY);
|
||||
RADIOLIB_ASSERT(state);
|
||||
|
||||
int16_t modem = getActiveModem();
|
||||
if(modem == SX127X_LORA) {
|
||||
// set DIO pin mapping
|
||||
state |= _mod->SPIsetRegValue(SX127X_REG_DIO_MAPPING_1, SX127X_DIO0_RX_DONE | SX127X_DIO1_RX_TIMEOUT, 7, 4);
|
||||
state = _mod->SPIsetRegValue(SX127X_REG_DIO_MAPPING_1, SX127X_DIO0_RX_DONE | SX127X_DIO1_RX_TIMEOUT, 7, 4);
|
||||
|
||||
// set expected packet length for SF6
|
||||
if(_sf == 6) {
|
||||
|
@ -373,7 +375,8 @@ int16_t SX127x::startReceive(uint8_t len, uint8_t mode) {
|
|||
|
||||
} else if(modem == SX127X_FSK_OOK) {
|
||||
// set DIO pin mapping
|
||||
state |= _mod->SPIsetRegValue(SX127X_REG_DIO_MAPPING_1, SX127X_DIO0_PACK_PAYLOAD_READY, 7, 6);
|
||||
state = _mod->SPIsetRegValue(SX127X_REG_DIO_MAPPING_1, SX127X_DIO0_PACK_PAYLOAD_READY, 7, 6);
|
||||
RADIOLIB_ASSERT(state);
|
||||
|
||||
// clear interrupt flags
|
||||
clearIRQFlags();
|
||||
|
@ -651,7 +654,7 @@ float SX127x::getSNR() {
|
|||
return(rawSNR / 4.0);
|
||||
}
|
||||
|
||||
float SX127x::getDataRate() {
|
||||
float SX127x::getDataRate() const {
|
||||
return(_dataRate);
|
||||
}
|
||||
|
||||
|
|
|
@ -602,7 +602,7 @@ class SX127x: public PhysicalLayer {
|
|||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0);
|
||||
int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
|
||||
|
||||
/*!
|
||||
\brief Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using %LoRa or up to 63 bytes using FSK modem.
|
||||
|
@ -614,7 +614,7 @@ class SX127x: public PhysicalLayer {
|
|||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t receive(uint8_t* data, size_t len);
|
||||
int16_t receive(uint8_t* data, size_t len) override;
|
||||
|
||||
/*!
|
||||
\brief Performs scan for valid %LoRa preamble in the current channel.
|
||||
|
@ -636,17 +636,17 @@ class SX127x: public PhysicalLayer {
|
|||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t standby();
|
||||
int16_t standby() override;
|
||||
|
||||
/*!
|
||||
\brief Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data).
|
||||
While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode.
|
||||
|
||||
\param FRF 24-bit raw frequency value to start transmitting at. Required for quick frequency shifts in RTTY.
|
||||
\param frf 24-bit raw frequency value to start transmitting at. Required for quick frequency shifts in RTTY.
|
||||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t transmitDirect(uint32_t FRF = 0);
|
||||
int16_t transmitDirect(uint32_t frf = 0) override;
|
||||
|
||||
/*!
|
||||
\brief Enables direct reception mode on pins DIO1 (clock) and DIO2 (data).
|
||||
|
@ -654,7 +654,7 @@ class SX127x: public PhysicalLayer {
|
|||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t receiveDirect();
|
||||
int16_t receiveDirect() override;
|
||||
|
||||
/*!
|
||||
\brief Disables direct mode and enables packet mode, allowing the module to receive packets. Can only be activated in FSK mode.
|
||||
|
@ -700,7 +700,7 @@ class SX127x: public PhysicalLayer {
|
|||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0);
|
||||
int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
|
||||
|
||||
/*!
|
||||
\brief Interrupt-driven receive method. DIO0 will be activated when full valid packet is received.
|
||||
|
@ -722,7 +722,7 @@ class SX127x: public PhysicalLayer {
|
|||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t readData(uint8_t* data, size_t len);
|
||||
int16_t readData(uint8_t* data, size_t len) override;
|
||||
|
||||
|
||||
// configuration methods
|
||||
|
@ -775,7 +775,7 @@ class SX127x: public PhysicalLayer {
|
|||
|
||||
\returns Last packet data rate in bps (bits per second).
|
||||
*/
|
||||
float getDataRate();
|
||||
float getDataRate() const;
|
||||
|
||||
/*!
|
||||
\brief Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode.
|
||||
|
@ -793,7 +793,7 @@ class SX127x: public PhysicalLayer {
|
|||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t setFrequencyDeviation(float freqDev);
|
||||
int16_t setFrequencyDeviation(float freqDev) override;
|
||||
|
||||
/*!
|
||||
\brief Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode.
|
||||
|
@ -856,7 +856,7 @@ class SX127x: public PhysicalLayer {
|
|||
|
||||
\returns Length of last received packet in bytes.
|
||||
*/
|
||||
size_t getPacketLength(bool update = true);
|
||||
size_t getPacketLength(bool update = true) override;
|
||||
|
||||
/*!
|
||||
\brief Set modem in fixed packet length mode. Available in FSK mode only.
|
||||
|
@ -895,7 +895,7 @@ class SX127x: public PhysicalLayer {
|
|||
|
||||
\returns \ref status_codes
|
||||
*/
|
||||
int16_t setEncoding(uint8_t encoding);
|
||||
int16_t setEncoding(uint8_t encoding) override;
|
||||
|
||||
/*!
|
||||
\brief Reads currently active IRQ flags, can be used to check which event caused an interrupt.
|
||||
|
@ -936,13 +936,13 @@ class SX127x: public PhysicalLayer {
|
|||
#endif
|
||||
Module* _mod;
|
||||
|
||||
float _freq;
|
||||
float _bw;
|
||||
uint8_t _sf;
|
||||
uint8_t _cr;
|
||||
float _br;
|
||||
float _rxBw;
|
||||
bool _ook;
|
||||
float _freq = 0;
|
||||
float _bw = 0;
|
||||
uint8_t _sf = 0;
|
||||
uint8_t _cr = 0;
|
||||
float _br = 0;
|
||||
float _rxBw = 0;
|
||||
bool _ook = false;
|
||||
|
||||
int16_t setFrequencyRaw(float newFreq);
|
||||
int16_t config();
|
||||
|
@ -954,10 +954,10 @@ class SX127x: public PhysicalLayer {
|
|||
#ifndef RADIOLIB_GODMODE
|
||||
private:
|
||||
#endif
|
||||
float _dataRate;
|
||||
size_t _packetLength;
|
||||
bool _packetLengthQueried; // FSK packet length is the first byte in FIFO, length can only be queried once
|
||||
uint8_t _packetLengthConfig;
|
||||
float _dataRate = 0;
|
||||
size_t _packetLength = 0;
|
||||
bool _packetLengthQueried = false; // FSK packet length is the first byte in FIFO, length can only be queried once
|
||||
uint8_t _packetLengthConfig = SX127X_PACKET_VARIABLE;
|
||||
|
||||
bool findChip(uint8_t ver);
|
||||
int16_t setMode(uint8_t mode);
|
||||
|
|
Loading…
Add table
Reference in a new issue