rust-radio-sx127x icon indicating copy to clipboard operation
rust-radio-sx127x copied to clipboard

TX_DONE interrupt not firing.

Open Cightline opened this issue 4 years ago • 4 comments

I can't seem to get the TX_DONE interrupt to fire, however the RX_DONE interrupt works fine.

My code currently operates like so:

  1. Send a packet
  2. TX_DONE interrupt should fire, but it doesn't, I currently have to poll.
  3. Receive a packet
  4. RX_DONE interrupt fires, no polling needed.
  5. I can check the bit flags and see that both TX_DONE and RX_DONE are set, I've messed around with the IRQ bit flags but haven't had success.

I'm using RTIC and embedded-hal/atsamd-hal. The code is here

Cightline avatar Jun 10 '21 17:06 Cightline

I take it this is via the DIO0 pin? To receive both it looks like you'll need to switch the DIO0 mapping in RegDioMapping1 from RxDone (0b00) to TxDone (0b01) between operations (after enabling RxReady and/or TxReady IRQs in RegIrqFlags1).

(It'd be neat to have an API for this in the driver if there's a reasonable way of representing it)

image

image

(from the datasheet here

ryankurte avatar Jun 10 '21 22:06 ryankurte

Very helpful response, and yeah it's DIO0 pin, I'll try out what you wrote and bring the results back here so we can potentially figure out an API.

Cightline avatar Jun 11 '21 20:06 Cightline

Busy with IRL stuff, I recommend leaving this open but it may be months before I'm able to address it.

Cightline avatar Oct 27 '21 23:10 Cightline

yeah no stress, useful to leave it open for whomsoever gets to it first ^_^

ryankurte avatar Oct 29 '21 03:10 ryankurte