| | |
| | | return max_slotpos-1; |
| | | } |
| | | u8 test=0; |
| | | u8 anclost_times=0; |
| | | u8 anclost_times=0,usartoutput_count,usartoutput_notenough=0; |
| | | u8 exsistbase_list[MAX_NEARBASE_NUM],report_num,get_newbase=0,rec_extratag_battary; |
| | | u16 temp_sync_timer1,temp_sync_timer2,rec_extratag_id; |
| | | int32_t rec_extratag_dist; |
| | |
| | | dwt_setrxaftertxdelay(POLL_TX_TO_RESP_RX_DLY_UUS); //设置åéåå¼å¯æ¥æ¶ï¼å¹¶è®¾å®å»¶è¿æ¶é´ |
| | | dwt_setrxtimeout(RESP_RX_TIMEOUT_UUS); |
| | | tag_succ_times = 0; |
| | | usartoutput_count = 0; |
| | | GPIO_WriteBit(GPIOA, GPIO_Pin_10, Bit_SET); |
| | | if(next_nearbase_num>=MAX_NEARBASE_NUM) |
| | | { |
| | |
| | | checksum = Checksum_u16(&usart_send[2],17); |
| | | memcpy(&usart_send[19],&checksum,2); |
| | | UART_PushFrame(usart_send,21); |
| | | usartoutput_count++; |
| | | #endif |
| | | } |
| | | if(rec_extratag_dist!=0x1ffff&&rec_extratag_dist!=0&&rx_buffer[GROUP_ID_IDX]!=supergroupid) |
| | |
| | | checksum = Checksum_u16(&usart_send[2],17); |
| | | memcpy(&usart_send[19],&checksum,2); |
| | | UART_PushFrame(usart_send,21); |
| | | usartoutput_count++; |
| | | #endif |
| | | |
| | | //dwt_setdelayedtrxtime(final_tx_time);//设置finalå
åéæ¶é´T5 |
| | |
| | | // }else{ |
| | | // anclost_times=0; |
| | | // } |
| | | if(usartoutput_count>=2) |
| | | { |
| | | usartoutput_notenough = 0; |
| | | }else{ |
| | | if(usartoutput_notenough++>10) |
| | | { |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软å¤ä½åå°bootloader |
| | | } |
| | | } |
| | | dwt_forcetrxoff(); |
| | | dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR| SYS_STATUS_TXFRS |SYS_STATUS_RXFCG); |
| | | } |
| | |
| | | u16 tagid_list[TAG_NUM_IN_SYS]; |
| | | u8 tagofflinetime[TAG_NUM_IN_SYS]; |
| | | int32_t tagdist_list[TAG_NUM_IN_SYS]; |
| | | u8 tagseq_list[TAG_NUM_IN_SYS]; |
| | | void TagListUpdate(void) |
| | | { |
| | | u16 i,j=0,temp[TAG_NUM_IN_SYS]; |
| | |
| | | }else{ |
| | | motorstate =0; |
| | | } |
| | | |
| | | if(frame_seq_nb2!=tagseq_list[taglist_pos]+1) |
| | | { |
| | | tagdist_list[taglist_pos]=0x1ffff; |
| | | } |
| | | if(new_tagid) |
| | | { |
| | | tagdist_list[taglist_pos]=0x1ffff; |
| | |
| | | #ifdef TDFILTER |
| | | NewTrackingDiffUpdate(taglist_pos, (float)hex_dist); |
| | | filter_dist = pos_predict[taglist_pos]/10; |
| | | filter_speed = vel_predict[taglist_pos]/10; |
| | | //filter_speed = vel_predict[taglist_pos]; |
| | | newmeasure = 1; |
| | | #else |
| | | filter_dist=hex_dist/10; |
| | | #endif |
| | | misdist_num[taglist_pos]=0; |
| | | tagdist_list[taglist_pos] = filter_dist; |
| | | tagdist_list[taglist_pos] = filter_dist; |
| | | his_dist[taglist_pos]=hex_dist; |
| | | if(hex_dist>0) |
| | | { |
| | |
| | | }else{ |
| | | g_Tagdist[taglist_pos]= 1; |
| | | } |
| | | tagseq_list[taglist_pos] = frame_seq_nb2; |
| | | #ifdef USART_SINGLE_OUTPUT |
| | | usart_send[2] = 1;//æ£å¸¸æ¨¡å¼ |
| | | usart_send[3] = 17;//æ°æ®æ®µé¿åº¦ |
| | |
| | | if(tagdist_list[taglist_pos]<=0) |
| | | tagdist_list[taglist_pos]=10; |
| | | memcpy(&usart_send[9],&tagdist_list[taglist_pos],4); |
| | | tagdist_list[taglist_pos] =tagdist_list[taglist_pos]| (battary<<24); |
| | | tagdist_list[taglist_pos] =tagdist_list[taglist_pos]| (battary<<24); |
| | | usart_send[13] = battary; |
| | | usart_send[14] = button; |
| | | usart_send[15] = firstpath_power; |