The documentation says:
“If the master monitors this pin (through polling or interrupts), it can know when it needs to receive data from the device. SPI_ATTN asserts whenever it has data to send, and it remains asserted until all available data has been shifted out to the SPImaster.”
But after having sent all the commands I use for initializing to the module, the module just asserts ATTN line to send me an “Explicit Rx Indicator frame” with the ZDO cluster ID 8001, 6 seconds after the last command I send.
It is only when I decide to send the AI command to figure out what is going on that the module sends back the modem status frame, which I’m not reading in software, I’m able to see this behavior using a logic analyzer on the SPI bus.
Then my question is, why isn’t the module asserting ATTN line to indicate me that it has the modem status available? Why does it wait until I send something to send back the modem status frame while I’m sending stuff to it?
I don’t understand this because I send 12 AT commands to initialize the module and in all of them I send something, then after some milliseconds, the module asserts ATTN to inform me about the answer to my command, (if any). What is going on?