diff --git a/examples/simple_repeater/MyMesh.cpp b/examples/simple_repeater/MyMesh.cpp index 65e0cee5..efdc63ea 100644 --- a/examples/simple_repeater/MyMesh.cpp +++ b/examples/simple_repeater/MyMesh.cpp @@ -801,6 +801,14 @@ MyMesh::MyMesh(mesh::MainBoard &board, mesh::Radio &radio, mesh::MillisecondCloc _prefs.advert_loc_policy = ADVERT_LOC_PREFS; _prefs.adc_multiplier = 0.0f; // 0.0f means use default board multiplier + +#if defined(USE_SX1262) || defined(USE_SX1268) +#ifdef SX126X_RX_BOOSTED_GAIN + _prefs.sx126x_rx_boosted_gain = SX126X_RX_BOOSTED_GAIN; +#else + _prefs.sx126x_rx_boosted_gain = 1; // enabled by default; +#endif +#endif } void MyMesh::begin(FILESYSTEM *fs) { @@ -821,6 +829,12 @@ void MyMesh::begin(FILESYSTEM *fs) { radio_set_params(_prefs.freq, _prefs.bw, _prefs.sf, _prefs.cr); radio_set_tx_power(_prefs.tx_power_dbm); +#if defined(USE_SX1262) || defined(USE_SX1268) + radio_set_rx_boosted_gain_mode(_prefs.sx126x_rx_boosted_gain); + MESH_DEBUG_PRINTLN("SX126x RX Boosted Gain Mode: %s", + radio_get_rx_boosted_gain_mode() ? "Enabled" : "Disabled"); +#endif + updateAdvertTimer(); updateFloodAdvertTimer(); diff --git a/examples/simple_repeater/MyMesh.h b/examples/simple_repeater/MyMesh.h index 7a51b4a9..4988bdfd 100644 --- a/examples/simple_repeater/MyMesh.h +++ b/examples/simple_repeater/MyMesh.h @@ -234,4 +234,10 @@ public: // To check if there is pending work bool hasPendingWork() const; + +#if defined(USE_SX1262) || defined(USE_SX1268) + void setRxBoostedGain(bool enable) override { + radio_set_rx_boosted_gain_mode(enable); + } +#endif }; diff --git a/src/helpers/CommonCLI.cpp b/src/helpers/CommonCLI.cpp index 6dcf7018..67f56714 100644 --- a/src/helpers/CommonCLI.cpp +++ b/src/helpers/CommonCLI.cpp @@ -51,19 +51,20 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) { file.read((uint8_t *)&_prefs->tx_power_dbm, sizeof(_prefs->tx_power_dbm)); // 76 file.read((uint8_t *)&_prefs->disable_fwd, sizeof(_prefs->disable_fwd)); // 77 file.read((uint8_t *)&_prefs->advert_interval, sizeof(_prefs->advert_interval)); // 78 - file.read((uint8_t *)pad, 1); // 79 was 'unused' + file.read((uint8_t *)pad, 1); // 79 : 1 byte unused file.read((uint8_t *)&_prefs->rx_delay_base, sizeof(_prefs->rx_delay_base)); // 80 file.read((uint8_t *)&_prefs->tx_delay_factor, sizeof(_prefs->tx_delay_factor)); // 84 file.read((uint8_t *)&_prefs->guest_password[0], sizeof(_prefs->guest_password)); // 88 file.read((uint8_t *)&_prefs->direct_tx_delay_factor, sizeof(_prefs->direct_tx_delay_factor)); // 104 - file.read(pad, 4); // 108 + file.read(pad, 4); // 108 : 4 bytes unused file.read((uint8_t *)&_prefs->sf, sizeof(_prefs->sf)); // 112 file.read((uint8_t *)&_prefs->cr, sizeof(_prefs->cr)); // 113 file.read((uint8_t *)&_prefs->allow_read_only, sizeof(_prefs->allow_read_only)); // 114 file.read((uint8_t *)&_prefs->multi_acks, sizeof(_prefs->multi_acks)); // 115 file.read((uint8_t *)&_prefs->bw, sizeof(_prefs->bw)); // 116 file.read((uint8_t *)&_prefs->agc_reset_interval, sizeof(_prefs->agc_reset_interval)); // 120 - file.read(pad, 3); // 121 + file.read((uint8_t *)&_prefs->sx126x_rx_boosted_gain, sizeof(_prefs->sx126x_rx_boosted_gain)); // 121 + file.read(pad, 2); // 122 : 2 byte unused file.read((uint8_t *)&_prefs->flood_max, sizeof(_prefs->flood_max)); // 124 file.read((uint8_t *)&_prefs->flood_advert_interval, sizeof(_prefs->flood_advert_interval)); // 125 file.read((uint8_t *)&_prefs->interference_threshold, sizeof(_prefs->interference_threshold)); // 126 @@ -79,9 +80,9 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) { file.read((uint8_t *)&_prefs->gps_interval, sizeof(_prefs->gps_interval)); // 157 file.read((uint8_t *)&_prefs->advert_loc_policy, sizeof (_prefs->advert_loc_policy)); // 161 file.read((uint8_t *)&_prefs->discovery_mod_timestamp, sizeof(_prefs->discovery_mod_timestamp)); // 162 - file.read((uint8_t *)&_prefs->adc_multiplier, sizeof(_prefs->adc_multiplier)); // 166 - file.read((uint8_t *)_prefs->owner_info, sizeof(_prefs->owner_info)); // 170 - // 290 + file.read((uint8_t *)&_prefs->adc_multiplier, sizeof(_prefs->adc_multiplier)); // 166 + file.read((uint8_t *)_prefs->owner_info, sizeof(_prefs->owner_info)); // 170 + // next: 290 // sanitise bad pref values _prefs->rx_delay_base = constrain(_prefs->rx_delay_base, 0, 20.0f); @@ -108,6 +109,9 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) { _prefs->gps_enabled = constrain(_prefs->gps_enabled, 0, 1); _prefs->advert_loc_policy = constrain(_prefs->advert_loc_policy, 0, 2); + // sanitise settings + _prefs->sx126x_rx_boosted_gain = constrain(_prefs->sx126x_rx_boosted_gain, 0, 1); // boolean + file.close(); } } @@ -135,19 +139,20 @@ void CommonCLI::savePrefs(FILESYSTEM* fs) { file.write((uint8_t *)&_prefs->tx_power_dbm, sizeof(_prefs->tx_power_dbm)); // 76 file.write((uint8_t *)&_prefs->disable_fwd, sizeof(_prefs->disable_fwd)); // 77 file.write((uint8_t *)&_prefs->advert_interval, sizeof(_prefs->advert_interval)); // 78 - file.write((uint8_t *)pad, 1); // 79 was 'unused' + file.write((uint8_t *)pad, 1); // 79 : 1 byte unused file.write((uint8_t *)&_prefs->rx_delay_base, sizeof(_prefs->rx_delay_base)); // 80 file.write((uint8_t *)&_prefs->tx_delay_factor, sizeof(_prefs->tx_delay_factor)); // 84 file.write((uint8_t *)&_prefs->guest_password[0], sizeof(_prefs->guest_password)); // 88 file.write((uint8_t *)&_prefs->direct_tx_delay_factor, sizeof(_prefs->direct_tx_delay_factor)); // 104 - file.write(pad, 4); // 108 + file.write(pad, 4); // 108 : 4 byte unused file.write((uint8_t *)&_prefs->sf, sizeof(_prefs->sf)); // 112 file.write((uint8_t *)&_prefs->cr, sizeof(_prefs->cr)); // 113 file.write((uint8_t *)&_prefs->allow_read_only, sizeof(_prefs->allow_read_only)); // 114 file.write((uint8_t *)&_prefs->multi_acks, sizeof(_prefs->multi_acks)); // 115 file.write((uint8_t *)&_prefs->bw, sizeof(_prefs->bw)); // 116 file.write((uint8_t *)&_prefs->agc_reset_interval, sizeof(_prefs->agc_reset_interval)); // 120 - file.write(pad, 3); // 121 + file.write((uint8_t *)&_prefs->sx126x_rx_boosted_gain, sizeof(_prefs->sx126x_rx_boosted_gain)); // 121 + file.write(pad, 2); // 122 : 2 byte unused file.write((uint8_t *)&_prefs->flood_max, sizeof(_prefs->flood_max)); // 124 file.write((uint8_t *)&_prefs->flood_advert_interval, sizeof(_prefs->flood_advert_interval)); // 125 file.write((uint8_t *)&_prefs->interference_threshold, sizeof(_prefs->interference_threshold)); // 126 @@ -164,8 +169,8 @@ void CommonCLI::savePrefs(FILESYSTEM* fs) { file.write((uint8_t *)&_prefs->advert_loc_policy, sizeof(_prefs->advert_loc_policy)); // 161 file.write((uint8_t *)&_prefs->discovery_mod_timestamp, sizeof(_prefs->discovery_mod_timestamp)); // 162 file.write((uint8_t *)&_prefs->adc_multiplier, sizeof(_prefs->adc_multiplier)); // 166 - file.write((uint8_t *)_prefs->owner_info, sizeof(_prefs->owner_info)); // 170 - // 290 + file.write((uint8_t *)_prefs->owner_info, sizeof(_prefs->owner_info)); // 170 + // next: 290 file.close(); } @@ -303,6 +308,10 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, const char* command, ch sprintf(reply, "> %s", StrHelper::ftoa(_prefs->node_lat)); } else if (memcmp(config, "lon", 3) == 0) { sprintf(reply, "> %s", StrHelper::ftoa(_prefs->node_lon)); +#if defined(USE_SX1262) || defined(USE_SX1268) + } else if (memcmp(config, "radio.lna", 9) == 0) { + sprintf(reply, "> %s", _prefs->sx126x_rx_boosted_gain ? "on" : "off"); +#endif } else if (memcmp(config, "radio", 5) == 0) { char freq[16], bw[16]; strcpy(freq, StrHelper::ftoa(_prefs->freq)); @@ -473,6 +482,13 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, const char* command, ch _prefs->disable_fwd = memcmp(&config[7], "off", 3) == 0; savePrefs(); strcpy(reply, _prefs->disable_fwd ? "OK - repeat is now OFF" : "OK - repeat is now ON"); +#if defined(USE_SX1262) || defined(USE_SX1268) + } else if (memcmp(config, "radio.lna ", 10) == 0) { + _prefs->sx126x_rx_boosted_gain = memcmp(&config[10], "on", 2) == 0; + strcpy(reply, "OK"); + savePrefs(); + _callbacks->setRxBoostedGain(_prefs->sx126x_rx_boosted_gain); +#endif } else if (memcmp(config, "radio ", 6) == 0) { strcpy(tmp, &config[6]); const char *parts[4]; diff --git a/src/helpers/CommonCLI.h b/src/helpers/CommonCLI.h index 146e1c6e..e750fd2e 100644 --- a/src/helpers/CommonCLI.h +++ b/src/helpers/CommonCLI.h @@ -52,6 +52,8 @@ struct NodePrefs { // persisted to file uint32_t discovery_mod_timestamp; float adc_multiplier; char owner_info[120]; + // Power settings + uint8_t sx126x_rx_boosted_gain; }; class CommonCLICallbacks { @@ -87,6 +89,10 @@ public: virtual void restartBridge() { // no op by default }; + + virtual void setRxBoostedGain(bool enable) { + // no op by default + }; }; class CommonCLI { diff --git a/src/helpers/radiolib/CustomSX1262.h b/src/helpers/radiolib/CustomSX1262.h index be6812c6..e02f21c0 100644 --- a/src/helpers/radiolib/CustomSX1262.h +++ b/src/helpers/radiolib/CustomSX1262.h @@ -2,7 +2,7 @@ #include -#define SX126X_IRQ_HEADER_VALID 0b0000010000 // 4 4 valid LoRa header received +#define SX126X_IRQ_HEADER_VALID 0b0000010000 // 4 4 valid LoRa header received #define SX126X_IRQ_PREAMBLE_DETECTED 0x04 class CustomSX1262 : public SX1262 { @@ -92,4 +92,10 @@ class CustomSX1262 : public SX1262 { bool detected = (irq & SX126X_IRQ_HEADER_VALID) || (irq & SX126X_IRQ_PREAMBLE_DETECTED); return detected; } + + uint8_t getRxBoostedGainMode() { + uint8_t rxGain = 0; + readRegister(RADIOLIB_SX126X_REG_RX_GAIN, &rxGain, 1); + return rxGain; + } }; \ No newline at end of file diff --git a/src/helpers/radiolib/CustomSX1262Wrapper.h b/src/helpers/radiolib/CustomSX1262Wrapper.h index 1afee5e8..90243970 100644 --- a/src/helpers/radiolib/CustomSX1262Wrapper.h +++ b/src/helpers/radiolib/CustomSX1262Wrapper.h @@ -3,6 +3,10 @@ #include "CustomSX1262.h" #include "RadioLibWrappers.h" +#ifndef USE_SX1262 +#define USE_SX1262 +#endif + class CustomSX1262Wrapper : public RadioLibWrapper { public: CustomSX1262Wrapper(CustomSX1262& radio, mesh::MainBoard& board) : RadioLibWrapper(radio, board) { } diff --git a/src/helpers/radiolib/CustomSX1268.h b/src/helpers/radiolib/CustomSX1268.h index 1e2e2620..4187c8e4 100644 --- a/src/helpers/radiolib/CustomSX1268.h +++ b/src/helpers/radiolib/CustomSX1268.h @@ -2,7 +2,7 @@ #include -#define SX126X_IRQ_HEADER_VALID 0b0000010000 // 4 4 valid LoRa header received +#define SX126X_IRQ_HEADER_VALID 0b0000010000 // 4 4 valid LoRa header received #define SX126X_IRQ_PREAMBLE_DETECTED 0x04 class CustomSX1268 : public SX1268 { @@ -84,4 +84,10 @@ class CustomSX1268 : public SX1268 { bool detected = (irq & SX126X_IRQ_HEADER_VALID) || (irq & SX126X_IRQ_PREAMBLE_DETECTED); return detected; } + + uint8_t getRxBoostedGainMode() { + uint8_t rxGain = 0; + readRegister(RADIOLIB_SX126X_REG_RX_GAIN, &rxGain, 1); + return rxGain; + } }; \ No newline at end of file diff --git a/src/helpers/radiolib/CustomSX1268Wrapper.h b/src/helpers/radiolib/CustomSX1268Wrapper.h index 5d7106b4..410b3665 100644 --- a/src/helpers/radiolib/CustomSX1268Wrapper.h +++ b/src/helpers/radiolib/CustomSX1268Wrapper.h @@ -3,6 +3,10 @@ #include "CustomSX1268.h" #include "RadioLibWrappers.h" +#ifndef USE_SX1268 +#define USE_SX1268 +#endif + class CustomSX1268Wrapper : public RadioLibWrapper { public: CustomSX1268Wrapper(CustomSX1268& radio, mesh::MainBoard& board) : RadioLibWrapper(radio, board) { } diff --git a/src/helpers/radiolib/CustomSX1276Wrapper.h b/src/helpers/radiolib/CustomSX1276Wrapper.h index 28257990..5cde72f7 100644 --- a/src/helpers/radiolib/CustomSX1276Wrapper.h +++ b/src/helpers/radiolib/CustomSX1276Wrapper.h @@ -3,6 +3,10 @@ #include "CustomSX1276.h" #include "RadioLibWrappers.h" +#ifndef USE_SX1276 +#define USE_SX1276 +#endif + class CustomSX1276Wrapper : public RadioLibWrapper { public: CustomSX1276Wrapper(CustomSX1276& radio, mesh::MainBoard& board) : RadioLibWrapper(radio, board) { } diff --git a/variants/ebyte_eora_s3/platformio.ini b/variants/ebyte_eora_s3/platformio.ini index bdf6bba3..d807b978 100644 --- a/variants/ebyte_eora_s3/platformio.ini +++ b/variants/ebyte_eora_s3/platformio.ini @@ -30,6 +30,7 @@ build_flags = -D SX126X_DIO2_AS_RF_SWITCH=true -D SX126X_DIO3_TCXO_VOLTAGE=1.8 -D SX126X_CURRENT_LIMIT=140 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/ebyte_eora_s3/target.cpp b/variants/ebyte_eora_s3/target.cpp index 501f560b..4e3eeeb6 100644 --- a/variants/ebyte_eora_s3/target.cpp +++ b/variants/ebyte_eora_s3/target.cpp @@ -83,3 +83,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/ebyte_eora_s3/target.h b/variants/ebyte_eora_s3/target.h index 892c3de3..553326f9 100644 --- a/variants/ebyte_eora_s3/target.h +++ b/variants/ebyte_eora_s3/target.h @@ -27,3 +27,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/generic-e22/platformio.ini b/variants/generic-e22/platformio.ini index 6b7bfd4e..8652d4c1 100644 --- a/variants/generic-e22/platformio.ini +++ b/variants/generic-e22/platformio.ini @@ -33,6 +33,7 @@ build_src_filter = ${Generic_E22.build_src_filter} +<../examples/simple_repeater/*.cpp> build_flags = ${Generic_E22.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 @@ -79,6 +80,7 @@ build_src_filter = ${Generic_E22.build_src_filter} +<../examples/simple_repeater/*.cpp> build_flags = ${Generic_E22.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 @@ -101,6 +103,7 @@ build_src_filter = ${Generic_E22.build_src_filter} +<../examples/simple_repeater/*.cpp> build_flags = ${Generic_E22.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1268 -D WRAPPER_CLASS=CustomSX1268Wrapper -D LORA_TX_POWER=22 @@ -147,6 +150,7 @@ build_src_filter = ${Generic_E22.build_src_filter} +<../examples/simple_repeater/*.cpp> build_flags = ${Generic_E22.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1268 -D WRAPPER_CLASS=CustomSX1268Wrapper -D LORA_TX_POWER=22 diff --git a/variants/generic-e22/target.cpp b/variants/generic-e22/target.cpp index f76bb979..bfd97167 100644 --- a/variants/generic-e22/target.cpp +++ b/variants/generic-e22/target.cpp @@ -46,3 +46,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/generic-e22/target.h b/variants/generic-e22/target.h index 5ad13054..30c2c86a 100644 --- a/variants/generic-e22/target.h +++ b/variants/generic-e22/target.h @@ -19,3 +19,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/heltec_ct62/platformio.ini b/variants/heltec_ct62/platformio.ini index 1f2e330a..910385ec 100644 --- a/variants/heltec_ct62/platformio.ini +++ b/variants/heltec_ct62/platformio.ini @@ -5,6 +5,7 @@ build_flags = ${esp32_base.build_flags} -I variants/heltec_ct62 -D HELTEC_HT_CT62=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D ESP32_CPU_FREQ=80 diff --git a/variants/heltec_ct62/target.cpp b/variants/heltec_ct62/target.cpp index 5cc621a1..1c6c2708 100644 --- a/variants/heltec_ct62/target.cpp +++ b/variants/heltec_ct62/target.cpp @@ -34,4 +34,14 @@ void radio_set_tx_power(int8_t dbm) { mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity -} \ No newline at end of file +} + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/heltec_ct62/target.h b/variants/heltec_ct62/target.h index 34130ae7..1ba2fdbf 100644 --- a/variants/heltec_ct62/target.h +++ b/variants/heltec_ct62/target.h @@ -17,4 +17,9 @@ bool radio_init(); uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); -mesh::LocalIdentity radio_new_identity(); \ No newline at end of file +mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/heltec_e213/platformio.ini b/variants/heltec_e213/platformio.ini index caba3a30..a9f54137 100644 --- a/variants/heltec_e213/platformio.ini +++ b/variants/heltec_e213/platformio.ini @@ -6,6 +6,7 @@ build_flags = -I variants/heltec_e213 -D Vision_Master_E213 -D ARDUINO_USB_CDC_ON_BOOT=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=14 diff --git a/variants/heltec_e213/target.cpp b/variants/heltec_e213/target.cpp index c9233431..d7a14b58 100644 --- a/variants/heltec_e213/target.cpp +++ b/variants/heltec_e213/target.cpp @@ -52,3 +52,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/heltec_e213/target.h b/variants/heltec_e213/target.h index 14969c0f..054d6269 100644 --- a/variants/heltec_e213/target.h +++ b/variants/heltec_e213/target.h @@ -26,4 +26,9 @@ bool radio_init(); uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); -mesh::LocalIdentity radio_new_identity(); \ No newline at end of file +mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/heltec_e290/platformio.ini b/variants/heltec_e290/platformio.ini index 0c07c592..1d08b63a 100644 --- a/variants/heltec_e290/platformio.ini +++ b/variants/heltec_e290/platformio.ini @@ -6,6 +6,7 @@ build_flags = -I variants/heltec_e290 -D Vision_Master_E290 -D ARDUINO_USB_CDC_ON_BOOT=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/heltec_e290/target.cpp b/variants/heltec_e290/target.cpp index b0c9630c..bf40f1de 100644 --- a/variants/heltec_e290/target.cpp +++ b/variants/heltec_e290/target.cpp @@ -52,3 +52,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/heltec_e290/target.h b/variants/heltec_e290/target.h index 5d423fc0..8c60b014 100644 --- a/variants/heltec_e290/target.h +++ b/variants/heltec_e290/target.h @@ -26,4 +26,9 @@ bool radio_init(); uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); -mesh::LocalIdentity radio_new_identity(); \ No newline at end of file +mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/heltec_mesh_solar/platformio.ini b/variants/heltec_mesh_solar/platformio.ini index 7bfbac85..abe1148c 100644 --- a/variants/heltec_mesh_solar/platformio.ini +++ b/variants/heltec_mesh_solar/platformio.ini @@ -9,6 +9,7 @@ build_flags = ${nrf52_base.build_flags} -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52 -I variants/heltec_mesh_solar -D HELTEC_MESH_SOLAR + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/heltec_mesh_solar/target.cpp b/variants/heltec_mesh_solar/target.cpp index 9852b68f..91865fb0 100644 --- a/variants/heltec_mesh_solar/target.cpp +++ b/variants/heltec_mesh_solar/target.cpp @@ -121,3 +121,13 @@ bool SolarSensorManager::setSettingValue(const char* name, const char* value) { } return false; // not supported } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/heltec_mesh_solar/target.h b/variants/heltec_mesh_solar/target.h index f1921abf..8463c541 100644 --- a/variants/heltec_mesh_solar/target.h +++ b/variants/heltec_mesh_solar/target.h @@ -44,3 +44,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/heltec_t114/platformio.ini b/variants/heltec_t114/platformio.ini index b985030f..62f804f0 100644 --- a/variants/heltec_t114/platformio.ini +++ b/variants/heltec_t114/platformio.ini @@ -21,6 +21,7 @@ build_flags = ${nrf52_base.build_flags} -D P_LORA_MISO=23 -D P_LORA_MOSI=22 -D P_LORA_TX_LED=35 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/heltec_t114/target.cpp b/variants/heltec_t114/target.cpp index 6a30a4d1..24df2b47 100644 --- a/variants/heltec_t114/target.cpp +++ b/variants/heltec_t114/target.cpp @@ -62,3 +62,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/heltec_t114/target.h b/variants/heltec_t114/target.h index 612161fe..2a8f3e57 100644 --- a/variants/heltec_t114/target.h +++ b/variants/heltec_t114/target.h @@ -33,3 +33,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/heltec_t190/platformio.ini b/variants/heltec_t190/platformio.ini index 8d21c523..4b034032 100644 --- a/variants/heltec_t190/platformio.ini +++ b/variants/heltec_t190/platformio.ini @@ -6,6 +6,7 @@ build_flags = -I variants/heltec_t190 -I src/helpers/ui -D HELTEC_VISION_MASTER_T190 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=14 diff --git a/variants/heltec_t190/target.cpp b/variants/heltec_t190/target.cpp index d22f8b8c..2fea3e13 100644 --- a/variants/heltec_t190/target.cpp +++ b/variants/heltec_t190/target.cpp @@ -52,3 +52,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/heltec_t190/target.h b/variants/heltec_t190/target.h index 83e03570..b378a516 100644 --- a/variants/heltec_t190/target.h +++ b/variants/heltec_t190/target.h @@ -26,4 +26,9 @@ bool radio_init(); uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); -mesh::LocalIdentity radio_new_identity(); \ No newline at end of file +mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/heltec_tracker/platformio.ini b/variants/heltec_tracker/platformio.ini index 797eafdc..4d549790 100644 --- a/variants/heltec_tracker/platformio.ini +++ b/variants/heltec_tracker/platformio.ini @@ -14,6 +14,7 @@ build_flags = -D P_LORA_SCLK=9 -D P_LORA_MISO=11 -D P_LORA_MOSI=10 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/heltec_tracker/target.cpp b/variants/heltec_tracker/target.cpp index 25c2634b..88dfa0c5 100644 --- a/variants/heltec_tracker/target.cpp +++ b/variants/heltec_tracker/target.cpp @@ -124,3 +124,13 @@ bool HWTSensorManager::setSettingValue(const char* name, const char* value) { } return false; // not supported } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/heltec_tracker/target.h b/variants/heltec_tracker/target.h index 5296fb2c..2bfc7faa 100644 --- a/variants/heltec_tracker/target.h +++ b/variants/heltec_tracker/target.h @@ -45,3 +45,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/heltec_tracker_v2/platformio.ini b/variants/heltec_tracker_v2/platformio.ini index 36de671e..b520e342 100644 --- a/variants/heltec_tracker_v2/platformio.ini +++ b/variants/heltec_tracker_v2/platformio.ini @@ -7,6 +7,7 @@ build_flags = -I variants/heltec_tracker_v2 -D HELTEC_TRACKER_V2 -D ESP32_CPU_FREQ=160 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_TX_LED=18 diff --git a/variants/heltec_tracker_v2/target.cpp b/variants/heltec_tracker_v2/target.cpp index c2e26b20..90426135 100644 --- a/variants/heltec_tracker_v2/target.cpp +++ b/variants/heltec_tracker_v2/target.cpp @@ -58,3 +58,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/heltec_tracker_v2/target.h b/variants/heltec_tracker_v2/target.h index 5b799e78..042d6127 100644 --- a/variants/heltec_tracker_v2/target.h +++ b/variants/heltec_tracker_v2/target.h @@ -28,3 +28,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/heltec_v2/target.cpp b/variants/heltec_v2/target.cpp index c5a04752..2dfb4c6e 100644 --- a/variants/heltec_v2/target.cpp +++ b/variants/heltec_v2/target.cpp @@ -50,4 +50,4 @@ void radio_set_tx_power(int8_t dbm) { mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity -} +} \ No newline at end of file diff --git a/variants/heltec_v2/target.h b/variants/heltec_v2/target.h index 788dac72..76f34b70 100644 --- a/variants/heltec_v2/target.h +++ b/variants/heltec_v2/target.h @@ -27,3 +27,5 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +bool radio_get_rx_boosted_gain_mode(); diff --git a/variants/heltec_v3/platformio.ini b/variants/heltec_v3/platformio.ini index 4d299104..803ee683 100644 --- a/variants/heltec_v3/platformio.ini +++ b/variants/heltec_v3/platformio.ini @@ -14,6 +14,7 @@ build_flags = -D P_LORA_SCLK=9 -D P_LORA_MISO=11 -D P_LORA_MOSI=10 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/heltec_v3/target.cpp b/variants/heltec_v3/target.cpp index cdd2535e..c4dd09cb 100644 --- a/variants/heltec_v3/target.cpp +++ b/variants/heltec_v3/target.cpp @@ -58,3 +58,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/heltec_v3/target.h b/variants/heltec_v3/target.h index 21a209f9..6371d1a4 100644 --- a/variants/heltec_v3/target.h +++ b/variants/heltec_v3/target.h @@ -28,3 +28,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/heltec_v4/platformio.ini b/variants/heltec_v4/platformio.ini index c5011e0e..2d2766c5 100644 --- a/variants/heltec_v4/platformio.ini +++ b/variants/heltec_v4/platformio.ini @@ -7,6 +7,7 @@ build_flags = -I variants/heltec_v4 -D HELTEC_LORA_V4 -D ESP32_CPU_FREQ=80 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_TX_LED=35 diff --git a/variants/heltec_v4/target.cpp b/variants/heltec_v4/target.cpp index f971cc60..7afed3db 100644 --- a/variants/heltec_v4/target.cpp +++ b/variants/heltec_v4/target.cpp @@ -58,3 +58,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/heltec_v4/target.h b/variants/heltec_v4/target.h index 5016588d..f95da39f 100644 --- a/variants/heltec_v4/target.h +++ b/variants/heltec_v4/target.h @@ -32,3 +32,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/heltec_wireless_paper/platformio.ini b/variants/heltec_wireless_paper/platformio.ini index f0bca860..1a913a43 100644 --- a/variants/heltec_wireless_paper/platformio.ini +++ b/variants/heltec_wireless_paper/platformio.ini @@ -13,6 +13,7 @@ build_flags = -D P_LORA_SCLK=9 -D P_LORA_MISO=11 -D P_LORA_MOSI=10 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/heltec_wireless_paper/target.cpp b/variants/heltec_wireless_paper/target.cpp index 06f548fc..a12d61c1 100644 --- a/variants/heltec_wireless_paper/target.cpp +++ b/variants/heltec_wireless_paper/target.cpp @@ -51,3 +51,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/heltec_wireless_paper/target.h b/variants/heltec_wireless_paper/target.h index 65739e77..1150d153 100644 --- a/variants/heltec_wireless_paper/target.h +++ b/variants/heltec_wireless_paper/target.h @@ -26,4 +26,9 @@ bool radio_init(); uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); -mesh::LocalIdentity radio_new_identity(); \ No newline at end of file +mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/ikoka_handheld_nrf/platformio.ini b/variants/ikoka_handheld_nrf/platformio.ini index d2bbeffe..2b2ff9ba 100644 --- a/variants/ikoka_handheld_nrf/platformio.ini +++ b/variants/ikoka_handheld_nrf/platformio.ini @@ -7,6 +7,7 @@ build_flags = ${nrf52_base.build_flags} -I variants/ikoka_handheld_nrf -UENV_INCLUDE_GPS -D IKOKA_NRF52 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_TX_LED=11 diff --git a/variants/ikoka_handheld_nrf/target.cpp b/variants/ikoka_handheld_nrf/target.cpp index 48244e17..a644f38c 100644 --- a/variants/ikoka_handheld_nrf/target.cpp +++ b/variants/ikoka_handheld_nrf/target.cpp @@ -44,3 +44,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/ikoka_handheld_nrf/target.h b/variants/ikoka_handheld_nrf/target.h index d4af956e..aeaeccea 100644 --- a/variants/ikoka_handheld_nrf/target.h +++ b/variants/ikoka_handheld_nrf/target.h @@ -27,3 +27,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/ikoka_nano_nrf/platformio.ini b/variants/ikoka_nano_nrf/platformio.ini index 08b1101b..0edfbc72 100644 --- a/variants/ikoka_nano_nrf/platformio.ini +++ b/variants/ikoka_nano_nrf/platformio.ini @@ -11,6 +11,7 @@ build_flags = ${nrf52_base.build_flags} -I src/helpers/nrf52 -D P_LORA_TX_LED=11 -D DISPLAY_CLASS=NullDisplayDriver + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=D1 diff --git a/variants/ikoka_nano_nrf/target.cpp b/variants/ikoka_nano_nrf/target.cpp index be20cfb4..9ca647d2 100644 --- a/variants/ikoka_nano_nrf/target.cpp +++ b/variants/ikoka_nano_nrf/target.cpp @@ -42,3 +42,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/ikoka_nano_nrf/target.h b/variants/ikoka_nano_nrf/target.h index 7949ab63..40af8d15 100644 --- a/variants/ikoka_nano_nrf/target.h +++ b/variants/ikoka_nano_nrf/target.h @@ -26,3 +26,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/ikoka_stick_nrf/platformio.ini b/variants/ikoka_stick_nrf/platformio.ini index 2e43b700..2fbafd2a 100644 --- a/variants/ikoka_stick_nrf/platformio.ini +++ b/variants/ikoka_stick_nrf/platformio.ini @@ -12,6 +12,7 @@ build_flags = ${nrf52_base.build_flags} -D P_LORA_TX_LED=11 -D DISPLAY_CLASS=SSD1306Display -D DISPLAY_ROTATION=2 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=D1 diff --git a/variants/ikoka_stick_nrf/target.cpp b/variants/ikoka_stick_nrf/target.cpp index 4f6befc6..d1192726 100644 --- a/variants/ikoka_stick_nrf/target.cpp +++ b/variants/ikoka_stick_nrf/target.cpp @@ -42,3 +42,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/ikoka_stick_nrf/target.h b/variants/ikoka_stick_nrf/target.h index fab82592..678db255 100644 --- a/variants/ikoka_stick_nrf/target.h +++ b/variants/ikoka_stick_nrf/target.h @@ -26,3 +26,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/keepteen_lt1/platformio.ini b/variants/keepteen_lt1/platformio.ini index cb3ea9c8..b82ceb7e 100644 --- a/variants/keepteen_lt1/platformio.ini +++ b/variants/keepteen_lt1/platformio.ini @@ -4,6 +4,7 @@ board = keepteen_lt1 build_flags = ${nrf52_base.build_flags} -I variants/keepteen_lt1 -D KEEPTEEN_LT1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/keepteen_lt1/target.cpp b/variants/keepteen_lt1/target.cpp index e2e183a7..504b52c4 100644 --- a/variants/keepteen_lt1/target.cpp +++ b/variants/keepteen_lt1/target.cpp @@ -49,3 +49,13 @@ mesh::LocalIdentity radio_new_identity() { return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif + diff --git a/variants/keepteen_lt1/target.h b/variants/keepteen_lt1/target.h index f2468d34..be485c86 100644 --- a/variants/keepteen_lt1/target.h +++ b/variants/keepteen_lt1/target.h @@ -28,3 +28,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/lilygo_t3s3/platformio.ini b/variants/lilygo_t3s3/platformio.ini index 0f01c9b7..1fefcece 100644 --- a/variants/lilygo_t3s3/platformio.ini +++ b/variants/lilygo_t3s3/platformio.ini @@ -22,6 +22,7 @@ build_flags = -D SX126X_DIO2_AS_RF_SWITCH=true -D SX126X_DIO3_TCXO_VOLTAGE=1.8 -D SX126X_CURRENT_LIMIT=140 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/lilygo_t3s3/target.cpp b/variants/lilygo_t3s3/target.cpp index 28481188..a8bbd313 100644 --- a/variants/lilygo_t3s3/target.cpp +++ b/variants/lilygo_t3s3/target.cpp @@ -46,3 +46,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/lilygo_t3s3/target.h b/variants/lilygo_t3s3/target.h index 892c3de3..2d374c13 100644 --- a/variants/lilygo_t3s3/target.h +++ b/variants/lilygo_t3s3/target.h @@ -27,3 +27,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/lilygo_t3s3_sx1276/target.h b/variants/lilygo_t3s3_sx1276/target.h index 2df4b3ed..99a6da51 100644 --- a/variants/lilygo_t3s3_sx1276/target.h +++ b/variants/lilygo_t3s3_sx1276/target.h @@ -26,4 +26,6 @@ bool radio_init(); uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); -mesh::LocalIdentity radio_new_identity(); \ No newline at end of file +mesh::LocalIdentity radio_new_identity(); + +bool radio_get_rx_boosted_gain_mode(); \ No newline at end of file diff --git a/variants/lilygo_tbeam_1w/platformio.ini b/variants/lilygo_tbeam_1w/platformio.ini index cf17ae8b..40d87c28 100644 --- a/variants/lilygo_tbeam_1w/platformio.ini +++ b/variants/lilygo_tbeam_1w/platformio.ini @@ -8,6 +8,7 @@ build_flags = ; Radio - SX1262 with high-power PA (32dBm max output) ; Note: Set SX1262 output to 22dBm max, external PA provides additional gain + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=1 diff --git a/variants/lilygo_tbeam_1w/target.cpp b/variants/lilygo_tbeam_1w/target.cpp index 8cb6bdfa..53c6f86a 100644 --- a/variants/lilygo_tbeam_1w/target.cpp +++ b/variants/lilygo_tbeam_1w/target.cpp @@ -62,3 +62,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/lilygo_tbeam_1w/target.h b/variants/lilygo_tbeam_1w/target.h index 99a75031..6de76133 100644 --- a/variants/lilygo_tbeam_1w/target.h +++ b/variants/lilygo_tbeam_1w/target.h @@ -25,3 +25,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/lilygo_tbeam_SX1262/platformio.ini b/variants/lilygo_tbeam_SX1262/platformio.ini index 9fb4805f..d3bc7c99 100644 --- a/variants/lilygo_tbeam_SX1262/platformio.ini +++ b/variants/lilygo_tbeam_SX1262/platformio.ini @@ -9,6 +9,7 @@ build_flags = -D SX126X_DIO3_TCXO_VOLTAGE=1.8 -D SX126X_CURRENT_LIMIT=140 -D SX126X_RX_BOOSTED_GAIN=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D DISPLAY_CLASS=SSD1306Display diff --git a/variants/lilygo_tbeam_SX1262/target.cpp b/variants/lilygo_tbeam_SX1262/target.cpp index f85049d7..2ffa8974 100644 --- a/variants/lilygo_tbeam_SX1262/target.cpp +++ b/variants/lilygo_tbeam_SX1262/target.cpp @@ -53,3 +53,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/lilygo_tbeam_SX1262/target.h b/variants/lilygo_tbeam_SX1262/target.h index e5b3e445..684e6afc 100644 --- a/variants/lilygo_tbeam_SX1262/target.h +++ b/variants/lilygo_tbeam_SX1262/target.h @@ -27,3 +27,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/lilygo_tbeam_SX1276/target.cpp b/variants/lilygo_tbeam_SX1276/target.cpp index 5fe82e11..f67b5107 100644 --- a/variants/lilygo_tbeam_SX1276/target.cpp +++ b/variants/lilygo_tbeam_SX1276/target.cpp @@ -57,4 +57,4 @@ void radio_set_tx_power(int8_t dbm) { mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity -} +} \ No newline at end of file diff --git a/variants/lilygo_tbeam_SX1276/target.h b/variants/lilygo_tbeam_SX1276/target.h index cd4480dc..a4552214 100644 --- a/variants/lilygo_tbeam_SX1276/target.h +++ b/variants/lilygo_tbeam_SX1276/target.h @@ -27,3 +27,5 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +bool radio_get_rx_boosted_gain_mode(); \ No newline at end of file diff --git a/variants/lilygo_tbeam_supreme_SX1262/platformio.ini b/variants/lilygo_tbeam_supreme_SX1262/platformio.ini index 2d2a095a..8cf9e68f 100644 --- a/variants/lilygo_tbeam_supreme_SX1262/platformio.ini +++ b/variants/lilygo_tbeam_supreme_SX1262/platformio.ini @@ -7,6 +7,7 @@ build_flags = -D TBEAM_SUPREME_SX1262 -D SX126X_CURRENT_LIMIT=140 -D SX126X_RX_BOOSTED_GAIN=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D DISPLAY_CLASS=SH1106Display diff --git a/variants/lilygo_tbeam_supreme_SX1262/target.cpp b/variants/lilygo_tbeam_supreme_SX1262/target.cpp index 6fec6f58..af9d3f0d 100644 --- a/variants/lilygo_tbeam_supreme_SX1262/target.cpp +++ b/variants/lilygo_tbeam_supreme_SX1262/target.cpp @@ -50,3 +50,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/lilygo_tbeam_supreme_SX1262/target.h b/variants/lilygo_tbeam_supreme_SX1262/target.h index 200a5690..90aad7aa 100644 --- a/variants/lilygo_tbeam_supreme_SX1262/target.h +++ b/variants/lilygo_tbeam_supreme_SX1262/target.h @@ -24,4 +24,9 @@ bool radio_init(); uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); -mesh::LocalIdentity radio_new_identity(); \ No newline at end of file +mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/lilygo_tdeck/platformio.ini b/variants/lilygo_tdeck/platformio.ini index 807663f8..a8408afa 100644 --- a/variants/lilygo_tdeck/platformio.ini +++ b/variants/lilygo_tdeck/platformio.ini @@ -11,6 +11,7 @@ build_flags = -D ARDUINO_USB_CDC_ON_BOOT=1 -D PIN_USER_BTN=0 ; Trackball button -D PIN_PERF_POWERON=10 ; Peripheral power pin + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/lilygo_tdeck/target.cpp b/variants/lilygo_tdeck/target.cpp index 731ecfd8..508a9e92 100644 --- a/variants/lilygo_tdeck/target.cpp +++ b/variants/lilygo_tdeck/target.cpp @@ -52,4 +52,14 @@ void radio_set_tx_power(int8_t dbm) { mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity -} \ No newline at end of file +} + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/lilygo_tdeck/target.h b/variants/lilygo_tdeck/target.h index c31d0d0f..19292bea 100644 --- a/variants/lilygo_tdeck/target.h +++ b/variants/lilygo_tdeck/target.h @@ -28,4 +28,9 @@ bool radio_init(); uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); -mesh::LocalIdentity radio_new_identity(); \ No newline at end of file +mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/lilygo_techo/platformio.ini b/variants/lilygo_techo/platformio.ini index e2172b1d..c963f29d 100644 --- a/variants/lilygo_techo/platformio.ini +++ b/variants/lilygo_techo/platformio.ini @@ -8,6 +8,7 @@ build_flags = ${nrf52_base.build_flags} -I lib/nrf52/s140_nrf52_6.1.1_API/include -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52 -D LILYGO_TECHO + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/lilygo_techo/target.cpp b/variants/lilygo_techo/target.cpp index 12d222ff..c8e54f00 100644 --- a/variants/lilygo_techo/target.cpp +++ b/variants/lilygo_techo/target.cpp @@ -51,3 +51,13 @@ mesh::LocalIdentity radio_new_identity() { return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif + diff --git a/variants/lilygo_techo/target.h b/variants/lilygo_techo/target.h index d978d522..e942cb07 100644 --- a/variants/lilygo_techo/target.h +++ b/variants/lilygo_techo/target.h @@ -29,3 +29,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/lilygo_techo_lite/platformio.ini b/variants/lilygo_techo_lite/platformio.ini index 0ba6a197..463155c0 100644 --- a/variants/lilygo_techo_lite/platformio.ini +++ b/variants/lilygo_techo_lite/platformio.ini @@ -8,6 +8,7 @@ build_flags = ${nrf52_base.build_flags} -I lib/nrf52/s140_nrf52_6.1.1_API/include -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52 -D LILYGO_TECHO + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/lilygo_techo_lite/target.cpp b/variants/lilygo_techo_lite/target.cpp index 40a94526..d35681b6 100644 --- a/variants/lilygo_techo_lite/target.cpp +++ b/variants/lilygo_techo_lite/target.cpp @@ -50,3 +50,13 @@ mesh::LocalIdentity radio_new_identity() { return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif + diff --git a/variants/lilygo_techo_lite/target.h b/variants/lilygo_techo_lite/target.h index d978d522..e942cb07 100644 --- a/variants/lilygo_techo_lite/target.h +++ b/variants/lilygo_techo_lite/target.h @@ -29,3 +29,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/lilygo_tlora_c6/platformio.ini b/variants/lilygo_tlora_c6/platformio.ini index b29cd036..89e63352 100644 --- a/variants/lilygo_tlora_c6/platformio.ini +++ b/variants/lilygo_tlora_c6/platformio.ini @@ -23,6 +23,7 @@ build_flags = -D SX126X_DIO3_TCXO_VOLTAGE=1.8 -D SX126X_CURRENT_LIMIT=140 -D SX126X_RX_BOOSTED_GAIN=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/lilygo_tlora_c6/target.cpp b/variants/lilygo_tlora_c6/target.cpp index 3566fbe4..0d07aeaa 100644 --- a/variants/lilygo_tlora_c6/target.cpp +++ b/variants/lilygo_tlora_c6/target.cpp @@ -46,3 +46,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/lilygo_tlora_c6/target.h b/variants/lilygo_tlora_c6/target.h index 1cb52fbc..fdb62a31 100644 --- a/variants/lilygo_tlora_c6/target.h +++ b/variants/lilygo_tlora_c6/target.h @@ -18,3 +18,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/lilygo_tlora_v2_1/target.cpp b/variants/lilygo_tlora_v2_1/target.cpp index ead62e79..a82c1339 100644 --- a/variants/lilygo_tlora_v2_1/target.cpp +++ b/variants/lilygo_tlora_v2_1/target.cpp @@ -46,4 +46,4 @@ void radio_set_tx_power(int8_t dbm) { mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity -} +} \ No newline at end of file diff --git a/variants/lilygo_tlora_v2_1/target.h b/variants/lilygo_tlora_v2_1/target.h index cb7d861d..d797ae19 100644 --- a/variants/lilygo_tlora_v2_1/target.h +++ b/variants/lilygo_tlora_v2_1/target.h @@ -27,3 +27,5 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +bool radio_get_rx_boosted_gain_mode(); \ No newline at end of file diff --git a/variants/m5stack_unit_c6l/platformio.ini b/variants/m5stack_unit_c6l/platformio.ini index bbfdb4a1..ed84af6c 100644 --- a/variants/m5stack_unit_c6l/platformio.ini +++ b/variants/m5stack_unit_c6l/platformio.ini @@ -22,6 +22,7 @@ build_flags = -D SX126X_DIO3_TCXO_VOLTAGE=1.8 -D SX126X_CURRENT_LIMIT=140 -D SX126X_RX_BOOSTED_GAIN=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/m5stack_unit_c6l/target.h b/variants/m5stack_unit_c6l/target.h index 1f4e9ae3..472ee6a7 100644 --- a/variants/m5stack_unit_c6l/target.h +++ b/variants/m5stack_unit_c6l/target.h @@ -19,3 +19,7 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(uint8_t dbm); mesh::LocalIdentity radio_new_identity(); +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif \ No newline at end of file diff --git a/variants/mesh_pocket/platformio.ini b/variants/mesh_pocket/platformio.ini index 015c2ca4..4750389c 100644 --- a/variants/mesh_pocket/platformio.ini +++ b/variants/mesh_pocket/platformio.ini @@ -9,6 +9,7 @@ build_flags = ${nrf52_base.build_flags} -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52 -I variants/mesh_pocket -D HELTEC_MESH_POCKET + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/mesh_pocket/target.cpp b/variants/mesh_pocket/target.cpp index 6fabb317..63c4e0b2 100644 --- a/variants/mesh_pocket/target.cpp +++ b/variants/mesh_pocket/target.cpp @@ -42,3 +42,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/mesh_pocket/target.h b/variants/mesh_pocket/target.h index 6ab5d9c2..84464cc1 100644 --- a/variants/mesh_pocket/target.h +++ b/variants/mesh_pocket/target.h @@ -31,3 +31,8 @@ mesh::LocalIdentity radio_new_identity(); extern SensorManager sensors; +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif + diff --git a/variants/meshadventurer/platformio.ini b/variants/meshadventurer/platformio.ini index 18b64ac3..31599267 100644 --- a/variants/meshadventurer/platformio.ini +++ b/variants/meshadventurer/platformio.ini @@ -41,6 +41,7 @@ build_src_filter = ${Meshadventurer.build_src_filter} + build_flags = ${Meshadventurer.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 @@ -89,6 +90,7 @@ build_src_filter = ${Meshadventurer.build_src_filter} + build_flags = ${Meshadventurer.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 @@ -112,6 +114,7 @@ build_src_filter = ${Meshadventurer.build_src_filter} + build_flags = ${Meshadventurer.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1268 -D WRAPPER_CLASS=CustomSX1268Wrapper -D LORA_TX_POWER=22 @@ -160,6 +163,7 @@ build_src_filter = ${Meshadventurer.build_src_filter} + build_flags = ${Meshadventurer.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1268 -D WRAPPER_CLASS=CustomSX1268Wrapper -D LORA_TX_POWER=22 @@ -186,6 +190,7 @@ build_src_filter = ${Meshadventurer.build_src_filter} build_flags = ${Meshadventurer.build_flags} -I examples/companion_radio/ui-new + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 @@ -208,6 +213,7 @@ build_src_filter = ${Meshadventurer.build_src_filter} build_flags = ${Meshadventurer.build_flags} -I examples/companion_radio/ui-new + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 @@ -226,6 +232,7 @@ lib_deps = extends = Meshadventurer build_flags = ${Meshadventurer.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 @@ -244,6 +251,7 @@ lib_deps = extends = Meshadventurer build_flags = ${Meshadventurer.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 @@ -271,6 +279,7 @@ build_src_filter = ${Meshadventurer.build_src_filter} build_flags = ${Meshadventurer.build_flags} -I examples/companion_radio/ui-new + -D USE_SX1262 -D RADIO_CLASS=CustomSX1268 -D WRAPPER_CLASS=CustomSX1268Wrapper -D LORA_TX_POWER=22 @@ -293,6 +302,7 @@ build_src_filter = ${Meshadventurer.build_src_filter} build_flags = ${Meshadventurer.build_flags} -I examples/companion_radio/ui-new + -D USE_SX1262 -D RADIO_CLASS=CustomSX1268 -D WRAPPER_CLASS=CustomSX1268Wrapper -D LORA_TX_POWER=22 @@ -311,6 +321,7 @@ lib_deps = extends = Meshadventurer build_flags = ${Meshadventurer.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1268 -D WRAPPER_CLASS=CustomSX1268Wrapper -D LORA_TX_POWER=22 @@ -329,6 +340,7 @@ lib_deps = extends = Meshadventurer build_flags = ${Meshadventurer.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1268 -D WRAPPER_CLASS=CustomSX1268Wrapper -D LORA_TX_POWER=22 diff --git a/variants/meshadventurer/target.cpp b/variants/meshadventurer/target.cpp index 0edd4403..e95c831d 100644 --- a/variants/meshadventurer/target.cpp +++ b/variants/meshadventurer/target.cpp @@ -50,6 +50,16 @@ mesh::LocalIdentity radio_new_identity() { return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif + void MASensorManager::start_gps() { if(!gps_active) { MESH_DEBUG_PRINTLN("starting GPS"); diff --git a/variants/meshadventurer/target.h b/variants/meshadventurer/target.h index 9d1ffca8..0448f768 100644 --- a/variants/meshadventurer/target.h +++ b/variants/meshadventurer/target.h @@ -47,3 +47,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/meshtiny/platformio.ini b/variants/meshtiny/platformio.ini index 14e5c60d..0d5de517 100644 --- a/variants/meshtiny/platformio.ini +++ b/variants/meshtiny/platformio.ini @@ -6,6 +6,7 @@ build_flags = ${nrf52_base.build_flags} -I lib/nrf52/s140_nrf52_6.1.1_API/include -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52 -I variants/meshtiny + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/meshtiny/target.cpp b/variants/meshtiny/target.cpp index 9188db17..11d1884c 100644 --- a/variants/meshtiny/target.cpp +++ b/variants/meshtiny/target.cpp @@ -45,3 +45,12 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/meshtiny/target.h b/variants/meshtiny/target.h index 31f8505d..4df051cb 100644 --- a/variants/meshtiny/target.h +++ b/variants/meshtiny/target.h @@ -31,3 +31,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/nano_g2_ultra/platformio.ini b/variants/nano_g2_ultra/platformio.ini index 116a1f25..8dc91388 100644 --- a/variants/nano_g2_ultra/platformio.ini +++ b/variants/nano_g2_ultra/platformio.ini @@ -17,6 +17,7 @@ board_build.ldscript = boards/nrf52840_s140_v6.ld build_flags = ${nrf52840_g2_ultra.build_flags} -I variants/nano_g2_ultra -D NANO_G2_ULTRA + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/nano_g2_ultra/target.cpp b/variants/nano_g2_ultra/target.cpp index aad10c50..2ebf7aef 100644 --- a/variants/nano_g2_ultra/target.cpp +++ b/variants/nano_g2_ultra/target.cpp @@ -141,3 +141,12 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/nano_g2_ultra/target.h b/variants/nano_g2_ultra/target.h index 6e354127..6d34af5a 100644 --- a/variants/nano_g2_ultra/target.h +++ b/variants/nano_g2_ultra/target.h @@ -47,3 +47,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/nibble_screen_connect/platformio.ini b/variants/nibble_screen_connect/platformio.ini index 0d3d4652..8a4e63ca 100644 --- a/variants/nibble_screen_connect/platformio.ini +++ b/variants/nibble_screen_connect/platformio.ini @@ -22,6 +22,7 @@ build_flags = -D SX126X_DIO2_AS_RF_SWITCH=true -D SX126X_DIO3_TCXO_VOLTAGE=1.8 -D SX126X_CURRENT_LIMIT=140 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/nibble_screen_connect/target.cpp b/variants/nibble_screen_connect/target.cpp index 6edaaad7..7d2d117b 100644 --- a/variants/nibble_screen_connect/target.cpp +++ b/variants/nibble_screen_connect/target.cpp @@ -47,3 +47,13 @@ mesh::LocalIdentity radio_new_identity() { return mesh::LocalIdentity(&rng); } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif + diff --git a/variants/nibble_screen_connect/target.h b/variants/nibble_screen_connect/target.h index f31efb8d..0555c012 100644 --- a/variants/nibble_screen_connect/target.h +++ b/variants/nibble_screen_connect/target.h @@ -28,3 +28,8 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif + diff --git a/variants/promicro/platformio.ini b/variants/promicro/platformio.ini index 15bb5ce6..317537a9 100644 --- a/variants/promicro/platformio.ini +++ b/variants/promicro/platformio.ini @@ -4,6 +4,7 @@ board = promicro_nrf52840 build_flags = ${nrf52_base.build_flags} -I variants/promicro -D PROMICRO + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/promicro/target.cpp b/variants/promicro/target.cpp index 61eab91c..ef4dfc3c 100644 --- a/variants/promicro/target.cpp +++ b/variants/promicro/target.cpp @@ -49,3 +49,13 @@ mesh::LocalIdentity radio_new_identity() { return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif + diff --git a/variants/promicro/target.h b/variants/promicro/target.h index d379927e..5104dcb7 100644 --- a/variants/promicro/target.h +++ b/variants/promicro/target.h @@ -28,3 +28,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/rak11310/platformio.ini b/variants/rak11310/platformio.ini index 950b46ef..d5537627 100644 --- a/variants/rak11310/platformio.ini +++ b/variants/rak11310/platformio.ini @@ -10,6 +10,7 @@ build_flags = ${rp2040_base.build_flags} -D RAK_11310 -D ARDUINO_RAKWIRELESS_RAK11300=1 -D SX126X_CURRENT_LIMIT=140 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=29 diff --git a/variants/rak11310/target.cpp b/variants/rak11310/target.cpp index 67432998..0690a1da 100644 --- a/variants/rak11310/target.cpp +++ b/variants/rak11310/target.cpp @@ -37,3 +37,12 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/rak11310/target.h b/variants/rak11310/target.h index 7c25cd90..5cbba604 100644 --- a/variants/rak11310/target.h +++ b/variants/rak11310/target.h @@ -18,3 +18,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/rak3112/platformio.ini b/variants/rak3112/platformio.ini index bc43ee04..26996ce1 100644 --- a/variants/rak3112/platformio.ini +++ b/variants/rak3112/platformio.ini @@ -14,6 +14,7 @@ build_flags = -D P_LORA_SCLK=5 -D P_LORA_MISO=3 -D P_LORA_MOSI=6 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/rak3112/target.cpp b/variants/rak3112/target.cpp index 6cddfce5..34708484 100644 --- a/variants/rak3112/target.cpp +++ b/variants/rak3112/target.cpp @@ -58,3 +58,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/rak3112/target.h b/variants/rak3112/target.h index e7d85de9..1a6ded39 100644 --- a/variants/rak3112/target.h +++ b/variants/rak3112/target.h @@ -28,3 +28,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/rak3401/platformio.ini b/variants/rak3401/platformio.ini index 7467ceb9..f4bcef05 100644 --- a/variants/rak3401/platformio.ini +++ b/variants/rak3401/platformio.ini @@ -6,6 +6,7 @@ build_flags = ${nrf52_base.build_flags} ${sensor_base.build_flags} -I variants/rak3401 -D RAK_3401 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/rak3401/target.cpp b/variants/rak3401/target.cpp index ec4fc28c..0d08718e 100644 --- a/variants/rak3401/target.cpp +++ b/variants/rak3401/target.cpp @@ -56,3 +56,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/rak3401/target.h b/variants/rak3401/target.h index bb7f5dc4..0b3f1f49 100644 --- a/variants/rak3401/target.h +++ b/variants/rak3401/target.h @@ -28,3 +28,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/rak4631/platformio.ini b/variants/rak4631/platformio.ini index 737ef565..842a1ad1 100644 --- a/variants/rak4631/platformio.ini +++ b/variants/rak4631/platformio.ini @@ -14,6 +14,7 @@ build_flags = ${nrf52_base.build_flags} -D PIN_GPS_RX=PIN_SERIAL1_TX -D PIN_GPS_EN=-1 -D PIN_OLED_RESET=-1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/rak4631/target.cpp b/variants/rak4631/target.cpp index ea6a2bd4..1db72b79 100644 --- a/variants/rak4631/target.cpp +++ b/variants/rak4631/target.cpp @@ -56,3 +56,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/rak4631/target.h b/variants/rak4631/target.h index eeb3e094..6d7c28c4 100644 --- a/variants/rak4631/target.h +++ b/variants/rak4631/target.h @@ -28,3 +28,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/rak_wismesh_tag/platformio.ini b/variants/rak_wismesh_tag/platformio.ini index 081cb0d0..513f76c7 100644 --- a/variants/rak_wismesh_tag/platformio.ini +++ b/variants/rak_wismesh_tag/platformio.ini @@ -16,6 +16,7 @@ build_flags = ${nrf52_base.build_flags} -D P_LORA_SCLK=PIN_SPI_SCK -D P_LORA_MISO=PIN_SPI_MISO -D P_LORA_MOSI=PIN_SPI_MOSI + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D DISPLAY_CLASS=NullDisplayDriver diff --git a/variants/rak_wismesh_tag/target.cpp b/variants/rak_wismesh_tag/target.cpp index 9646375e..bbbaf29c 100644 --- a/variants/rak_wismesh_tag/target.cpp +++ b/variants/rak_wismesh_tag/target.cpp @@ -52,3 +52,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/rak_wismesh_tag/target.h b/variants/rak_wismesh_tag/target.h index a51b3092..15e38fbe 100644 --- a/variants/rak_wismesh_tag/target.h +++ b/variants/rak_wismesh_tag/target.h @@ -25,3 +25,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/rpi_picow/platformio.ini b/variants/rpi_picow/platformio.ini index ec5cdb83..2d261b25 100644 --- a/variants/rpi_picow/platformio.ini +++ b/variants/rpi_picow/platformio.ini @@ -20,6 +20,7 @@ build_flags = ${rp2040_base.build_flags} -D SX126X_CURRENT_LIMIT=130 -D SX126X_RX_BOOSTED_GAIN=1 -D LORA_TX_POWER=22 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper build_src_filter = ${rp2040_base.build_src_filter} diff --git a/variants/rpi_picow/target.cpp b/variants/rpi_picow/target.cpp index e3d4bf09..93191e0f 100644 --- a/variants/rpi_picow/target.cpp +++ b/variants/rpi_picow/target.cpp @@ -37,3 +37,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/rpi_picow/target.h b/variants/rpi_picow/target.h index 706578a4..48a36362 100644 --- a/variants/rpi_picow/target.h +++ b/variants/rpi_picow/target.h @@ -18,3 +18,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/sensecap_solar/platformio.ini b/variants/sensecap_solar/platformio.ini index d4fb7b44..fee10497 100644 --- a/variants/sensecap_solar/platformio.ini +++ b/variants/sensecap_solar/platformio.ini @@ -10,6 +10,7 @@ build_flags = ${nrf52_base.build_flags} -I src/helpers/nrf52 -UENV_INCLUDE_GPS -D NRF52_PLATFORM=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_TX_LED=12 diff --git a/variants/sensecap_solar/target.cpp b/variants/sensecap_solar/target.cpp index 2c2ff0dc..8e04d5ad 100644 --- a/variants/sensecap_solar/target.cpp +++ b/variants/sensecap_solar/target.cpp @@ -37,3 +37,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/sensecap_solar/target.h b/variants/sensecap_solar/target.h index f4a98801..0f03441b 100644 --- a/variants/sensecap_solar/target.h +++ b/variants/sensecap_solar/target.h @@ -19,3 +19,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/station_g2/platformio.ini b/variants/station_g2/platformio.ini index 91ef5f7a..b8fc8786 100644 --- a/variants/station_g2/platformio.ini +++ b/variants/station_g2/platformio.ini @@ -7,6 +7,7 @@ build_flags = -I variants/station_g2 -I src/helpers/ui -D STATION_G2 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=48 diff --git a/variants/station_g2/target.cpp b/variants/station_g2/target.cpp index 026b25de..a748dfa0 100644 --- a/variants/station_g2/target.cpp +++ b/variants/station_g2/target.cpp @@ -59,3 +59,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/station_g2/target.h b/variants/station_g2/target.h index 01428d58..563ff55f 100644 --- a/variants/station_g2/target.h +++ b/variants/station_g2/target.h @@ -28,3 +28,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/tenstar_c3/platformio.ini b/variants/tenstar_c3/platformio.ini index 183a5684..b6d1103c 100644 --- a/variants/tenstar_c3/platformio.ini +++ b/variants/tenstar_c3/platformio.ini @@ -29,6 +29,7 @@ build_src_filter = ${Tenstar_esp32_C3.build_src_filter} +<../examples/simple_repeater/*.cpp> build_flags = ${Tenstar_esp32_C3.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D SX126X_RX_BOOSTED_GAIN=1 @@ -77,6 +78,7 @@ build_src_filter = ${Tenstar_esp32_C3.build_src_filter} +<../examples/simple_repeater/*.cpp> build_flags = ${Tenstar_esp32_C3.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D SX126X_RX_BOOSTED_GAIN=1 @@ -100,6 +102,7 @@ build_src_filter = ${Tenstar_esp32_C3.build_src_filter} +<../examples/simple_repeater/*.cpp> build_flags = ${Tenstar_esp32_C3.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1268 -D WRAPPER_CLASS=CustomSX1268Wrapper -D LORA_TX_POWER=22 @@ -146,6 +149,7 @@ build_src_filter = ${Tenstar_esp32_C3.build_src_filter} +<../examples/simple_repeater/*.cpp> build_flags = ${Tenstar_esp32_C3.build_flags} + -D USE_SX1262 -D RADIO_CLASS=CustomSX1268 -D WRAPPER_CLASS=CustomSX1268Wrapper -D LORA_TX_POWER=22 diff --git a/variants/tenstar_c3/target.cpp b/variants/tenstar_c3/target.cpp index d4f189b5..da25fec7 100644 --- a/variants/tenstar_c3/target.cpp +++ b/variants/tenstar_c3/target.cpp @@ -46,3 +46,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/tenstar_c3/target.h b/variants/tenstar_c3/target.h index e503564b..ce85a478 100644 --- a/variants/tenstar_c3/target.h +++ b/variants/tenstar_c3/target.h @@ -19,3 +19,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/thinknode_m1/platformio.ini b/variants/thinknode_m1/platformio.ini index 397bf8e3..b246110e 100644 --- a/variants/thinknode_m1/platformio.ini +++ b/variants/thinknode_m1/platformio.ini @@ -8,6 +8,7 @@ build_flags = ${nrf52_base.build_flags} -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52 -I variants/thinknode_m1 -D THINKNODE_M1=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=20 diff --git a/variants/thinknode_m1/target.cpp b/variants/thinknode_m1/target.cpp index ec2438d4..4aad738e 100644 --- a/variants/thinknode_m1/target.cpp +++ b/variants/thinknode_m1/target.cpp @@ -150,3 +150,13 @@ bool ThinkNodeM1SensorManager::setSettingValue(const char* name, const char* val } return false; // not supported } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/thinknode_m1/target.h b/variants/thinknode_m1/target.h index 92661d09..ab6901f6 100644 --- a/variants/thinknode_m1/target.h +++ b/variants/thinknode_m1/target.h @@ -47,3 +47,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/thinknode_m2/platformio.ini b/variants/thinknode_m2/platformio.ini index b2ebca73..a765d9c7 100644 --- a/variants/thinknode_m2/platformio.ini +++ b/variants/thinknode_m2/platformio.ini @@ -25,6 +25,7 @@ build_flags = ${esp32_base.build_flags} -D SX126X_DIO3_TCXO_VOLTAGE=3.3 -D SX126X_CURRENT_LIMIT=140 -D DISPLAY_CLASS=SH1106Display + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/thinknode_m2/target.cpp b/variants/thinknode_m2/target.cpp index e7e36d05..8ef44872 100644 --- a/variants/thinknode_m2/target.cpp +++ b/variants/thinknode_m2/target.cpp @@ -55,3 +55,13 @@ mesh::LocalIdentity radio_new_identity() { return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif + diff --git a/variants/thinknode_m2/target.h b/variants/thinknode_m2/target.h index 77ebbfde..00009aa7 100644 --- a/variants/thinknode_m2/target.h +++ b/variants/thinknode_m2/target.h @@ -29,4 +29,8 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); - \ No newline at end of file +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif + diff --git a/variants/thinknode_m5/platformio.ini b/variants/thinknode_m5/platformio.ini index fb2ba3ac..0c64bcef 100644 --- a/variants/thinknode_m5/platformio.ini +++ b/variants/thinknode_m5/platformio.ini @@ -32,6 +32,7 @@ build_flags = ${esp32_base.build_flags} -D SX126X_DIO2_AS_RF_SWITCH=true -D SX126X_DIO3_TCXO_VOLTAGE=3.3 -D SX126X_CURRENT_LIMIT=140 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/thinknode_m5/target.cpp b/variants/thinknode_m5/target.cpp index a7a049ef..a42dc89c 100644 --- a/variants/thinknode_m5/target.cpp +++ b/variants/thinknode_m5/target.cpp @@ -62,3 +62,13 @@ mesh::LocalIdentity radio_new_identity() { return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif + diff --git a/variants/thinknode_m5/target.h b/variants/thinknode_m5/target.h index a228cc9f..5800417e 100644 --- a/variants/thinknode_m5/target.h +++ b/variants/thinknode_m5/target.h @@ -32,4 +32,9 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif + \ No newline at end of file diff --git a/variants/thinknode_m6/platformio.ini b/variants/thinknode_m6/platformio.ini index db22073c..2bd34f31 100644 --- a/variants/thinknode_m6/platformio.ini +++ b/variants/thinknode_m6/platformio.ini @@ -9,6 +9,7 @@ build_flags = ${nrf52_base.build_flags} -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52 -I variants/thinknode_m6 -D THINKNODE_M6=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=38 diff --git a/variants/thinknode_m6/target.cpp b/variants/thinknode_m6/target.cpp index 36ca8618..11111946 100644 --- a/variants/thinknode_m6/target.cpp +++ b/variants/thinknode_m6/target.cpp @@ -47,3 +47,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/thinknode_m6/target.h b/variants/thinknode_m6/target.h index fb129988..31b0b8cc 100644 --- a/variants/thinknode_m6/target.h +++ b/variants/thinknode_m6/target.h @@ -29,3 +29,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/waveshare_rp2040_lora/platformio.ini b/variants/waveshare_rp2040_lora/platformio.ini index 78a5e3e7..1f7fb02f 100644 --- a/variants/waveshare_rp2040_lora/platformio.ini +++ b/variants/waveshare_rp2040_lora/platformio.ini @@ -8,6 +8,7 @@ board_build.filesystem_size = 0.5m build_flags = ${rp2040_base.build_flags} -I variants/waveshare_rp2040_lora -D SX126X_CURRENT_LIMIT=140 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=16 diff --git a/variants/waveshare_rp2040_lora/target.cpp b/variants/waveshare_rp2040_lora/target.cpp index a9121b0c..ff9ac878 100644 --- a/variants/waveshare_rp2040_lora/target.cpp +++ b/variants/waveshare_rp2040_lora/target.cpp @@ -47,3 +47,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/waveshare_rp2040_lora/target.h b/variants/waveshare_rp2040_lora/target.h index fe1903de..15b45cac 100644 --- a/variants/waveshare_rp2040_lora/target.h +++ b/variants/waveshare_rp2040_lora/target.h @@ -19,3 +19,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/wio-tracker-l1-eink/platformio.ini b/variants/wio-tracker-l1-eink/platformio.ini index deb85f5e..42c83477 100644 --- a/variants/wio-tracker-l1-eink/platformio.ini +++ b/variants/wio-tracker-l1-eink/platformio.ini @@ -9,6 +9,7 @@ build_flags = ${nrf52_base.build_flags} -I variants/wio-tracker-l1 -D WIO_TRACKER_L1 -D WIO_TRACKER_L1_EINK + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/wio-tracker-l1/platformio.ini b/variants/wio-tracker-l1/platformio.ini index 75651d69..3d0578cc 100644 --- a/variants/wio-tracker-l1/platformio.ini +++ b/variants/wio-tracker-l1/platformio.ini @@ -8,6 +8,7 @@ build_flags = ${nrf52_base.build_flags} -I lib/nrf52/s140_nrf52_7.3.0_API/include/nrf52 -I variants/wio-tracker-l1 -D WIO_TRACKER_L1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/wio-tracker-l1/target.cpp b/variants/wio-tracker-l1/target.cpp index 4575a76c..96d8ebd9 100644 --- a/variants/wio-tracker-l1/target.cpp +++ b/variants/wio-tracker-l1/target.cpp @@ -52,3 +52,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/wio-tracker-l1/target.h b/variants/wio-tracker-l1/target.h index e2347647..75fcbe48 100644 --- a/variants/wio-tracker-l1/target.h +++ b/variants/wio-tracker-l1/target.h @@ -35,3 +35,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/xiao_c3/platformio.ini b/variants/xiao_c3/platformio.ini index 76b72174..95142269 100644 --- a/variants/xiao_c3/platformio.ini +++ b/variants/xiao_c3/platformio.ini @@ -15,6 +15,7 @@ build_flags = -D P_LORA_BUSY=D3 -D PIN_BOARD_SDA=D6 -D PIN_BOARD_SCL=D7 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D SX126X_RX_BOOSTED_GAIN=1 diff --git a/variants/xiao_c3/target.cpp b/variants/xiao_c3/target.cpp index f8ee3d92..12c257c0 100644 --- a/variants/xiao_c3/target.cpp +++ b/variants/xiao_c3/target.cpp @@ -54,3 +54,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/xiao_c3/target.h b/variants/xiao_c3/target.h index 57e3b81c..4fa0be27 100644 --- a/variants/xiao_c3/target.h +++ b/variants/xiao_c3/target.h @@ -18,3 +18,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/xiao_c6/platformio.ini b/variants/xiao_c6/platformio.ini index 8f02dc87..5d9928c5 100644 --- a/variants/xiao_c6/platformio.ini +++ b/variants/xiao_c6/platformio.ini @@ -22,6 +22,7 @@ build_flags = -D SX126X_DIO3_TCXO_VOLTAGE=1.8 -D SX126X_CURRENT_LIMIT=140 -D SX126X_RX_BOOSTED_GAIN=1 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/xiao_c6/target.h b/variants/xiao_c6/target.h index 28b46538..1095a9f4 100644 --- a/variants/xiao_c6/target.h +++ b/variants/xiao_c6/target.h @@ -19,3 +19,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/xiao_nrf52/platformio.ini b/variants/xiao_nrf52/platformio.ini index fe2f546e..b9a860aa 100644 --- a/variants/xiao_nrf52/platformio.ini +++ b/variants/xiao_nrf52/platformio.ini @@ -11,6 +11,7 @@ build_flags = ${nrf52_base.build_flags} -D NRF52_PLATFORM -D NRF52_POWER_MANAGEMENT -D XIAO_NRF52 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/xiao_nrf52/target.cpp b/variants/xiao_nrf52/target.cpp index a8f4162e..8d30fde9 100644 --- a/variants/xiao_nrf52/target.cpp +++ b/variants/xiao_nrf52/target.cpp @@ -42,3 +42,12 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif \ No newline at end of file diff --git a/variants/xiao_nrf52/target.h b/variants/xiao_nrf52/target.h index f4076c34..c78b8682 100644 --- a/variants/xiao_nrf52/target.h +++ b/variants/xiao_nrf52/target.h @@ -24,3 +24,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/xiao_rp2040/platformio.ini b/variants/xiao_rp2040/platformio.ini index 2b3e7442..e5d652c3 100644 --- a/variants/xiao_rp2040/platformio.ini +++ b/variants/xiao_rp2040/platformio.ini @@ -5,6 +5,7 @@ board_build.filesystem_size = 0.5m build_flags = ${rp2040_base.build_flags} -I variants/xiao_rp2040 -D SX126X_CURRENT_LIMIT=140 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D P_LORA_DIO_1=27 ; D1 diff --git a/variants/xiao_rp2040/target.cpp b/variants/xiao_rp2040/target.cpp index 6c9a9143..50e2f23a 100644 --- a/variants/xiao_rp2040/target.cpp +++ b/variants/xiao_rp2040/target.cpp @@ -47,3 +47,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/xiao_rp2040/target.h b/variants/xiao_rp2040/target.h index 528c4441..ab419908 100644 --- a/variants/xiao_rp2040/target.h +++ b/variants/xiao_rp2040/target.h @@ -19,3 +19,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif diff --git a/variants/xiao_s3_wio/platformio.ini b/variants/xiao_s3_wio/platformio.ini index 22bb4090..13d40679 100644 --- a/variants/xiao_s3_wio/platformio.ini +++ b/variants/xiao_s3_wio/platformio.ini @@ -24,6 +24,7 @@ build_flags = ${esp32_base.build_flags} -D SX126X_DIO2_AS_RF_SWITCH=true -D SX126X_DIO3_TCXO_VOLTAGE=1.8 -D SX126X_CURRENT_LIMIT=140 + -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 diff --git a/variants/xiao_s3_wio/target.cpp b/variants/xiao_s3_wio/target.cpp index 50981ab6..3ef12b2c 100644 --- a/variants/xiao_s3_wio/target.cpp +++ b/variants/xiao_s3_wio/target.cpp @@ -54,3 +54,13 @@ mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); // create new random identity } + +#if defined(USE_SX1262) || defined(USE_SX1268) +void radio_set_rx_boosted_gain_mode(bool rxbgm) { + radio.setRxBoostedGainMode(rxbgm); +} + +bool radio_get_rx_boosted_gain_mode() { + return radio.getRxBoostedGainMode(); +} +#endif diff --git a/variants/xiao_s3_wio/target.h b/variants/xiao_s3_wio/target.h index fffd1683..14e39fef 100644 --- a/variants/xiao_s3_wio/target.h +++ b/variants/xiao_s3_wio/target.h @@ -28,3 +28,8 @@ uint32_t radio_get_rng_seed(); void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity(); + +#if defined(USE_SX1262) || defined(USE_SX1268) +bool radio_get_rx_boosted_gain_mode(); +void radio_set_rx_boosted_gain_mode(bool rxbgm); +#endif