diff --git a/src/modules/LR11x0/LR11x0.cpp b/src/modules/LR11x0/LR11x0.cpp index bcef4d0b..b1ebbc44 100644 --- a/src/modules/LR11x0/LR11x0.cpp +++ b/src/modules/LR11x0/LR11x0.cpp @@ -754,47 +754,47 @@ int16_t LR11x0::setRxBandwidth(float rxBw) { }*/ // check allowed receiver bandwidth values - if(fabs(rxBw - 4.8) <= 0.001) { + if(fabsf(rxBw - 4.8) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_4_8; - } else if(fabs(rxBw - 5.8) <= 0.001) { + } else if(fabsf(rxBw - 5.8) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_5_8; - } else if(fabs(rxBw - 7.3) <= 0.001) { + } else if(fabsf(rxBw - 7.3) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_7_3; - } else if(fabs(rxBw - 9.7) <= 0.001) { + } else if(fabsf(rxBw - 9.7) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_9_7; - } else if(fabs(rxBw - 11.7) <= 0.001) { + } else if(fabsf(rxBw - 11.7) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_11_7; - } else if(fabs(rxBw - 14.6) <= 0.001) { + } else if(fabsf(rxBw - 14.6) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_14_6; - } else if(fabs(rxBw - 19.5) <= 0.001) { + } else if(fabsf(rxBw - 19.5) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_19_5; - } else if(fabs(rxBw - 23.4) <= 0.001) { + } else if(fabsf(rxBw - 23.4) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_23_4; - } else if(fabs(rxBw - 29.3) <= 0.001) { + } else if(fabsf(rxBw - 29.3) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_29_3; - } else if(fabs(rxBw - 39.0) <= 0.001) { + } else if(fabsf(rxBw - 39.0) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_39_0; - } else if(fabs(rxBw - 46.9) <= 0.001) { + } else if(fabsf(rxBw - 46.9) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_46_9; - } else if(fabs(rxBw - 58.6) <= 0.001) { + } else if(fabsf(rxBw - 58.6) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_58_6; - } else if(fabs(rxBw - 78.2) <= 0.001) { + } else if(fabsf(rxBw - 78.2) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_78_2; - } else if(fabs(rxBw - 93.8) <= 0.001) { + } else if(fabsf(rxBw - 93.8) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_93_8; - } else if(fabs(rxBw - 117.3) <= 0.001) { + } else if(fabsf(rxBw - 117.3) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_117_3; - } else if(fabs(rxBw - 156.2) <= 0.001) { + } else if(fabsf(rxBw - 156.2) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_156_2; - } else if(fabs(rxBw - 187.2) <= 0.001) { + } else if(fabsf(rxBw - 187.2) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_187_2; - } else if(fabs(rxBw - 234.3) <= 0.001) { + } else if(fabsf(rxBw - 234.3) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_234_3; - } else if(fabs(rxBw - 312.0) <= 0.001) { + } else if(fabsf(rxBw - 312.0) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_312_0; - } else if(fabs(rxBw - 373.6) <= 0.001) { + } else if(fabsf(rxBw - 373.6) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_373_6; - } else if(fabs(rxBw - 467.0) <= 0.001) { + } else if(fabsf(rxBw - 467.0) <= 0.001) { this->rxBandwidth = RADIOLIB_LR11X0_GFSK_RX_BW_467_0; } else { return(RADIOLIB_ERR_INVALID_RX_BANDWIDTH); @@ -1070,28 +1070,28 @@ int16_t LR11x0::setTCXO(float voltage, uint32_t delay) { } // check 0 V disable - if(fabs(voltage - 0.0) <= 0.001) { + if(fabsf(voltage - 0.0) <= 0.001) { setTcxoMode(0, 0); return(reset()); } // check allowed voltage values uint8_t tune = 0; - if(fabs(voltage - 1.6) <= 0.001) { + if(fabsf(voltage - 1.6) <= 0.001) { tune = RADIOLIB_LR11X0_TCXO_VOLTAGE_1_6; - } else if(fabs(voltage - 1.7) <= 0.001) { + } else if(fabsf(voltage - 1.7) <= 0.001) { tune = RADIOLIB_LR11X0_TCXO_VOLTAGE_1_7; - } else if(fabs(voltage - 1.8) <= 0.001) { + } else if(fabsf(voltage - 1.8) <= 0.001) { tune = RADIOLIB_LR11X0_TCXO_VOLTAGE_1_8; - } else if(fabs(voltage - 2.2) <= 0.001) { + } else if(fabsf(voltage - 2.2) <= 0.001) { tune = RADIOLIB_LR11X0_TCXO_VOLTAGE_2_2; - } else if(fabs(voltage - 2.4) <= 0.001) { + } else if(fabsf(voltage - 2.4) <= 0.001) { tune = RADIOLIB_LR11X0_TCXO_VOLTAGE_2_4; - } else if(fabs(voltage - 2.7) <= 0.001) { + } else if(fabsf(voltage - 2.7) <= 0.001) { tune = RADIOLIB_LR11X0_TCXO_VOLTAGE_2_7; - } else if(fabs(voltage - 3.0) <= 0.001) { + } else if(fabsf(voltage - 3.0) <= 0.001) { tune = RADIOLIB_LR11X0_TCXO_VOLTAGE_3_0; - } else if(fabs(voltage - 3.3) <= 0.001) { + } else if(fabsf(voltage - 3.3) <= 0.001) { tune = RADIOLIB_LR11X0_TCXO_VOLTAGE_3_3; } else { return(RADIOLIB_ERR_INVALID_TCXO_VOLTAGE); @@ -1265,7 +1265,7 @@ RadioLibTime_t LR11x0::getTimeOnAir(size_t len) { uint32_t N_symbolPreamble = (this->preambleLengthLoRa & 0x0F) * (uint32_t(1) << ((this->preambleLengthLoRa & 0xF0) >> 4)); // calculate the number of symbols - N_symbol = (float)N_symbolPreamble + coeff1 + 8.0 + ceil(RADIOLIB_MAX((int16_t)(8 * len + N_bitCRC - coeff2 + N_symbolHeader), (int16_t)0) / (float)coeff3) * (float)(this->codingRate + 4); + N_symbol = (float)N_symbolPreamble + coeff1 + 8.0 + ceilf((float)RADIOLIB_MAX((int16_t)(8 * len + N_bitCRC - coeff2 + N_symbolHeader), (int16_t)0) / (float)coeff3) * (float)(this->codingRate + 4); } else { // long interleaving - abandon hope all ye who enter here @@ -1791,6 +1791,7 @@ int16_t LR11x0::getGnssScanResult(uint16_t size) { RADIOLIB_DEBUG_BASIC_PRINTLN("Timing:"); for(size_t i = 0; i < 31; i++) { uint32_t t = (timing[i] * 1000UL) / 32768UL; + (void)t; RADIOLIB_DEBUG_BASIC_PRINTLN(" %d: %lu ms", (int)i*4, (unsigned long)t); } RADIOLIB_DEBUG_BASIC_PRINTLN("constDemod: %d", constDemod); diff --git a/src/modules/RF69/RF69.cpp b/src/modules/RF69/RF69.cpp index d5a07c9e..2bbfeb57 100644 --- a/src/modules/RF69/RF69.cpp +++ b/src/modules/RF69/RF69.cpp @@ -589,7 +589,7 @@ int16_t RF69::setRxBandwidth(float rxBw) { for(int8_t e = 7; e >= 0; e--) { for(int8_t m = 2; m >= 0; m--) { float point = (RADIOLIB_RF69_CRYSTAL_FREQ * 1000000.0)/(((4 * m) + 16) * ((uint32_t)1 << (e + (this->ookEnabled ? 3 : 2)))); - if(fabs(rxBw - (point / 1000.0)) <= 0.1) { + if(fabsf(rxBw - (point / 1000.0)) <= 0.1) { // set Rx bandwidth state = this->mod->SPIsetRegValue(RADIOLIB_RF69_REG_RX_BW, (m << 3) | e, 4, 0); if(state == RADIOLIB_ERR_NONE) { diff --git a/src/modules/SX123x/SX1233.cpp b/src/modules/SX123x/SX1233.cpp index 16c4bca1..23eb72c6 100644 --- a/src/modules/SX123x/SX1233.cpp +++ b/src/modules/SX123x/SX1233.cpp @@ -93,7 +93,7 @@ int16_t SX1233::begin(float freq, float br, float freqDev, float rxBw, int8_t po int16_t SX1233::setBitRate(float br) { // check high bit-rate operation uint8_t pllBandwidth = RADIOLIB_SX1233_PLL_BW_LOW_BIT_RATE; - if((fabs(br - 500.0f) < 0.1) || (fabs(br - 600.0f) < 0.1)) { + if((fabsf(br - 500.0f) < 0.1) || (fabsf(br - 600.0f) < 0.1)) { pllBandwidth = RADIOLIB_SX1233_PLL_BW_HIGH_BIT_RATE; } else { // datasheet says 1.2 kbps should be the smallest possible, but 0.512 works fine diff --git a/src/modules/SX126x/SX126x.cpp b/src/modules/SX126x/SX126x.cpp index 1c2a9e48..c6185e05 100644 --- a/src/modules/SX126x/SX126x.cpp +++ b/src/modules/SX126x/SX126x.cpp @@ -1011,47 +1011,47 @@ int16_t SX126x::setRxBandwidth(float rxBw) { this->rxBandwidthKhz = rxBw; // check allowed receiver bandwidth values - if(fabs(rxBw - 4.8) <= 0.001) { + if(fabsf(rxBw - 4.8) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_4_8; - } else if(fabs(rxBw - 5.8) <= 0.001) { + } else if(fabsf(rxBw - 5.8) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_5_8; - } else if(fabs(rxBw - 7.3) <= 0.001) { + } else if(fabsf(rxBw - 7.3) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_7_3; - } else if(fabs(rxBw - 9.7) <= 0.001) { + } else if(fabsf(rxBw - 9.7) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_9_7; - } else if(fabs(rxBw - 11.7) <= 0.001) { + } else if(fabsf(rxBw - 11.7) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_11_7; - } else if(fabs(rxBw - 14.6) <= 0.001) { + } else if(fabsf(rxBw - 14.6) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_14_6; - } else if(fabs(rxBw - 19.5) <= 0.001) { + } else if(fabsf(rxBw - 19.5) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_19_5; - } else if(fabs(rxBw - 23.4) <= 0.001) { + } else if(fabsf(rxBw - 23.4) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_23_4; - } else if(fabs(rxBw - 29.3) <= 0.001) { + } else if(fabsf(rxBw - 29.3) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_29_3; - } else if(fabs(rxBw - 39.0) <= 0.001) { + } else if(fabsf(rxBw - 39.0) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_39_0; - } else if(fabs(rxBw - 46.9) <= 0.001) { + } else if(fabsf(rxBw - 46.9) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_46_9; - } else if(fabs(rxBw - 58.6) <= 0.001) { + } else if(fabsf(rxBw - 58.6) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_58_6; - } else if(fabs(rxBw - 78.2) <= 0.001) { + } else if(fabsf(rxBw - 78.2) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_78_2; - } else if(fabs(rxBw - 93.8) <= 0.001) { + } else if(fabsf(rxBw - 93.8) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_93_8; - } else if(fabs(rxBw - 117.3) <= 0.001) { + } else if(fabsf(rxBw - 117.3) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_117_3; - } else if(fabs(rxBw - 156.2) <= 0.001) { + } else if(fabsf(rxBw - 156.2) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_156_2; - } else if(fabs(rxBw - 187.2) <= 0.001) { + } else if(fabsf(rxBw - 187.2) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_187_2; - } else if(fabs(rxBw - 234.3) <= 0.001) { + } else if(fabsf(rxBw - 234.3) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_234_3; - } else if(fabs(rxBw - 312.0) <= 0.001) { + } else if(fabsf(rxBw - 312.0) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_312_0; - } else if(fabs(rxBw - 373.6) <= 0.001) { + } else if(fabsf(rxBw - 373.6) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_373_6; - } else if(fabs(rxBw - 467.0) <= 0.001) { + } else if(fabsf(rxBw - 467.0) <= 0.001) { this->rxBandwidth = RADIOLIB_SX126X_GFSK_RX_BW_467_0; } else { return(RADIOLIB_ERR_INVALID_RX_BANDWIDTH); @@ -1699,27 +1699,27 @@ int16_t SX126x::setTCXO(float voltage, uint32_t delay) { } // check 0 V disable - if(fabs(voltage - 0.0) <= 0.001) { + if(fabsf(voltage - 0.0) <= 0.001) { return(reset(true)); } // check alowed voltage values uint8_t data[4]; - if(fabs(voltage - 1.6) <= 0.001) { + if(fabsf(voltage - 1.6) <= 0.001) { data[0] = RADIOLIB_SX126X_DIO3_OUTPUT_1_6; - } else if(fabs(voltage - 1.7) <= 0.001) { + } else if(fabsf(voltage - 1.7) <= 0.001) { data[0] = RADIOLIB_SX126X_DIO3_OUTPUT_1_7; - } else if(fabs(voltage - 1.8) <= 0.001) { + } else if(fabsf(voltage - 1.8) <= 0.001) { data[0] = RADIOLIB_SX126X_DIO3_OUTPUT_1_8; - } else if(fabs(voltage - 2.2) <= 0.001) { + } else if(fabsf(voltage - 2.2) <= 0.001) { data[0] = RADIOLIB_SX126X_DIO3_OUTPUT_2_2; - } else if(fabs(voltage - 2.4) <= 0.001) { + } else if(fabsf(voltage - 2.4) <= 0.001) { data[0] = RADIOLIB_SX126X_DIO3_OUTPUT_2_4; - } else if(fabs(voltage - 2.7) <= 0.001) { + } else if(fabsf(voltage - 2.7) <= 0.001) { data[0] = RADIOLIB_SX126X_DIO3_OUTPUT_2_7; - } else if(fabs(voltage - 3.0) <= 0.001) { + } else if(fabsf(voltage - 3.0) <= 0.001) { data[0] = RADIOLIB_SX126X_DIO3_OUTPUT_3_0; - } else if(fabs(voltage - 3.3) <= 0.001) { + } else if(fabsf(voltage - 3.3) <= 0.001) { data[0] = RADIOLIB_SX126X_DIO3_OUTPUT_3_3; } else { return(RADIOLIB_ERR_INVALID_TCXO_VOLTAGE); @@ -2038,7 +2038,7 @@ int16_t SX126x::fixSensitivity() { RADIOLIB_ASSERT(state); // fix the value for LoRa with 500 kHz bandwidth - if((getPacketType() == RADIOLIB_SX126X_PACKET_TYPE_LORA) && (fabs(this->bandwidthKhz - 500.0) <= 0.001)) { + if((getPacketType() == RADIOLIB_SX126X_PACKET_TYPE_LORA) && (fabsf(this->bandwidthKhz - 500.0) <= 0.001)) { sensitivityConfig &= 0xFB; } else { sensitivityConfig |= 0x04; diff --git a/src/modules/SX127x/SX1272.cpp b/src/modules/SX127x/SX1272.cpp index 6e8b6c0b..50b088b2 100644 --- a/src/modules/SX127x/SX1272.cpp +++ b/src/modules/SX127x/SX1272.cpp @@ -102,11 +102,11 @@ int16_t SX1272::setBandwidth(float bw) { uint8_t newBandwidth; // check allowed bandwidth values - if(fabs(bw - 125.0) <= 0.001) { + if(fabsf(bw - 125.0) <= 0.001) { newBandwidth = RADIOLIB_SX1272_BW_125_00_KHZ; - } else if(fabs(bw - 250.0) <= 0.001) { + } else if(fabsf(bw - 250.0) <= 0.001) { newBandwidth = RADIOLIB_SX1272_BW_250_00_KHZ; - } else if(fabs(bw - 500.0) <= 0.001) { + } else if(fabsf(bw - 500.0) <= 0.001) { newBandwidth = RADIOLIB_SX1272_BW_500_00_KHZ; } else { return(RADIOLIB_ERR_INVALID_BANDWIDTH); diff --git a/src/modules/SX127x/SX1278.cpp b/src/modules/SX127x/SX1278.cpp index 2a40eb6a..3265675f 100644 --- a/src/modules/SX127x/SX1278.cpp +++ b/src/modules/SX127x/SX1278.cpp @@ -102,25 +102,25 @@ int16_t SX1278::setBandwidth(float bw) { uint8_t newBandwidth; // check allowed bandwidth values - if(fabs(bw - 7.8) <= 0.001) { + if(fabsf(bw - 7.8) <= 0.001) { newBandwidth = RADIOLIB_SX1278_BW_7_80_KHZ; - } else if(fabs(bw - 10.4) <= 0.001) { + } else if(fabsf(bw - 10.4) <= 0.001) { newBandwidth = RADIOLIB_SX1278_BW_10_40_KHZ; - } else if(fabs(bw - 15.6) <= 0.001) { + } else if(fabsf(bw - 15.6) <= 0.001) { newBandwidth = RADIOLIB_SX1278_BW_15_60_KHZ; - } else if(fabs(bw - 20.8) <= 0.001) { + } else if(fabsf(bw - 20.8) <= 0.001) { newBandwidth = RADIOLIB_SX1278_BW_20_80_KHZ; - } else if(fabs(bw - 31.25) <= 0.001) { + } else if(fabsf(bw - 31.25) <= 0.001) { newBandwidth = RADIOLIB_SX1278_BW_31_25_KHZ; - } else if(fabs(bw - 41.7) <= 0.001) { + } else if(fabsf(bw - 41.7) <= 0.001) { newBandwidth = RADIOLIB_SX1278_BW_41_70_KHZ; - } else if(fabs(bw - 62.5) <= 0.001) { + } else if(fabsf(bw - 62.5) <= 0.001) { newBandwidth = RADIOLIB_SX1278_BW_62_50_KHZ; - } else if(fabs(bw - 125.0) <= 0.001) { + } else if(fabsf(bw - 125.0) <= 0.001) { newBandwidth = RADIOLIB_SX1278_BW_125_00_KHZ; - } else if(fabs(bw - 250.0) <= 0.001) { + } else if(fabsf(bw - 250.0) <= 0.001) { newBandwidth = RADIOLIB_SX1278_BW_250_00_KHZ; - } else if(fabs(bw - 500.0) <= 0.001) { + } else if(fabsf(bw - 500.0) <= 0.001) { newBandwidth = RADIOLIB_SX1278_BW_500_00_KHZ; } else { return(RADIOLIB_ERR_INVALID_BANDWIDTH); @@ -623,7 +623,7 @@ void SX1278::errataFix(bool rx) { // sensitivity optimization for 500kHz bandwidth // see SX1276/77/78 Errata, section 2.1 for details Module* mod = this->getMod(); - if(fabs(SX127x::bandwidth - 500.0) <= 0.001) { + if(fabsf(SX127x::bandwidth - 500.0) <= 0.001) { if((frequency >= 862.0) && (frequency <= 1020.0)) { mod->SPIwriteRegister(0x36, 0x02); mod->SPIwriteRegister(0x3a, 0x64); @@ -639,49 +639,49 @@ void SX1278::errataFix(bool rx) { // figure out what we need to set uint8_t fixedRegs[3] = { 0x00, 0x00, 0x00 }; float rxFreq = frequency; - if(fabs(SX127x::bandwidth - 7.8) <= 0.001) { + if(fabsf(SX127x::bandwidth - 7.8) <= 0.001) { fixedRegs[0] = 0b00000000; fixedRegs[1] = 0x48; fixedRegs[2] = 0x00; rxFreq += 0.00781; - } else if(fabs(SX127x::bandwidth - 10.4) <= 0.001) { + } else if(fabsf(SX127x::bandwidth - 10.4) <= 0.001) { fixedRegs[0] = 0b00000000; fixedRegs[1] = 0x44; fixedRegs[2] = 0x00; rxFreq += 0.01042; - } else if(fabs(SX127x::bandwidth - 15.6) <= 0.001) { + } else if(fabsf(SX127x::bandwidth - 15.6) <= 0.001) { fixedRegs[0] = 0b00000000; fixedRegs[1] = 0x44; fixedRegs[2] = 0x00; rxFreq += 0.01562; - } else if(fabs(SX127x::bandwidth - 20.8) <= 0.001) { + } else if(fabsf(SX127x::bandwidth - 20.8) <= 0.001) { fixedRegs[0] = 0b00000000; fixedRegs[1] = 0x44; fixedRegs[2] = 0x00; rxFreq += 0.02083; - } else if(fabs(SX127x::bandwidth - 31.25) <= 0.001) { + } else if(fabsf(SX127x::bandwidth - 31.25) <= 0.001) { fixedRegs[0] = 0b00000000; fixedRegs[1] = 0x44; fixedRegs[2] = 0x00; rxFreq += 0.03125; - } else if(fabs(SX127x::bandwidth - 41.7) <= 0.001) { + } else if(fabsf(SX127x::bandwidth - 41.7) <= 0.001) { fixedRegs[0] = 0b00000000; fixedRegs[1] = 0x44; fixedRegs[2] = 0x00; rxFreq += 0.04167; - } else if(fabs(SX127x::bandwidth - 62.5) <= 0.001) { + } else if(fabsf(SX127x::bandwidth - 62.5) <= 0.001) { fixedRegs[0] = 0b00000000; fixedRegs[1] = 0x40; fixedRegs[2] = 0x00; - } else if(fabs(SX127x::bandwidth - 125.0) <= 0.001) { + } else if(fabsf(SX127x::bandwidth - 125.0) <= 0.001) { fixedRegs[0] = 0b00000000; fixedRegs[1] = 0x40; fixedRegs[2] = 0x00; - } else if(fabs(SX127x::bandwidth - 250.0) <= 0.001) { + } else if(fabsf(SX127x::bandwidth - 250.0) <= 0.001) { fixedRegs[0] = 0b00000000; fixedRegs[1] = 0x40; fixedRegs[2] = 0x00; - } else if(fabs(SX127x::bandwidth - 500.0) <= 0.001) { + } else if(fabsf(SX127x::bandwidth - 500.0) <= 0.001) { fixedRegs[0] = 0b10000000; fixedRegs[1] = mod->SPIreadRegister(0x2F); fixedRegs[2] = mod->SPIreadRegister(0x30); diff --git a/src/modules/SX127x/SX127x.cpp b/src/modules/SX127x/SX127x.cpp index 7cc33c9f..778dc9e9 100644 --- a/src/modules/SX127x/SX127x.cpp +++ b/src/modules/SX127x/SX127x.cpp @@ -962,7 +962,7 @@ uint8_t SX127x::calculateBWManExp(float bandwidth) for(uint8_t e = 7; e >= 1; e--) { for(int8_t m = 2; m >= 0; m--) { float point = (RADIOLIB_SX127X_CRYSTAL_FREQ * 1000000.0)/(((4 * m) + 16) * ((uint32_t)1 << (e + 2))); - if(fabs(bandwidth - ((point / 1000.0) + 0.05)) <= 0.5) { + if(fabsf(bandwidth - ((point / 1000.0) + 0.05)) <= 0.5) { return((m << 3) | e); } } @@ -1244,7 +1244,7 @@ float SX127x::getNumSymbols(size_t len) { float n_pre = (float) ((this->mod->SPIgetRegValue(RADIOLIB_SX127X_REG_PREAMBLE_MSB) << 8) | this->mod->SPIgetRegValue(RADIOLIB_SX127X_REG_PREAMBLE_LSB)); // get number of payload symbols - float n_pay = 8.0 + RADIOLIB_MAX(ceil((8.0 * (float) len - 4.0 * (float) this->spreadingFactor + 28.0 + 16.0 * crc - 20.0 * ih) / (4.0 * (float) this->spreadingFactor - 8.0 * de)) * (float) this->codingRate, 0.0); + float n_pay = 8.0 + RADIOLIB_MAX(ceilf((8.0 * (float) len - 4.0 * (float) this->spreadingFactor + 28.0 + 16.0 * crc - 20.0 * ih) / (4.0 * (float) this->spreadingFactor - 8.0 * de)) * (float) this->codingRate, 0.0); // add 4.25 symbols for the sync return(n_pre + n_pay + 4.25f); diff --git a/src/modules/SX128x/SX128x.cpp b/src/modules/SX128x/SX128x.cpp index fb9ed328..088644cc 100644 --- a/src/modules/SX128x/SX128x.cpp +++ b/src/modules/SX128x/SX128x.cpp @@ -734,13 +734,13 @@ int16_t SX128x::setBandwidth(float bw) { return(RADIOLIB_ERR_WRONG_MODEM); } - if(fabs(bw - 203.125) <= 0.001) { + if(fabsf(bw - 203.125) <= 0.001) { this->bandwidth = RADIOLIB_SX128X_LORA_BW_203_125; - } else if(fabs(bw - 406.25) <= 0.001) { + } else if(fabsf(bw - 406.25) <= 0.001) { this->bandwidth = RADIOLIB_SX128X_LORA_BW_406_25; - } else if(fabs(bw - 812.5) <= 0.001) { + } else if(fabsf(bw - 812.5) <= 0.001) { this->bandwidth = RADIOLIB_SX128X_LORA_BW_812_50; - } else if(fabs(bw - 1625.0) <= 0.001) { + } else if(fabsf(bw - 1625.0) <= 0.001) { this->bandwidth = RADIOLIB_SX128X_LORA_BW_1625_00; } else { return(RADIOLIB_ERR_INVALID_BANDWIDTH); @@ -1349,7 +1349,7 @@ RadioLibTime_t SX128x::getTimeOnAir(size_t len) { uint32_t N_symbolPreamble = (this->preambleLengthLoRa & 0x0F) * (uint32_t(1) << ((this->preambleLengthLoRa & 0xF0) >> 4)); // calculate the number of symbols - N_symbol = (float)N_symbolPreamble + coeff1 + 8.0 + ceil(RADIOLIB_MAX((int16_t)(8 * len + N_bitCRC - coeff2 + N_symbolHeader), (int16_t)0) / (float)coeff3) * (float)(this->codingRateLoRa + 4); + N_symbol = (float)N_symbolPreamble + coeff1 + 8.0 + ceilf((float)RADIOLIB_MAX((int16_t)(8 * len + N_bitCRC - coeff2 + N_symbolHeader), (int16_t)0) / (float)coeff3) * (float)(this->codingRateLoRa + 4); } else { // long interleaving - abandon hope all ye who enter here diff --git a/src/modules/Si443x/Si443x.cpp b/src/modules/Si443x/Si443x.cpp index 4ba1b21c..4db2ffca 100644 --- a/src/modules/Si443x/Si443x.cpp +++ b/src/modules/Si443x/Si443x.cpp @@ -426,63 +426,63 @@ int16_t Si443x::setRxBandwidth(float rxBw) { // this is the "Lord help thee who tread 'ere" section - no way to approximate this mess /// \todo float tolerance equality as macro? - } else if(fabs(rxBw - 142.8) <= 0.001) { + } else if(fabsf(rxBw - 142.8) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 1; filterSet = 4; - } else if(fabs(rxBw - 167.8) <= 0.001) { + } else if(fabsf(rxBw - 167.8) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 1; filterSet = 5; - } else if(fabs(rxBw - 181.1) <= 0.001) { + } else if(fabsf(rxBw - 181.1) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 1; filterSet = 6; - } else if(fabs(rxBw - 191.5) <= 0.001) { + } else if(fabsf(rxBw - 191.5) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 15; - } else if(fabs(rxBw - 225.1) <= 0.001) { + } else if(fabsf(rxBw - 225.1) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 1; - } else if(fabs(rxBw - 248.8) <= 0.001) { + } else if(fabsf(rxBw - 248.8) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 2; - } else if(fabs(rxBw - 269.3) <= 0.001) { + } else if(fabsf(rxBw - 269.3) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 3; - } else if(fabs(rxBw - 284.8) <= 0.001) { + } else if(fabsf(rxBw - 284.8) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 4; - } else if(fabs(rxBw -335.5) <= 0.001) { + } else if(fabsf(rxBw -335.5) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 8; - } else if(fabs(rxBw - 391.8) <= 0.001) { + } else if(fabsf(rxBw - 391.8) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 9; - } else if(fabs(rxBw - 420.2) <= 0.001) { + } else if(fabsf(rxBw - 420.2) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 10; - } else if(fabs(rxBw - 468.4) <= 0.001) { + } else if(fabsf(rxBw - 468.4) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 11; - } else if(fabs(rxBw - 518.8) <= 0.001) { + } else if(fabsf(rxBw - 518.8) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 12; - } else if(fabs(rxBw - 577.0) <= 0.001) { + } else if(fabsf(rxBw - 577.0) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 13; - } else if(fabs(rxBw - 620.7) <= 0.001) { + } else if(fabsf(rxBw - 620.7) <= 0.001) { bypass = RADIOLIB_SI443X_BYPASS_DEC_BY_3_ON; decRate = 0; filterSet = 14; diff --git a/src/protocols/Print/Print.cpp b/src/protocols/Print/Print.cpp index 52e767be..c7abe695 100644 --- a/src/protocols/Print/Print.cpp +++ b/src/protocols/Print/Print.cpp @@ -248,8 +248,8 @@ size_t RadioLibPrint::printFloat(double number, uint8_t digits) { char code[] = {0x00, 0x00, 0x00, 0x00}; if (isnan(number)) strcpy(code, "nan"); if (isinf(number)) strcpy(code, "inf"); - if (number > 4294967040.0) strcpy(code, "ovf"); // constant determined empirically - if (number <-4294967040.0) strcpy(code, "ovf"); // constant determined empirically + if (number > (double)4294967040.0) strcpy(code, "ovf"); // constant determined empirically + if (number < (double)-4294967040.0) strcpy(code, "ovf"); // constant determined empirically if(code[0] != 0x00) { if(this->encoding == RADIOLIB_ITA2) { @@ -264,7 +264,7 @@ size_t RadioLibPrint::printFloat(double number, uint8_t digits) { } // Handle negative numbers - if (number < 0.0) { + if (number < (double)0.0) { if(this->encoding == RADIOLIB_ITA2) { ITA2String ita2 = ITA2String("-"); uint8_t* arr = ita2.byteArr(); @@ -279,7 +279,7 @@ size_t RadioLibPrint::printFloat(double number, uint8_t digits) { // Round correctly so that print(1.999, 2) prints as "2.00" double rounding = 0.5; for(uint8_t i = 0; i < digits; ++i) { - rounding /= 10.0; + rounding /= (double)10.0; } number += rounding; @@ -302,7 +302,7 @@ size_t RadioLibPrint::printFloat(double number, uint8_t digits) { // Extract digits from the remainder one at a time while(digits-- > 0) { - remainder *= 10.0; + remainder *= (double) 10.0; unsigned int toPrint = (unsigned int)(remainder); n += RadioLibPrint::print(toPrint); remainder -= toPrint;