| | |
| | | { |
| | | //SPI0/MOSI/MISO/CLK/CS |
| | | // gpio_pin_set(LORA_CS); |
| | | |
| | | // io_pin_mux_set(LORA_CS, IO_FUNC0); |
| | | // io_pin_mux_set(LORA_MOSI, IO_FUNC2); |
| | | // io_pin_mux_set(LORA_MISO, IO_FUNC2); |
| | | // io_pin_mux_set(LORA_CLK, IO_FUNC2); |
| | | // io_pin_mux_set(LORA_IRQ, IO_FUNC0); |
| | | // io_pin_mux_set(LORA_NRST, IO_FUNC0); |
| | | |
| | | // io_pin_mux_set(LORA_MOSI, IO_FUNC0); |
| | | // io_pin_mux_set(LORA_MISO, IO_FUNC0); |
| | | // io_pin_mux_set(LORA_CLK, IO_FUNC0); |
| | | // //io_pull_set(LORA_IRQ, IO_PULL_UP, IO_PULL_UP_LEVEL4); |
| | | // io_pull_set(LORA_MOSI, IO_PULL_UP, IO_PULL_UP_LEVEL4);//功耗有影响 |
| | | // io_pull_set(LORA_CLK, IO_PULL_UP, IO_PULL_UP_LEVEL4);//功耗有影响 |
| | | // |
| | | // gpio_pin_set_dir(LORA_MOSI,GPIO_DIR_OUT,0); |
| | | // gpio_pin_set_dir(LORA_MISO,GPIO_DIR_OUT,0); |
| | | // gpio_pin_set_dir(LORA_CLK,GPIO_DIR_OUT,0); |
| | | // 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; |
| | |
| | | |
| | | 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) |
| | |
| | | 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; |
| | |
| | | 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(); |
| | | 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]; |
| | |
| | | } |
| | | |
| | | } |
| | | LOG_INFO(TRACE_MODULE_APP, "进入回复2\r\n"); |
| | | |
| | | if(!no_rx_flag) |
| | | { |
| | | if(lora_jianting_flag&&LoraUp_flag==0) |
| | |
| | | Radio.Rx(0); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | void OnTxTimeout( void ) |