zhangbo
2025-05-20 5ee4fd97245fed0d45fb60d1aa38cca83e788ed5
keil/include/src/Radio/lora_1268.c
@@ -173,7 +173,7 @@
extern uint8_t DMA_RXBuf_BT[200];
extern uint8_t report_ancnum;
extern uint8_t report_ancnum_bt;
uint32_t BT_SEND_flag=0;
uint32_t BT_SEND_lenth=0;
uint8_t BT_NUM=0;
extern uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];
extern uint8_t bat_percent;
@@ -185,7 +185,10 @@
extern uint8_t SOS_KEY_STATE;
uint32_t LORA_POLL_COUNT=0;
extern uint32_t step_count;
uint8_t step_count_rep;
//extern u16_m f_step;
extern uint8_t uwbled,gpsled,loraled,powerled;
extern uint8_t exercise_state;
void LoraReportPoll(void)
{
    // delay_ms(100);
@@ -198,7 +201,7 @@
    printf("气压值:%d",intheight);
#endif
    TagListUpdate();
//    TagListUpdate();
    LoraReportFreqPoll();
    flag_getwgresp = 0;
@@ -250,7 +253,8 @@
    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;
    lora_sendbuffer[BAT_IDX] = bat_percent;//(uint8_t)(step_count % 256);
//      lora_sendbuffer[BAT_IDX] = (uint8_t)(step_count % 256);
      lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1;
      //GET_USERKEY这个是那个lora——busy那个引脚
//      lora_sendbuffer[STATE_IDX]=0x01;
@@ -281,13 +285,21 @@
    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] = LORA_RETRANSNUSSION_BT+4*BT_NUM+2;
    //保留位3
      if(step_count < 0)
         step_count=0;
        lora_sendbuffer[STEP_COUNT] = (uint8_t)(step_count % 256);
        lora_sendbuffer[EXERCISE_STATE]=exercise_state;
        lora_sendbuffer[RESERVED_POSITION]=0;
//      }
//      if(lora_sendbuffer[LORA_RETRANSNUSSION_BT]==0x2D)
//      {
      checksum = Checksum_u16(lora_sendbuffer,4*BT_NUM+4*report_ancnum+BT_ANCID_IDX+3);
      memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+BT_NUM*4+2],&checksum,2);
      BT_SEND_flag=BT_ANCID_IDX+report_ancnum*4+BT_NUM*4+5;
      Radio.Send(lora_sendbuffer,BT_SEND_flag);
      BT_SEND_lenth=BT_ANCID_IDX+report_ancnum*4+BT_NUM*4+5;
      Radio.Send(lora_sendbuffer,BT_SEND_lenth);
      LORA_POLL_COUNT++;
//      LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0);
//      }
@@ -303,7 +315,7 @@
      memset(DMA_RXBuf_BT, 0,200);
      memset(&lora_sendbuffer[ANCID_IDX],0,200);
    //LED_TB_ON;
    LORA_LED_ON;
    loraled=1;
    
    for(uint8_t i=0;i<3;i++)
    recnum[i] = 0;
@@ -317,7 +329,7 @@
//uint16_t rec_value,rec_delaytime,rx_count,datalen_offset;
uint8_t shengji_flag,time=5;
extern uint32_t uwbled,gpsled,loraled,powerled;
//extern uint32_t uwbled,gpsled,loraled,powerled;
extern struct RxDoneMsg RxDoneParams;
//extern     uint8_t Lora_tx_ancnum;
@@ -445,7 +457,7 @@
    else
    {
    Radio.Rx( 50 );
    LORA_LED_OFF;
    }
}
#define BUFFER_SIZE                                 255 // Define the payload size here