When sending a Network Discovery command (ND) to the Xbee using a UART interface, it returns a response from the local device then one discovery response per discovered node. When I switch to SPI mode (which is the mode I need) the only response that comes back is the local response. If I try sending subsequent NULL messages (0xFF’s), no further messages are provided from the remotes.
As there a specific way of obtaining the network discovery messages from these remotes in SPI mode. All the other functions work identical between UART/SPI (except of course I need to send dummy 0xFF requests SPI mode to get additional responses from the Xbee)
Thanks for any help.
I am not aware of any different method specific to SPI interface.
I guess, you have a found a possible bug and should report it to Digi at http://www.digi.com/login?ReturnUrl=%2Fsupport%2Feservice%2F
There is a difference from working with the default settings of the UART vs the SPI port. Other than sending 0xFF characters, all data going into and out of the SPI port is in API format. You also need to connect the SPI of the radio to a SPI master devices.
The SPI mode works fine for all activities such as sending and receiving data to other Xbee modules, and setting local or remote settings. The problem I have is related to getting more than one discovery response. When I set the discovery options (NO) to 2, I only get one discovery response which is the local device. When I set discovery options to 0, I still only get one discovery response which is from one of the nearby router nodes. Any suggestions on how I can get more. I understand to get support from Digi I need to purchase a support package
Also, the SPI_ATTN flag does not seem to work. The DIO19 registers is set to 1 to enable this, but the DIO19 (SPI_ATTN) line stays high all the time. Therefore I am forced to poll the Xbee to see if a response is available. I poll every 100mS. Is there any other setting I need other than setting the DIO19 function registers to 1 (and saving it).
Also I occasionally receive the following response from the Xbee: 7E 00 05 7E 00 02 7E 00 02. Does anyone know what this is as I can find no reference to it in the documentation. It looks like it is trying to send multiple responses that are overlapping but there is no response frame that is only 2 bytes and this happens often with the identical code. Any ideas on what this could be?
May I suggest you contact Digi Technical Support at http://www.digi.com/login?ReturnUrl=%2Fsupport%2Feservice%2F. I believe you are at a point in which Digi Support needs to start digging in to determine what is going on.