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

pull/500/head
James Smith 2022-03-28 17:20:13 -07:00
commit 77fa0e83c0
4 zmienionych plików z 25 dodań i 8 usunięć

Wyświetl plik

@ -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

Wyświetl plik

@ -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) {

Wyświetl plik

@ -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);

Wyświetl plik

@ -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));
}