diff --git a/src/modules/CC1101/CC1101.cpp b/src/modules/CC1101/CC1101.cpp index bf581fd5..98a2dadc 100644 --- a/src/modules/CC1101/CC1101.cpp +++ b/src/modules/CC1101/CC1101.cpp @@ -81,11 +81,11 @@ int16_t CC1101::begin(float freq, float br, float freqDev, float rxBw, int8_t po RADIOLIB_ASSERT(state); // set default data shaping - state = setDataShaping(RADIOLIB_ENCODING_NRZ); + state = setDataShaping(RADIOLIB_SHAPING_NONE); RADIOLIB_ASSERT(state); // set default encoding - state = setEncoding(RADIOLIB_SHAPING_NONE); + state = setEncoding(RADIOLIB_ENCODING_NRZ); RADIOLIB_ASSERT(state); // set default sync word diff --git a/src/modules/RF69/RF69.cpp b/src/modules/RF69/RF69.cpp index fdb83ef8..1ae6e1dc 100644 --- a/src/modules/RF69/RF69.cpp +++ b/src/modules/RF69/RF69.cpp @@ -227,7 +227,11 @@ int16_t RF69::directMode() { RADIOLIB_ASSERT(state); // set continuous mode - return(_mod->SPIsetRegValue(RADIOLIB_RF69_REG_DATA_MODUL, RADIOLIB_RF69_CONTINUOUS_MODE_WITH_SYNC, 6, 5)); + if(_bitSync) { + return(_mod->SPIsetRegValue(RADIOLIB_RF69_REG_DATA_MODUL, RADIOLIB_RF69_CONTINUOUS_MODE_WITH_SYNC, 6, 5)); + } else { + return(_mod->SPIsetRegValue(RADIOLIB_RF69_REG_DATA_MODUL, RADIOLIB_RF69_CONTINUOUS_MODE, 6, 5)); + } } int16_t RF69::packetMode() { @@ -670,11 +674,21 @@ int16_t RF69::disableSyncWordFiltering() { } int16_t RF69::enableContinuousModeBitSync() { - return(_mod->SPIsetRegValue(RADIOLIB_RF69_REG_DATA_MODUL, RADIOLIB_RF69_CONTINUOUS_MODE_WITH_SYNC, 6, 5)); + int16_t state = _mod->SPIsetRegValue(RADIOLIB_RF69_REG_DATA_MODUL, RADIOLIB_RF69_CONTINUOUS_MODE_WITH_SYNC, 6, 5); + if(state == RADIOLIB_ERR_NONE) { + _bitSync = true; + } + + return(state); } int16_t RF69::disableContinuousModeBitSync() { - return(_mod->SPIsetRegValue(RADIOLIB_RF69_REG_DATA_MODUL, RADIOLIB_RF69_CONTINUOUS_MODE, 6, 5)); + int16_t state = _mod->SPIsetRegValue(RADIOLIB_RF69_REG_DATA_MODUL, RADIOLIB_RF69_CONTINUOUS_MODE, 6, 5); + if(state == RADIOLIB_ERR_NONE) { + _bitSync = false; + } + + return(state); } int16_t RF69::setCrcFiltering(bool crcOn) { diff --git a/src/modules/RF69/RF69.h b/src/modules/RF69/RF69.h index 3b313830..34152b0c 100644 --- a/src/modules/RF69/RF69.h +++ b/src/modules/RF69/RF69.h @@ -942,6 +942,8 @@ class RF69: public PhysicalLayer { uint8_t _syncWordLength = 2; + bool _bitSync = true; + int16_t config(); int16_t directMode(); int16_t setPacketMode(uint8_t mode, uint8_t len); diff --git a/src/modules/SX126x/SX126x.cpp b/src/modules/SX126x/SX126x.cpp index bfe9dba5..56eb61b6 100644 --- a/src/modules/SX126x/SX126x.cpp +++ b/src/modules/SX126x/SX126x.cpp @@ -18,11 +18,11 @@ int16_t SX126x::begin(uint8_t cr, uint8_t syncWord, uint16_t preambleLength, flo // BW in kHz and SF are required in order to calculate LDRO for setModulationParams // set the defaults, this will get overwritten later anyway - _bwKhz = 125.0; + _bwKhz = 500.0; _sf = 9; // initialize configuration variables (will be overwritten during public settings configuration) - _bw = RADIOLIB_SX126X_LORA_BW_125_0; + _bw = RADIOLIB_SX126X_LORA_BW_500_0; // initialized to 500 kHz, since lower valeus will interfere with LLCC68 _cr = RADIOLIB_SX126X_LORA_CR_4_7; _ldro = 0x00; _crcType = RADIOLIB_SX126X_LORA_CRC_ON; @@ -1424,7 +1424,8 @@ int16_t SX126x::setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t } else { _ldro = ldro; } - + // 500/9/8 - 0x09 0x04 0x03 0x00 - SF9, BW125, 4/8 + // 500/11/8 - 0x0B 0x04 0x03 0x00 - SF11 BW125, 4/7 uint8_t data[4] = {sf, bw, cr, _ldro}; return(SPIwriteCommand(RADIOLIB_SX126X_CMD_SET_MODULATION_PARAMS, data, 4)); }