| | |
| | | { |
| | | g_com_map[COM_INTERVAL]=100; |
| | | } |
| | | if(dist_threshold<300) |
| | | {dist_threshold = 300;} |
| | | if(dist_threshold>15000) |
| | | {dist_threshold = 15000;} |
| | | } |
| | | u16 JDQ_time; |
| | | int16_t g_commap_antdelay; |
| | |
| | | |
| | | OUT485_ENABLE; |
| | | ComMapCheck(); |
| | | g_com_map[VERSION] = 1<<8|63; |
| | | g_com_map[VERSION] = 1<<8|76; |
| | | FLASH_Read(FLASH_HARDWARE_FLAG, (uint8_t*)&g_com_map[HARDWAREFLAG_INDEX], 16); |
| | | dist_threshold = (g_com_map[SPEEDFILTER_THRES]*10)/(1000/g_com_map[COM_INTERVAL]); |
| | | if(dist_threshold<300) |
| | | {dist_threshold = 300;} |
| | | if(dist_threshold>15000) |
| | | {dist_threshold = 15000;} |
| | | g_commap_antdelay = g_com_map[ANT_LENGTH]; |
| | | JDQ_time = g_com_map[WAR_JDQ_TIME]*10; |
| | | g_com_map[SW_TYPE] = SW_FANGZHUANG; |
| | |
| | | |
| | | if(g_com_map[DEV_ROLE]) |
| | | { |
| | | printf("æ ç¾ID: %d .\r\n",dev_id); |
| | | printf("é讯é´é: %d ms.\r\n",g_com_map[COM_INTERVAL]); |
| | | printf("忬¡é讯åºç«æ°é: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]); |
| | | // printf("æ ç¾ID: %d .\r\n",dev_id); |
| | | // printf("é讯é´é: %d ms.\r\n",g_com_map[COM_INTERVAL]); |
| | | // printf("忬¡é讯åºç«æ°é: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]); |
| | | }else{ |
| | | |
| | | anchor_type = dev_id%g_com_map[MAX_REPORT_ANC_NUM]; |
| | | printf("åºç«ID: %x .\r\n",dev_id); |
| | | printf("åºç«ç±»å: %c .\r\n",anchor_type+0x41); |
| | | printf("忬¡é讯åºç«æ°é: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]); |
| | | // printf("åºç«ID: %x .\r\n",dev_id); |
| | | // printf("åºç«ç±»å: %c .\r\n",anchor_type+0x41); |
| | | // printf("忬¡é讯åºç«æ°é: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]); |
| | | } |
| | | OUT485_DISABLE; |
| | | // printf("DEVICE PAIRID: %d .\r\n",g_com_map[PAIR_ID]); |
| | |
| | | void IdleTask(void) |
| | | { |
| | | |
| | | UART_CheckReceive(); |
| | | UART_CheckReceive(); |
| | | UART_CheckSend(); |
| | | |
| | | if(heartbeat_timer>1000) |
| | |
| | | // NVIC_SystemReset(); |
| | | // } |
| | | // } |
| | | flag_newsecond=0; |
| | | flag_newsecond=0; |
| | | tagpos_binary=0; |
| | | memcpy(ancidlist_send,ancidlist_rec,ancidlist_num*2); |
| | | ancidlist_num=0; |
| | |
| | | { |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软å¤ä½åå°bootloader |
| | | } |
| | | // g_com_map[RELAY1_STATE_INDEX] = READ_RELAY1; |
| | | // g_com_map[RELAY2_STATE_INDEX] = READ_RELAY2; |
| | | |
| | | } |
| | | //uint8_t at_cmd[3]={0x2B,0x2B,0x2B}; |
| | | //uint8_t at_cmd1[2]={0x41,0x54}; |
| | | |
| | | char at_cmd2[22]={"AT+CAN=500,0000,NDTF\r\n"}; //AT+CAN?\r\n |
| | | char at_cmd3[9]={"AT+CAN?\r\n"}; |
| | | char at_cmd4[9]={"AT+EXAT\r\n"}; |
| | | void send_to_ECAN() |
| | | { |
| | | // g_com_map[NEARBASE_ID1]=0x12; |
| | | // g_com_map[NEARBASE_ID2]=0x34; |
| | | uint8_t id_high = g_com_map[NEARBASE_ID1]; // 0x12 |
| | | uint8_t id_low = g_com_map[NEARBASE_ID2]; // 0x34 |
| | | |
| | | |
| | | uint16_t frame_id = (id_high << 8) | id_low; |
| | | |
| | | uint32_t decimal_id = frame_id; // 0x1234 = 4660 |
| | | |
| | | if(decimal_id > 0x1FFFFFFF) |
| | | { |
| | | printf("é误ï¼å¸§IDè¶
åºæ©å±å¸§èå´ï¼"); |
| | | return; |
| | | } |
| | | |
| | | const char *frame_type = (frame_id <= 0x7FF) ? "NDTF" : "EDTF"; |
| | | |
| | | |
| | | snprintf(at_cmd2, sizeof(at_cmd2), |
| | | "AT+CAN=250,%x,%s\r\n", |
| | | frame_id, |
| | | frame_type); |
| | | |
| | | printf("+++"); |
| | | delay_ms(500); |
| | | |
| | | printf("AT"); |
| | | delay_ms(500); |
| | | |
| | | |
| | | printf("%s", at_cmd2); |
| | | |
| | | delay_ms(200); |
| | | |
| | | printf("%s", at_cmd3); |
| | | |
| | | delay_ms(200); |
| | | |
| | | printf("%s", at_cmd4); |
| | | } |
| | | |
| | | int main(void) |
| | | { |
| | |
| | | //StartUpTest(); |
| | | Program_Init(); |
| | | Dw1000_Init(); |
| | | delay_ms(10); |
| | | delay_ms(10); |
| | | Dw1000_App_Init(); |
| | | /* Loop forever initiating ranging exchanges. */ |
| | | RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); |
| | |
| | | usart_send[1]=0xAA; |
| | | usart_send_anc[0]=0x55; |
| | | usart_send_anc[1]=0xAA; |
| | | |
| | | send_to_ECAN(); |
| | | while(1) |
| | | { |
| | | |
| | | g_start_sync_flag=0; |
| | | if(g_start_send_flag) |
| | | { |