Skip to content

Commit 639764f

Browse files
committed
updated with correct pin mapping for Catena5230 SX1262 radio
1 parent 846b166 commit 639764f

File tree

2 files changed

+14
-33
lines changed

2 files changed

+14
-33
lines changed

src/hal/getpinmap_catena5230.cpp

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -32,45 +32,24 @@ class HalConfiguration_Catena5230_t : public HalConfiguration_t
3232
{
3333
PIN_SX1262_NSS = D7,
3434
PIN_SX1262_NRESET = D8,
35-
PIN_SX1262_DIO0 = LMIC_UNUSED_PIN,
35+
PIN_SX1262_BUSY = D30,
3636
PIN_SX1262_DIO1 = D25,
3737
PIN_SX1262_DIO2 = LMIC_UNUSED_PIN,
38-
PIN_SX1262_ANT_SWITCH_RX = D26,
38+
PIN_SX1262_DIO3 = LMIC_UNUSED_PIN,
39+
PIN_SX1262_ANT_SWITCH_RX = LMIC_UNUSED_PIN,
3940
PIN_SX1262_ANT_SWITCH_TX_BOOST = LMIC_UNUSED_PIN,
4041
PIN_SX1262_ANT_SWITCH_TX_RFO = LMIC_UNUSED_PIN,
4142
PIN_VDD_BOOST_ENABLE = LMIC_UNUSED_PIN,
4243
PIN_TCXO_VDD = LMIC_UNUSED_PIN,
4344
};
4445

45-
virtual void begin(void) override
46-
{
47-
digitalWrite(PIN_TCXO_VDD, 0);
48-
pinMode(PIN_TCXO_VDD, OUTPUT);
49-
}
50-
51-
virtual void end(void) override
52-
{
53-
digitalWrite(PIN_TCXO_VDD, 0);
54-
pinMode(PIN_TCXO_VDD, INPUT);
55-
}
56-
57-
virtual bool queryUsingTcxo(void) override { return true; };
58-
59-
virtual ostime_t setModuleActive(bool state) override
60-
{
61-
ostime_t result;
62-
const int oldState = digitalRead(PIN_TCXO_VDD);
46+
virtual u1_t queryBusyPin(void) override { return HalConfiguration_Catena5230_t::PIN_SX1262_BUSY; };
6347

64-
// if turning on, we need to delay.
65-
result = 0;
66-
if (state && ! oldState)
67-
result = ms2osticksCeil(3);
48+
virtual bool queryUsingDcdc(void) override { return true; };
6849

69-
if (state != oldState)
70-
digitalWrite(PIN_TCXO_VDD, state);
50+
virtual bool queryUsingDIO2AsRfSwitch(void) override { return true; };
7151

72-
return result;
73-
}
52+
virtual bool queryUsingDIO3AsTCXOSwitch(void) override { return true; };
7453
};
7554

7655
// save some typing by bringing the pin numbers into scope
@@ -79,14 +58,16 @@ static HalConfiguration_Catena5230_t myConfig;
7958
static const HalPinmap_t myPinmap =
8059
{
8160
.nss = HalConfiguration_Catena5230_t::PIN_SX1262_NSS, // chip select is D7
82-
.rxtx = HalConfiguration_Catena5230_t::PIN_SX1262_ANT_SWITCH_RX, // RXTX is D26
61+
.rxtx = HalConfiguration_Catena5230_t::PIN_SX1262_ANT_SWITCH_RX, // RXTX unused pin
8362
.rst = HalConfiguration_Catena5230_t::PIN_SX1262_NRESET, // NRESET is D8
8463

85-
.dio = {LMIC_UNUSED_PIN,
64+
.dio = {
8665
HalConfiguration_Catena5230_t::PIN_SX1262_DIO1, // DIO1 (IRQ) is D25
87-
LMIC_UNUSED_PIN,
66+
LMIC_UNUSED_PIN, // DIO2 is not used
67+
// HalConfiguration_Catena5230_t::PIN_SX1262_DIO1, // DIO1 (IRQ) is D25
68+
LMIC_UNUSED_PIN, // DIO3 is not used
8869
},
89-
.rxtx_rx_active = 1,
70+
.rxtx_rx_active = 0,
9071
.rssi_cal = 10,
9172
.spi_freq = 8000000, /* 8MHz */
9273
.pConfig = &myConfig

src/hal/hal.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ static void lmic_hal_io_init () {
3333
// NSS and DIO0 are required, DIO1 is required for LoRa, DIO2 for FSK
3434
ASSERT(plmic_pins->nss != LMIC_UNUSED_PIN);
3535
// SX126x family can operate with a single DIO
36-
#if (defined(CFG_sx1276_radio) || defined(CFG_sx1272_radio))
3736
ASSERT(plmic_pins->dio[0] != LMIC_UNUSED_PIN);
37+
#if (defined(CFG_sx1276_radio) || defined(CFG_sx1272_radio))
3838
ASSERT(plmic_pins->dio[1] != LMIC_UNUSED_PIN || plmic_pins->dio[2] != LMIC_UNUSED_PIN);
3939
#endif
4040

0 commit comments

Comments
 (0)