Elisa Spano'

ZigBee : MC1322x node loses parent after Deep Sleep Wake up

Discussion created by Elisa Spano' on Apr 3, 2009
Latest reply on Apr 14, 2009 by Mohammed Imran Choudhary

Hi, I'm working with with codebase 3.0.1 and I have more or less the same problem: I want' my MC1322x ( chip version 2.0) Low Power Node goes to sleep and sends a test message to coordinator when it wake up. But sometimes, after wake up it loses its parents and like in you case "the led 1 blinking, and although I press the button 1 it remains blinking, it doesn´t make anything and it is imposible to rejoin with the coordinator. What is happening?"

 

To send message I added  SendSampleMessage(TRUE); in DeepSleepWakeupStackProc function

 

/* Called each time deep sleep mode is exited. */
void DeepSleepWakeupStackProc
  (
  void
  )
{
   
  TS_SendEvent(gAppTaskID, gAppEvtSyncReq_c);    
  SendSampleMessage(TRUE);
  return;
}

 

and defined this function in BeeApp.c

 

void SendSampleMessage(  bool_t wakeup)
{
  afAddrInfo_t afAddrInfo;
  FLib_MemSet(&afAddrInfo, 0, sizeof(afAddrInfo));

  afAddrInfo.dstAddrMode = gZbAddrMode16Bit_c; /* direct-16 bit*/
  Set2Bytes(afAddrInfo.dstAddr.aNwkAddr, 0x0000); /* short address of coordinator */
  afAddrInfo.dstEndPoint = 0xFF;/*destination endpoint =0xFF : the receiving stack will deliver that message to every endpoint on the node*/
  Copy2Bytes(afAddrInfo.aClusterId, gZclClusterBinaryOutput_c);/* cluster to send it to */

  afAddrInfo.srcEndPoint = appEndPoint;

  afAddrInfo.txOptions = gZclTxOptions;//0; /* to ACK or not to ACK, that is the question... */
  afAddrInfo.radiusCounter = afDefaultRadius_c; /* radius */

  if (wakeup==FALSE)
  {
     AF_DataRequest( & afAddrInfo, 14, "\n Hello World\n" , NULL);

  }
  else
  {
     AF_DataRequest( & afAddrInfo, 14, "\n Goodmorning\n" , NULL); 

  }
}

Outcomes