| | |
| | | |
| | | struct BOARD_PARAM_T board_param = {0}; |
| | | static GPIO_IRQ_HANDLER_T button_irq_handler = NULL; |
| | | static GPIO_IRQ_HANDLER_T accelerate_irq_handler=NULL; |
| | | |
| | | void board_clock_run(void) |
| | | { |
| | |
| | | void board_5V_input_init(GPIO_IRQ_HANDLER_T irq_handler) |
| | | { |
| | | button_irq_handler = irq_handler; |
| | | gpio_pin_set_dir(INPUT_5V_Pin , GPIO_DIR_IN, 0); |
| | | io_pull_set(INPUT_5V_Pin , IO_PULL_DOWN, IO_PULL_UP_LEVEL4); |
| | | gpio_pin_set_dir(INPUT_5V_Pin, GPIO_DIR_IN, 0); |
| | | io_pull_set(INPUT_5V_Pin, IO_PULL_DOWN, IO_PULL_UP_LEVEL4); |
| | | gpio_enable_irq(INPUT_5V_Pin, GPIO_IRQ_TYPE_RISING_EDGE, button_irq_handler); |
| | | //power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)INPUT_5V_Pin, POWER_WAKEUP_LEVEL_LOW); |
| | | } |
| | | void board_acceleration_detection_init(GPIO_IRQ_HANDLER_T irq_handler) |
| | | { |
| | | accelerate_irq_handler=irq_handler; |
| | | gpio_pin_set_dir(ACCLERATE_DETECT_Pin , GPIO_DIR_IN, 0); |
| | | io_pull_set(ACCLERATE_DETECT_Pin, IO_PULL_DOWN, IO_PULL_UP_LEVEL4); |
| | | gpio_enable_irq(ACCLERATE_DETECT_Pin, GPIO_IRQ_TYPE_RISING_EDGE, accelerate_irq_handler); |
| | | power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)INPUT_5V_Pin, POWER_WAKEUP_LEVEL_LOW); |
| | | } |
| | | void board_button_init(GPIO_IRQ_HANDLER_T irq_handler) |
| | | { |
| | |
| | | power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)BOARD_SW_1, POWER_WAKEUP_LEVEL_LOW); |
| | | } |
| | | |
| | | void board_led_init(void) |
| | | { |
| | | gpio_pin_set_dir(BOARD_LED_1, GPIO_DIR_OUT, 0); |
| | | gpio_pin_set_dir(BOARD_LED_2, GPIO_DIR_OUT, 0); |
| | | void board_mode_pin_init(void) |
| | | { |
| | | //配置spi片选脚 |
| | | gpio_pin_set_dir(LORA_CS , GPIO_DIR_OUT, 0); |
| | | io_pull_set(LORA_CS, IO_HIGH_Z, IO_PULL_UP_NONE); |
| | | // 判断是Airtag还是免布线模式 |
| | | io_pin_mux_set(MODE_CHANGE_PIN, IO_FUNC0); |
| | | gpio_pin_set_dir( MODE_CHANGE_PIN, GPIO_DIR_IN, 0); |
| | | io_pull_set(MODE_CHANGE_PIN , IO_PULL_DOWN, IO_PULL_UP_LEVEL2); |
| | | //初始化NRST脚 |
| | | io_pin_mux_set(LORA_NRST, IO_FUNC0); |
| | | gpio_pin_set_dir(LORA_NRST , GPIO_DIR_OUT, 1); |
| | | io_pull_set(LORA_NRST, IO_HIGH_Z, IO_PULL_UP_NONE); |
| | | gpio_pin_set(LORA_NRST); |
| | | } |
| | | |
| | | void board_led_on(enum IO_PIN_T idx) |
| | |
| | | void board_configure(void) |
| | | { |
| | | } |
| | | |
| | | extern struct UART_CFG_T test_uart_cfg; |
| | | void board_prepare_for_power_down(void) |
| | | { |
| | | |
| | | #if !defined(CELL_PHONE_EN) |
| | | board_led_off(BOARD_LED_1); |
| | | #endif |
| | |
| | | |
| | | void board_restore_from_power_down(void) |
| | | { |
| | | //uart_open(UART_ID0, &test_uart_cfg); |
| | | #if defined(UCI_INTF_PORT) |
| | | uci_tl_resume(); |
| | | #else |
| | |
| | | sys_timer_open(); |
| | | |
| | | #if TRACE_EN |
| | | trace_open(user_trace_port, TRACE_BAUD_RATE); |
| | | trace_open(user_trace_port, TRACE_BAUD_RATE);//记得回复 |
| | | #endif |
| | | } |