From d9eeaa73e91eb757f8707e26f204f443fe956a3f Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期二, 04 三月 2025 15:16:26 +0800
Subject: [PATCH] lora能正常发送

---
 keil/lora_3029.c |  907 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 461 insertions(+), 446 deletions(-)

diff --git a/keil/lora_3029.c b/keil/lora_3029.c
index 3a64974..e08ecfd 100644
--- a/keil/lora_3029.c
+++ b/keil/lora_3029.c
@@ -1,478 +1,493 @@
-#include "lora_3029.h"
-#include "mk_spi.h"
-#include "global_param.h"
-#include "pan_port.h"
-#include "pan_rf.h"
-#include "dw_app_anchor.h"
-//#include "WS2812.h"
+//#include "lora_3029.h"
+//#include "mk_spi.h"
+//#include "global_param.h"
 //#include "pan_port.h"
-//#include "pan_param.h"
 //#include "pan_rf.h"
-//#define RX_TIMEOUT_VALUE                            1000
-//extern LPTIM_HandleTypeDef hlptim1;
-/***lora接收,发送变量定义******/
-#define RX_TIMEOUT_VALUE                            0
-#define BUFFER_SIZE                                 255 // Define the payload size here
-uint16_t BufferSize = BUFFER_SIZE;
-uint8_t TX_Buffer[BUFFER_SIZE];
-uint8_t RX_Buffer[BUFFER_SIZE];
-
-int8_t RssiValue = 0;
-int8_t SnrValue = 0;
-extern uint32_t current_count;
-
-extern uint32_t dev_id;
-uint8_t  yuyin_no_sleep_flag,no_rx_flag;
-uint8_t lora_up_rec_flag;
-static uint16_t source_id;
-/***lora接收,发送变量定义******/
-uint32_t wg_lost_count = 10;
-static uint8_t tx_buf[10] = {0x55, 0x44, 0x33, 0x22, 0x11};
-static uint8_t rx_buf[10] = {0x00};
-//extern uint32_t uwbled,gpsled,loraled,powerled;
-extern uint8_t bat_percent,taglist_num;
-//uint8_t report_ancnum;
-//uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];
-extern void spi_transfer_callback(void *dev, uint32_t err_code);
-extern uint16_t ancidlist_rec[TAG_NUM_IN_SYS],ancidlist_send[TAG_NUM_IN_SYS],rec_ancidlist[TAG_NUM_IN_SYS];
-extern uint8_t report_ancnum;
-extern uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];
-void Lora_init(void)
-{
-//    rf_write_reg(0x04, 0x55);
-//    rf_port.spi_readwrite(0x09);
-//    uint8_t rx_data = 0;  // 用于存储接收的数据
-//    spi_transfer(SPI_ID0, 0x09, rx_buf, 1, spi_transfer_callback);
-	 uint32_t ret = 0;
-   uint32_t cnt = 0;
-	 ret=rf_init();
-   
-	 set_test_mode1_reg();
-		   if(ret== 1)
-    {
-        //printf("LORA Init Fail");
-        while(1);
-    }
-		else
-    {
-				//printf("LORA Init OK\r\n");
-    }
-
-}
+//#include "dw_app_anchor.h"
+//#include "HIDO_TypeDef.h"
+////#include "WS2812.h"
+////#include "pan_port.h"
+////#include "pan_param.h"
+////#include "pan_rf.h"
+////#define RX_TIMEOUT_VALUE                            1000
+////extern LPTIM_HandleTypeDef hlptim1;
+///***lora接收,发送变量定义******/
 
 
-//void TagListUpdate(void)
+//extern uint32_t current_count;
+
+//extern uint32_t dev_id;
+//uint8_t  yuyin_no_sleep_flag,no_rx_flag;
+//uint8_t lora_up_rec_flag;
+//static uint16_t source_id;
+///***lora接收,发送变量定义******/
+//uint32_t wg_lost_count = 10;
+//static uint8_t tx_buf[10] = {0x55, 0x44, 0x33, 0x22, 0x11};
+//static uint8_t rx_buf[10] = {0x00};
+////extern uint32_t uwbled,gpsled,loraled,powerled;
+//extern uint8_t bat_percent,taglist_num;
+////uint8_t report_ancnum;
+////uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];
+//extern void spi_transfer_callback(void *dev, uint32_t err_code);
+//extern uint16_t ancidlist_rec[TAG_NUM_IN_SYS],ancidlist_send[TAG_NUM_IN_SYS],rec_ancidlist[TAG_NUM_IN_SYS];
+//extern uint8_t report_ancnum;
+//extern uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];
+////extern u8 active_flag;
+////void LoraInit(void)
+////{
+////    RadioEvents.TxDone = OnTxDone;
+////    RadioEvents.RxDone = OnRxDone;
+////    RadioEvents.TxTimeout = OnTxTimeout;
+////    RadioEvents.RxTimeout = OnRxTimeout;
+////    RadioEvents.RxError = OnRxError;
+
+////    Radio.Init( &RadioEvents );
+////    SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); //切换lora接收频点  
+////    if(active_flag)
+////    {
+////    Radio.Rx( 0 ); 
+////    }else{
+////        Radio.Sleep();
+////    }        
+//////        Radio.SetRxDutyCycle(RxDutyCycle_RX_time,RxDutyCycle_SLEEP_time);
+////                                   
+////}
+//void Lora_init(void)
 //{
-//    uint16_t i,j=0,k=0,temp[TAG_NUM_IN_SYS];
-//    for(i=0; i<taglist_num; i++)
+////    rf_write_reg(0x04, 0x55);
+////    rf_port.spi_readwrite(0x09);
+////    uint8_t rx_data = 0;  // 用于存储接收的数据
+////    spi_transfer(SPI_ID0, 0x09, rx_buf, 1, spi_transfer_callback);
+//	 uint32_t ret = 0;
+//   uint32_t cnt = 0;
+//	 ret=rf_init();
+//   
+//	 set_test_mode1_reg();
+//		   if(ret== 1)
 //    {
-//        if(tagofflinetime[i]++<REPORT_TAG_KEEPTIMES)
+//        //printf("LORA Init Fail");
+//        while(1);
+//    }
+//		else
+//    {
+//				//printf("LORA Init OK\r\n");
+//    }
+
+//}
+
+
+////void TagListUpdate(void)
+////{
+////    uint16_t i,j=0,k=0,temp[TAG_NUM_IN_SYS];
+////    for(i=0; i<taglist_num; i++)
+////    {
+////        if(tagofflinetime[i]++<REPORT_TAG_KEEPTIMES)
+////        {
+////            report_ancid[k]=tagid_list[i];
+////            report_ancdist[k++]=tagdist_list[i];
+////        }
+////        if(tagofflinetime[i]++<TAG_KEEPTIMES)
+////        {
+////            tagid_list[j]=tagid_list[i];
+////            tagdist_list[j] = tagdist_list[i];
+////            tagofflinetime[j++]=tagofflinetime[i];
+////        }
+////    }
+////    report_ancnum = k;
+////    taglist_num=j;
+////}
+//extern wg_state_enum wg_state;
+//uint8_t lora_sendbuffer[200];
+//uint8_t seq_num;
+//extern uint16_t lora_up_uwb_flag;
+////extern uint8_t wg_lost_count;
+//uint16_t wg_report_freq,wg_report_id;
+//uint8_t wg_report_sf;
+//#define WG_LOST_SWITCH_THRES   3
+//#define WG_LOST_NOUWB_COUNT    60
+//#define DEFAULT_WG_ID       0xFFFF
+//#define DEFAULT_LR_WG_ID    0xFFFE
+//uint8_t lora_jianting_flag = 1;
+//void LoraReportFreqPoll(void)
+//{
+//  //  wg_state = WG_Lost;
+//    if(wg_lost_count++>WG_LOST_NOUWB_COUNT)
+//    {
+//     lora_jianting_flag = 0;
+//    } else {
+//     lora_jianting_flag = 1;
+//    }
+//    if(wg_state==WG_Lost)
+//    {
+//			static uint8_t channel_switch_count = 0;
+//      //  channel_switch_count = 10;
+//        if(channel_switch_count++>1)
 //        {
-//            report_ancid[k]=tagid_list[i];
-//            report_ancdist[k++]=tagdist_list[i];
+////            channel_switch_count = 0;
+////            wg_report_id = DEFAULT_LR_WG_ID;
+////            wg_report_freq = LR_DATA_CHANNEL_FRQ; //如果丢失链接就进入WG管理信道。
+////            wg_report_sf = LR_DATA_CHANNEL_SF;
 //        }
-//        if(tagofflinetime[i]++<TAG_KEEPTIMES)
+//				else
+//				{
+//            wg_report_id = DEFAULT_WG_ID;
+//            wg_report_freq = REPORT_MANGE_CHANNEL_FRQ; //如果丢失链接就进入WG管理信道。
+//            wg_report_sf = REPORT_CHANNEL_SF;
+////						wg_report_freq = TEST_MANAGE_CHANNEL_FRQ;
+////				  	wg_report_sf = TEST_MANAGE_CHANNEL_SF;
+//				}
+//    } else {
+//        if(wg_lost_count>WG_LOST_SWITCH_THRES)
 //        {
-//            tagid_list[j]=tagid_list[i];
-//            tagdist_list[j] = tagdist_list[i];
-//            tagofflinetime[j++]=tagofflinetime[i];
+//            wg_state = WG_Lost;
 //        }
 //    }
-//    report_ancnum = k;
-//    taglist_num=j;
 //}
-extern wg_state_enum wg_state;
-uint8_t lora_sendbuffer[200];
-uint8_t seq_num;
-extern uint16_t lora_up_uwb_flag;
-//extern uint8_t wg_lost_count;
-uint16_t wg_report_freq,wg_report_id;
-uint8_t wg_report_sf;
-#define WG_LOST_SWITCH_THRES   3
-#define WG_LOST_NOUWB_COUNT    60
-#define DEFAULT_WG_ID       0xFFFF
-#define DEFAULT_LR_WG_ID    0xFFFE
-uint8_t lora_jianting_flag = 1;
-void LoraReportFreqPoll(void)
-{
-  //  wg_state = WG_Lost;
-    if(wg_lost_count++>WG_LOST_NOUWB_COUNT)
-    {
-     lora_jianting_flag = 0;
-    } else {
-     lora_jianting_flag = 1;
-    }
-    if(wg_state==WG_Lost)
-    {
-			static uint8_t channel_switch_count = 0;
-      //  channel_switch_count = 10;
-        if(channel_switch_count++>1)
-        {
-//            channel_switch_count = 0;
-//            wg_report_id = DEFAULT_LR_WG_ID;
-//            wg_report_freq = LR_DATA_CHANNEL_FRQ; //如果丢失链接就进入WG管理信道。
-//            wg_report_sf = LR_DATA_CHANNEL_SF;
-        }
-				else
-				{
-            wg_report_id = DEFAULT_WG_ID;
-            wg_report_freq = REPORT_MANGE_CHANNEL_FRQ; //如果丢失链接就进入WG管理信道。
-            wg_report_sf = REPORT_CHANNEL_SF;
-//						wg_report_freq = TEST_MANAGE_CHANNEL_FRQ;
-//				  	wg_report_sf = TEST_MANAGE_CHANNEL_SF;
-				}
-    } else {
-        if(wg_lost_count>WG_LOST_SWITCH_THRES)
-        {
-            wg_state = WG_Lost;
-        }
-    }
-}
-static uint16_t checksum;
+//static uint16_t checksum;
 
-//uint16_t wg_report_freq,wg_report_id;
-uint8_t lora_sendbuffer[200];
-void LoraHeartBeartPoll(void)
-{
+////uint16_t wg_report_freq,wg_report_id;
+//uint8_t lora_sendbuffer[200];
+//void LoraHeartBeartPoll(void)
+//{
 
-//	lora_up_uwb_flag=2;
-//  rf_set_default_para();
+////	lora_up_uwb_flag=2;
+////  rf_set_default_para();
 
-/*****************************心跳包上传内容************************************/		
-    lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGHEARTBEAT;
-    lora_sendbuffer[MSG_LENGTH] = 14;
-    memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
-    memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
-    memcpy(&lora_sendbuffer[HB_VERSION_IDX],&g_com_map[VERSION],2);
-    lora_sendbuffer[HB_UWBPOWER_IDX] = g_com_map[POWER];
-    lora_sendbuffer[HB_LORAPOWER_IDX] = g_com_map[LORA_POWER];
-    checksum = Checksum_u16(lora_sendbuffer,14);
-    memcpy(&lora_sendbuffer[14],&checksum,2);	
-    LORA_3029_SINGLE_SEND(lora_sendbuffer,16,0);
-		
-/*****************************心跳包上传内容*************************************/	
-		
-}
-#define HEATBEAT_UPDATE_TIME   100
-uint16_t heatbeat_count = HEATBEAT_UPDATE_TIME-1 ;
-uint16_t flag_getwgresp = 0;
-uint16_t test_temp[10]={0x1306,9688,1000};
-uint16_t test_temp2[10]={0xff,0xcd,0x19};
-int16_t intheight;			//气压
-extern uint32_t dangqian_frqe;
-extern uint16_t recnum[3];
-extern uint32_t freq_list[4];
-extern uint8_t DMA_RXBuf_BT[200];
-extern uint8_t report_ancnum;
-extern uint8_t report_ancnum_bt;
-uint32_t BT_SEND_flag=0;
-uint8_t BT_NUM=0;
-void LoraReportPoll(void)
-{
-    // delay_ms(100);
+///*****************************心跳包上传内容************************************/		
+//    lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGHEARTBEAT;
+//    lora_sendbuffer[MSG_LENGTH] = 14;
+//    memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
+//    memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
+//    memcpy(&lora_sendbuffer[HB_VERSION_IDX],&g_com_map[VERSION],2);
+//    lora_sendbuffer[HB_UWBPOWER_IDX] = g_com_map[POWER];
+//    lora_sendbuffer[HB_LORAPOWER_IDX] = g_com_map[LORA_POWER];
+//    checksum = Checksum_u16(lora_sendbuffer,14);
+//    memcpy(&lora_sendbuffer[14],&checksum,2);	
+//    LORA_3029_SINGLE_SEND(lora_sendbuffer,16,0);
+//		
+///*****************************心跳包上传内容*************************************/	
+//		
+//}
+//#define HEATBEAT_UPDATE_TIME   100
+//uint16_t heatbeat_count = HEATBEAT_UPDATE_TIME-1 ;
+//uint16_t flag_getwgresp = 0;
+//uint16_t test_temp[10]={0x1306,9688,1000};
+//uint16_t test_temp2[10]={0xff,0xcd,0x19};
+//int16_t intheight;			//气压
+//extern uint32_t dangqian_frqe;
+//extern uint16_t recnum[3];
+//extern uint32_t freq_list[4];
+//extern uint8_t DMA_RXBuf_BT[200];
+//extern uint8_t report_ancnum;
+//extern uint8_t report_ancnum_bt;
+//uint32_t BT_SEND_flag=0;
+//uint8_t BT_NUM=0;
+//void LoraReportPoll(void)
+//{
+//    // delay_ms(100);
 
-#ifdef _USE_BAR
-    GetPressAndHeight();
-    intheight = Height*100;
-#endif
-#ifdef _SMT_TEST
-    printf("气压值:%d",intheight);
-#endif
+//#ifdef _USE_BAR
+//    GetPressAndHeight();
+//    intheight = Height*100;
+//#endif
+//#ifdef _SMT_TEST
+//    printf("气压值:%d",intheight);
+//#endif
 
-    TagListUpdate();
+//    TagListUpdate();
 
-    LoraReportFreqPoll();
-    flag_getwgresp = 0;
-   // wg_report_freq = REPORT_MANGE_CHANNEL_FRQ;
-	 //Lora_init();
-		uint32_t para;
+//    LoraReportFreqPoll();
+//    flag_getwgresp = 0;
+//   // wg_report_freq = REPORT_MANGE_CHANNEL_FRQ;
+//	 //Lora_init();
+//		uint32_t para;
 
-		para=freq_list[2] * 100000;
-//		rf_set_freq(wg_report_freq*100000);
-//		rf_set_carrier_wave_off();
-//		rf_set_carrier_wave_on();
-		rf_set_freq(para);
-		//rf_set_sf(UWB_CHANNEL_SF);
-//		rf_set_tx_power(para);
-//		rf_set_carrier_wave_freq(freq_list[1] * 100000);
-//	  rf_set_freq(para);
-		rf_set_sf(REPORT_CHANNEL_SF);
-	  //rf_set_default_para(wg_report_freq,REPORT_CHANNEL_SF);
-   // SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,g_com_map[LORA_POWER]);
-	  dangqian_frqe=rf_read_freq();
-    if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包
-    {
-        heatbeat_count = 0;
-        LoraHeartBeartPoll();
-        return;
-    }
-    for(uint16_t i=0; i<report_ancnum-1; i++)
-    {
-        for(uint16_t j=0; j<report_ancnum-1-i; j++)
-        {
-            if(report_ancdist[j]>report_ancdist[j+1])
-            {
-                uint16_t id,dist;
-                uint8_t bat;
-                id = report_ancid[j];
-                dist = report_ancdist[j];
-                report_ancid[j] = report_ancid[j+1];
-                report_ancdist[j] = report_ancdist[j+1];
-                report_ancid[j+1] = id;
-                report_ancdist[j+1] = dist;
-            }
-        }
-    }
-    
-    if(report_ancnum>LORA_REPORT_MAXANC_NUM)	                              //考虑lora传输时间,最多发送10个基站数据。
-		{
-      report_ancnum = LORA_REPORT_MAXANC_NUM;
-		} 		  
-				
-#ifdef USE_GPS
-    lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_GPS;
-    lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+30;
-#else
-    lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG;
-    lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+ANCID_IDX;
-#endif
-    memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
-    memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
-    lora_sendbuffer[SEQNUM_IDX] = seq_num++;
-    lora_sendbuffer[BAT_IDX] = bat_percent;
-		//GET_USERKEY这个是那个lora——busy那个引脚
-//		lora_sendbuffer[STATE_IDX]=0x01;
-//		lora_sendbuffer[GATEWAY_CHANL]=0x02;
-//		lora_sendbuffer[CHANL_NUM]=0x03;
-   // lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1;
-#ifdef USE_GPS
-    memcpy(&lora_sendbuffer[GPS_JINGDU_IDX],&gps_jingdu,8);
-    memcpy(&lora_sendbuffer[GPS_WEIDU_IDX],&gps_jingdu,8);
-    memcpy(&lora_sendbuffer[GPS_HEIGHT_IDX],&gps_height,8);
-    lora_sendbuffer[GPS_STATE_IDX] = gps_state;
-    lora_sendbuffer[GPS_SATEL_NUM_IDX] = gps_satel_num;
-    lora_sendbuffer[GPS_SPOWER_IDX] = gps_signalpower;
-    lora_sendbuffer[GPS_CHAFENLINGQI] = gps_chafenlingqi;
-#endif
-    //  memcpy(&lora_sendbuffer[BAR_HEIGHT_IDX],&bar_height,2);
-//		memcpy(&report_ancid,test_temp,10);
-//		memcpy(&report_ancdist,test_temp2,10); 
+//		para=freq_list[2] * 100000;
+////		rf_set_freq(wg_report_freq*100000);
+////		rf_set_carrier_wave_off();
+////		rf_set_carrier_wave_on();
+//		rf_set_freq(para);
+//		//rf_set_sf(UWB_CHANNEL_SF);
+////		rf_set_tx_power(para);
+////		rf_set_carrier_wave_freq(freq_list[1] * 100000);
+////	  rf_set_freq(para);
+//		rf_set_sf(REPORT_CHANNEL_SF);
+//	  //rf_set_default_para(wg_report_freq,REPORT_CHANNEL_SF);
+//   // SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,g_com_map[LORA_POWER]);
+//	  dangqian_frqe=rf_read_freq();
+//    if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包
+//    {
+//        heatbeat_count = 0;
+//        LoraHeartBeartPoll();
+//        return;
+//    }
+//    for(uint16_t i=0; i<report_ancnum-1; i++)
+//    {
+//        for(uint16_t j=0; j<report_ancnum-1-i; j++)
+//        {
+//            if(report_ancdist[j]>report_ancdist[j+1])
+//            {
+//                uint16_t id,dist;
+//                uint8_t bat;
+//                id = report_ancid[j];
+//                dist = report_ancdist[j];
+//                report_ancid[j] = report_ancid[j+1];
+//                report_ancdist[j] = report_ancdist[j+1];
+//                report_ancid[j+1] = id;
+//                report_ancdist[j+1] = dist;
+//            }
+//        }
+//    }
+//    
+//    if(report_ancnum>LORA_REPORT_MAXANC_NUM)	                              //考虑lora传输时间,最多发送10个基站数据。
+//		{
+//      report_ancnum = LORA_REPORT_MAXANC_NUM;
+//		} 		  
+//				
+//#ifdef USE_GPS
+//    lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_GPS;
+//    lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+30;
+//#else
+//    lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG;
+//    lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+ANCID_IDX;
+//#endif
+//    memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
+//    memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
+//    lora_sendbuffer[SEQNUM_IDX] = seq_num++;
+//    lora_sendbuffer[BAT_IDX] = bat_percent;
+//		//GET_USERKEY这个是那个lora——busy那个引脚
+////		lora_sendbuffer[STATE_IDX]=0x01;
+////		lora_sendbuffer[GATEWAY_CHANL]=0x02;
+////		lora_sendbuffer[CHANL_NUM]=0x03;
+//   // lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1;
+//#ifdef USE_GPS
+//    memcpy(&lora_sendbuffer[GPS_JINGDU_IDX],&gps_jingdu,8);
+//    memcpy(&lora_sendbuffer[GPS_WEIDU_IDX],&gps_jingdu,8);
+//    memcpy(&lora_sendbuffer[GPS_HEIGHT_IDX],&gps_height,8);
+//    lora_sendbuffer[GPS_STATE_IDX] = gps_state;
+//    lora_sendbuffer[GPS_SATEL_NUM_IDX] = gps_satel_num;
+//    lora_sendbuffer[GPS_SPOWER_IDX] = gps_signalpower;
+//    lora_sendbuffer[GPS_CHAFENLINGQI] = gps_chafenlingqi;
+//#endif
+//    //  memcpy(&lora_sendbuffer[BAR_HEIGHT_IDX],&bar_height,2);
+////		memcpy(&report_ancid,test_temp,10);
+////		memcpy(&report_ancdist,test_temp2,10); 
 
-    lora_sendbuffer[ANCNUM_IDX] = report_ancnum;
-    memcpy(&lora_sendbuffer[ANCID_IDX],report_ancid,report_ancnum*2);
-    memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*2],report_ancdist,report_ancnum*2);
-		uint8_t LORA_RETRANSNUSSION_BT=0;
-		BT_NUM=DMA_RXBuf_BT[0];
-		if(0<BT_NUM&&BT_NUM<11)
-		{
-	  lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_BT;
-    LORA_RETRANSNUSSION_BT=ANCID_IDX+report_ancnum*4;
-		//LORA_RETRANSNUSSION_BT   report_ancnum_bt
-		lora_sendbuffer[LORA_RETRANSNUSSION_BT] = 0x2D; 		//蓝牙上传标识符
-    memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+1],&DMA_RXBuf_BT[0],BT_NUM*2+1); 									//基站ID
-    memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+BT_NUM*2+2],&DMA_RXBuf_BT[1+BT_NUM*2],BT_NUM*2);//基站距离		
-		lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+4*BT_NUM+ANCID_IDX+2;
-		}
-		if(lora_sendbuffer[LORA_RETRANSNUSSION_BT]==0x2D)
-		{
-		checksum = Checksum_u16(lora_sendbuffer,4*BT_NUM+4*report_ancnum+ANCID_IDX+2);
-		memcpy(&lora_sendbuffer[ANCID_IDX+BT_NUM*4+report_ancnum*4+2],&checksum,2);
-		BT_SEND_flag++;
-		}
-		else
-		{
-		checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum+ANCID_IDX);
-		memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*4],&checksum,2);
-		}
-
-
-    LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0);
-		memset(DMA_RXBuf_BT, 0,200);
-		memset(&lora_sendbuffer[ANCID_IDX],0,200);
-    //LED_TB_ON;
-
-    
-    for(uint8_t i=0;i<3;i++)
-    recnum[i] = 0;
-
-}
-
-static uint16_t delaytime = 1200;
-static uint16_t source_id;
-uint8_t rec_index,rec_secdelay;
-//uint16_t rec_value,rec_delaytime,rx_count;
-//uint16_t rec_value,rec_delaytime,rx_count,datalen_offset;
-
-uint8_t shengji_flag,time=5;
-extern uint32_t uwbled,gpsled,loraled,powerled;
-extern struct RxDoneMsg RxDoneParams;
-
-//extern     uint8_t Lora_tx_ancnum;
-//extern   u8 lora_seq_nb2;
-extern uint16_t lora_yingda_num;
-uint8_t lora_tx_flag=0;
-uint8_t lora_txanchor_power_flag;
-extern uint16_t Lora_tx_ancid[50];
-extern uint16_t Lora_tx_ancdist[50];
-extern uint8_t Lora_tx_anc_electricity[50];
-uint8_t lora_seq_nb1;
-
-extern uint8_t lora_sendbuffer[200];
-void LoraSendComMap(uint8_t cmd)
-{
-        uint8_t data_length = 0x50;
-        uint16_t checksum = 0;
-        lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_READPARARESP;
-        lora_sendbuffer[MSG_LENGTH] = data_length+11;
-				memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
-				memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
-        lora_sendbuffer[RP_CMD_IDX] = cmd;
-        lora_sendbuffer[RP_INDEX_IDX] = 2;
-        lora_sendbuffer[RP_LEN_IDX] = data_length;
-        memcpy(&lora_sendbuffer[9], &g_com_map[1], data_length);
-        checksum = Checksum_u16(lora_sendbuffer,11+data_length);
-        memcpy(&lora_sendbuffer[11+data_length],&checksum,2);
-        LORA_3029_SINGLE_SEND(lora_sendbuffer,data_length+13,0);
-	      //++;
-  //  Delay_Ms(100);
-}
-void LoraRspWriteCommap(uint8_t index)
-{
-	uint8_t data_length = 2;
-	uint16_t checksum = 0;
-	lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_READPARARESP;
-	lora_sendbuffer[MSG_LENGTH] = data_length+9;
-    memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
-    memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
-	lora_sendbuffer[RP_CMD_IDX] = WGRSP_RWTAG_WRITE;
-	lora_sendbuffer[RP_INDEX_IDX] = index;
-	lora_sendbuffer[RP_LEN_IDX] = data_length;
-	memcpy(&lora_sendbuffer[7], &g_com_map[index/2], data_length);
-	checksum = Checksum_u16(lora_sendbuffer,9+data_length);
-	memcpy(&lora_sendbuffer[9+data_length],&checksum,2);
-  //   Radio.Send(lora_sendbuffer,data_length+11);
-	 LORA_3029_SINGLE_SEND(lora_sendbuffer,data_length+11,0);
-  //  Delay_Ms(100);
-}
-uint8_t t22[20],ti;
-uint8_t no_yingdaflag;
-uint8_t aRxBuffer[1];
-
-extern uint8_t group_id;
-uint16_t lora_send_count;
-uint8_t mode_flag=0;
-uint32_t frqe,dangqian_frqe;
-uint32_t freq_list[4] = {DEFAULT_up_FREQ/100000,4730,4780,4910};
-
-#define TX_LEN  10
-extern uint8_t tx_test_buf[TX_LEN];
-
-void Lora_Tx_Poll()
-{
-  
-//    if(lora_tx_flag)
-//    { 
-//     OnMaster();
-////
-//			//rf_enter_continous_rx();
+//    lora_sendbuffer[ANCNUM_IDX] = report_ancnum;
+//    memcpy(&lora_sendbuffer[ANCID_IDX],report_ancid,report_ancnum*2);
+//    memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*2],report_ancdist,report_ancnum*2);
+//		uint8_t LORA_RETRANSNUSSION_BT=0;
+//		BT_NUM=DMA_RXBuf_BT[0];
+//		if(0<BT_NUM&&BT_NUM<11)
+//		{
+//	  lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_BT;
+//    LORA_RETRANSNUSSION_BT=ANCID_IDX+report_ancnum*4;
+//		//LORA_RETRANSNUSSION_BT   report_ancnum_bt
+//		lora_sendbuffer[LORA_RETRANSNUSSION_BT] = 0x2D; 		//蓝牙上传标识符
+//    memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+1],&DMA_RXBuf_BT[0],BT_NUM*2+1); 									//基站ID
+//    memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+BT_NUM*2+2],&DMA_RXBuf_BT[1+BT_NUM*2],BT_NUM*2);//基站距离		
+//		lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+4*BT_NUM+ANCID_IDX+2;
 //		}
- if(lora_tx_flag)
-    {
-//			gpio_pin_set(IO_PIN_5);
-			
-        if(lora_send_count++%10==0||lora_jianting_flag)
-        {
-            lora_tx_flag=0;
-#ifdef GROUPID_SWITCH
-            if(rec_secdelay>0)
-            {
-                rec_secdelay--;
-//                if(lora_jianting_flag)
-//                {
-//                    if(++group_id>GROUP_NUM)
-//                    {
-//                        group_id = 1;
-//                    }
-//                    t22[ti++] = group_id;
-//                    if(ti>=20)
-//                        ti=0;
-//                    group_min_dist[group_id] = 0xffff;
-//                    Radio.Standby();
-//                    SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
-//                    Radio.Rx(0);
-//                }
-                return;
-            }
-//            //找3个小组中最近距离最大的小组,上传报文后切换到这个小组,因为上传报文会时间占用。
-//            if(group_min_dist[1]>group_min_dist[2])  //如果1大于2
+//		if(lora_sendbuffer[LORA_RETRANSNUSSION_BT]==0x2D)
+//		{
+//		checksum = Checksum_u16(lora_sendbuffer,4*BT_NUM+4*report_ancnum+ANCID_IDX+2);
+//		memcpy(&lora_sendbuffer[ANCID_IDX+BT_NUM*4+report_ancnum*4+2],&checksum,2);
+//		BT_SEND_flag++;
+//		}
+//		else
+//		{
+//		checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum+ANCID_IDX);
+//		memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*4],&checksum,2);
+//		}
+
+
+//    LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0);
+//		memset(DMA_RXBuf_BT, 0,200);
+//		memset(&lora_sendbuffer[ANCID_IDX],0,200);
+//    //LED_TB_ON;
+
+//    
+//    for(uint8_t i=0;i<3;i++)
+//    recnum[i] = 0;
+
+//}
+
+//static uint16_t delaytime = 1200;
+//static uint16_t source_id;
+//uint8_t rec_index,rec_secdelay;
+////uint16_t rec_value,rec_delaytime,rx_count;
+////uint16_t rec_value,rec_delaytime,rx_count,datalen_offset;
+
+//uint8_t shengji_flag,time=5;
+//extern uint32_t uwbled,gpsled,loraled,powerled;
+//extern struct RxDoneMsg RxDoneParams;
+
+////extern     uint8_t Lora_tx_ancnum;
+////extern   u8 lora_seq_nb2;
+//extern uint16_t lora_yingda_num;
+//uint8_t lora_tx_flag=0;
+//uint8_t lora_txanchor_power_flag;
+//extern uint16_t Lora_tx_ancid[50];
+//extern uint16_t Lora_tx_ancdist[50];
+//extern uint8_t Lora_tx_anc_electricity[50];
+//uint8_t lora_seq_nb1;
+
+//extern uint8_t lora_sendbuffer[200];
+//void LoraSendComMap(uint8_t cmd)
+//{
+//        uint8_t data_length = 0x50;
+//        uint16_t checksum = 0;
+//        lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_READPARARESP;
+//        lora_sendbuffer[MSG_LENGTH] = data_length+11;
+//				memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
+//				memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
+//        lora_sendbuffer[RP_CMD_IDX] = cmd;
+//        lora_sendbuffer[RP_INDEX_IDX] = 2;
+//        lora_sendbuffer[RP_LEN_IDX] = data_length;
+//        memcpy(&lora_sendbuffer[9], &g_com_map[1], data_length);
+//        checksum = Checksum_u16(lora_sendbuffer,11+data_length);
+//        memcpy(&lora_sendbuffer[11+data_length],&checksum,2);
+//        LORA_3029_SINGLE_SEND(lora_sendbuffer,data_length+13,0);
+//	      //++;
+//  //  Delay_Ms(100);
+//}
+//void LoraRspWriteCommap(uint8_t index)
+//{
+//	uint8_t data_length = 2;
+//	uint16_t checksum = 0;
+//	lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_READPARARESP;
+//	lora_sendbuffer[MSG_LENGTH] = data_length+9;
+//    memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
+//    memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
+//	lora_sendbuffer[RP_CMD_IDX] = WGRSP_RWTAG_WRITE;
+//	lora_sendbuffer[RP_INDEX_IDX] = index;
+//	lora_sendbuffer[RP_LEN_IDX] = data_length;
+//	memcpy(&lora_sendbuffer[7], &g_com_map[index/2], data_length);
+//	checksum = Checksum_u16(lora_sendbuffer,9+data_length);
+//	memcpy(&lora_sendbuffer[9+data_length],&checksum,2);
+//  //   Radio.Send(lora_sendbuffer,data_length+11);
+//	 LORA_3029_SINGLE_SEND(lora_sendbuffer,data_length+11,0);
+//  //  Delay_Ms(100);
+//}
+//uint8_t t22[20],ti;
+//uint8_t no_yingdaflag;
+//uint8_t aRxBuffer[1];
+
+//extern uint8_t group_id;
+//uint16_t lora_send_count;
+//uint8_t mode_flag=0;
+//uint32_t frqe,dangqian_frqe;
+//uint32_t freq_list[4] = {DEFAULT_up_FREQ/100000,4730,4780,4910};
+
+//#define TX_LEN  10
+//extern uint8_t tx_test_buf[TX_LEN];
+
+//void Lora_Tx_Poll()
+//{
+//  
+////    if(lora_tx_flag)
+////    { 
+////     OnMaster();
+//////
+////			//rf_enter_continous_rx();
+////		}
+// if(lora_tx_flag)
+//    {
+////			gpio_pin_set(IO_PIN_5);
+//			
+//        if(lora_send_count++%10==0||lora_jianting_flag)
+//        {
+//            lora_tx_flag=0;
+//#ifdef GROUPID_SWITCH
+//            if(rec_secdelay>0)
 //            {
-//                group_maxdist_index = group_min_dist[1]>group_min_dist[3]?1:3; //取 1和3 最大值
-//                group_mindist_index = group_min_dist[2]<group_min_dist[3]?2:3;//取 2和3 最小值
-//                    
-//            }else{
-//                group_maxdist_index = group_min_dist[2]>group_min_dist[3]?2:3; //取 2和3 最大值
-//                group_mindist_index = group_min_dist[1]<group_min_dist[3]?1:3;//取 1和3 最小值
+//                rec_secdelay--;
+////                if(lora_jianting_flag)
+////                {
+////                    if(++group_id>GROUP_NUM)
+////                    {
+////                        group_id = 1;
+////                    }
+////                    t22[ti++] = group_id;
+////                    if(ti>=20)
+////                        ti=0;
+////                    group_min_dist[group_id] = 0xffff;
+////                    Radio.Standby();
+////                    SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
+////                    Radio.Rx(0);
+////                }
+//                return;
 //            }
-////            group_id = 1;
-//            group_id = group_maxdist_index;
-#endif
-            t22[ti++] = group_id;
-            if(ti>=20)
-                ti=0;
-         //  group_min_dist[group_id] = 0xffff;
-         //   Radio.Standby();
-						//rf_antenna_close();
-//						rf_set_mode(RF_MODE_STB3);
-//						uint32_t para;
-//						frqe=((UWB_CHANNEL_FRQ+group_id)*100000);
-//						para=freq_list[1] * 100000;
-////						rf_set_default_para(frqe,UWB_CHANNEL_SF);
-//						rf_set_carrier_wave_off();
-////			      rf_set_carrier_wave_on();
-//						rf_set_freq(para);
-//						rf_set_sf(5);
-////						rf_set_tx_power(para);
-////			      rf_set_carrier_wave_freq(freq_list[1] * 100000);
-//            //SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
-//					  dangqian_frqe=rf_read_freq();
-				//		LoraSendComMap(WGRSP_RWTAG_READ);
-						
-						//delay_us(5000);
-//            rf_enter_continous_rx();
-            //LedTask();
-						//LoraHeartBeartPoll();
-//					  if(rf_continous_tx_send_data(tx_test_buf, TX_LEN) != OK)
-//            {
-//               while(1);
-//            }
-					//	rf_get_mode();
-            LoraReportPoll();
-            // LedOff_task();
+////            //找3个小组中最近距离最大的小组,上传报文后切换到这个小组,因为上传报文会时间占用。
+////            if(group_min_dist[1]>group_min_dist[2])  //如果1大于2
+////            {
+////                group_maxdist_index = group_min_dist[1]>group_min_dist[3]?1:3; //取 1和3 最大值
+////                group_mindist_index = group_min_dist[2]<group_min_dist[3]?2:3;//取 2和3 最小值
+////                    
+////            }else{
+////                group_maxdist_index = group_min_dist[2]>group_min_dist[3]?2:3; //取 2和3 最大值
+////                group_mindist_index = group_min_dist[1]<group_min_dist[3]?1:3;//取 1和3 最小值
+////            }
+//////            group_id = 1;
+////            group_id = group_maxdist_index;
+//#endif
+//            t22[ti++] = group_id;
+//            if(ti>=20)
+//                ti=0;
+//         //  group_min_dist[group_id] = 0xffff;
+//         //   Radio.Standby();
+//						//rf_antenna_close();
+////						rf_set_mode(RF_MODE_STB3);
+////						uint32_t para;
+////						frqe=((UWB_CHANNEL_FRQ+group_id)*100000);
+////						para=freq_list[1] * 100000;
+//////						rf_set_default_para(frqe,UWB_CHANNEL_SF);
+////						rf_set_carrier_wave_off();
+//////			      rf_set_carrier_wave_on();
+////						rf_set_freq(para);
+////						rf_set_sf(5);
+//////						rf_set_tx_power(para);
+//////			      rf_set_carrier_wave_freq(freq_list[1] * 100000);
+////            //SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
+////					  dangqian_frqe=rf_read_freq();
+//				//		LoraSendComMap(WGRSP_RWTAG_READ);
+//						
+//						//delay_us(5000);
+////            rf_enter_continous_rx();
+//            //LedTask();
+//						//LoraHeartBeartPoll();
+////					  if(rf_continous_tx_send_data(tx_test_buf, TX_LEN) != OK)
+////            {
+////               while(1);
+////            }
+//					//	rf_get_mode();
+////            LoraReportPoll();
+//            // LedOff_task();
 
-        }
-    }
+//        }
+//    }
 
-     
-}
-uint8_t TX_RX_SELECT=0;
+//     
+//}
+//uint8_t TX_RX_SELECT=0;
 
-int LORA_3029_SINGLE_SEND(uint8_t *buffer, uint8_t size,uint8_t time)
-{
-    if((rf_single_tx_data(lora_sendbuffer,size,time))!= OK)
-		{
-      while(1);
-		}	
-		rf_delay_us(1);
-		
-		//rf_enter_single_rx();
-		//rf_enter_single_timeout_rx(700);
-}
+//int LORA_3029_SINGLE_SEND(uint8_t *buffer, uint8_t size,uint8_t time)
+//{
+//    if((rf_single_tx_data(lora_sendbuffer,size,time))!= OK)
+//		{
+//      while(1);
+//		}	
+//		rf_delay_us(1);
+//		
+//		//rf_enter_single_rx();
+//		//rf_enter_single_timeout_rx(700);
+//}
 
-int LORA_3029_CONTINOUS_SEND(uint8_t *buffer, uint8_t size)
-{
+//int LORA_3029_CONTINOUS_SEND(uint8_t *buffer, uint8_t size)
+//{
 
 
-}
+//}
 
 
 

--
Gitblit v1.9.3