| | |
| | | } |
| | | return random_value; |
| | | } |
| | | u8 GetRandomSlotPos(uint32_t emptyslot) |
| | | u8 GetRandomSlotPos(uint32_t emptyslot) //éæºéä¸ä¸ªä½ç½®ï¼å¦æè¢«å ç¨ï¼åä»å¤´å°å°¾éæ©ç¬¬ä¸ä¸ªæ²¡è¢«å ç¨çä½ç½® |
| | | { |
| | | u8 i,temp_value; |
| | | temp_value = GetRandomValue(); |
| | |
| | | memcpy(&temp_dist,&rx_buffer[DIST_IDX],4); |
| | | tagrec_datalen = rx_buffer[RT_USERDATA_INDEX+2]; |
| | | memcpy(&rec_userdata_targetid,&rx_buffer[RT_USERDATA_INDEX],2); |
| | | if(tagrec_datalen==USERDATA_LEN&&rec_userdata_targetid==dev_id) |
| | | if(tagrec_datalen==USERDATA_LEN) |
| | | { |
| | | if(rec_userdata_targetid==dev_id||rec_userdata_targetid==0xffff) |
| | | { |
| | | memcpy(tagrec_userdata,&rx_buffer[RT_USERDATA_INDEX+2],tagrec_datalen+1); |
| | | OutputUserData(rec_nearbaseid,tagrec_userdata,tagrec_datalen); |
| | | OutputUserData(rec_nearbaseid,tagrec_userdata,tagrec_datalen); |
| | | } |
| | | } |
| | | nearbase_distlist[rec_nearbasepos]=temp_dist; |
| | | if(temp_dist!=0x1ffff) |
| | |
| | | memcpy(&temp_dist,&rx_buffer[DIST_IDX],4); |
| | | tagrec_datalen = rx_buffer[RT_USERDATA_INDEX+2]; |
| | | memcpy(&rec_userdata_targetid,&rx_buffer[RT_USERDATA_INDEX],2); |
| | | if(tagrec_datalen==USERDATA_LEN&&rec_userdata_targetid==dev_id) |
| | | if(tagrec_datalen==USERDATA_LEN) |
| | | { |
| | | if(rec_userdata_targetid==dev_id||rec_userdata_targetid==0xffff) |
| | | { |
| | | memcpy(tagrec_userdata,&rx_buffer[RT_USERDATA_INDEX+2],tagrec_datalen+1); |
| | | OutputUserData(rec_nearbaseid,tagrec_userdata,tagrec_datalen); |
| | | OutputUserData(rec_nearbaseid,tagrec_userdata,tagrec_datalen); |
| | | } |
| | | } |
| | | nearbase_distlist[rec_nearbasepos]=temp_dist; |
| | | |
| | |
| | | rec_nearbase_num=rx_buffer[NEARBASENUM_INDEX]; |
| | | tagrec_datalen = rx_buffer[NEARBASEID_INDEX+rec_nearbase_num*2+2]; |
| | | memcpy(&rec_userdata_targetid,&rx_buffer[NEARBASEID_INDEX+rec_nearbase_num*2],2); |
| | | if(tagrec_datalen==USERDATA_LEN&&rec_userdata_targetid==dev_id) |
| | | if(tagrec_datalen==USERDATA_LEN) |
| | | { |
| | | if(rec_userdata_targetid==dev_id||rec_userdata_targetid==0xffff) |
| | | { |
| | | memcpy(tagrec_userdata,&rx_buffer[NEARBASEID_INDEX+rec_nearbase_num*2+2],tagrec_datalen+1); |
| | | OutputUserData(tag_id_recv,tagrec_userdata,tagrec_datalen); |
| | | OutputUserData(tag_id_recv,tagrec_userdata,tagrec_datalen); |
| | | } |
| | | } |
| | | if(rec_nearbase_num>ancidlist_num) |
| | | { |