node-nrf icon indicating copy to clipboard operation
node-nrf copied to clipboard

"Unexpected IRQ during transmit phase!" with ack payload

Open wuyuanyi135 opened this issue 10 years ago • 2 comments

Hi, Code My code uses ack payload. Therefore, I do not expect TX_DS after tx.write. At PRX, when I call tx.write, the callback actually gets the flag of RX_DR, which resulting in the false warning.

The fact is that, after calling tx.write, the event listener is expected to be triggered right after the packet is "sent". Despite the other two commands (W_TX_PAYLOAD, W_TX_PAYLOAD_NOACK), this W_ACK_PAYLOAD does not actually fire an interruption. Instead, the following signal is RX_DR, when the PTX sends a packet. Then the TX_DR or MAX_RT should be set due to the acknowledge payload sent. See the figure in pg.45.

image

~~In addition, I noticed the line 348, where you leave the RX_DR flag untouched. Is there any specific reason to do that?~~

Thank you

wuyuanyi135 avatar Feb 24 '16 07:02 wuyuanyi135

I have fixed this in my repo. Will submit a PR

wuyuanyi135 avatar Feb 24 '16 08:02 wuyuanyi135

I have the problem of "Unexpected IRQ during transmit phase!".

I tried your version of the lib but I don't have any exchanges between my devices... At least with the original version I have some exchanges before a crash.

Did we need to change anything else than the main index.js file ?

pirquessa avatar Oct 23 '16 08:10 pirquessa