Hello everyone. I have a problem with using the next function:
afStatus_t ZDP_DeviceAnnce( uint16 nwkAddr, byte *IEEEAddr, byte capabilities, byte SecurityEnable );
ZDP_DeviceAnnce(ADDR,(void *)IEA,ZDO_Config_Node_Descriptor.CapabilityFlags, 0 );
Somewhere in my code :
.................
case ZDO_STATE_CHANGE:
NWK_STATE = (devStates_t)(MSGpkt->hdr.status);
if ( (NWK_STATE == DEV_ZB_COORD) ||
(NWK_STATE == DEV_ROUTER) ||
(NWK_STATE == DEV_END_DEVICE) )
{
// at this point the device has successfully connected to the network. THIS TRUE
uint8 IEA [8];
uint16 ADDR;
ZMacGetReq( ZMacExtAddr, IEA ); // JOB Function (checked by UART)
ZMacGetReq (ZMacShortAddress,(void *)ADDR); // JOB Function (checked by UART)
/*
ZDP_DeviceAnnce(ADDR,(void *)IEA,ZDO_Config_Node_Descriptor.CapabilityFlags, 0 ); // NO JOB (a sniffer I do not see the command Device Annce)
ZDP_DeviceAnnce( NLME_GetShortAddr(), NLME_GetExtAddr(),ZDO_Config_Node_Descriptor.CapabilityFlags, 0 ); // NO JOB (a sniffer I do not see the command Device Annce) same as above
*/
............
briefly about my project:
1) I write firmware for end device, using example - zcl_samplesw.c
2) I want to when successfully connected to my network device to send the command Device Annce
Take a look at my code, taking into account the fact that everything works, except this -> ZDP_DeviceAnnce
I can not understand why this function is not fulfilling its obligations?