ProXR Relay State Response

I had previously had a working solution for my ProXR relay board (the 24-relay version), and it responded as expected in all cases. It has since developed a strange quirk. When I send a read request (via the API) I get the ‘command success’ message, instead of an array of state bytes. I can still set the relay states by directly commanding a specific relay or by sending a state byte to an entire bank, but the read request gets no state info. I’m certain this worked before, and I don’t think anything changed to cause this. I do turn relay refresh off briefly to set all relays to their default states, but then turn it back on again.

To be clear, these are the bytes sent/received:
• open relay #5 in bank #1 (xFE x70 x01)
• close relay #5, bank #1 (xFE x68 x01)
• open relay #5 while closing the others in bank #1 (xFE x8C x05 x01)
• query state of bank #1 (xFE x7C x01)
• query all banks (xFE x7C x00)
• the response I get in ALL cases (x01 x55)

How would I go about troubleshooting this issue?

Are you performing a read after every command? Its possible your read buffer is filling up with the command acknowledgements and when you go to read that’s what you’re actually seeing.

You could try power cycling the board and testing with Base Station to see if it has the same issue: Start - NCD.io. The power cycle is primarily to clear any unread buffers.

It looks like this was it. It didn’t occur to me the Rx queue was FIFO, but after power-cycling the board and wrapping all my commands with an acknowledgement request, my queries work fine. Thanks for the help.