zhyinch
2022-05-24 5b6fe0edc2790d1948c09b191a2a565e8874f875
Ô´Âë/ºËÐİå/Src/application/dw_app.c
@@ -294,7 +294,7 @@
   }
   return random_value;
}
u8 GetRandomSlotPos(uint32_t emptyslot)
u8 GetRandomSlotPos(uint32_t emptyslot) //随机选一个位置,如果被占用,则从头到尾选择第一个没被占用的位置
{
   u8 i,temp_value;
   temp_value = GetRandomValue();
@@ -461,10 +461,13 @@
                           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)
@@ -526,10 +529,13 @@
                           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;
                           
@@ -1149,10 +1155,13 @@
            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)
               {