51uwb.cn

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á
²é¿´: 28746|»Ø¸´: 94
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

¡¾¿ªÔ´ÏîÄ¿¡¿TWRËã·¨-¶à»ùÕ¾¶à±êÇ©¹Ì¼þ

  [¸´ÖÆÁ´½Ó]

35

Ö÷Ìâ

1053

Ìû×Ó

4531

»ý·Ö

¹ÜÀíÔ±

Rank: 9Rank: 9Rank: 9

»ý·Ö
4531
Ìøתµ½Ö¸¶¨Â¥²ã
Â¥Ö÷

³õÖÔ£º           
       Ëæ×ÅUWB´óÁ¦·¢Õ¹£¬¹úÄÚʵ¼ÊÓ¦ÓÃÖð²½ÂäµØ¡£ ¶ÔÓÚUWBµÄÐèÇóÒѾ­²»ÊÇÍ£ÁôÔÚʵÑé²âÊԽ׶Σ¬
       Ä¿Ç°Öð²½½øÈëÉÌÓô󻷾³£¬ºÜ¶à³§ÉÌÌØÊâÐèÒªÒ»¶¨ÒªÑ¡ÓÃTWR£¬ÎÞ·¨½ÓÊÕTDOA¡£
       µ«ÊÇÊÜÏÞÓÚÄ¿Ç°´ó²¿·ÖTWR·½°¸Ò»°ãÖ»ÄÜÖ§³Ö3-4»ùÕ¾¶¨Î»£¬ºÜ¶à³§ÉÌÎÞ·¨ÊµÏÖUWBÏîÄ¿¿ìËÙÂäµØ¡£
       »ùÓÚÒÔÉÏ£¬ÎÒÃÇ´òË㿪ԴһÌ׶à»ùÕ¾¶à±êÇ©¹Ì¼þ£¬·½±ã¸ßÐèÇó¿Í»§¼û½âºÍ¶þ´Î¿ª·¢¡£
       ͬʱ£¬¶ÔÓÚѧϰ²âÊԵĿͻ§£¬½¨ÒéÒÀȻʹÓûù±¾°æ±¾3-4»ùÕ¾¶¨Î»£¬ÕâÖÖ¶à»ùÕ¾¶à±êǩʵÏÖÔö¼ÓÁ˸ü¶àÂß¼­²¿·ÖµÄʵÏÖ£¬²»ÊʺÏÈëÃÅѧϰ¡£

Èí¼þÁ÷³Ì£º


¹Ø¼üÁ÷³Ì˵Ã÷£º
³ýÁËÍê³É»ù±¾²â¾àÒÔÍ⣬ÕâÀïÖ÷ÒªÐèÒªÍê³É¶¯Ì¬Ê¶±ð¹¦ÄÜ£¬±êÇ©ÐèÒª¶¯Ì¬Ê¶±ðËüÖÜΧµÄ»ùÕ¾£¬Ê±¿Ì¿ÉÒÔ±£³ÖÓëÖÜΧ3-4¸ö»ùÕ¾½øÐвâ¾à¡£

¹Ì¼þBase£º
Õâ¸ö¹Ì¼þÒÀÈ»»ùÓÚÎÒÃǵĿªÔ´¿ò¼ÜÏîÄ¿51uwb_base½øÐжþ´Î¿ª·¢£¬
¸ü¶à¿ªÔ´¿ò¼ÜÏà¹Ø²Î¼ûÁ´½Ó£ºhttp://51uwb.cn/forum.php?mod=viewthread&tid=165&extra=page%3D1


¹Ì¼þÆ¥ÅäPython¿ªÔ´ÉÏλ»ú£º
ÉÏλ»úʹÓÃÎÒÃÇÄ¿Ç°ÒѾ­¿ªÔ´µÄ´¿python°æ±¾ÉÏλ»ú£¬Ïà¹ØÁ´½Ó£ºhttp://51uwb.cn/forum.php?mod=viewthread&tid=401&extra=page%3D1


¹Ì¼þÖØÒªÎÊÌâ˵Ã÷£º
1 ´®¿ÚÊä³ö£¬²»Í¬ÒÔÍù£¬ÕâÀïÓõÄÊDZêÇ©´®¿Ú
2 ÉÏλ»ú½Ó¿ÚÄ¿Ç°ÊÇTCP£¬ÐèҪʹÓô®¿ÚתTCP¹¤¾ß:´®¿ÚתTCP²Î¼ûÊÓƵ



¹Ì¼þÔ´Â룺
¹Ì¼þÔ´ÂëÒѾ­·Åµ½gitÉÏ£¬V1.0 °æ±¾¿ª·¢Íê³É£¬ÇëÏêϸ¿´ÏÂÃæµÄÃèÊö
ÍøÒ³Á´½Ó£ºhttps://tuzhuke@bitbucket.org/tuzhuke/bp30_multianthor
gitÏÂÔØ  £º git clone https://tuzhuke@bitbucket.org/tuzhuke/bp30_multianthor.git


¹Ì¼þ¿ª·¢¼Ç¼
Day1£º
githash:a387f5cdbbff3b6b1c818eaf459b4ad2a6fe24c0

Ö÷ÒªÍê³É¹¦ÄÜ£¬±êÇ©·¢Ë͹㲥Ðźţ¬»ùÕ¾½ÓÊչ㲥Ðźš£±êÇ©·¢Ë͵Ĺ㲥ÐźÅÐèÒª°üº¬ÒѾ­Ê¶±ðµÄ»ùÕ¾µØÖ·¡£

Step1 ÔÚ±êÇ©Öж¨ÒåÒ»¸ö´æ·Å»ùÕ¾µÄ½á¹¹ÌåÊý×é
  1. struct Anthor_Information
  2. {
  3.      uint16 short_address;//»ùÕ¾16bit ¶ÌµØÖ·
  4.      uint16 distance;//¾àÀëÐÅÏ¢£¬¸ß8 µÍ8bit
  5.      uint32 last_time;//ÉÏ´ÎͨÐÅʱ¼ä
  6.      uint8  rssi_info;//ÉÏ´ÎͨÐÅRSSIÖµ¼Ç¼
  7.     unsigned char alive; //ÊÇ·ñÒѾ­Ê¶±ð»òÕßÊÇ·ñÒѾ­¶ªÊ§
  8. } anthor_info[MAX_ANTHOR];
¸´ÖÆ´úÂë
Step2 ÔÚ±êÇ©Öз¢Ë͹㲥Ðźţ¬¹ã²¥ÐźŰüº¬ÁËÒѾ­Ê¶±ðµÄ»ùÕ¾£¬Èç¹û»ùÕ¾ÊÕµ½Õâ¸öÐÅÏ¢£¬·¢ÏÖÊý¾Ý°üÖÐÒѾ­ÓÐ×Ô¼ºµØÖ·¾ÍÎÞÐè·´À¡£¬·ñÔò·´À¡ÐÅÏ¢¸ø±êÇ©¡£º¯ÊýÊÔÏÂÈçÏ£º
  1. /*******************************************************************************
  2. * º¯ÊýÃû  : BPhero_TAG_Broadcast
  3. * ÃèÊö    : ±êÇ©Æô¶¯·¢Ë͹㲥ÐÅÏ¢¸ø¸÷¸ö»ùÕ¾,ÐÅÏ¢Êý¾Ý°ü°üÀ¨ÁË»ùÕ¾¶ÌµØÖ·
  4. * ÊäÈë    : ÎÞ
  5. * Êä³ö    : ÎÞ
  6. * ·µ»ØÖµ  : ÎÞ
  7. * ˵Ã÷    : ·¢ËÍbroadcastÐÅÏ¢(BÐÅÏ¢)¸øËùÓлùÕ¾
  8. *******************************************************************************/

  9. void BPhero_TAG_Broadcast(void)
  10. {
  11.     uint8 index = 0 ;
  12.     uint8 strlen = 0;
  13.     msg_f_send.destAddr[0] = 0xFF;
  14.     msg_f_send.destAddr[1] = 0xFF;

  15.     msg_f_send.seqNum = distance_seqnum;
  16.     msg_f_send.messageData[0]='B';//broadcast message
  17.     strlen = strlen + 1;

  18.     uint8 *pAnthor_Str = &msg_f_send.messageData[1];
  19.     //ºóÃæ¸ú»ùÕ¾ÐÅÏ¢
  20.     for(index = 0 ; index < MAX_ANTHOR; index++)
  21.     {
  22.         if(anthor_info[index].alive == 1)
  23.         {
  24.             sprintf(pAnthor_Str, "%04X:",anthor_info[index].short_address);
  25.             pAnthor_Str = pAnthor_Str + 5;
  26.             strlen = strlen + 5;
  27.         }
  28.     }

  29.     //GPIOB.5É趨£¬¼æÈÝ֮ǰ´øPAµÄÄ£¿é-->ÈçÐèÇóÇëÁªÏµwww.51uwb.cn
  30.     HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, !GPIO_PIN_RESET);//PA node ,enable pa
  31.     //дÈëÊý¾Ý
  32.     dwt_writetxdata(11 + strlen,(uint8 *)&msg_f_send, 0) ;  // write the frame data
  33.     dwt_writetxfctrl(11 + strlen, 0);
  34.     dwt_starttx(DWT_START_TX_IMMEDIATE);        //Æô¶¯·¢ËÍ
  35.     while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS))        //µÈ´ý·¢ËÍÍê³É
  36.     { };
  37.     dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_TXFRS);//Çå³ý·¢ËÍÍê³É±êÖ¾
  38.     poll_tx_ts = get_tx_timestamp_u64();//¶ÁÈ¡·¢ËÍʱ¼ä´Á

  39.     //Çå¿Õ½ÓÊÕ»º´æ£¬´ýÊÕµ½Êý¾ÝʱʹÓÃ
  40.     for (int i = 0 ; i < FRAME_LEN_MAX; i++ )
  41.     {
  42.         rx_buffer[i] = '\0';
  43.     }
  44.     dwt_enableframefilter(DWT_FF_DATA_EN);        //Æô¶¯Ö¡¹ýÂ˹¦ÄÜ
  45.     dwt_setrxtimeout(RESP_RX_TIMEOUT_UUS*10);//É趨½ÓÊÕÑÓʱº¯Êý
  46.     dwt_rxenable(0);//Æô¶¯½ÓÊÕ»ú
  47.     //sequence¿ØÖÆ
  48.     if(++distance_seqnum == 255)
  49.         distance_seqnum = 0;
  50. }
¸´ÖÆ´úÂë
Step3 ÔÚ±êÇ©Öе÷ÓÃÉÏÊöº¯Êý¹ã²¥·¢ËÍ£¬ÎÒÃÇʹÓÃ֮ǰ´úÂ붨ʱÆ÷»Øµ÷º¯Êý£¬Í¨¹ý»Øµ÷º¯Êý£¬¿ÉÒÔÖÜÆÚÐÔ·¢ËÍ
  1. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  2. {
  3.     if (htim->Instance == htim3.Instance)
  4.     {
  5.         HAL_TIM_Base_Stop(&htim3);
  6.         {
  7.             dwt_forcetrxoff();
  8.             TAG_SendOut_Messge();
  9.             BPhero_TAG_Broadcast();
  10.         }

  11.         HAL_TIM_Base_Start(&htim3);
  12.     }
  13. }
¸´ÖÆ´úÂë
Step4£º ÔÚ»ùÕ¾½ÓÊÕbroadcast ¡°B¡±Ðźţ¬ÔÚrx_main.cÖÐÊÕµ½¡°BÐźš±ºó´òÓ¡Ò»´®×Ö·û¡£
  1.             case 'B':
  2.                 printf("receive B message\n");
  3.                 break;
¸´ÖÆ´úÂë
·Ö±ð±àÒë±êÇ©ºÍ»ùÕ¾µÄ½øÐвâÊÔ¡£´®¿ÚÊý¾ÝÈçÏÂͼ£¬±íÃ÷Êý¾Ý¿ÉÒÔÕý³£ÊÕµ½¡£


Day2:
githash: e23e4e1e3bf681d1125036e5dbbf5a07fe363fdc

Ö÷ÒªÍê³É»ùÕ¾ÊÕµ½BÐÅÏ¢ºó£¬ÒÔRÐÅÏ¢»Ø¸´¸ø±êÇ©£¬±êÇ©ÊÕµ½ÐÅÏ¢ÌáÈ¡¶ÌµØÖ·£¬²¢¸üÐÂ×Ô¼ºµÄ½á¹¹ÌåÊý×é

Step1 Ð޸ıêÇ©¹ã²¥¸ñʽ£¬ÔÚÊý¾Ý°üÖÐÔö¼ÓÒÑÖª»ùÕ¾µÄ¸öÊý¡£
  1.     //ºóÃæ¸ú»ùÕ¾ÐÅÏ¢
  2.     for(index = 0 ; index < MAX_ANTHOR; index++)
  3.     {
  4.         if(anthor_info[index].alive == 1)
  5.         {
  6.             sprintf(pAnthor_Str, "%04X:",anthor_info[index].short_address);
  7.             pAnthor_Str = pAnthor_Str + 5;
  8.             strlen = strlen + 5;
  9.                                           anthor_count++;
  10.         }
  11.     }
  12.                 msg_f_send.messageData[1] = anthor_count;
¸´ÖÆ´úÂë
Step2: Ð޸ĻùÕ¾½ÓÊÕ´¦Àí£¬Ä¿Ç°Ö»¼òµ¥·´À¡ÐÅÏ¢¸ø±êÇ©£¬ÒÔ¡°R¡±ÐÅÏ¢»Ø¸´µ½±êÇ©£¬Í¬Ê±½«±êÇ©Êý¾Ý°üÖеġ°ÏÖÓлùÕ¾¸öÊý¡±´òÓ¡³öÀ´ÓÃÓÚdebug
  1.             case 'B':
  2.                 printf("receive B anthor = %d\n",msg_f->messageData[1]);
  3.                 {
  4.                     msg_f_send.messageData[0]='R';//Poll message
  5.                     //ºóÃæÐÞ¸ÄÕâ¸öÊý¾Ý³¤¶È
  6.                     dwt_writetxdata(11 + 1, (uint8 *)&msg_f_send, 0) ; // write the frame data
  7.                     dwt_writetxfctrl(11 + 1, 0);
  8.                     dwt_starttx(DWT_START_TX_IMMEDIATE);
  9.                     while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS))
  10.                     { };
  11.                 }
  12.                 break;
¸´ÖÆ´úÂë
Step3: ±êÇ©ÊÕµ½ÐÅÏ¢£¬ÌáÈ¡»ùÕ¾ÐÅÏ¢ÖеĵØÖ·
  1.    case 'R':
  2.   address = msg_f_recv->sourceAddr[1]<<8|msg_f_recv->sourceAddr[0];
  3.   printf("receive R message 0x%04X\n",address);
  4.   Update_Anthor_Info(address);
  5.   break;
¸´ÖÆ´úÂë
  1. uint8 Update_Anthor_Info(uint32 shortaddress)
  2. {
  3.    uint8 index = 0;
  4.    printf("shortaddress = 0x%04X\n",shortaddress);
  5.    //ºóÃæ¸ú»ùÕ¾ÐÅÏ¢
  6.     for(index = 0 ; index < MAX_ANTHOR; index++)
  7.     {
  8.         if(anthor_info[index].alive == 0)
  9.         {
  10.                                         anthor_info[index].short_address = shortaddress;
  11.                                         anthor_info[index].alive = 1;        
  12.                                         return 1;
  13.         }
  14.     }
  15.                 return 0;
  16. }
¸´ÖÆ´úÂë
Day3:
githash:4d1b64584706426c2a71174d7026cbe7696f2a4b

½ñÌìÍê³ÉÁË»ù±¾¹¦ÄÜ¿ª·¢£¬¿ÉÒÔ×÷ΪV1.0°æ±¾¡£
Ö÷Òª¿ª·¢ÄÚÈÝ£º»ùÕ¾½âÎö±êÇ©·¢Ë͵Ĺ㲥BÐźţ¬±êÇ©»ã×ÜRÐźŻùÕ¾£¬Èç¹ûÊÕµ½R»ùÕ¾´óÓÚµÈÓÚ4¸ö¿ªÊ¼²â¾à£¬Èç¹û²â¾àµÄʱºò·¢ÏÖ»ùÕ¾¶ªÊ§£¬ÖØÐÂÆô¶¯¹ã²¥BÐźš£
1 »ùÕ¾½âÎö±êÇ©¹ã²¥BÐźţ¬Æ¥ÅäÊÇ·ñÓÐ×Ô¼ºµÄµØÖ·£¬ÓеØÖ·ºöÂÔ£¬Ã»ÓеØÖ·»Ø¸´RÐźÅ
  1.             case 'B':
  2.                 printf("receive B anthor = %d\n",msg_f->messageData[1]);
  3.                 Num_Anthor = msg_f->messageData[1];
  4.                 Sourceaddress =  msg_f->sourceAddr[1]<<8| msg_f->sourceAddr[0];
  5.                 pAnthor_Str = &msg_f->messageData[2];
  6.                 match_flag = 0;
  7.                 for (Index = 0; Index < Num_Anthor; Index++)
  8.                 {
  9.                     printf("receive address = %04X\n",(pAnthor_Str[1]<<8|pAnthor_Str[0]));

  10.                     if(SHORT_ADDR == (pAnthor_Str[1]<<8|pAnthor_Str[0])) //Æ¥Åä³É¹¦
  11.                     {
  12.                         printf("match\n");
  13.                         match_flag = 1;

  14.                     }
  15.                     pAnthor_Str = pAnthor_Str +3 ;
  16.                 }

  17.                 if(match_flag == 0)//ûÓÐÆ¥Åäµ½£¬·¢ËÍÒ»¸ö·´À¡ÐÅÏ¢
  18.                 {
  19.                     msg_f_send.messageData[0]='R';//Poll message
  20.                     //ºóÃæÐÞ¸ÄÕâ¸öÊý¾Ý³¤¶È
  21.                     dwt_writetxdata(11 + 1, (uint8 *)&msg_f_send, 0) ; // write the frame data
  22.                     dwt_writetxfctrl(11 + 1, 0);
  23.                     dwt_starttx(DWT_START_TX_IMMEDIATE);
  24.                     while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS))
  25.                     { };
  26.                 }
  27.                 break;
¸´ÖÆ´úÂë
2 ±êÇ©»ã×Ü»ùÕ¾·´À¡µÄRÐźţ¬ÆäʵÕⲿ·Ö´úÂëÔÚday2 ÒѾ­Íê³É£¬ÎÞÐèÐ޸ġ£
3 ÅжÏÊÕµ½RÐźŸöÊý£¬Õâ¸öÔÚ¶¨Ê±¹ã²¥ÀïÅжϵġ£Èç¹ûСÓÚ4£¬³ÖÐøÖ´Ðй㲥ÊÕ¼¯¡£
  1.         HAL_TIM_Base_Stop(&htim3);
  2.         {
  3.             dwt_forcetrxoff();
  4.             if(Count_Anthor() < 4)
  5.             {
  6.                 gProcess_Dis = 0;
  7.                 BPhero_TAG_Broadcast();
  8.                 gSend_index = 0;

  9.             }
¸´ÖÆ´úÂë
¾ßÌåʵÏÖº¯Êý
  1. uint8 Count_Anthor()
  2. {
  3.     uint8 index = 0;
  4.     uint8 count = 0;
  5.     //ºóÃæ¸ú»ùÕ¾ÐÅÏ¢
  6.     for(index = 0 ; index < MAX_ANTHOR; index++)
  7.     {
  8.         if(anthor_info[index].alive == 1)
  9.         {
  10.             count++;
  11.         }
  12.     }
  13.     return count;
  14. }
¸´ÖÆ´úÂë

3 µ±RÐźŻùÕ¾ÊýÁ¿µÈÓÚ4¸ö£¬¿ªÊ¼Æô¶¯²â¾à
  1.             if(Count_Anthor() < 4)
  2.             {
  3.                 gProcess_Dis = 0;
  4.                 BPhero_TAG_Broadcast();
  5.                 gSend_index = 0;

  6.             }
  7.             else
  8.             {
  9.                 if(gSend_index ==Count_Anthor())
  10.                 {
  11.                     gSend_index= 0;
  12.                     Send_Dis_To_Anthor0();
  13.                 } else
  14.                 {
  15.                     gProcess_Dis = 1;
  16.                     BPhero_Distance_Measure_Specail_ANTHOR();// ´Ó1 2 3 4·¢ËÍ
  17.                 }
  18.             }
¸´ÖÆ´úÂë
ÕâÀïµÄSend_Dis_To_Anthor0()ÊÇÑØÓÃ֮ǰµÄº¯ÊýÃû£¬ÆäʵÔÚÕâ¸öÀïÃæʵÏÖÁËÊý¾Ý¸ñʽ×é×°²¢ÔÚ´®¿Ú´òÓ¡£¬ÒÔ¼°µ÷Óú¯ÊýÔÚÒº¾§ÏÔʾ¡£
BPhero_Distance_Measure_Specail_ANTHOR()Ö÷Òª¹¦ÄܾÍÊÇÆô¶¯²â¾à£¬²â¾à¶ÔÏóÊÇÊÕ¼¯µ½RÐźŵĻùÕ¾¡£
  1. void BPhero_Distance_Measure_Specail_ANTHOR(void)
  2. {
  3.     uint16 destaddress = Find_Address();
  4.    // printf("Send Index = %d, Address = 0x%04X\n",gSend_index,destaddress);
  5.     msg_f_send.destAddr[0] =(destaddress) &0xFF;
  6.     msg_f_send.destAddr[1] =  ((destaddress)>>8) &0xFF;

  7.     msg_f_send.seqNum = distance_seqnum;
  8.     msg_f_send.messageData[0]='P';//Poll message

  9.     //GPIOB.5É趨£¬¼æÈÝ֮ǰ´øPAµÄÄ£¿é-->ÈçÐèÇóÇëÁªÏµwww.51uwb.cn
  10.     HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, !GPIO_PIN_RESET);//PA node ,enable pa
  11.     //дÈëÊý¾Ý
  12.     dwt_writetxdata(12,(uint8 *)&msg_f_send, 0) ;  // write the frame data
  13.     dwt_writetxfctrl(12, 0);
  14.     dwt_starttx(DWT_START_TX_IMMEDIATE);        //Æô¶¯·¢ËÍ
  15.     while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS))        //µÈ´ý·¢ËÍÍê³É
  16.     { };
  17.     dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_TXFRS);//Çå³ý·¢ËÍÍê³É±êÖ¾
  18.     poll_tx_ts = get_tx_timestamp_u64();//¶ÁÈ¡·¢ËÍʱ¼ä´Á

  19.     //Çå¿Õ½ÓÊÕ»º´æ£¬´ýÊÕµ½Êý¾ÝʱʹÓÃ
  20.     for (int i = 0 ; i < FRAME_LEN_MAX; i++ )
  21.     {
  22.         rx_buffer[i] = '\0';
  23.     }
  24.     dwt_enableframefilter(DWT_FF_DATA_EN);        //Æô¶¯Ö¡¹ýÂ˹¦ÄÜ
  25.     dwt_setrxtimeout(RESP_RX_TIMEOUT_UUS);//É趨½ÓÊÕÑÓʱº¯Êý
  26.     dwt_rxenable(0);//Æô¶¯½ÓÊÕ»ú
  27.     //sequence¿ØÖÆ
  28.     if(++distance_seqnum == 255)
  29.         distance_seqnum = 0;
  30. }
¸´ÖÆ´úÂë
4 Öжϻص÷º¯ÊýÖд¦Àítimeout£¬Èç¹û²â¾à¶ÔÏó»ùվûÓз´À¡£¬±êÇ©·¢ÉútimeoutÖжϣ¬ÔòÁ¢¼´½«¸Ã»ùÕ¾islive ÉèÖÃΪ0£¬´øÏ´Îͳ¼Æ£¬·¢ÏÖ»ùÕ¾ÊýÁ¿Ð¡ÓÚ4£¬Ôò±êÇ©ÖØз¢Ë͹㲥ÐźÅÊÕ¼¯»ùÕ¾¡£
  1.    else
  2.     {
  3.         if(gProcess_Dis == 1)
  4.         {
  5.             printf("timeout address 0x%04X\n",Find_Address());
  6.             Delete_Anthor(Find_Address());
  7.         }
¸´ÖÆ´úÂë
ÆäËü¸üУº
git hash:4892896b3d09e6009dfbe3d537e866f2c94d2d36

ÐÞ¸ÄÁËÒ»¸ö×æ´«´úÂëbug£¬Ê¹ÓÃÁËÒ°Ö¸Õë....
git hash£ºd2e01e118126c9ce9c84337126db3e92d23ed3ba

ÐÞ¸ÄÁËUWBÖжϣ¬ÈÃUWBÖжÏÖ»´¦Àí½ÓÊճɹ¦ºÍtimeoutÁ½ÖÖʼþ£¬ÆäËûʼþ¾ù²»´¦Àí

ͬʱ£¬µ÷ÊÔµÄʱºò·¢ÏÖÉÏλ»úµ±ÊÕµ½Òì³£Êý¾ÝÎÞ·¨´¦Àí£¬µ¼ÖÂÒì³£Í˳ö
  1. def twr_main(input_string):
  2.     print(input_string)
  3.     error_flag, result_dic = Process_String_Before_Udp(input_string)
  4.     if error_flag == 0:
  5.         [location_result, location_seq, location_addr, location_x, location_y] = Compute_Location(result_dic)
  6.         return location_result, location_seq, location_addr, location_x, location_y
  7.     return 0, 0, 0, 0, 0
¸´ÖÆ´úÂë
µ±·¢ÉúÒì³££¬Ôö¼Óreturn 0, 0, 0, 0, 0£¬´úÂëͬ²½¸üе½ÉÏλ»ú²¿·ÖÁ´½Ó¡£


×Ô´Ë£¬Í¨¹ýÈýÌ죬ÁãÉ¢µÄʱ¼ä£¬¿ª·¢³öÒ»Ì׿ÉÒÔ¶¯Ì¬Ê¶±ð»ùÕ¾²¢Íê³É²â¾àµÄ¹Ì¼þ´úÂ룬´úÂë±àдʱ¼äºÍ²âÊÔdebugʱ¼ä»ù±¾ÊÇ1:5£¬¸ü¶àµÄÊÇϸ½Ú¿¼ÂDz½Öèµ¼ÖÂÒì³£.
¿ª·¢¹ý³ÌÖÐÓöµ½Ò»¸öºÜ¹îÒìµÄÒì³££¬µ±ÆäÖÐÒ»¸ö»ùÕ¾µØÖ·½«¶ÌµØÖ·ÉèÖÃΪ0x0006ºó£¬±êǩʶ±ð³É¹¦µ«ÊÇÎÞ·¨Íê³É²â¾à£¬Í¨¹ý¼ÓdebugÐÅÏ¢×îÖÕ·¢ÏÖÊÇÓÉÓÚ±êÇ©²â¾àÍê³ÉºóÓÐÒ»¸öÂ˲¨Æ÷£¬Â˲¨Æ÷ÉèÖõÄ×î´ó»ùÕ¾ÊýĿΪ5£¬µ¼ÖÂÊý×éÔ½½ç·ÃÎÊ¡£

ÈýÌìÁãÉ¢µÄ¿ª·¢Ê±¼ä£¬¿ÉÒÔ˵Õâ´Î¿ª·¢·Ç³£Ë³Àû£¬Ò»ÊÇÓÉÓÚÓÐÒ»¸ö±È½ÏÍ걸µÄ´úÂë¿ò¼Ü£¬»ùÓÚ֮ǰµÄ´úÂë¿ò¼Ü¿ª·¢£¬¿ÉÒÔ¼õÉÙ¶ÔÓڵײãµÄÒÀÀµ£¬Ö»ÐèҪʵÏÖÂß¼­²¿·Ö¼´¿É¡£¶øÂß¼­²¿·ÖÆäʵÔÚºÜÔç֮ǰ¾ÍÓÐÏë·¨£¬Í¨¹ýÏë·¨Âäʵµ½Á÷³Ìͼ£¬¹æ»®Ã¿Ò»²½Òª×öʲô¡£Ä¿Ç°µÄ´úÂ뻹ûÓÐÇкϵ½Á÷³ÌͼÉÏ£¬Á÷³ÌͼÖУ¬ÎÒµÄÏë·¨ÊǼ´±ãÓÐ4¸ö»ùÕ¾¿ÉÒÔ¶¨Î»£¬ÒÀÈ»ÖÜÆÚÐԵķ¢Ë͹㲥£¬·¢ÏÖ¸ü¶àµÄ»ùÕ¾£¬Ñ¡È¡¸½½üµÄ»ùÕ¾×ö²Î¿¼¡£ ÓÉÓÚʱ¼ä¹Øϵ£¬Õâ¸ö²¿·Ö¿ÉÄÜÁô¸ø¸÷λ¿´¹ÙÁË¡£


¹ØÓÚÓ²¼þ£¬Ä¿Ç°ÎÒÃǵĴúÂ룬»ùÓÚÓ²¼þÊÇÎÒÃÇ×ÔÑеÄBP30£¬Ê¹ÓÃÖ÷¿ØÊÇF4¡£Í¬Ê±¿ÉÒÔÎÞ·ìÔÚBP400 ÉÏʹÓᣠÈç¹ûûÓÐÎÒÃǵÄÓ²¼þ£¬¿ÉÒÔÊʵ±½øÐÐÒÆÖ²£¬Æ¥ÅäÖ÷¿Ø¡£

×îºó£¬»¶Ó­½»Á÷·ÖÏí£¡

дÔÚ×îºó£¬ÖØÒªÌáʾ£¡£¡
ÎÒÃǵĿªÔ´ÏîÄ¿£¬¹¤³ÌÒÔgit ¹ÜÀí£¬¹¤³ÌÖð²½µü´ú£¬Öð²½Ôö¼Ó¹¦ÄÜ£¬Ê¹ÓôúÂëÇë²Î¿¼hashÌá½»°æ±¾¡£
TWRËã·¨-¶à»ùÕ¾¶à±êÇ©¹Ì¼þ V1.0 °æ±¾ GIT HASHΪ£ºd887386e8ed3d7ac978234c03e3eaf876a058631









»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

35

Ö÷Ìâ

76

Ìû×Ó

197

»ý·Ö

¹Ù·½»áÔ±

Rank: 8Rank: 8

»ý·Ö
197
ɳ·¢
·¢±íÓÚ 2021-9-11 23:11:21 | Ö»¿´¸Ã×÷Õß
¿ÉÒÔ¼òµ¥ËµËµ¡°ºÜ¶à³§ÉÌÌØÊâÐèÒªÒ»¶¨ÒªÑ¡ÓÃTWR£¬ÎÞ·¨½ÓÊÕTDOA¡£¡±µÄÔ­ÒòÂðÂ¥Ö÷~
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

35

Ö÷Ìâ

1053

Ìû×Ó

4531

»ý·Ö

¹ÜÀíÔ±

Rank: 9Rank: 9Rank: 9

»ý·Ö
4531
°åµÊ
 Â¥Ö÷| ·¢±íÓÚ 2021-9-12 11:00:12 | Ö»¿´¸Ã×÷Õß
ÍÃ×Ó ·¢±íÓÚ 2021-9-11 23:11
¿ÉÒÔ¼òµ¥ËµËµ¡°ºÜ¶à³§ÉÌÌØÊâÐèÒªÒ»¶¨ÒªÑ¡ÓÃTWR£¬ÎÞ·¨½ÓÊÕTDOA¡£¡±µÄÔ­ÒòÂðÂ¥Ö÷~

½Ó´¥¹ý×öú¿óÏîÄ¿µÄ¹¤³Ìʦ£¬ËûÃÇÓиöÒªÇ󣬵¥¸ö»ùÕ¾´æÔÚµÄÇé¿öµÄʱºò£¬Òª»ñÈ¡µ½±êÇ©ºÍÕâ¸ö»ùÕ¾µÄ¾àÀë¡£TDOAÕâ¸ö×ö²»µ½
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

4

Ö÷Ìâ

43

Ìû×Ó

115

»ý·Ö

×¢²á»áÔ±

Rank: 2

»ý·Ö
115
µØ°å
·¢±íÓÚ 2021-9-13 02:54:46 | Ö»¿´¸Ã×÷Õß
À¶µãÎÞÏÞ ·¢±íÓÚ 2021-9-12 11:00
½Ó´¥¹ý×öú¿óÏîÄ¿µÄ¹¤³Ìʦ£¬ËûÃÇÓиöÒªÇ󣬵¥¸ö»ùÕ¾´æÔÚµÄÇé¿öµÄʱºò£¬Òª»ñÈ¡µ½±êÇ©ºÍÕâ¸ö»ùÕ¾µÄ¾àÀë¡£TD ...

TDOAÖ»½â¾öÁË¡°ËûÔÚÄÄ¡±²»Äܽâ¾ö¡°ÎÒÔÚÄÄ¡±µÄÎÊÌâ¡£±êÇ©µ¥Ïò¹ã²¥£¬ÎÞ·¨·´Ïò¸ø±êÇ©´«Î»ÖÃÐÅÏ¢£¬Ê¹µÃ»ùÕ¾ÖªµÀ±êÇ©ÔÚÄÄÀ¶ø±êÇ©×Ô¼º²»ÖªµÀÔÚÄÄÀӦÓõ½ÎÞÈËƽ̨ºóÎÞ·¨½â¾ö¡°ÎÒÔÚÄÄ¡±µÄÎÊÌâ¡£TDOA²»ÊÊÓÃÓÚ´ËÀೡ¾°
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

0

Ö÷Ìâ

6

Ìû×Ó

33

»ý·Ö

ÐÂÊÖÉÏ·

Rank: 1

»ý·Ö
33
5#
·¢±íÓÚ 2021-9-13 11:40:52 | Ö»¿´¸Ã×÷Õß
ʹÓÃÄãÃǵÄÄ£¿éÓë´úÂëÔõô±êÇ©³öÏÖÖØÆôÏÖÏóÄØ£¬
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

35

Ö÷Ìâ

1053

Ìû×Ó

4531

»ý·Ö

¹ÜÀíÔ±

Rank: 9Rank: 9Rank: 9

»ý·Ö
4531
6#
 Â¥Ö÷| ·¢±íÓÚ 2021-9-13 22:00:22 | Ö»¿´¸Ã×÷Õß
sdfb6868 ·¢±íÓÚ 2021-9-13 02:54
TDOAÖ»½â¾öÁË¡°ËûÔÚÄÄ¡±²»Äܽâ¾ö¡°ÎÒÔÚÄÄ¡±µÄÎÊÌâ¡£±êÇ©µ¥Ïò¹ã²¥£¬ÎÞ·¨·´Ïò¸ø±êÇ©´«Î»ÖÃÐÅÏ¢£¬Ê¹µÃ»ùÕ¾Öª ...

ºÜÐÎÏó£¬Äã˵µÄÕâ¸öÊÇÉÏÐÐģʽ£¬ÆäʵÏÂÐÐģʽ¿ÉÒÔ½â¾ö¡°ÎÒÔÚÄÄ¡±µÄÎÊÌ⣬ÏÂÐÐģʽ¾ÍÊÇGPSÁË£¬²»¹ý±êÇ©¹¦ºÄ½Ï´ó£¬¼ÆËãÁ¿Ò²´óÁË¡£
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

35

Ö÷Ìâ

1053

Ìû×Ó

4531

»ý·Ö

¹ÜÀíÔ±

Rank: 9Rank: 9Rank: 9

»ý·Ö
4531
7#
 Â¥Ö÷| ·¢±íÓÚ 2021-9-13 22:01:35 | Ö»¿´¸Ã×÷Õß
bingnuo ·¢±íÓÚ 2021-9-13 11:40
ʹÓÃÄãÃǵÄÄ£¿éÓë´úÂëÔõô±êÇ©³öÏÖÖØÆôÏÖÏóÄØ£¬

ÏêϸÃèÊö£¬»òÕßÌṩһ¸öÍêÕûµÄÊÓƵ¡£
ÊÓƵ¿ÉÒÔÉÏ´«µ½BÕ¾£¬Ö±½Ó»Ø¸´ÔÚÂÛ̳£¬ÂÛ̳¼´¿É²é¿´ÊÓƵ
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

0

Ö÷Ìâ

45

Ìû×Ó

48

»ý·Ö

ÐÂÊÖÉÏ·

Rank: 1

»ý·Ö
48
8#
·¢±íÓÚ 2021-9-28 22:38:05 | Ö»¿´¸Ã×÷Õß
ºÃ×ÊÁÏ£¬¿ÉϧÏÂÔز»ÁË£¬Ð»Ð»Â¥Ö÷µÄÎÞ˽·ÖÏí
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

35

Ö÷Ìâ

76

Ìû×Ó

197

»ý·Ö

¹Ù·½»áÔ±

Rank: 8Rank: 8

»ý·Ö
197
9#
·¢±íÓÚ 2021-10-5 12:55:25 | Ö»¿´¸Ã×÷Õß
ÎҵĵçÄÔ±àÒëµÄʱºò»áÌáʾȱÉÙi2c_sw.h  ÐèÒªÊÖ¶¯ÔÚħÊõ°ôµÄC/C++Ìí¼ÓplatformÖеÄmpu9250µ½±àÒë·¾¶ÖÐ
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

35

Ö÷Ìâ

76

Ìû×Ó

197

»ý·Ö

¹Ù·½»áÔ±

Rank: 8Rank: 8

»ý·Ö
197
10#
·¢±íÓÚ 2021-10-5 13:56:29 | Ö»¿´¸Ã×÷Õß
À¶µãÎÞÏÞ ·¢±íÓÚ 2021-9-13 22:01
ÏêϸÃèÊö£¬»òÕßÌṩһ¸öÍêÕûµÄÊÓƵ¡£
ÊÓƵ¿ÉÒÔÉÏ´«µ½BÕ¾£¬Ö±½Ó»Ø¸´ÔÚÂÛ̳£¬ÂÛ̳¼´¿É²é¿´ÊÓƵ

ÎÒÏÖÔÚÓÃSTLINKÏÂÔغù̼þºó ´®¿Ú¶¼´òÓ¡ÂÒÂë  È»ºó±êÇ©Ë«ºìµÆ²»ÉÁ˸   ËÑË÷»ùÕ¾¹¦ÄÜʧЧ
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ÄúÐèÒªµÇ¼ºó²Å¿ÉÒÔ»ØÌû µÇ¼ | Á¢¼´×¢²á

±¾°æ»ý·Ö¹æÔò

bphero Inc.  

GMT+8, 2024-11-22 22:17 , Processed in 0.021235 second(s), 6 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By ¡¾Î´À´¿Æ¼¼¡¿¡¾ www.wekei.cn ¡¿

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí