| | |
| | | } |
| | | return i; |
| | | } |
| | | uint8_t uwb_rec_userdata[2]; |
| | | uint8_t uwb_rec_userdata[16]; |
| | | uint8_t Anchor_RecNearPoll(uint8_t ancrec_nearbasepos) //0 mainbase 1 first near_base |
| | | { |
| | | uint8_t motorstate; |
| | |
| | | usart_send[0]=0x55; |
| | | usart_send[1]=0xAA; |
| | | usart_send[2] = 1;//正常模式 |
| | | usart_send[3] = 17;//数据段长度 |
| | | usart_send[3] = 17+14;//数据段长度 |
| | | usart_send[4] = frame_seq_nb2;//数据段长度 |
| | | memcpy(&usart_send[5],&tag_id_recv,2); |
| | | memcpy(&usart_send[7],&dev_id,2); |
| | |
| | | usart_send[14] = button; |
| | | usart_send[15] = firstpath_power; |
| | | usart_send[16] = rx_power; |
| | | memcpy(&usart_send[17],&uwb_rec_userdata,2); |
| | | checksum = Checksum_u16(&usart_send[2],17); |
| | | memcpy(&usart_send[19],&checksum,2); |
| | | USART_puts(usart_send,21); |
| | | memcpy(&usart_send[17],&uwb_rec_userdata,16); |
| | | checksum = Checksum_u16(&usart_send[2],31); |
| | | memcpy(&usart_send[33],&checksum,2); |
| | | USART_puts(usart_send,35); |
| | | }else{ |
| | | if(g_com_map[MODBUS_ID1]==1) |
| | | { |
| | |
| | | memcpy(&anc_id_recv,&rx_buffer[ANCHOR_ID_IDX],2); |
| | | //将收到的tag_id分别写入各次通讯的包中,为多标签通讯服务,防止一次通讯中接收到不同ID标签的数据 |
| | | memcpy(&tag_id_recv,&rx_buffer[TAG_ID_IDX],2); |
| | | memcpy(&uwb_rec_userdata,&rx_buffer[POLL_USERDATA_IDX],2); |
| | | if(group_id== rx_buffer[GROUP_ID_IDX]) |
| | | { |
| | | switch(rx_buffer[MESSAGE_TYPE_IDX]) |
| | |
| | | memcpy(&rec_ancidlist,&rx_buffer[FZ_NEARBASEID_INDEX],2*rec_nearbase_num); |
| | | memcpy(&rec_ancdistlist,&rx_buffer[FZ_NEARBASEID_INDEX+2*rec_nearbase_num],2*rec_nearbase_num); |
| | | memcpy(&rec_antdelay,&rx_buffer[FZ_NEARBASEID_INDEX+rec_nearbase_num*4],2); |
| | | memcpy(&uwb_rec_userdata,&rx_buffer[POLL_USERDATA_IDX],16); |
| | | #ifdef USART_ALL_OUTPUT |
| | | usart_send[2] = 0x0c;//正常模式 |
| | | usart_send[3] = 8+rec_nearbase_num*4;//数据段长度 |