i found that end device often retransmission data,i don't know what causes this problem.
this distance between the end device and its parent is very close.and i use the sniffer to catch the packet and the rssi of the packet are all larger than -30dbm.
but the the retransmission phenomenon is quite obvious;
the screenshots is shown as follow
what can i do to solve or inprove this phenomenon?
hoping your advice whether right or wrong?
I see there is ACK to your ED so the retransmission should be caused by your application. How do you send out a packet? Trigger by a button or send out periodically?
If my post answers your question, please click on "This Resolved my issue" button to benefit others who have the same issue.
I get a coupon code: RMSP3K from TI who recoginzes my contribution to E2E communities. Anyone can use it freely on TI estore (https://store.ti.com) for free shipping until December 31, 2017 when you buy something! Enjoy it.
How to configure 6lbr to make it can do ping6 to a CC26xx/CC13xx node from Raspberry Pi or BBB running 6lbr
Using CC13xx/CC26xx running Contiki OS to toggle LED from UART
Secure Zigbee Pairing Using NFC
Build TI Z-Stack Linux Home Gateway reference design to run on both Linux 16.04 AMD64 (64Bit) and x86 (32Bit)
Use ZTool + Z-Stack 3.0 ZNP to set up a basic Zigbee 3.0 network
In reply to YiKai Chen:
i send the periodically,without aps acknowledgement;
In reply to liangliang lou:
Can you show me your SYSTEM_HEARTBEAT_EVT?
You do not return with event^ SYSTEM_HEARTBEAT_EVT in your if statement. It should looks like:
if (event & SYSTEM_HEARTBEAT_EVT)
return (event^ SYSTEM_HEARTBEAT_EVT);
Add return to see if it solves your problem.
dear YiKai Chen,
I have a try,and the related result is waiting for;
but i feel confused that i use below code in function void zb_HandleOsalEvent( uint16 event ),
and the funtion zb_HandleOsalEvent() is called shown as follow
at the end ,variable enents will set 0 return.
so in my opinion，it is not need to clean the SYSTEM_HEARTBEAT_EVT!
now the result is that this phenomenon is solved perfectly.
can you explain to me?
thank you !
i am so sorry to tell you
i found the problem is also exist,i found the end device will retransmission sometimes,but the problem is improved!
If you don not use event^ SYSTEM_HEARTBEAT_EVT to exclude the bit of SYSTEM_HEARTBEAT_EVT, it will keeps there and enter the "if statement" always every time your zb_HandleOsalEvent is called. You can not just use return 0 since you have process the event. You need to clear the bit.
What is the value of SYSTEM_HEARTBEAT_PERIOD? Do you set it very short?
the value i set is equal to 60 seconds,this mean that the heartbeat frame is reported every minute to the coordiantor
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.