void ZDO_StartLinkStatus(){
  
  /* Jitter time to avoid synchronization with link status of others devices.
   Time in milliseconds. */
  uint8_t gNwkLinkStatusJitterInterval = GetRandomRange(0,10);
  
  /* Start the timer */
  TMR_StartSingleShotTimer(gLinkStatusTimerID,
                           (TmrSeconds( NlmeGetRequest(gNwkLinkStatusPeriod_c) ) + gNwkLinkStatusJitterInterval),
                           CustomLinkStatusTimeOutCallBack);

}
// Add segment. Returns true if last segment on ray.
bool COGEmitterScrollingRay::AddSegment (float _fPos, float _fScale)
{
    bool bLast = false;
    ParticleFormat newseg;
    newseg.verts = GetEffectsManager()->AddParticle();
    BBVert* pV = (*newseg.verts);
    pV[0].c = m_color;
    pV[1].c = m_color;
    pV[2].c = m_color;
    pV[3].c = m_color;
    newseg.frame = (unsigned int)GetRandomRange(0, m_Frames.size());
    newseg.pos = _fPos;
    newseg.start = 1.0f - _fScale;
    newseg.scale = _fScale;
    newseg.end = 1.0f;
    if (_fPos + m_fSegment > m_fRayLength)
    {
        newseg.end = (m_fRayLength - _fPos) / m_fSegment;
        newseg.scale = newseg.end;
        bLast = true;
    }
    m_BBList.push_back(newseg);
    return bLast;
}