diff --git a/src/modules/LR11x0/LR11x0.cpp b/src/modules/LR11x0/LR11x0.cpp index 6d41e3e2..f87a7f88 100644 --- a/src/modules/LR11x0/LR11x0.cpp +++ b/src/modules/LR11x0/LR11x0.cpp @@ -1078,7 +1078,12 @@ int16_t LR11x0::setDataRate(DataRate_t dr) { state = this->setCodingRate(dr.lora.codingRate); } else if(type == RADIOLIB_LR11X0_PACKET_TYPE_LR_FHSS) { + // set the basic config + state = this->setLrFhssConfig(dr.lrFhss.bw, dr.lrFhss.cr); + RADIOLIB_ASSERT(state); + // set hopping grid + this->lrFhssGrid = dr.lrFhss.narrowGrid ? RADIOLIB_LR11X0_LR_FHSS_GRID_STEP_NON_FCC : RADIOLIB_LR11X0_LR_FHSS_GRID_STEP_FCC; } diff --git a/src/modules/SX126x/SX126x.cpp b/src/modules/SX126x/SX126x.cpp index 8f8878c2..16062db1 100644 --- a/src/modules/SX126x/SX126x.cpp +++ b/src/modules/SX126x/SX126x.cpp @@ -1048,6 +1048,15 @@ int16_t SX126x::setDataRate(DataRate_t dr) { // set the coding rate state = this->setCodingRate(dr.lora.codingRate); + + } else if(modem == RADIOLIB_SX126X_PACKET_TYPE_LR_FHSS) { + // set the basic config + state = this->setLrFhssConfig(dr.lrFhss.bw, dr.lrFhss.cr); + RADIOLIB_ASSERT(state); + + // set hopping grid + this->lrFhssGridNonFcc = dr.lrFhss.narrowGrid ? RADIOLIB_SX126X_LR_FHSS_GRID_STEP_NON_FCC : RADIOLIB_SX126X_LR_FHSS_GRID_STEP_FCC; + } return(state); diff --git a/src/modules/SX126x/SX126x_LR_FHSS.cpp b/src/modules/SX126x/SX126x_LR_FHSS.cpp index b0e8a2b8..0f491f91 100644 --- a/src/modules/SX126x/SX126x_LR_FHSS.cpp +++ b/src/modules/SX126x/SX126x_LR_FHSS.cpp @@ -123,7 +123,7 @@ int16_t SX126x::buildLRFHSSPacket(const uint8_t* in, size_t in_len, uint8_t* out // interleave the payload into output buffer uint16_t step = 0; - while(step * step < nb_bits) { + while((size_t)(step * step) < nb_bits) { // probably the silliest sqrt() I ever saw step++; }