Skip to content

Commit 85b164b

Browse files
author
Scott Powell
committed
* PicoW refactor, now using radio.std_init()
1 parent b37f61d commit 85b164b

File tree

2 files changed

+15
-37
lines changed

2 files changed

+15
-37
lines changed

src/helpers/CustomSX1262.h

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ class CustomSX1262 : public SX1262 {
99
public:
1010
CustomSX1262(Module *mod) : SX1262(mod) { }
1111

12-
bool std_init(SPIClass* spi = NULL) {
12+
#ifdef RP2040_PLATFORM
13+
bool std_init(SPIClassRP2040* spi = NULL)
14+
#else
15+
bool std_init(SPIClass* spi = NULL)
16+
#endif
17+
{
1318
#ifdef SX126X_DIO3_TCXO_VOLTAGE
1419
float tcxo = SX126X_DIO3_TCXO_VOLTAGE;
1520
#else
@@ -25,6 +30,14 @@ class CustomSX1262 : public SX1262 {
2530
#if defined(P_LORA_SCLK)
2631
#ifdef NRF52_PLATFORM
2732
if (spi) { spi->setPins(P_LORA_MISO, P_LORA_SCLK, P_LORA_MOSI); spi->begin(); }
33+
#elif defined(RP2040_PLATFORM)
34+
if (spi) {
35+
spi->setMISO(P_LORA_MISO);
36+
//spi->setCS(P_LORA_NSS); // Setting CS results in freeze
37+
spi->setSCK(P_LORA_SCLK);
38+
spi->setMOSI(P_LORA_MOSI);
39+
spi->begin();
40+
}
2841
#else
2942
if (spi) spi->begin(P_LORA_SCLK, P_LORA_MISO, P_LORA_MOSI);
3043
#endif

variants/picow/target.cpp

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -12,45 +12,10 @@ VolatileRTCClock fallback_clock;
1212
AutoDiscoverRTCClock rtc_clock(fallback_clock);
1313
SensorManager sensors;
1414

15-
#ifndef LORA_CR
16-
#define LORA_CR 5
17-
#endif
18-
1915
bool radio_init() {
2016
rtc_clock.begin(Wire);
2117

22-
#ifdef SX126X_DIO3_TCXO_VOLTAGE
23-
float tcxo = SX126X_DIO3_TCXO_VOLTAGE;
24-
#else
25-
float tcxo = 1.6f;
26-
#endif
27-
28-
SPI1.setMISO(P_LORA_MISO);
29-
//SPI1.setCS(P_LORA_NSS); // Setting CS results in freeze
30-
SPI1.setSCK(P_LORA_SCLK);
31-
SPI1.setMOSI(P_LORA_MOSI);
32-
33-
SPI1.begin();
34-
int status = radio.begin(LORA_FREQ, LORA_BW, LORA_SF, LORA_CR, RADIOLIB_SX126X_SYNC_WORD_PRIVATE, LORA_TX_POWER, 8, tcxo);
35-
if (status != RADIOLIB_ERR_NONE) {
36-
Serial.print("ERROR: radio init failed: ");
37-
Serial.println(status);
38-
return false; // fail
39-
}
40-
41-
radio.setCRC(1);
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
18+
return radio.std_init(&SPI1);
5419
}
5520

5621
uint32_t radio_get_rng_seed() {

0 commit comments

Comments
 (0)