diff --git a/src/board/rak_wisblock_4631.rs b/src/board/rak_wisblock_4631.rs index ca5fbe0..3db461b 100644 --- a/src/board/rak_wisblock_4631.rs +++ b/src/board/rak_wisblock_4631.rs @@ -113,7 +113,11 @@ impl LoRaBoard for Board { let reset = Output::new(p.P1_06, Level::High, OutputDrive::Standard); let dio1 = Input::new(p.P1_15, Pull::Down); - let busy = Input::new(p.P1_14, Pull::Down); + // BUSY has an internal 20 kΩ pull-up on the SX1262 die (datasheet + // p. 53); an MCU-side Pull::Down fights it and leaves the line at + // an indeterminate voltage, making wait_on_busy unreliable. See + // lora-rs/lora-rs#260. + let busy = Input::new(p.P1_14, Pull::None); let iv = GenericSx126xInterfaceVariant::new(reset, dio1, busy, None, None) .expect("SX1262 interface init"); diff --git a/src/board/wio_tracker_l1.rs b/src/board/wio_tracker_l1.rs index 94300b8..e7e3b27 100644 --- a/src/board/wio_tracker_l1.rs +++ b/src/board/wio_tracker_l1.rs @@ -96,7 +96,11 @@ impl LoRaBoard for Board { let reset = Output::new(p.P1_07, Level::High, OutputDrive::Standard); let dio1 = Input::new(p.P0_07, Pull::Down); - let busy = Input::new(p.P1_10, Pull::Down); + // BUSY has an internal 20 kΩ pull-up on the SX1262 die (datasheet + // p. 53); an MCU-side Pull::Down fights it and leaves the line at + // an indeterminate voltage, making wait_on_busy unreliable. See + // lora-rs/lora-rs#260. + let busy = Input::new(p.P1_10, Pull::None); // RF switch: RXEN on P1.08 (GPIO, toggled by lora_phy), TX via DIO2 (SX1262 internal). let rx_enable = Output::new(p.P1_08, Level::Low, OutputDrive::Standard);