| | |
| | | } |
| | | uint8_t GetRangeState(void) |
| | | { |
| | | // range_state = 0; |
| | | return range_state; |
| | | } |
| | | #define SYNCLOST_THRES 10 |
| | |
| | | } |
| | | HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET); |
| | | if(flag_sync_success) //同步成功 |
| | | { uint16_t wangguanid; |
| | | { uint16_t wangguanid,checksum1; |
| | | lora_recbuffer_len = GetLoraBufferAndLen(lora_recbuffer,&rec_sync_count);//获取LORA收到的数据和长度 |
| | | checksum1=Checksum_u16(lora_recbuffer,lora_recbuffer_len-2); |
| | | if(!memcmp(&checksum1,&lora_recbuffer[lora_recbuffer_len-2],2)) //CRC16校验是否通过 |
| | | { |
| | | memcpy(&wangguanid,&lora_recbuffer[SOURCE_ID_IDX],2); |
| | | HeartbeatPoll(wangguanid); |
| | | LED_LG_ON; |
| | |
| | | break; |
| | | } |
| | | } |
| | | }else{ |
| | | if(sync_lost_count++>SYNCLOST_THRES) |
| | | { |
| | | sync_state = Sync_Lost; |
| | | SyncStateSwitch(); |
| | | } |
| | | } |
| | | }else{ |
| | | // LED_LR_ON; |
| | | if(sync_lost_count++>SYNCLOST_THRES) |
| | |
| | | verfint_cal = *(__IO uint16_t *)(0X1FF80078); |
| | | } |
| | | start_count=HAL_LPTIM_ReadCounter(&hlptim1); |
| | | poll_timeout=tag_num_tosend*SLOT_SCALE+20; //单位0.1ms |
| | | poll_timeout=tag_num_tosend*SLOT_SCALE+10; //单位0.1ms |
| | | end_count=start_count+(poll_timeout<<2); |
| | | if(end_count>=32768) |
| | | {end_count-=32768;} |
| | |
| | | taglist_current_index = 0; |
| | | if(Anchor_Vcc_Flag) |
| | | { |
| | | HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET); |
| | | Anchor_Vcc_Flag=0; |
| | | MX_ADC_DeInit(); |
| | | bat_volt = 3*(float)verfint_cal/AD_value[50]-0.28; |
| | | HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET); |
| | | Anchor_Vcc_Flag=0; |
| | | MX_ADC_DeInit(); |
| | | bat_volt = 3*(float)verfint_cal/AD_value[50]-0.28; |
| | | bat_percent=bat_volt*100-200; |
| | | } |
| | | #ifdef _USE_BAR_ |
| | | if(taglist_total_num>0) |
| | | //if(taglist_total_num>0) |
| | | { |
| | | GetPressAndHeight(); |
| | | intheight = Height*100; |