I am using two XB24 Series 1 in Digimesh mode.
I have one end point Xbee taking ADC values and sending it over to another XBee (we’ll call this the coordinator even though digimesh doesnt use a coordinator) that’s connected to a microcontroller, which connected to the PC.
On the end point, I set the DH and DL to the serial numbers of the coordinator XBee. DIO0 is set to ADC and sampling rate is set to 1 second. Everything else is left as default.
On the Coordinator, I enabled API mode and that’s it.
When reading from the TX pin of the coordinator XBee, I see:
“7E 00 12 92 00 13 A2 00 40 A9 50 69 FF FE C1 10”
How come I am not seeing any ADC values?
According to http://www.digi.com/support/kbase/kbaseresultdetl?id=3522#Howto
I should be getting a much longer frame, which should contain my ADC value.
The API frame you priovied is imcomplete or invalid. Can you please provide the full API frame you are receiving?
Turns out my buffer was getting full and it was cutting off the frame before it could print out.
Now it outputs:
7E 00 12 92 00 13 A2 0 40 A9 5 69 FF FE C1 01 00 00 01 03 FF 9F
but I still dont see the ADC value, or is it in front of me and I just dont know it? Am I supposed to be reading from the TX pin of the receiving XBEE thats in digimesh mode?
That is still not a vaid frame. May I suggest you connect your module to an interface board and XCTU so you can see the entire pack on the Terminal tab of XCTU?
Thank you for the reply, the issue is with the microcontroller reading from the XBee. Sometimes it cuts off the last few bytes, I’m still trying to figure out why. When I read from XCTU, the XBee is sending valid frames.
The microcontroller cant distinguish between zeros. That is, when it’s supposed to output 00 01 01 01, it will output 1 1 1 because as far as the microcontroller understands, 01 and 1 are the same value
Until you correct that, there is nothing I can do to help you.