void ui_wakeup_enable(void) { /* Configure PIO as input */ pio_configure_pin(WAKEUP_PIN, WAKEUP_PIO_ATTR); /* Enable interrupt */ pio_enable_pin_interrupt(WAKEUP_PIN); }
/** * \brief Initializes and enables interrupt pin change */ static void ui_enable_asynchronous_interrupt(void) { /* Enable interrupt for button pin */ pio_get_interrupt_status(PIOB); pio_enable_pin_interrupt(GPIO_PUSH_BUTTON_2); /* Enable fastwakeup for button pin */ pmc_set_fast_startup_input(PMC_FSMR_FSTT14); }
/** * \brief Initializes and enables interrupt pin change */ static void ui_enable_asynchronous_interrupt(void) { /* Enable interrupt for button pin */ pio_get_interrupt_status(RESUME_PIO); pio_enable_pin_interrupt(RESUME_PIN); /* Enable fast wakeup for button pin */ pmc_set_fast_startup_input(RESUME_PMC_FSTT); }
void ui_wakeup_enable(void) { // Enable interrupt for button pin pio_configure_pin(WAKEUP_PIN, WAKEUP_PIO_ATTR); pio_enable_pin_interrupt(WAKEUP_PIN); // Enable fast wakeup for button pin pmc_set_fast_startup_input(WAKEUP_PMC_FSTT); }
void ui_wakeup_enable(void) { /* Configure BP3 as PIO input */ pio_configure_pin(WAKEUP_PIN, WAKEUP_PIO_ATTR); /* Enable interrupt for BP3 */ pio_enable_pin_interrupt(WAKEUP_PIN); /* Enable fast wakeup for button pin (WKUP10 for PA20) */ pmc_set_fast_startup_input(WAKEUP_PMC_FSTT); }
void Gpio::enableInterrupt(xXx::IGpio_Callback_t callback, void *user) { // Configuration for button use // pio_handler_set_pin(_pin, (PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE), interruptFunction); pio_handler_set_pin(_pin, PIO_IT_FALL_EDGE, interruptFunction); _callback[_pin] = callback; _user[_pin] = user; pio_enable_pin_interrupt(_pin); }
void ads7843_set_handler(void (*p_handler) (uint32_t, uint32_t)) { /* Initialize interrupts */ pio_handler_set_pin(BOARD_ADS7843_IRQ_GPIO, BOARD_ADS7843_IRQ_FLAGS, (void (*)(uint32_t, uint32_t)) p_handler ); /* Enable the interrupt */ pio_enable_pin_interrupt(BOARD_ADS7843_IRQ_GPIO); }
void Gpio::enableInterrupt(IGpio_Callback_t callback, void *user) { int groupIndex = groupId2groupIndex(pio_get_pin_group_id(_pin)); if (groupIndex < 0) { return; } _callback[groupIndex][_pin] = callback; _user[groupIndex][_pin] = user; // Todo: // pio_handler_set_pin(_pin, (PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE), staticISR); pio_handler_set_pin(_pin, PIO_IT_FALL_EDGE, staticISR); pio_enable_pin_interrupt(_pin); }
void ads7843_get_raw_point(uint32_t *p_x, uint32_t *p_y) { /* Disable interrupt to quickly evaluate the coordinates */ pio_disable_pin_interrupt(BOARD_ADS7843_IRQ_GPIO); /* Get X position */ *p_x = ads7843_send_cmd(CMD_X_POSITION); /* Get Y position */ *p_y = ads7843_send_cmd(CMD_Y_POSITION); /* Switch to full power mode */ ads7843_send_cmd(CMD_ENABLE_PENIRQ); /* Re-enable interrupt */ pio_enable_pin_interrupt(BOARD_ADS7843_IRQ_GPIO); }
/** * \name Main user interface functions * @{ */ void ui_init(void) { /* Enable PIO clock for button inputs */ pmc_enable_periph_clk(ID_PIOB); pmc_enable_periph_clk(ID_PIOE); /* Set handler for wakeup */ pio_handler_set(RESUME_PIO, RESUME_PIO_ID, RESUME_PIO_MASK, RESUME_PIO_ATTR, ui_wakeup_handler); /* Enable IRQ for button (PIOB) */ NVIC_EnableIRQ((IRQn_Type)RESUME_PIO_ID); /* Enable interrupt for button pin */ pio_get_interrupt_status(RESUME_PIO); pio_configure_pin(RESUME_PIN, RESUME_PIO_ATTR); pio_enable_pin_interrupt(RESUME_PIN); /* Enable fastwakeup for button pin */ pmc_set_fast_startup_input(RESUME_PMC_FSTT); /* Initialize LEDs */ LED_Off(LED0_GPIO); LED_Off(LED1_GPIO); LED_Off(LED2_GPIO); LED_Off(LED3_GPIO); }
void ads7843_enable_interrupt(void) { /* Enable the interrupt */ pio_enable_pin_interrupt(BOARD_ADS7843_IRQ_GPIO); }