Example #1
0
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);
}
Example #2
0
/**
 * \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);
}
Example #3
0
File: ui.c Project: Mazetti/asf
/**
 * \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);
}
Example #4
0
File: ui.c Project: InSoonPark/asf
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);
}
Example #5
0
File: ui.c Project: marekr/asf
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);
}
Example #6
0
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);
}
Example #7
0
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);
}
Example #8
0
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);
}
Example #9
0
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);
}
Example #10
0
/**
 * \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);
}
Example #11
0
void ads7843_enable_interrupt(void)
{
	/* Enable the interrupt */
	pio_enable_pin_interrupt(BOARD_ADS7843_IRQ_GPIO);
}