33
44ESP32Board board;
55
6- static SPIClass spi;
7- RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_1, P_LORA_RESET, P_LORA_BUSY, spi);
6+ #if defined(P_LORA_SCLK)
7+ static SPIClass spi;
8+ RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_1, P_LORA_RESET, P_LORA_BUSY, spi);
9+ #else
10+ RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_1, P_LORA_RESET, P_LORA_BUSY);
11+ #endif
12+
813WRAPPER_CLASS radio_driver (radio, board);
914
1015ESP32RTCClock fallback_clock;
@@ -24,7 +29,39 @@ bool radio_init() {
2429 fallback_clock.begin ();
2530 rtc_clock.begin (Wire);
2631
27- return radio.std_init (&spi);
32+ #ifdef SX126X_DIO3_TCXO_VOLTAGE
33+ float tcxo = SX126X_DIO3_TCXO_VOLTAGE;
34+ #else
35+ float tcxo = 1 .6f ;
36+ #endif
37+
38+ #if defined(P_LORA_SCLK)
39+ spi.begin (P_LORA_SCLK, P_LORA_MISO, P_LORA_MOSI);
40+ #endif
41+ int status = radio.begin (LORA_FREQ, LORA_BW, LORA_SF, LORA_CR, RADIOLIB_SX126X_SYNC_WORD_PRIVATE, LORA_TX_POWER, 8 , tcxo);
42+ if (status != RADIOLIB_ERR_NONE) {
43+ Serial.print (" ERROR: radio init failed: " );
44+ Serial.println (status);
45+ return false ; // fail
46+ }
47+
48+ radio.setCRC (1 );
49+
50+ #if defined(SX126X_RXEN) && defined(SX126X_TXEN)
51+ radio.setRfSwitchPins (SX126X_RXEN, SX126X_TXEN);
52+ #endif
53+
54+ #ifdef SX126X_CURRENT_LIMIT
55+ radio.setCurrentLimit (SX126X_CURRENT_LIMIT);
56+ #endif
57+ #ifdef SX126X_DIO2_AS_RF_SWITCH
58+ radio.setDio2AsRfSwitch (SX126X_DIO2_AS_RF_SWITCH);
59+ #endif
60+ #ifdef SX126X_RX_BOOSTED_GAIN
61+ radio.setRxBoostedGainMode (SX126X_RX_BOOSTED_GAIN);
62+ #endif
63+
64+ return true ; // success
2865}
2966
3067uint32_t radio_get_rng_seed () {
0 commit comments