| | |
| | | MinuteTask(); |
| | | } |
| | | //UWB更新列表 |
| | | TagListUpdate(); |
| | | // TagListUpdate(); |
| | | //GPS_Poll(); |
| | | gps_power_state=1;//测试gps长开 |
| | | //UWB状态检测 |
| | |
| | | |
| | | } |
| | | HIDO_TimerTick(); |
| | | nomove_count++; |
| | | |
| | | } |
| | | uint8_t stationary_flag; |
| | | uint8_t flag_sleeptimer,flag_secondtask,secondtask_count; |
| | | uint8_t lora_wg_up=0; |
| | | extern uint8_t lora_tx_flag; |
| | | static void sleep_timer_callback(void *dev, uint32_t time) |
| | | { |
| | | |
| | | |
| | | g_start_send_flag=1; |
| | | // HIDO_TimerGetTick(); |
| | | HIDO_TimerTick(); |
| | | // #ifdef DEBUG_BOXING |
| | | //// gpio_pin_clr(IO_PIN_5);//测试 |
| | | // gpio_pin_set(IO_PIN_5);//测试 |
| | |
| | | } |
| | | |
| | | //GPS工作逻辑 |
| | | |
| | | if(nomove_count++>g_com_map[STATIONARY_TIME]) |
| | | { |
| | | stationary_flag = 1; |
| | | } else |
| | | { |
| | | stationary_flag = 0; |
| | | } |
| | | // nomove_count++; |
| | | #ifdef DEBUG_BOXING |
| | | // gpio_pin_clr(BOXING_PIN);//测试 |
| | | gpio_pin_set(BOXING_PIN);//测试 |
| | | #endif |
| | | delay_us(1000); |
| | | } |
| | | |
| | | void phy_timer_callback(uint32_t time) |
| | | { |
| | | lora_tx_flag++; |
| | | } |
| | | //void phy_timer_callback(uint32_t time) |
| | | //{ |
| | | // lora_tx_flag++; |
| | | //} |
| | | |
| | | void uart0_receive_callback() |
| | | { |
| | |
| | | Usart1ParseDataCallback = UsartParseDataHandler;//需改为默认为gps处理,UsartParseDataHandler为升级处理当调试时候改为 |
| | | parameter_init_anchor();//g_com_map表初始化角色默认为基站 |
| | | g_com_map[DEV_ID]=0x1234; |
| | | g_com_map[STATIONARY_TIME] = 10; |
| | | // g_com_map[GROUP_ID]=1; |
| | | dev_id=g_com_map[DEV_ID];//这里不太对 |
| | | group_id=g_com_map[GROUP_ID];//组ID |
| | | // group_id=g_com_map[GROUP_ID];//组ID |
| | | group_id=0x04; |
| | | tag_frequency = 1000/g_com_map[COM_INTERVAL];//测距频率这个存的是测距时间 |
| | | memcpy(&disoffset,&g_com_map[DIST_OFFSET],2); |
| | | // g_com_map[ALARM_DISTANCE1] = 40; |
| | |
| | | uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart0_receive_callback);//开启dma |
| | | |
| | | //串口1 |
| | | io_pin_mux_set(UART1_RX, IO_FUNC4); |
| | | io_pin_mux_set(UART1_TX, IO_FUNC4); |
| | | // io_pin_mux_set(UART1_RX, IO_FUNC4); |
| | | // io_pin_mux_set(UART1_TX, IO_FUNC4); |
| | | } |
| | | void spi_init() |
| | | { |
| | |
| | | RadioIrqProcess(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | void Board_LORA_NVIC_Init(GPIO_IRQ_HANDLER_T irq_handler) //LORA 中断配置 |
| | | { |
| | | // io_pin_mux_set(_4G_USART_RX_Pin,IO_FUNC0);//把原先io 变为普通GPIO |
| | | gpio_pin_set_dir(LORA_DIO , GPIO_DIR_IN, 0); |
| | | io_pull_set(LORA_DIO, IO_HIGH_Z, IO_PULL_UP_NONE); |
| | | gpio_enable_irq(LORA_DIO, GPIO_IRQ_TYPE_RISING_EDGE, irq_handler); |
| | | gpio_enable_irq(LORA_DIO, GPIO_IRQ_TYPE_RISING_EDGE, irq_handler); |
| | | } |
| | | extern uint8_t pca9555writedata_input[10];//暂存输入寄存器所有配置的数组 |
| | | static void pca_handler(enum IO_PIN_T pin) |
| | |
| | | Board_gpio_init(); |
| | | //board_led_init(); |
| | | spi_init(); |
| | | |
| | | |
| | | Board_LORA_NVIC_Init(Lora_irq_handler); |
| | | pca_input_detection_init(pca_handler); |
| | | IIC2_Init(); |
| | | Accelerometer_Init(); |
| | | PCA9555_init(); |
| | |
| | | sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback); |
| | | sleep_timer_start(__MS_TO_32K_CNT(1000));//测试 |
| | | |
| | | |
| | | #ifdef DEBUG_BOXING |
| | | io_pin_mux_set(BOXING_PIN,IO_FUNC0); |
| | | gpio_pin_set_dir(BOXING_PIN,GPIO_DIR_OUT,0); |
| | | io_pull_set(BOXING_PIN,IO_PULL_DOWN,IO_PULL_UP_LEVEL4); |
| | | #endif |
| | | Uwbinit(); |
| | | OpenUWB(); |
| | | while (1) |
| | | { |
| | | #ifdef DEBUG_BOXING |
| | | gpio_pin_clr(BOXING_PIN);//测试 |
| | | // gpio_pin_set(BOXING_PIN);//测试 |
| | | #endif |
| | | Lora_Tx_Poll(); |
| | | uwb_app_poll(); |
| | | IdleTask(); |
| | | } |
| | | } |