Hi,
I'm using one AP and many EDs network based on Sensor Monitor demo and Simpliciti "AP as data hub".
Nothing works yet (with proper Join and Link peocedures) so I'm trying something more basic...
I've created one simple ED that always just transmits SMPL_LINKID_USER_UUD packets but I cannot see them on AP.
Do I have to do something special ? I'm polling with SMPL_receive with SMPL_LINKID_USER_UUD as id, but nothing is found... I've also modified call back to leave packets for later retrieval...
Do I have to do anything else to be able to receive those packets ?
Thanks in advance,
regards,
Robert.
I've done some tests and the important thing is as you say, to retreive messages using the SMPL_LINKID_USER_UUD in the SMPL_Receive function. I modified callback function so that i may be able to read established linkIDs and UUD packets like this:
static uint8_t sCB(linkID_t lid){ if (lid==sLinkID1) sPeerFrameSem++; else if(lid==SMPL_LINKID_USER_UUD) sUUDFrameSem++; return 0;}
Under my main program, I read the semaphores like this:
if(sPeerFrameSem){ uint8_t msgRX[MAX_APP_PAYLOAD], len; if (SMPL_SUCCESS == SMPL_Receive(sLinkID1,msgRX, &len))
{ processMessage(sLinkID1, msgRX, len); BSP_ENTER_CRITICAL_SECTION(intState); sPeerFrameSem--; BSP_EXIT_CRITICAL_SECTION(intState); } }if(sUUDFrameSem){ uint8_t msgRX[MAX_APP_PAYLOAD], len;
if (SMPL_SUCCESS == SMPL_Receive(SMPL_LINKID_USER_UUD, msgRX, &len)) { processMessageUUD(SMPL_LINKID_USER_UUD, msgRX, len);
BSP_ENTER_CRITICAL_SECTION(intState); sUUDFrameSem--; BSP_EXIT_CRITICAL_SECTION(intState); }}
So far that works for me. I can hear packets sent by AP (LinkID1) and also any frame received under SMPL_LINKID_USER_UUD.
Regards.