From f9199bf56082288137ac7620f6dc1020417a1bd1 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期三, 09 十月 2024 14:08:15 +0800 Subject: [PATCH] 一对一免布线方案纯uwb调通,先提交,接下来lora uwb联调 --- keil/include/main/main.c | 176 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 88 insertions(+), 88 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index 84f4d6d..a5b8c7f 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -63,11 +63,12 @@ #include "TCPClient.h" #include "mk_spi.h" #include "pan_port.h" +#include "dw_app.h" //#include "pan_param.h" //#include "pan_rf.h" #include "lora_3029.h" #define DEBUG_MODE -extern int simple_main(void); +//extern int simple_main(void); extern int temp_main(void); #define TEST_UART_POLL_MODE 0 #define TEST_UART_INTERUPT_MODE 1 @@ -186,61 +187,61 @@ uint8_t TCP_reconnect_timer,flag_TCP_reconnectting = 1,flag_alam_state = 0; uint8_t gps_enable_flag,motor_open_air_flag,moter_open_uwb_flag; int need_open_gps_count; -void MotorPoll(void) -{ - if(UWB_work_state==UN_BIND) { - gps_uwb_flag=0;//关闭GPS - moter_open_uwb_flag=0;//关闭震动 - need_open_gps_count=0;//清0计数gps - } else { //绑定状态下 - if(anchordata_num==1) { - if(distance<g_com_map[ALARM_DISTANCE1]) { //小于预警距离 - if(flag_alam_state) - { - flag_alam_state = 0; - _4GAlarmUpload(2); - } - need_open_gps_count=0; - moter_open_uwb_flag=0;//关闭震动 - gps_uwb_flag=0;//关闭GPS - } else if(g_com_map[ALARM_DISTANCE1]<=distance&&distance<=g_com_map[ALARM_DISTANCE2]) { //大于预警距离小于报警距离 - need_open_gps_count++; - moter_open_uwb_flag=1;//开启震动 - if(need_open_gps_count>=20) { - if(!flag_alam_state) - { - flag_alam_state = 1; - _4GAlarmUpload(1); - } - gps_uwb_flag=1;//开启gps测距流程 - need_open_gps_count=0; - } - } else if(distance>=g_com_map[ALARM_DISTANCE2]) { //大于报警距离 - need_open_gps_count++; - moter_open_uwb_flag=1;//开启震动 - if(need_open_gps_count>=20) { - if(!flag_alam_state) - { - flag_alam_state = 1; - _4GAlarmUpload(1); - } - gps_uwb_flag=1;//开启gps测距流程 - need_open_gps_count=0; - } - } - } else if(anchordata_num==0) { - if(!flag_alam_state) - { - flag_alam_state = 1; - _4GAlarmUpload(1); - } - distance = -1; - gps_uwb_flag=1;//开启gps测距流程 - moter_open_uwb_flag=1;//开启震动 - need_open_gps_count=0; - } - } -} +//void MotorPoll(void) +//{ +// if(UWB_work_state==UN_BIND) { +// gps_uwb_flag=0;//关闭GPS +// moter_open_uwb_flag=0;//关闭震动 +// need_open_gps_count=0;//清0计数gps +// } else { //绑定状态下 +// if(anchordata_num==1) { +// if(distance<g_com_map[ALARM_DISTANCE1]) { //小于预警距离 +// if(flag_alam_state) +// { +// flag_alam_state = 0; +// _4GAlarmUpload(2); +// } +// need_open_gps_count=0; +// moter_open_uwb_flag=0;//关闭震动 +// gps_uwb_flag=0;//关闭GPS +// } else if(g_com_map[ALARM_DISTANCE1]<=distance&&distance<=g_com_map[ALARM_DISTANCE2]) { //大于预警距离小于报警距离 +// need_open_gps_count++; +// moter_open_uwb_flag=1;//开启震动 +// if(need_open_gps_count>=20) { +// if(!flag_alam_state) +// { +// flag_alam_state = 1; +// _4GAlarmUpload(1); +// } +// gps_uwb_flag=1;//开启gps测距流程 +// need_open_gps_count=0; +// } +// } else if(distance>=g_com_map[ALARM_DISTANCE2]) { //大于报警距离 +// need_open_gps_count++; +// moter_open_uwb_flag=1;//开启震动 +// if(need_open_gps_count>=20) { +// if(!flag_alam_state) +// { +// flag_alam_state = 1; +// _4GAlarmUpload(1); +// } +// gps_uwb_flag=1;//开启gps测距流程 +// need_open_gps_count=0; +// } +// } +// } else if(anchordata_num==0) { +// if(!flag_alam_state) +// { +// flag_alam_state = 1; +// _4GAlarmUpload(1); +// } +// distance = -1; +// gps_uwb_flag=1;//开启gps测距流程 +// moter_open_uwb_flag=1;//开启震动 +// need_open_gps_count=0; +// } +// } +//} void MinuteTask(void) { adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 @@ -253,9 +254,9 @@ MinuteTask(); } //UWB更新列表 - TagListUpdate(); +// TagListUpdate(); //GPS_Poll(); - gps_power_state=1;//测试gps长开 +// gps_power_state=1;//测试gps长开 //UWB状态检测 if(IfTCPConnected()) @@ -281,12 +282,12 @@ uint8_t flag_sleeptimer,flag_secondtask,secondtask_count; static void sleep_timer_callback(void *dev, uint32_t time) { - IO_control_init(); - UWBPoll(); +// IO_control_init(); +// UWBPoll(); - MotorPoll(); - +// MotorPoll(); + g_start_send_flag=1; if(secondtask_count++%2==0) { flag_secondtask = 1; @@ -337,9 +338,12 @@ void Program_Init(void) { Usart1ParseDataCallback = UsartParseDataHandler;//需改为默认为gps处理,UsartParseDataHandler为升级处理当调试时候改为 - parameter_init_anchor();//g_com_map表初始化角色默认为基站 + parameter_init_anchor();//g_com_map表初始化角色默认为基站 + g_com_map[DEV_ID]=0x6688; + g_com_map[GROUP_ID]=9; dev_id=g_com_map[DEV_ID];//这里不太对 group_id=g_com_map[GROUP_ID];//组ID + tag_frequency = 1000/g_com_map[COM_INTERVAL];//测距频率这个存的是测距时间 memcpy(&disoffset,&g_com_map[DIST_OFFSET],2); // g_com_map[ALARM_DISTANCE1] = 40; @@ -610,15 +614,15 @@ // gps_air780_power_change(0,1);//开启gps,4G ////加速度计初始化必须在IO_control_init之前因为复用SDA引脚 // adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 -// Program_Init(); + Program_Init(); // uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); // //// Initialize low power mode // power_init(); // AIR780E_Reset(); //4G模块重启,耗时1.5秒,这个是无法同步的关键 -// sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback); + sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback); -// sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试 + sleep_timer_start(__MS_TO_32K_CNT(1000));//测试 // board_acceleration_detection_init(move_handler); @@ -626,38 +630,34 @@ while (1) { -// rf_irq_process(); -// if(rf_get_transmit_flag() == RADIO_FLAG_TXDONE) -// { + if(g_start_send_flag) + { + //LOG_INFO(TRACE_MODULE_APP, "测距ing"); + + g_start_send_flag = 0; + + simple_main(); + IdleTask(); + }else{ + IdleTask(); + } + +// // rf_set_transmit_flag(RADIO_FLAG_IDLE); // rf_delay_ms(1000); -// if(rf_continous_tx_send_data(tx_test_buf, TX_LEN) != 0) +// rf_enter_continous_tx(); +// if(rf_continous_tx_send_data(tx_test_buf, TX_LEN) != OK) // { -// error_cnt++; + // } // else // { // successful_cnt ++; -//// DDL_Printf("Tx cnt %d\r\n", cnt ); // } -// } -// - -// io14_state=gpio_pin_get_val(LORA_DIO); - rf_set_transmit_flag(RADIO_FLAG_IDLE); - rf_delay_ms(1000); - rf_enter_continous_tx(); -// rf_set_transmit_flag(RADIO_FLAG_TXDONE); - if(rf_continous_tx_send_data(tx_test_buf, TX_LEN) != OK) - { -// rf_enter_continous_rx(); - } - else - { - successful_cnt ++; - } + + // while (rf_get_transmit_flag() == RADIO_FLAG_IDLE) ; // // rf_set_transmit_flag(RADIO_FLAG_IDLE); -- Gitblit v1.9.3