@@ -33,11 +33,19 @@ static void hal_io_init () {
33
33
// Serial.print("dio[1]: "); Serial.println(plmic_pins->dio[1]);
34
34
// Serial.print("dio[2]: "); Serial.println(plmic_pins->dio[2]);
35
35
36
+ // initialize SPI chip select to high (it's active low)
37
+ digitalWrite (plmic_pins->nss , HIGH);
36
38
pinMode (plmic_pins->nss , OUTPUT);
37
- if (plmic_pins->rxtx != LMIC_UNUSED_PIN)
39
+
40
+ if (plmic_pins->rxtx != LMIC_UNUSED_PIN) {
41
+ // initialize to RX
42
+ digitalWrite (plmic_pins->rxtx , LOW != plmic_pins->rxtx_rx_active );
38
43
pinMode (plmic_pins->rxtx , OUTPUT);
39
- if (plmic_pins->rst != LMIC_UNUSED_PIN)
40
- pinMode (plmic_pins->rst , OUTPUT);
44
+ }
45
+ if (plmic_pins->rst != LMIC_UNUSED_PIN) {
46
+ // initialize RST to floating
47
+ pinMode (plmic_pins->rst , INPUT);
48
+ }
41
49
42
50
hal_interrupt_init ();
43
51
}
@@ -54,8 +62,8 @@ void hal_pin_rst (u1_t val) {
54
62
return ;
55
63
56
64
if (val == 0 || val == 1 ) { // drive pin
57
- pinMode (plmic_pins->rst , OUTPUT);
58
65
digitalWrite (plmic_pins->rst , val);
66
+ pinMode (plmic_pins->rst , OUTPUT);
59
67
} else { // keep pin floating
60
68
pinMode (plmic_pins->rst , INPUT);
61
69
}
0 commit comments