36 #include "dev/button-sensor.h"
37 #include "dev/watchdog.h"
39 static CC_AT_DATA
struct timer debouncetimer;
56 return BUTTON_IRQ_ENABLED(1);
62 configure_b1(
int type,
int value)
66 #if !MODELS_CONF_CC2531_USB_STICK
69 BUTTON_IRQ_ON_PRESS(1);
75 if(!BUTTON_IRQ_ENABLED(1)) {
77 BUTTON_IRQ_FLAG_OFF(1);
81 BUTTON_IRQ_DISABLE(1);
90 #if MODELS_CONF_CC2531_USB_STICK
104 return BUTTON_IRQ_ENABLED(2);
110 configure_b2(
int type,
int value)
113 case SENSORS_HW_INIT:
114 BUTTON_IRQ_ON_PRESS(2);
120 if(!BUTTON_IRQ_ENABLED(2)) {
122 BUTTON_IRQ_FLAG_OFF(2);
123 BUTTON_IRQ_ENABLE(2);
126 BUTTON_IRQ_DISABLE(2);
138 #if CC_CONF_OPTIMIZE_STACK_SIZE
141 #if MODELS_CONF_CC2531_USB_STICK
143 port_1_isr(
void) __interrupt(P1INT_VECTOR)
146 ENERGEST_ON(ENERGEST_TYPE_IRQ);
150 if(BUTTON_IRQ_CHECK(1)) {
153 sensors_changed(&button_1_sensor);
156 if(BUTTON_IRQ_CHECK(2)) {
159 #if CC2531_CONF_B2_REBOOTS
162 sensors_changed(&button_2_sensor);
167 BUTTON_IRQ_FLAG_OFF(1);
168 BUTTON_IRQ_FLAG_OFF(2);
170 ENERGEST_OFF(ENERGEST_TYPE_IRQ);
175 port_0_isr(
void) __interrupt(P0INT_VECTOR)
178 ENERGEST_ON(ENERGEST_TYPE_IRQ);
182 if(BUTTON_IRQ_CHECK(1)) {
185 sensors_changed(&button_sensor);
189 BUTTON_IRQ_FLAG_OFF(1);
191 ENERGEST_OFF(ENERGEST_TYPE_IRQ);
197 SENSORS_SENSOR(button_1_sensor, BUTTON_SENSOR, value_b1, configure_b1, status_b1);
198 #if MODELS_CONF_CC2531_USB_STICK
199 SENSORS_SENSOR(button_2_sensor, BUTTON_SENSOR, value_b2, configure_b2, status_b2);
void timer_set(struct timer *t, clock_time_t interval)
Set a timer.
void watchdog_reboot(void)
Keeps control until the WDT throws a reset signal.
int timer_expired(struct timer *t)
Check if a timer has expired.
#define CLOCK_SECOND
A second, measured in system clock time.