Home/Support/Support Forum/unrliable read flash

unrliable read flash

0 votes
I'm trying to access the purpose flash memory of my xbee, I send this API frame:
7E 00 1C 11 04 00 13 A2 00 40 A6 6E 63 FF FE E6 E6 00 23 C1 05 00 00 04 00 00 01 00 01 00 10 B6
and get a successful transmit status every time but only some of the time I also get the expected explicit RX indicator packet, for example in this case I pressed reset then sent the packet above but didn't get the explicit RX indicator packet till I had sent it 4 times. I've found it seems to be worst just for the few packets (almost never works the first time) and one it starts working it generally continues to work till I power it off.

shouldn't I get a RX indicator packet every time?

here is the log from xctu:
<?xml version="1.0" encoding="UTF-8"?>

<data>
<console_session type="api">
<module_name></module_name>
<module_mac>0013A20040A66ED8</module_mac>
<module_hw_version>0x23</module_hw_version>
<module_fw_version>8071</module_fw_version>
<module_port>COM6 - 19200/8/N/1/N - API 1</module_port>
<module_protocol>3</module_protocol>
<module_function>XBee PRO 900HP 200K</module_function>
<date>1425946894182</date>
<frames_list>
<frame>
<frame_index>0</frame_index>
<frame_date>1425945621544</frame_date>
<frame_mode>sent</frame_mode>
<frame_op_mode>api</frame_op_mode>
<frame_payload>7E001C11040013A20040A66E63FFFEE6E60023C10500000400000100010010B6</frame_payload>
</frame>
<frame>
<frame_index>1</frame_index>
<frame_date>1425945621602</frame_date>
<frame_mode>received</frame_mode>
<frame_op_mode>api</frame_op_mode>
<frame_payload>7E00078B04FFFE00000073</frame_payload>
</frame>
<frame>
<frame_index>2</frame_index>
<frame_date>1425945623908</frame_date>
<frame_mode>sent</frame_mode>
<frame_op_mode>api</frame_op_mode>
<frame_payload>7E001C11040013A20040A66E63FFFEE6E60023C10500000400000100010010B6</frame_payload>
</frame>
<frame>
<frame_index>3</frame_index>
<frame_date>1425945623962</frame_date>
<frame_mode>received</frame_mode>
<frame_op_mode>api</frame_op_mode>
<frame_payload>7E00078B04FFFE00000073</frame_payload>
</frame>
<frame>
<frame_index>4</frame_index>
<frame_date>1425945625576</frame_date>
<frame_mode>sent</frame_mode>
<frame_op_mode>api</frame_op_mode>
<frame_payload>7E001C11040013A20040A66E63FFFEE6E60023C10500000400000100010010B6</frame_payload>
</frame>
<frame>
<frame_index>5</frame_index>
<frame_date>1425945625653</frame_date>
<frame_mode>received</frame_mode>
<frame_op_mode>api</frame_op_mode>
<frame_payload>7E00078B04FFFE00000073</frame_payload>
</frame>
<frame>
<frame_index>6</frame_index>
<frame_date>1425945625703</frame_date>
<frame_mode>received</frame_mode>
<frame_op_mode>api</frame_op_mode>
<frame_payload>7E002A910013A20040A66E63FFFEE6E60023C105C184000001000100102A86825176E1127CA779EDD2113ACD6E2C</frame_payload>
</frame>
</frames_list>
</console_session>
</data>
asked Mar 9, 2015 in DigiMesh Proprietary Mesh Networking by mrkaras New to the Community (2 points)

Please log in or register to answer this question.

1 Answer

0 votes
Are you using an XBee ZB SMT module? If so, what firmware version?
answered Mar 27, 2015 by mvut Veteran of the Digi Community (12,786 points)
No, it is a 900mhz xbee pro s3b through hole module, xbp9b-dmst-002 revB. 8071 firmware (latest)
I think you need to look closer to page 119 of the manual.  Especially at the payload section of the frame.
my payload section in the given packet contains:
04 00 00 01 00 01 00 10
that would be
04         = read
00        = not used - set to 0   
00 01     = block index to read (at this stage any block would do)
00 01    = byte index (also just testing reading so any value will do)
00 10    = bytes to read
no data section is required

I'm not sure what's wrong with that, it seems to fit to me, and if I got it wrong why does it ever work, after a few tries it works as expected, just not first time?
...