sx1280------No IRQ register value is returned

In the INSTRUCTION of SX1280, there is a return IRQ register value, the previous instruction is normal, until this instruction returns the status display error, there is no IRQ value, has encountered this situation.

I’m afraid we’re missing information here to help you, could you give us a bit more context:

  • byte values exchanged on the SPI
  • maybe try to capture the IRQ line as well ?

Hello, I’m sorry that the data submitted last time is not complete. This time, I will post the SPI waveform part of my transmitter and receiver, and I hope you can answer my doubts. First, my transmitter sent 0x15.

This is the command on my receiver to get IRQ,

The transmitter notifies it has transmitted completely (bit 0 of irq status)
However, on the receiver the irq status is empty;
Are you certain of both chip configuration, and that the receiver is in RX, because here, the 0x45 value on the receiver (reply to 0x15) means the chip is in STANDBY_RC + 5:failure to execute command (as if a previous command had not completed correctly)

That’s what I’m asking. All of my commands sent to SX1280 return 0x45 as the first piece of data, as shown in the picture below.

My transmitter and receiver are in this state (0x45) after all instructions, but I can see that it is indeed in receive mode

Could you share a log of SPI exchange since sx1280 reset (copy/paste of the saleae SPI log is fine), just to understand what went wrong. because on my traces with sx1280 I just never have this 0x45.

Sorry, I can’t share this file with my account, but there are only these two instructions in my main program to recycle.

Do you think you can open this package? Thank you


I’m not able to open it on my phone, could you just describe the byte exchanged in the first of the 2 exchanges?

This is the first exchanged byte of my loop main program, thank you very much for the way you guided, thank you again

Send 0x15, 0x00, 0x00, 0x00 reply 0x45, 0x47, 0x00, 0x00

My receive configuration is as follows

SX1280SetDioIrqParams( RxIrqMask, RxIrqMask, IRQ_RADIO_NONE, IRQ_RADIO_NONE ); // Set IRQ pins and enable IRQ1 (DIO1)

SX1280SetRx((TickTime_t) {RADIO_TICK_SIZE_4000_US, RX_TIMEOUT_VALUE}); // Set RX timeout to 4000us*0xFFFF

For reference, during my SX1280 reset sequence I do:

  • RESET=0
  • CS=1
  • wait 1ms
  • RESET=1
  • Read 1 byte @ address 0x944 which shall be 0x14 to ensure communication is OK

Then I setup the sx1280 various register for configuration of DIO modulation and other.

Hope it helps

My 1280 reset pin is not controlled properly, it is connected to the power side, as long as the power is turned on 1280 will work, and then enter the configuration

SX1280Init( &Callbacks )



And some packet type modulation parameters, I wonder if this can be used

But that probably means that the boot status of gpios may be glitching from the SX1280 point of view. during your MCU time.
Can you check the line at power on and until the first byte is sent by the MCU?

I think I can observe the first byte, so I put in a delay before the transmission starts