| | |
| | | checksum = Checksum_u16(lora_sendbuffer,9+data_length); |
| | | memcpy(&lora_sendbuffer[9+data_length],&checksum,2); |
| | | Radio.Send(lora_sendbuffer,data_length+11); |
| | | |
| | | LOG_INFO(TRACE_MODULE_APP, "进入回复\r\n"); |
| | | //LORA_3029_SINGLE_SEND(lora_sendbuffer,data_length+11,0); |
| | | // Delay_Ms(100); |
| | | } |
| | |
| | | |
| | | |
| | | } |
| | | |
| | | void lora_in_sleep(void) |
| | | { |
| | | //SPI0/MOSI/MISO/CLK/CS |
| | | // gpio_pin_set(LORA_CS); |
| | | // gpio_pin_clr(LORA_MOSI); |
| | | // gpio_pin_clr(LORA_MISO); |
| | | // gpio_pin_clr(LORA_CLK); |
| | | // gpio_pin_clr(LORA_IRQ); |
| | | //gpio_pin_clr(LORA_NRST); |
| | | //gpio_pin_clr(LORA_NRST);//lora休眠 |
| | | // Radio.Standby(); |
| | | |
| | | Radio.Sleep(); |
| | | } |
| | | ////States_t State = LOWPOWER; |
| | | |
| | | //////int8_t RssiValue = 0; |
| | |
| | | //uint16_t current_count; |
| | | //extern wg_state_enum wg_state; |
| | | uint8_t txdone=0; |
| | | uint8_t send_flag; |
| | | void OnTxDone( void ) |
| | | { |
| | | txdone++; |
| | | |
| | | if(flag_writepara_needreset) //配置写入完成设备需要重启 |
| | | { |
| | | printf("网关下发配置写入完成,重启"); |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader |
| | | LOG_INFO(TRACE_MODULE_APP,"网关下发配置写入完成,重启\r\n"); |
| | | // SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader |
| | | sys_reset(0); |
| | | } |
| | | Radio.Standby(); |
| | | if(LoraUp_flag) |
| | |
| | | } |
| | | else |
| | | { |
| | | |
| | | Radio.Rx( 50 ); |
| | | send_flag=1; |
| | | //LORA_LED_OFF; |
| | | } |
| | | } |
| | |
| | | uint8_t LoraUp_flag; |
| | | uint16_t REV_WG_pack=0; |
| | | uint8_t rxdone=0; |
| | | extern uint16_t set_mk_time; |
| | | extern mk_send_message_to_BLE(void); |
| | | uint8_t tt4=1; |
| | | void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr ) |
| | | { |
| | | uint16_t checksum1; |
| | |
| | | switch(RX_Buffer[PWTAG_RW_FLAG_IDX]) |
| | | { |
| | | case WGRSP_RWTAG_NONE: |
| | | REV_WG_pack++; |
| | | wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400; |
| | | REV_WG_pack++;//此处刚放开 |
| | | wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400;//此处刚放开未测试 |
| | | // memcpy(&rec_delaytime,&RX_Buffer[NEXTPOLL_TIME_IDX],2); |
| | | |
| | | // if(report_ancnum<2) |
| | |
| | | LoraSendComMap(WGRSP_RWTAG_READ); |
| | | break; |
| | | case WGRSP_RWTAG_WRITE: |
| | | |
| | | rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX]; |
| | | switch(rec_index) |
| | | { |
| | |
| | | default : |
| | | memcpy(&rec_value,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2); |
| | | g_com_map[rec_index/2] = rec_value; |
| | | if(rec_index/2==POWER)//新增判断 |
| | | { |
| | | memcpy(&set_mk_time,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2); |
| | | mk_send_message_to_BLE(); //发送给蓝牙 |
| | | //LOG_INFO(TRACE_MODULE_APP, "修改成功g_com表为%#x,时间为%#x\r\n",g_com_map[POWER],set_mk_time); |
| | | } |
| | | 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]; |
| | |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | if(!no_rx_flag) |
| | | { |
| | | if(lora_jianting_flag&&LoraUp_flag==0) |
| | |
| | | Radio.Rx(0); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | void OnTxTimeout( void ) |
| | |
| | | void OnRxTimeout( void ) |
| | | { |
| | | Radio.Standby(); |
| | | |
| | | if(lora_jianting_flag) |
| | | { |
| | | SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); |