Other Parts Discussed in Thread: TIMAC
If the following is not actually a bug, I apologize. With the lack of response I typically get in this forum, I was hoping the subject line would attract more attention.
I am using TIMAC 1.3.1 with IAR 7.6. I have a cluster tree topology and am currently improving the association process by allowing multiple devices to accurately attempt to join the PAN without short addresses being tosses out the TX buffer at will.
After the association process is complete (MAC_MlmeAssociateRsp sent and device sent a DATA REQUEST), the MAC_MLME_COMM_STATUS_IND section is called. The data contained in the comm status struct contains source and destination short+ext addresses. However, the destination short address is not correct, it is simply the last 2 bytes of the extended address.
What I want to do is add a new device to my device list at the completion of the association process (success at MAC_MLME_COMM_STATUS_IND). I need to know the short and long address during this callback from MAC. the closest I can get due to TIMAC being a library is MAC_INTERNAL_API void macTxFrame(uint8 txType). I can see the association rsp about to be sent(which is after the device sent a DATA REQUEST), but that is not good enough, I want this same information after it has been acknowledged. If multiple associations are happening it is essential to differentiate between them.
I can put a band-aid on this using more of RAM to store association responses, but I have already filled 7k of my 8k of RAM so I would rather not do that.
Any ideas would be appreciated.