| | |
| | | u16 count=HAL_LPTIM_ReadCounter(&hlptim1); |
| | | return count*LPTIMER_LSB/1000; |
| | | } |
| | | extern void DebugPoll(void); |
| | | void IdleTask(void) |
| | | { |
| | | DebugPoll(); |
| | |
| | | extern uint8_t youxiao_ceju; |
| | | uint16_t uwb_work_num; |
| | | uint8_t GPS_ON_flag; |
| | | extern void Set4LEDColor_Off(void); |
| | | extern HIDO_VOID Power_GPS_LoraOff(HIDO_VOID); |
| | | void Program_Init(void) |
| | | { float temp; |
| | | uint16_t temp2; |
| | | uint16_t i; |
| | | { |
| | | // float temp; |
| | | // uint16_t temp2; |
| | | // uint16_t i; |
| | | parameter_init(); |
| | | hardware_version= STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP); |
| | | hardware_pici= STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+2); |
| | |
| | | |
| | | // 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]); |
| | | |
| | | if(g_com_map[CNT_UPDATE]==1) |
| | | { |
| | | uint32_t result = 0; |
| | | uint16_t tmp = 0xAAAA; |
| | | __disable_irq(); |
| | | result = FLASH_Prepare(0x8004A38, 128); |
| | | if(result) |
| | | result = FLASH_Write(0x8004A38, (const uint8_t*)&tmp, 2); |
| | | __enable_irq(); |
| | | printf("进入升级模式\r\n"); |
| | | g_com_map[CNT_UPDATE]=0; |
| | | save_com_map_to_flash(); |
| | | delay_ms(100); |
| | | // STMFLASH_Write_NoCheck(0x8004A38,0xAAAA); |
| | | // Delay_ms(100); |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader |
| | | } |
| | | if(g_com_map[CNT_REBOOT]==1) |
| | | { |
| | | g_com_map[CNT_REBOOT]=0; |
| | | g_com_map[MAP_SIGN_INDEX]=0; |
| | | save_com_map_to_flash(); |
| | | delay_ms(100); |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader |
| | | } |
| | | if(g_com_map[CNT_RESTART]==1) |
| | | { |
| | | g_com_map[CNT_RESTART]=0; |
| | | save_com_map_to_flash(); |
| | | delay_ms(100); |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader |
| | | } |
| | | if(g_com_map[MAP_SIGN_INDEX]!=0x55AA||g_com_map[COM_INTERVAL]==0) |
| | | { |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader |
| | | } |
| | | } |
| | | void Uwb_Poll(void) |
| | | { |
| | |
| | | } |
| | | } |
| | | } |
| | | extern HIDO_UINT32 Battery_GetPercentage(void); |
| | | void Battery_Poll(void) |
| | | { |
| | | if(nomove_flag==0) |
| | |
| | | MX_TIM21_Init(); |
| | | MX_LPTIM1_Init(); |
| | | /* USER CODE BEGIN 2 */ |
| | | Set4LEDColor(RED,RED,RED,RED); |
| | | HAL_Delay(500); |
| | | Set4LEDColor(GREEN,GREEN,GREEN,GREEN); |
| | | HAL_Delay(500); |
| | | Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF); |
| | | HAL_Delay(500); |
| | | Program_Init(); |
| | | Dw1000_Init(); |
| | | Dw1000_App_Init(); |
| | |
| | | Set4LEDColor_Off(); //关一下led总电源 |
| | | Power_GPS_LoraOff();//关一下GPS总电源 |
| | | // Lora_Sleep(); |
| | | Set4LEDColor(RED,RED,RED,RED); |
| | | HAL_Delay(500); |
| | | Set4LEDColor(GREEN,GREEN,GREEN,GREEN); |
| | | HAL_Delay(500); |
| | | Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF); |
| | | HAL_Delay(500); |
| | | /* USER CODE END 2 */ |
| | | |
| | | /* Infinite loop */ |