EE445M RTOS
Taken at the University of Texas Spring 2015
button.h
Go to the documentation of this file.
1 /* -*- mode: c; c-basic-offset: 4; -*- */
2 #ifndef __BUTTON__
3 #define __BUTTON__
4 
5 #include "libstd/nexus.h"
6 #include "libhw/hardware.h"
7 
13 #define button_metadata_init_(_name, _base, _pin, _interrupt) \
14  hw_metadata _name; \
15  _name.button = (hw_button_metadata) { \
16  .base = (memory_address_t) _base, \
17  .pin = (memory_address_t) _pin, \
18  .interrupt = (uint32_t) _interrupt \
19  }
20 
21 
23 #define button_metadata_init(_base, _pin, _interrupt) \
24  button_metadata_init_(button_metadata, _base, _pin, _interrupt)
25 
26 #define BUTTON_LEFT GPIO_PIN_4
27 #define BUTTON_RIGHT GPIO_PIN_0
28 #define BUTTONS_BOTH (BUTTON_LEFT | BUTTON_RIGHT)
29 
34 
40 
41 #endif /* __BUTTON__ */
42 
void button_set_interrupt(hw_metadata)
Definition: button.c:35
void button_init(hw_metadata)
Definition: button.c:22