So the interrupt on the nRF2401+ seems to be working inconsistently. I get interrupts sometimes and sometimes I don't.
For a context: I'm transmitting a sensor data only when the user types in something in the command line. And sometimes I have also seen IRQ triggering even though none of the interrupt bits are set `(RX_DR, TX_DS, MAX_RT)`.
Following is what I'm printing after sending a payload. You can see dynamic payload length, PWR_UP are enabled and PRIM_RX is disabled (TXing), but interrupt never gets fired.
Her'es a function for transmitting payload:
NRF_STATUS nRF24_TransmitPayload(nrfl2401 *nrf, uint8_t *data, uint8_t size) { printf ("\n ********** Sending payload data %s ************\n", data); nrf->state = NRF_TX_BUSY; char txt[20] = "\nTX payload_"; nRF24_WriteRegister(nrf, nRF24_CMD_W_PAYLOAD, data, size, txt); nRF24_PrintDetails(&nrfRadio); SET_CE(); while(nrf->state == NRF_TX_BUSY); // waiting till ISR is fully serviced RESET_CE(); }