Skip to content

Commit b9ffd51

Browse files
authored
Merge pull request #405 from fdlamotte/xiao_sx1262_init_refactor
Apply refactoring to xiao_nrf52 and xiao_s3
2 parents 587d9d8 + b65b4d5 commit b9ffd51

File tree

3 files changed

+14
-63
lines changed

3 files changed

+14
-63
lines changed

src/helpers/CustomSX1262.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,15 @@ class CustomSX1262 : public SX1262 {
4747
#ifdef SX126X_RX_BOOSTED_GAIN
4848
setRxBoostedGainMode(SX126X_RX_BOOSTED_GAIN);
4949
#endif
50+
#if defined(SX126X_RXEN) || defined(SX126X_TXEN)
51+
#ifndef SX1262X_RXEN
52+
#define SX1262X_RXEN RADIOLIB_NC
53+
#endif
54+
#ifndef SX1262X_TXEN
55+
#define SX1262X_TXEN RADIOLIB_NC
56+
#endif
57+
setRfSwitchPins(SX126X_RXEN, SX126X_TXEN);
58+
#endif
5059

5160
return true; // success
5261
}

variants/xiao_nrf52/target.cpp

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -19,38 +19,7 @@ EnvironmentSensorManager sensors;
1919
bool radio_init() {
2020
rtc_clock.begin(Wire);
2121

22-
#ifdef SX126X_DIO3_TCXO_VOLTAGE
23-
float tcxo = SX126X_DIO3_TCXO_VOLTAGE;
24-
#else
25-
float tcxo = 1.6f;
26-
#endif
27-
28-
SPI.setPins(P_LORA_MISO, P_LORA_SCLK, P_LORA_MOSI);
29-
SPI.begin();
30-
int status = radio.begin(LORA_FREQ, LORA_BW, LORA_SF, LORA_CR, RADIOLIB_SX126X_SYNC_WORD_PRIVATE, LORA_TX_POWER, 8, tcxo);
31-
if (status != RADIOLIB_ERR_NONE) {
32-
Serial.print("ERROR: radio init failed: ");
33-
Serial.println(status);
34-
return false; // fail
35-
}
36-
37-
radio.setCRC(1);
38-
39-
#if defined(SX126X_RXEN) && defined(SX126X_TXEN)
40-
radio.setRfSwitchPins(SX126X_RXEN, SX126X_TXEN);
41-
#endif
42-
43-
#ifdef SX126X_CURRENT_LIMIT
44-
radio.setCurrentLimit(SX126X_CURRENT_LIMIT);
45-
#endif
46-
#ifdef SX126X_DIO2_AS_RF_SWITCH
47-
radio.setDio2AsRfSwitch(SX126X_DIO2_AS_RF_SWITCH);
48-
#endif
49-
#ifdef SX126X_RX_BOOSTED_GAIN
50-
radio.setRxBoostedGainMode(SX126X_RX_BOOSTED_GAIN);
51-
#endif
52-
53-
return true; // success
22+
return radio.std_init(&SPI);
5423
}
5524

5625
uint32_t radio_get_rng_seed() {

variants/xiao_s3_wio/target.cpp

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -30,39 +30,12 @@ bool radio_init() {
3030
pinMode(21, INPUT);
3131
pinMode(48, OUTPUT);
3232

33-
#ifdef SX126X_DIO3_TCXO_VOLTAGE
34-
float tcxo = SX126X_DIO3_TCXO_VOLTAGE;
35-
#else
36-
float tcxo = 1.6f;
37-
#endif
38-
39-
#if defined(P_LORA_SCLK)
33+
#if defined(P_LORA_SCLK)
4034
spi.begin(P_LORA_SCLK, P_LORA_MISO, P_LORA_MOSI);
35+
return radio.std_init(&spi);
36+
#else
37+
return radio.std_init();
4138
#endif
42-
int status = radio.begin(LORA_FREQ, LORA_BW, LORA_SF, LORA_CR, RADIOLIB_SX126X_SYNC_WORD_PRIVATE, LORA_TX_POWER, 8, tcxo);
43-
if (status != RADIOLIB_ERR_NONE) {
44-
Serial.print("ERROR: radio init failed: ");
45-
Serial.println(status);
46-
return false; // fail
47-
}
48-
49-
radio.setCRC(1);
50-
51-
#if defined(SX126X_RXEN) && defined(SX126X_TXEN)
52-
radio.setRfSwitchPins(SX126X_RXEN, SX126X_TXEN);
53-
#endif
54-
55-
#ifdef SX126X_CURRENT_LIMIT
56-
radio.setCurrentLimit(SX126X_CURRENT_LIMIT);
57-
#endif
58-
#ifdef SX126X_DIO2_AS_RF_SWITCH
59-
radio.setDio2AsRfSwitch(SX126X_DIO2_AS_RF_SWITCH);
60-
#endif
61-
#ifdef SX126X_RX_BOOSTED_GAIN
62-
radio.setRxBoostedGainMode(SX126X_RX_BOOSTED_GAIN);
63-
#endif
64-
65-
return true; // success
6639
}
6740

6841
uint32_t radio_get_rng_seed() {

0 commit comments

Comments
 (0)