| | |
| | | Uart1_Init(); |
| | | Spi_Init(); |
| | | ADC_Configuration(); |
| | | IWDG_Config(IWDG_Prescaler_128 ,4095); //10s |
| | | IWDG_Feed(); |
| | | // IWDG_Config(IWDG_Prescaler_128 ,4095); //10s |
| | | // IWDG_Feed(); |
| | | GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); |
| | | } |
| | | u8 anchor_type; |
| | | u32 dev_id; |
| | | u8 hbsend[16]; |
| | | u8 hbsend[26]; |
| | | void HeartBeatInit(void) |
| | | { |
| | | u16 checksum; |
| | | hbsend[0]=0x55; |
| | | hbsend[1]=0xAA; |
| | | hbsend[2]=0x2; |
| | | hbsend[3]=0xc; |
| | | hbsend[3]=0x16; |
| | | memcpy(&hbsend[4],&g_com_map[DEV_ID],2); |
| | | checksum = Checksum_u16(&hbsend[2],12); |
| | | memcpy(&hbsend[14],&checksum,2); |
| | | } |
| | | |
| | | uint16_t vel_factor,pos_factor; |
| | |
| | | |
| | | OUT485_ENABLE; |
| | | |
| | | g_com_map[VERSION] = (1<<8)|(67); |
| | | g_com_map[VERSION] = (1<<8)|(72); |
| | | 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]; |
| | |
| | | module_power=67; |
| | | } |
| | | |
| | | 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]); |
| | | }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]); |
| | | } |
| | | // 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]); |
| | | // }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]); |
| | | // } |
| | | OUT485_DISABLE; |
| | | // printf("DEVICE PAIRID: %d .\r\n",g_com_map[PAIR_ID]); |
| | | // printf("DEVICE ALARM DISTANCE: 1.%d 2.%d 3.%d .\r\n",g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],g_com_map[ALARM_DISTANCE3]); |
| | |
| | | * |
| | | * @return none |
| | | */ |
| | | u8 selftest[2]; |
| | | void HeatBeat(void) |
| | | { |
| | | UART_PushFrame(hbsend,16); |
| | | u16 checksum; |
| | | selftest[0]=1; |
| | | selftest[1]=0; |
| | | memcpy(&hbsend[6],selftest,2); |
| | | memcpy(&hbsend[14],uartrec_userdata,10); |
| | | checksum = Checksum_u16(&hbsend[2],22); |
| | | memcpy(&hbsend[24],&checksum,2); |
| | | UART_PushFrame(hbsend,26); |
| | | } |
| | | void ClearUartUserData(void) |
| | | { |
| | | u8 i; |
| | | for(i=0;i<USERDATA_MAXLEN;i++) |
| | | { |
| | | uartrec_userdata[i] = 0; |
| | | } |
| | | usartrec_userdatalen = 0; |
| | | } |
| | | void ClearUWBUserData(void) |
| | | { |
| | | u8 i; |
| | | for(i=0;i<USERDATA_MAXLEN;i++) |
| | | { |
| | | uwbrec_userdata[i] = 0; |
| | | } |
| | | uwbrec_userdatalen = 0; |
| | | } |
| | | uint16_t temp; |
| | | float dw_vbat; |
| | |
| | | |
| | | UART_CheckReceive(); |
| | | UART_CheckSend(); |
| | | |
| | | if(heartbeat_timer>1000) |
| | | { |
| | | heartbeat_timer=0; |
| | | if(g_com_map[HEARTBEAT]) |
| | | HeatBeat(); |
| | | } |
| | | // if(g_com_map[HEARTBEAT]) |
| | | // { |
| | | if(heartbeat_timer>=200) |
| | | { |
| | | heartbeat_timer=0; |
| | | HeatBeat(); |
| | | } |
| | | if(userdata_timer>=200) |
| | | { |
| | | userdata_timer = 0; |
| | | ClearUartUserData(); |
| | | } |
| | | // } |
| | | if(flag_newsecond) |
| | | { |
| | | uint32_t temp23; |
| | |
| | | while(1) |
| | | { |
| | | g_start_sync_flag=0; |
| | | if(g_start_send_flag) |
| | | { |
| | | g_start_send_flag = 0; |
| | | Tag_App(); |
| | | } |
| | | |
| | | if(g_start_send_flag) |
| | | { |
| | | g_start_send_flag = 0; |
| | | Tag_App(); |
| | | } |
| | | |
| | | IdleTask(); |
| | | if(g_com_map[DEV_ROLE]==0) |
| | | if(g_com_map[DEV_ROLE]==0) |
| | | Anchor_App(); |
| | | |
| | | } |