| | |
| | | |
| | | OUT485_ENABLE; |
| | | |
| | | g_com_map[VERSION] = (1<<8)|(72); |
| | | g_com_map[VERSION] = (1<<8)|(73); |
| | | 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]); |
| | | g_commap_antdelay = g_com_map[ANT_LENGTH]; |
| | |
| | | total_slotnum = 1000/g_com_map[COM_INTERVAL]; |
| | | vel_factor=g_com_map[FILTER_COEFFICIENT]; |
| | | pos_factor=g_com_map[FILTER_COEFFICIENT]; |
| | | ComMapCheck(); |
| | | ComMapCheck(); |
| | | if(module_power>67) |
| | | { |
| | | module_power=67; |
| | |
| | | * |
| | | * @return none |
| | | */ |
| | | u8 noerror_flag,juststart_flag=1,justsleftest_flag=1,uwbchip_flag,mcu_flag,rf_flag,voltage_flag; |
| | | uint16_t temp; |
| | | float dw_vbat; |
| | | void VoltageTest(void) |
| | | { |
| | | temp=dwt_readtempvbat(1); |
| | | dw_vbat=(float)((temp&0xff)-173)/173+3.3; |
| | | if(dw_vbat<2.8||dw_vbat>3.6) |
| | | { |
| | | voltage_flag = 1; |
| | | }else{ |
| | | voltage_flag = 0; |
| | | } |
| | | } |
| | | void UWBChiptest(void) |
| | | { |
| | | u32 temp23; |
| | | temp23 = dwt_read32bitreg(CHAN_CTRL_ID) ; |
| | | if(temp23!=0x4A7A0022) |
| | | { |
| | | uwbchip_flag = 1; |
| | | }else{ |
| | | uwbchip_flag = 0; |
| | | } |
| | | } |
| | | u8 selftest[2]; |
| | | void SlefTestState(void) |
| | | { |
| | | |
| | | justselftest_timer = 2; |
| | | UWBChiptest(); |
| | | VoltageTest(); |
| | | |
| | | } |
| | | void RunSelfTest(void) |
| | | { |
| | | SlefTestState(); |
| | | } |
| | | void HeatBeat(void) |
| | | { |
| | | u16 checksum; |
| | | selftest[0]=1; |
| | | selftest[1]=0; |
| | | // SendSelfTest(); |
| | | memcpy(&hbsend[6],selftest,2); |
| | | memcpy(&hbsend[14],uartrec_userdata,10); |
| | | checksum = Checksum_u16(&hbsend[2],22); |
| | |
| | | } |
| | | uwbrec_userdatalen = 0; |
| | | } |
| | | uint16_t temp; |
| | | float dw_vbat; |
| | | void StartUpTest(void) |
| | | { |
| | | temp=dwt_readtempvbat(1); |
| | | dw_vbat=(float)((temp&0xff)-173)/173+3.3; |
| | | if(dw_vbat<2.8) |
| | | { |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //杞浣嶅洖鍒癰ootloader |
| | | } |
| | | } |
| | | |
| | | extern u8 g_start_sync_flag,usart_send_flag,anc_report_num; |
| | | u16 heartbeat_timer,poll_timer; |
| | | u16 heartbeat_timer=250,poll_timer; |
| | | int16_t sync_timer; |
| | | extern u8 flag_newsecond, tagpos_rec[50], tagpos_send[50],ancidlist_num; |
| | | uint32_t tagpos_binary; |
| | |
| | | |
| | | UART_CheckReceive(); |
| | | UART_CheckSend(); |
| | | |
| | | if(g_com_map[MAP_SIGN_INDEX]!=0x55AA||g_com_map[COM_INTERVAL]>1000) |
| | | { |
| | | mcu_flag = 1; |
| | | }else{ |
| | | mcu_flag = 0; |
| | | } |
| | | noerror_flag = !(uwbchip_flag|mcu_flag|rf_flag|voltage_flag); |
| | | selftest[0] = voltage_flag<<3|mcu_flag<<2|uwbchip_flag<<1|noerror_flag; |
| | | selftest[1] = juststart_flag<<2|justsleftest_flag<<1|rf_flag; |
| | | // if(g_com_map[HEARTBEAT]) |
| | | // { |
| | | if(heartbeat_timer>=200) |
| | | if(heartbeat_timer>=250) |
| | | { |
| | | heartbeat_timer=0; |
| | | HeatBeat(); |
| | |
| | | if(flag_newsecond) |
| | | { |
| | | uint32_t temp23; |
| | | // temp23 = dwt_read32bitreg(CHAN_CTRL_ID) ; |
| | | // if(temp23!=0x4A480022) |
| | | // { |
| | | // temp23 = dwt_read32bitreg(CHAN_CTRL_ID) ; |
| | | // if(temp23!=0x4A480022) |
| | | // { |
| | | // NVIC_SystemReset(); |
| | | // } |
| | | // } |
| | | if(selftesttimer>=60) |
| | | { |
| | | selftesttimer = 0; |
| | | RunSelfTest(); |
| | | } |
| | | flag_newsecond=0; |
| | | tagpos_binary=0; |
| | | memcpy(ancidlist_send,ancidlist_rec,ancidlist_num*2); |
| | |
| | | delay_ms(100); |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //杞浣嶅洖鍒癰ootloader |
| | | } |
| | | if(g_com_map[MAP_SIGN_INDEX]!=0x55AA||g_com_map[COM_INTERVAL]==0) |
| | | { |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //杞浣嶅洖鍒癰ootloader |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | usart_send[1]=0xAA; |
| | | usart_send_anc[0]=0x55; |
| | | usart_send_anc[1]=0xAA; |
| | | |
| | | RunSelfTest(); |
| | | while(1) |
| | | { |
| | | g_start_sync_flag=0; |