kopia lustrzana https://github.com/jgromes/RadioLib
Fix cppcheck errors
rodzic
dace7fb871
commit
c3716c29f7
|
@ -1439,9 +1439,7 @@ RadioLibTime_t SX126x::getTimeOnAir(size_t len) {
|
|||
} else if(type == RADIOLIB_SX126X_PACKET_TYPE_GFSK) {
|
||||
modem = RADIOLIB_MODEM_FSK;
|
||||
|
||||
float bitRate = RADIOLIB_SX126X_CRYSTAL_FREQ * 32.0f * 1000.0f / (float)this->bitRate;
|
||||
|
||||
dataRate.fsk.bitRate = bitRate;
|
||||
dataRate.fsk.bitRate = RADIOLIB_SX126X_CRYSTAL_FREQ * 32.0f * 1000.0f / (float)this->bitRate;
|
||||
dataRate.fsk.freqDev = (float)this->frequencyDev;
|
||||
|
||||
uint8_t crcLen = 0;
|
||||
|
|
|
@ -1173,35 +1173,39 @@ RadioLibTime_t SX127x::calculateTimeOnAir(ModemType_t modem, DataRate_t dr, Pack
|
|||
|
||||
RadioLibTime_t SX127x::getTimeOnAir(size_t len) {
|
||||
uint8_t modem = getActiveModem();
|
||||
DataRate_t dataRate = {};
|
||||
PacketConfig_t packetConfig = {};
|
||||
DataRate_t dr = {};
|
||||
PacketConfig_t pc = {};
|
||||
|
||||
switch (modem) {
|
||||
case(RADIOLIB_SX127X_LORA): {
|
||||
dataRate.lora.spreadingFactor = this->spreadingFactor;
|
||||
dataRate.lora.bandwidth = this->bandwidth;
|
||||
dataRate.lora.codingRate = this->codingRate;
|
||||
dr.lora.spreadingFactor = this->spreadingFactor;
|
||||
dr.lora.bandwidth = this->bandwidth;
|
||||
dr.lora.codingRate = this->codingRate;
|
||||
|
||||
// Get number of preamble symbols
|
||||
uint16_t n_pre = ((this->mod->SPIgetRegValue(RADIOLIB_SX127X_REG_PREAMBLE_MSB) << 8) | this->mod->SPIgetRegValue(RADIOLIB_SX127X_REG_PREAMBLE_LSB));
|
||||
|
||||
packetConfig.lora.preambleLength = n_pre;
|
||||
packetConfig.lora.implicitHeader = this->implicitHdr;
|
||||
packetConfig.lora.crcEnabled = this->crcEnabled;
|
||||
packetConfig.lora.ldrOptimize = this->ldroEnabled;
|
||||
pc.lora.preambleLength = n_pre;
|
||||
pc.lora.implicitHeader = this->implicitHdr;
|
||||
pc.lora.crcEnabled = this->crcEnabled;
|
||||
pc.lora.ldrOptimize = this->ldroEnabled;
|
||||
|
||||
return(calculateTimeOnAir((ModemType_t)RADIOLIB_MODEM_LORA, dataRate, packetConfig, len));
|
||||
return(calculateTimeOnAir((ModemType_t)RADIOLIB_MODEM_LORA, dr, pc, len));
|
||||
}
|
||||
case(RADIOLIB_SX127X_FSK_OOK): {
|
||||
dataRate.fsk.bitRate = this->bitRate;
|
||||
dataRate.fsk.freqDev = this->frequencyDev;
|
||||
dr.fsk.bitRate = this->bitRate;
|
||||
dr.fsk.freqDev = this->frequencyDev;
|
||||
|
||||
// get number of bits preamble
|
||||
uint16_t n_pre = (uint16_t) ((this->mod->SPIgetRegValue(RADIOLIB_SX127X_REG_PREAMBLE_MSB_FSK) << 8) | this->mod->SPIgetRegValue(RADIOLIB_SX127X_REG_PREAMBLE_LSB_FSK)) * 8;
|
||||
// get the number of bits of the sync word
|
||||
uint8_t n_syncWord = (uint8_t) ((this->mod->SPIgetRegValue(RADIOLIB_SX127X_REG_SYNC_CONFIG, 2, 0) + 1) * 8);
|
||||
// get CRC enabled status
|
||||
bool crcEnabled = (this->mod->SPIgetRegValue(RADIOLIB_SX127X_REG_PACKET_CONFIG_1, 4, 4) == RADIOLIB_SX127X_CRC_ON);
|
||||
bool crcEn = (this->mod->SPIgetRegValue(RADIOLIB_SX127X_REG_PACKET_CONFIG_1, 4, 4) == RADIOLIB_SX127X_CRC_ON);
|
||||
|
||||
pc.fsk.preambleLength = n_pre;
|
||||
pc.fsk.syncWordLength = n_syncWord;
|
||||
pc.fsk.crcLength = (uint8_t)(crcEn * 2);
|
||||
|
||||
if (this->packetLengthConfig == RADIOLIB_SX127X_PACKET_FIXED) {
|
||||
// if packet size fixed -> len = fixed packet length
|
||||
|
@ -1211,11 +1215,7 @@ RadioLibTime_t SX127x::getTimeOnAir(size_t len) {
|
|||
len += 1;
|
||||
}
|
||||
|
||||
packetConfig.fsk.preambleLength = n_pre;
|
||||
packetConfig.fsk.syncWordLength = n_syncWord;
|
||||
packetConfig.fsk.crcLength = (uint8_t)(crcEnabled * 2);
|
||||
|
||||
return(calculateTimeOnAir((ModemType_t)RADIOLIB_MODEM_FSK, dataRate, packetConfig, len));
|
||||
return(calculateTimeOnAir((ModemType_t)RADIOLIB_MODEM_FSK, dr, pc, len));
|
||||
}
|
||||
default:
|
||||
return(RADIOLIB_ERR_WRONG_MODEM);
|
||||
|
|
|
@ -1426,13 +1426,9 @@ RadioLibTime_t SX128x::getTimeOnAir(size_t len) {
|
|||
dr.fsk.bitRate = (float)this->bitRateKbps;
|
||||
dr.fsk.freqDev = this->frequencyDev;
|
||||
|
||||
uint8_t crcLength = this->crcGFSK >> 4;
|
||||
uint16_t preambleLength = (this->preambleLengthGFSK >> 2) + 4;
|
||||
uint8_t syncWordLen = ((this->syncWordLen >> 1) + 1) * 8;
|
||||
|
||||
pc.fsk.preambleLength = preambleLength;
|
||||
pc.fsk.syncWordLength = syncWordLen;
|
||||
pc.fsk.crcLength = crcLength;
|
||||
pc.fsk.preambleLength = ((uint16_t)this->preambleLengthGFSK >> 2) + 4;
|
||||
pc.fsk.syncWordLength = ((this->syncWordLen >> 1) + 1) * 8;
|
||||
pc.fsk.crcLength = this->crcGFSK >> 4;
|
||||
|
||||
return(calculateTimeOnAir(ModemType_t::RADIOLIB_MODEM_FSK, dr, pc, len));
|
||||
} else {
|
||||
|
|
Ładowanie…
Reference in New Issue