47 #include "dev/button-sensor.h"
48 #include "hal/micro/micro-common.h"
68 #define BUTTON_S1 PORTx_PIN(boardDescription->io->buttons[0].gpioPort, boardDescription->io->buttons[0].gpioPin)
69 #define BUTTON_S1_INPUT_GPIO BUTTON_INPUT_GPIO(boardDescription->io->buttons[0].gpioPort)
70 #define BUTTON_S1_GPIO_PIN boardDescription->io->buttons[0].gpioPin
71 #define BUTTON_S1_OUTPUT_GPIO GPIO_PAOUT
76 #define BUTTON_S1_SEL() do { GPIO_IRQCSEL = BUTTON_S1; } while(0)
80 #define BUTTON_S1_ISR halIrqCIsr
84 #define BUTTON_S1_INTCFG GPIO_INTCFGC
88 #define BUTTON_S1_INT_EN_BIT INT_IRQC
92 #define BUTTON_S1_FLAG_BIT INT_IRQCFLAG
96 #define BUTTON_S1_MISS_BIT INT_MISSIRQC
99 static struct timer debouncetimer;
117 BUTTON_S1_OUTPUT_GPIO |= GPIOOUT_PULLUP << BUTTON_S1_GPIO_PIN;
147 return (BUTTON_S1_INPUT_GPIO & (1<<BUTTON_S1_GPIO_PIN)) || !
timer_expired(&debouncetimer);
149 return BUTTON_S1_INPUT_GPIO & (1<<BUTTON_S1_GPIO_PIN);
154 configure(
int type,
int value)
186 ENERGEST_ON(ENERGEST_TYPE_IRQ);
205 ENERGEST_OFF(ENERGEST_TYPE_IRQ);
209 value, configure, status);