| | |
| | | |
| | | //#define _UWB_4G |
| | | |
| | | static dwt_config_t config = { |
| | | dwt_config_t config = { |
| | | #ifdef _UWB_4G |
| | | 2, /* Channel number. */ |
| | | #else |
| | |
| | | #define BAT_IDX 7 //标签电量 |
| | | #define STATE_IDX 8 |
| | | #define ANCID_IDX 30 //校验在4*ancnum+ANCID_IDX 位置 |
| | | #define LORA5_CHANNEL_FRQ 484 |
| | | #define LORA5_CHANNEL_FRQ 478 |
| | | #define LORA5_CHANNEL_SF 7 |
| | | uint8_t poll_state; |
| | | void Lora_Poll(void) |
| | |
| | | extern uint8_t Lorahuifu_flag; |
| | | extern int16_t intheight; |
| | | extern u16 uwbdistance; |
| | | extern float bat_volt; |
| | | extern uint8_t shuzu[3]; |
| | | extern uint8_t datashuju[50]; |
| | | extern uint8_t datachangdu; |
| | | void Tag_App(void)//发送模式(TAG标签) |
| | | { |
| | | // SyncStateSwitch(); |
| | |
| | | poll_state=UWB; |
| | | Lora_Poll(); |
| | | if(intheight!=0) |
| | | printf("高度值:%d\r\n",intheight); |
| | | { |
| | | // printf("高度值:%d\r\n",intheight); |
| | | uartsend(6,intheight); |
| | | memset(datashuju,0,sizeof(datashuju)); |
| | | USART_puts(shuzu, 3);//开始结束都要发 |
| | | datachangdu=sprintf(datashuju,"t2.bco=2024"); |
| | | USART_puts(datashuju, datachangdu); |
| | | USART_puts(shuzu, 3); |
| | | } |
| | | if(uwbdistance!=0) |
| | | printf("UWB测距值:%d\r\n",uwbdistance); |
| | | |
| | | { |
| | | // printf("UWB测距值:%d\r\n",uwbdistance); |
| | | uartsend(4,uwbdistance); |
| | | memset(datashuju,0,sizeof(datashuju)); |
| | | USART_puts(shuzu, 3);//开始结束都要发 |
| | | datachangdu=sprintf(datashuju,"t0.bco=2024"); |
| | | USART_puts(datashuju, datachangdu); |
| | | USART_puts(shuzu, 3); |
| | | } |
| | | if(Lorahuifu_flag) |
| | | { |
| | | Lorahuifu_flag=0; |
| | | printf("收到网关回复,LORA成功\r\n"); |
| | | uartsend(5,0); |
| | | memset(datashuju,0,sizeof(datashuju)); |
| | | USART_puts(shuzu, 3);//开始结束都要发 |
| | | datachangdu=sprintf(datashuju,"t1.bco=2024"); |
| | | USART_puts(datashuju, datachangdu); |
| | | USART_puts(shuzu, 3); |
| | | } |
| | | memset(datashuju,0,sizeof(datashuju)); |
| | | USART_puts(shuzu, 3);//开始结束都要发 |
| | | datachangdu=sprintf(datashuju,"t7.txt=\"%.2f\"",bat_volt); |
| | | USART_puts(datashuju, datachangdu); |
| | | USART_puts(shuzu, 3); |
| | | if(bat_volt>0) |
| | | { |
| | | memset(datashuju,0,sizeof(datashuju)); |
| | | USART_puts(shuzu, 3);//开始结束都要发 |
| | | datachangdu=sprintf(datashuju,"t3.bco=2024"); |
| | | USART_puts(datashuju, datachangdu); |
| | | USART_puts(shuzu, 3); |
| | | } |
| | | // LoraSyncRecPoll(); |
| | | // if(GetRangeState()) //获取当前测距状态,是否开启。如果开启下次为测距,否为同步 |