Merge remote-tracking branch 'upstream/master' into rf69-ook-rxbw

This commit is contained in:
James Smith 2022-03-28 17:20:13 -07:00
commit 77fa0e83c0
4 changed files with 25 additions and 8 deletions

View file

@ -81,11 +81,11 @@ int16_t CC1101::begin(float freq, float br, float freqDev, float rxBw, int8_t po
RADIOLIB_ASSERT(state); RADIOLIB_ASSERT(state);
// set default data shaping // set default data shaping
state = setDataShaping(RADIOLIB_ENCODING_NRZ); state = setDataShaping(RADIOLIB_SHAPING_NONE);
RADIOLIB_ASSERT(state); RADIOLIB_ASSERT(state);
// set default encoding // set default encoding
state = setEncoding(RADIOLIB_SHAPING_NONE); state = setEncoding(RADIOLIB_ENCODING_NRZ);
RADIOLIB_ASSERT(state); RADIOLIB_ASSERT(state);
// set default sync word // set default sync word

View file

@ -227,7 +227,11 @@ int16_t RF69::directMode() {
RADIOLIB_ASSERT(state); RADIOLIB_ASSERT(state);
// set continuous mode // 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() { int16_t RF69::packetMode() {
@ -670,11 +674,21 @@ int16_t RF69::disableSyncWordFiltering() {
} }
int16_t RF69::enableContinuousModeBitSync() { 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() { 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) { int16_t RF69::setCrcFiltering(bool crcOn) {

View file

@ -942,6 +942,8 @@ class RF69: public PhysicalLayer {
uint8_t _syncWordLength = 2; uint8_t _syncWordLength = 2;
bool _bitSync = true;
int16_t config(); int16_t config();
int16_t directMode(); int16_t directMode();
int16_t setPacketMode(uint8_t mode, uint8_t len); int16_t setPacketMode(uint8_t mode, uint8_t len);

View file

@ -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 // BW in kHz and SF are required in order to calculate LDRO for setModulationParams
// set the defaults, this will get overwritten later anyway // set the defaults, this will get overwritten later anyway
_bwKhz = 125.0; _bwKhz = 500.0;
_sf = 9; _sf = 9;
// initialize configuration variables (will be overwritten during public settings configuration) // 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; _cr = RADIOLIB_SX126X_LORA_CR_4_7;
_ldro = 0x00; _ldro = 0x00;
_crcType = RADIOLIB_SX126X_LORA_CRC_ON; _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 { } else {
_ldro = ldro; _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}; uint8_t data[4] = {sf, bw, cr, _ldro};
return(SPIwriteCommand(RADIOLIB_SX126X_CMD_SET_MODULATION_PARAMS, data, 4)); return(SPIwriteCommand(RADIOLIB_SX126X_CMD_SET_MODULATION_PARAMS, data, 4));
} }