From b32910bdb85c6e9d19abf97f1465c573a0bf9d38 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期四, 13 二月 2025 14:06:13 +0800 Subject: [PATCH] 测试版 --- keil/lora_3029.c | 553 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 353 insertions(+), 200 deletions(-) diff --git a/keil/lora_3029.c b/keil/lora_3029.c index 4e3738b..4225a3e 100644 --- a/keil/lora_3029.c +++ b/keil/lora_3029.c @@ -2,6 +2,7 @@ #include "mk_spi.h" #include "global_param.h" #include "pan_port.h" +#include "pan_rf.h" //#include "WS2812.h" //#include "pan_port.h" //#include "pan_param.h" @@ -41,7 +42,8 @@ uint32_t ret = 0; uint32_t cnt = 0; ret=rf_init(); - set_test_mode1_reg(); + + set_test_mode1_reg(); if(ret== 1) { // printf("LORA Init Fail"); @@ -52,7 +54,7 @@ // printf("LORA Init OK\r\n"); } } -wg_state_enum wg_state = WG_Lost; +extern wg_state_enum wg_state; uint8_t lora_sendbuffer[200]; uint8_t seq_num; extern uint16_t lora_up_uwb_flag; @@ -89,6 +91,8 @@ 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) @@ -101,13 +105,12 @@ //uint16_t wg_report_freq,wg_report_id; uint8_t lora_sendbuffer[200]; -void Lora_UploadHeartBeartPoll(void) +void LoraHeartBeartPoll(void) { // lora_up_uwb_flag=2; // rf_set_default_para(); - rf_enter_continous_tx(); /*****************************心跳包上传内容************************************/ lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGHEARTBEAT; lora_sendbuffer[MSG_LENGTH] = 14; @@ -117,50 +120,45 @@ 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); + memcpy(&lora_sendbuffer[14],&checksum,2); + LORA_3029_SINGLE_SEND(lora_sendbuffer,16,0); + /*****************************心跳包上传内容*************************************/ - rf_set_transmit_flag(RADIO_FLAG_TXDONE); - - if(rf_get_transmit_flag()==RADIO_FLAG_TXDONE) - { - if(rf_continous_tx_send_data(lora_sendbuffer, 16)==OK) - { - //LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n"); - } - while (rf_get_transmit_flag() == RADIO_FLAG_IDLE) - ; - //rf_enter_continous_rx();; - rf_set_transmit_flag(RADIO_FLAG_IDLE); - } - + } -#define HEATBEAT_UPDATE_TIME 3600 +#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; //气压 -void Lora_Report_poll(void) +extern uint16_t recnum[3]; +void LoraReportPoll(void) { - LoraReportFreqPoll(); - flag_getwgresp = 0; //网关回复标志位 && WG_Connected == wg_state - uint32_t ret = 0; - ret = rf_init(); - - set_test_mode1_reg(); - if(ret==OK) - { - rf_set_default_para(wg_report_freq*1000000,wg_report_sf); - } -// -// - if(heatbeat_count++>HEATBEAT_UPDATE_TIME) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包 - { - heatbeat_count = 0; - Lora_UploadHeartBeartPoll(); - //rf_irq_process(); - return; - } - for(uint16_t i=0; i<report_ancnum-1; i++) - { + // delay_ms(100); +#ifdef _USE_BAR + GetPressAndHeight(); + intheight = Height*100; +#endif +#ifdef _SMT_TEST + printf("气压值:%d",intheight); +#endif + + TagListUpdate(); + + LoraReportFreqPoll(); + flag_getwgresp = 0; + // wg_report_freq = REPORT_MANGE_CHANNEL_FRQ; + rf_set_default_para(wg_report_freq,REPORT_CHANNEL_SF); + // SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,g_com_map[LORA_POWER]); + 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]) @@ -175,200 +173,189 @@ report_ancdist[j+1] = dist; } } - } - if(report_ancnum>0) - { - //uwbled=0x11; //blue - } - else - { - //uwbled=0x1100; //red - } - if(report_ancnum>LORA_REPORT_MAXANC_NUM) //考虑lora传输时间,最多发送10个基站数据。 - report_ancnum = LORA_REPORT_MAXANC_NUM; - + } + + 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+ANCID_IDX; + 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 - -// 2000f026 02020002 //000220200 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] = !GET_USERKEY|stationary_flag<<1; #ifdef USE_GPS memcpy(&lora_sendbuffer[GPS_JINGDU_IDX],&gps_jingdu,8); - memcpy(&lora_sendbuffer[GPS_WEIDU_IDX],&gps_weidu,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],&intheight,2); + // memcpy(&lora_sendbuffer[BAR_HEIGHT_IDX],&bar_height,2); + memcpy(&report_ancid,test_temp,10); + memcpy(&report_ancdist,test_temp2,10); + report_ancnum=3; 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); - checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum+ANCID_IDX); memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*4],&checksum,2); - rf_enter_continous_tx(); - //rf_irq_process(); - rf_set_transmit_flag(RADIO_FLAG_TXDONE); - if(rf_get_transmit_flag()==RADIO_FLAG_TXDONE) - { - if(rf_continous_tx_send_data(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2)==OK) - { - //LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n"); - } - while (rf_get_transmit_flag() == RADIO_FLAG_IDLE) - ; - //rf_enter_continous_rx();; - rf_set_transmit_flag(RADIO_FLAG_IDLE); - - } - // rf_enter_continous_rx(); + + //rf_enter_continous_tx(); +// LORA_3029_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2); + LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2,0); + +// rf_single_tx_data(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2,2); + //rf_enter_continous_rx(); + + //LED_TB_ON; + // bat_percent=Get_Battary(); + + for(uint8_t i=0;i<3;i++) + recnum[i] = 0; } extern uint8_t report_ancnum; 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; +//uint16_t rec_value,rec_delaytime,rx_count; +//uint16_t rec_value,rec_delaytime,rx_count,datalen_offset; int32_t target_count; uint8_t shengji_flag,time=5; extern uint32_t uwbled,gpsled,loraled,powerled; extern struct RxDoneMsg RxDoneParams; -void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr ) -{ uint16_t checksum1; - BufferSize = size; - memcpy(RX_Buffer,RxDoneParams.Payload,RxDoneParams.Size); - // memcpy( RX_Buffer, payload, BufferSize ); - RssiValue = rssi; - SnrValue = snr; - //Radio.Standby(); - no_rx_flag = 0; - lora_up_rec_flag=1; -// if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_RANGEPOLL) +//void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr ) +//{ uint16_t checksum1; +// BufferSize = size; +// memcpy(RX_Buffer,RxDoneParams.Payload,RxDoneParams.Size); +// // memcpy( RX_Buffer, payload, BufferSize ); +// RssiValue = rssi; +// SnrValue = snr; +// //Radio.Standby(); +// no_rx_flag = 0; +// lora_up_rec_flag=1; +//// if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_RANGEPOLL) +//// { +//// UwbRange(); +//// rf_delay_us(time*1000); +//// // UWB_RXStart(10); +//// // delay_ms(time); +//// } +// if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_WGRESPTAG) // { -// UwbRange(); -// rf_delay_us(time*1000); -// // UWB_RXStart(10); -// // delay_ms(time); -// } - if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_WGRESPTAG) - { - checksum1=Checksum_u16(RX_Buffer,BufferSize-2); - if(!memcmp(&checksum1,&RX_Buffer[BufferSize-2],2)) - if(!memcmp(&dev_id,&RX_Buffer[DEST_ID_IDX],2)) - { - memcpy(&source_id,&RX_Buffer[SOURCE_ID_IDX],2); - if(wg_state==WG_Lost) - { - wg_state = WG_Connected; - wg_report_id = source_id; - } - if(!memcmp(&wg_report_id,&RX_Buffer[SOURCE_ID_IDX],2)) - { - wg_lost_count = 0; - // loraled=GREEN; - switch(RX_Buffer[PWTAG_RW_FLAG_IDX]) - { - case WGRSP_RWTAG_NONE: - // current_count = HAL_LPTIM_ReadCounter(&hlptim1); - wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400; - memcpy(&rec_delaytime,&RX_Buffer[NEXTPOLL_TIME_IDX],2); - rec_secdelay = RX_Buffer[PWTAG_SECDELAY_IDX]; - if(BufferSize!=13||rec_secdelay>20) - { - rec_secdelay = 0; - } - - if(report_ancnum<2) - { - datalen_offset = report_ancnum*85; - }else{ - datalen_offset = (report_ancnum-1)*46+85; - } - - target_count = current_count + rec_delaytime*3.2768 - delaytime-datalen_offset; - while(target_count>=32768) - target_count-=32768; -// __HAL_LPTIM_COMPARE_SET(&hlptim1, target_count); -// rx_count = HAL_LPTIM_ReadCounter(&hlptim1); - // printf("tx %d,rx %d,delay %d",current_count>>5,rx_count>>5,rec_delaytime); - break; - case WGRSP_RWTAG_READ: - no_rx_flag = 1; - //LoraSendComMap(WGRSP_RWTAG_READ); - break; - case WGRSP_RWTAG_WRITE: - rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX]; - if(rec_index<=DEV_ID) - return; - if(rec_index==0xDD) - { -// if(usart5_state==1) -// { -// Usart5Init(); -// usart5_state=0; -// } -// HAL_GPIO_WritePin(GPIOC, GPIO_PIN_7, GPIO_PIN_SET); -// HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); -// memcpy(&xiafayuyin_data,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],BufferSize-PWTAG_WRITE_VALUE_IDX-2); -// yuyin_sendflag=1; -// yuyinzidongguan_time=0; -// yuyin_no_sleep_flag=1; -// SYN_FrameInfo(0,xiafayuyin_data); //播放内容 -// memset(xiafayuyin_data,0,sizeof(xiafayuyin_data)); - // LoraRspWriteCommap(SUBMSG_WRITE_ANCPARA); - no_rx_flag = 1; - }else{ - memcpy(&rec_value,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2); - g_com_map[rec_index/2] = rec_value; - save_com_map_to_flash(); - // LoraRspWriteCommap(SUBMSG_WRITE_ANCPARA); -// flag_writepara_needreset = 1; - no_rx_flag = 1; - } - break; - case WGRSP_RWTAG_UPDATE: - rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX]; - switch(rec_index) - { - case 0xaa: //升级下发 -// memcpy(&rec_wenjian_daxiao,&RX_Buffer[WRITEPARA_VALUE_IDX],2);//文件大小 -// if(rec_wenjian_daxiao>APP_SIZE||rec_wenjian_daxiao==0) -// {}//文件过大,超出范围 -// else +// checksum1=Checksum_u16(RX_Buffer,BufferSize-2); +// if(!memcmp(&checksum1,&RX_Buffer[BufferSize-2],2)) +// if(!memcmp(&dev_id,&RX_Buffer[DEST_ID_IDX],2)) +// { +// memcpy(&source_id,&RX_Buffer[SOURCE_ID_IDX],2); +// if(wg_state==WG_Lost) +// { +// wg_state = WG_Connected; +// wg_report_id = source_id; +// } +// if(!memcmp(&wg_report_id,&RX_Buffer[SOURCE_ID_IDX],2)) +// { +// wg_lost_count = 0; +// // loraled=GREEN; +// switch(RX_Buffer[PWTAG_RW_FLAG_IDX]) +// { +// case WGRSP_RWTAG_NONE: +// // current_count = HAL_LPTIM_ReadCounter(&hlptim1); +// wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400; +// memcpy(&rec_delaytime,&RX_Buffer[NEXTPOLL_TIME_IDX],2); +// rec_secdelay = RX_Buffer[PWTAG_SECDELAY_IDX]; +// if(BufferSize!=13||rec_secdelay>20) +// { +// rec_secdelay = 0; +// } +// +// if(report_ancnum<2) +// { +// datalen_offset = report_ancnum*85; +// }else{ +// datalen_offset = (report_ancnum-1)*46+85; +// } +// +// target_count = current_count + rec_delaytime*3.2768 - delaytime-datalen_offset; +// while(target_count>=32768) +// target_count-=32768; +//// __HAL_LPTIM_COMPARE_SET(&hlptim1, target_count); +//// rx_count = HAL_LPTIM_ReadCounter(&hlptim1); +// // printf("tx %d,rx %d,delay %d",current_count>>5,rx_count>>5,rec_delaytime); +// break; +// case WGRSP_RWTAG_READ: +// no_rx_flag = 1; +// //LoraSendComMap(WGRSP_RWTAG_READ); +// break; +// case WGRSP_RWTAG_WRITE: +// rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX]; +// if(rec_index<=DEV_ID) +// return; +// if(rec_index==0xDD) // { -// memcpy(&wangguan_up_id,&RX_Buffer[SOURCE_ID_IDX],2);//网关ID 占用2个字节 -// shengji_flag=1; -// LoraUp_flag=1; +//// if(usart5_state==1) +//// { +//// Usart5Init(); +//// usart5_state=0; +//// } +//// HAL_GPIO_WritePin(GPIOC, GPIO_PIN_7, GPIO_PIN_SET); +//// HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); +//// memcpy(&xiafayuyin_data,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],BufferSize-PWTAG_WRITE_VALUE_IDX-2); +//// yuyin_sendflag=1; +//// yuyinzidongguan_time=0; +//// yuyin_no_sleep_flag=1; +//// SYN_FrameInfo(0,xiafayuyin_data); //播放内容 +//// memset(xiafayuyin_data,0,sizeof(xiafayuyin_data)); +// // LoraRspWriteCommap(SUBMSG_WRITE_ANCPARA); +// no_rx_flag = 1; +// }else{ +// memcpy(&rec_value,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2); +// g_com_map[rec_index/2] = rec_value; +// save_com_map_to_flash(); +// // LoraRspWriteCommap(SUBMSG_WRITE_ANCPARA); +//// flag_writepara_needreset = 1; +// no_rx_flag = 1; // } - break; - } - break; - } - } - } - } -// if(!no_rx_flag&&LoraUp_flag==0) -// { -// if(RX_Buffer[MSG_TYPE_IDX]!=LORA_MSGTYPE_RANGEPOLL) -// SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,0); -// Radio.Rx(0); -// } -} +// break; +// case WGRSP_RWTAG_UPDATE: +// rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX]; +// switch(rec_index) +// { +// case 0xaa: //升级下发 +//// memcpy(&rec_wenjian_daxiao,&RX_Buffer[WRITEPARA_VALUE_IDX],2);//文件大小 +//// if(rec_wenjian_daxiao>APP_SIZE||rec_wenjian_daxiao==0) +//// {}//文件过大,超出范围 +//// else +//// { +//// memcpy(&wangguan_up_id,&RX_Buffer[SOURCE_ID_IDX],2);//网关ID 占用2个字节 +//// shengji_flag=1; +//// LoraUp_flag=1; +//// } +// break; +// } +// break; +// } +// } +// } +// } +//// if(!no_rx_flag&&LoraUp_flag==0) +//// { +//// if(RX_Buffer[MSG_TYPE_IDX]!=LORA_MSGTYPE_RANGEPOLL) +//// SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,0); +//// Radio.Rx(0); +//// } +//} //void LORA_mode_select(void) //{ // if(TX_RX_SELECT==1) @@ -522,11 +509,177 @@ //} +//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; +void Lora_Tx_Poll() +{ + +// if(lora_tx_flag) +// { +// OnMaster(); +//// +// //rf_enter_continous_rx(); +// } + if(lora_tx_flag) + { + 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 +// { +// 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_set_default_para(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF); + // SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); + //rf_enter_single_timeout_rx(0); +// rf_enter_continous_rx(); + //LedTask(); + //LoraHeartBeartPoll(); + + // rf_get_mode(); + LoraReportPoll(); + // LedOff_task(); + + } + } + +} +uint8_t TX_RX_SELECT=0; +//void OnMaster() +//{ +// +// rf_set_default_para(DEFAULT_WG_SET_FREQ,DEFAULT_WG_SET_SF); +// rf_enter_continous_tx();//send_frame1, 19 +// // LORA_3029_SEND(send_frame1, 19); + +// +//} +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) +{ +} +// rf_enter_continous_tx(); - - +// //rf_set_default_para(DEFAULT_WG_SET_FREQ,DEFAULT_WG_SET_SF); +// +// +// +// rf_set_transmit_flag(RADIO_FLAG_TXDONE); +// +// +// if(rf_get_transmit_flag() == RADIO_FLAG_TXDONE) +// { +// // +// if(rf_continous_tx_send_data(send_frame1, 20) == OK) +// { +// //printf("tx ok!\n"); +// } +//// while (rf_get_transmit_flag() ==!RADIO_FLAG_TXDONE) +//// ; +// while (rf_get_transmit_flag() ==!RADIO_FLAG_TXDONE) +// ; +// +// } +// -- Gitblit v1.9.3