snickerdoodle Platform Controller
firmware for STM32F0 platform controller
sd_button.h
Go to the documentation of this file.
1 
46 #ifndef __SD_BUTTON_H
47 #define __SD_BUTTON_H
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
62 extern struct sd_button reset_button;
63 extern struct sd_button select_button;
77 enum sd_button_err {
80 };
81 
91 };
92 
97 struct sd_button {
98  GPIO_TypeDef *port;
99  uint16_t pin;
101  uint32_t tick;
102  uint32_t up_to;
103  uint32_t down_to;
104  void (*down_cb)(void);
105  void (*up_cb)(void);
106 };
115 enum sd_button_err sd_button_init (struct sd_button *butt,
116  GPIO_TypeDef *port,
117  uint16_t pin,
118  uint32_t up_to,
119  void (*up_cb)(void),
120  uint32_t down_to,
121  void (*down_cb)(void));
122 enum sd_button_err sd_button_run (struct sd_button *butt);
131 #ifdef __cplusplus
132 }
133 #endif
134 #else
135 #error "Multiple inclusion of sd_button.h"
136 #endif /* __SD_BUTTON_H */
137 
138 /*
139  * END OF FILE [sd_button.h]
140  */
uint16_t pin
Definition: sd_button.h:96
Button structure.
Definition: sd_button.h:94
sd_button_err
Button error enumeration.
Definition: sd_button.h:74
enum sd_button_err sd_button_run(struct sd_button *butt)
Run Button State Machine.
Definition: sd_button.c:119
Definition: sd_button.h:86
Definition: sd_button.h:84
Definition: sd_button.h:75
GPIO_TypeDef * port
Definition: sd_button.h:95
Definition: sd_button.h:85
uint32_t up_to
Definition: sd_button.h:99
uint32_t down_to
Definition: sd_button.h:100
struct sd_button select_button
Definition: sd_button.c:68
enum sd_button_err sd_button_init(struct sd_button *butt, GPIO_TypeDef *port, uint16_t pin, uint32_t up_to, void(*up_cb)(void), uint32_t down_to, void(*down_cb)(void))
Initialize Button Port/Pin and State Machine.
Definition: sd_button.c:91
Definition: sd_button.h:87
void(* down_cb)(void)
Definition: sd_button.h:101
struct sd_button reset_button
Definition: sd_button.c:67
void(* up_cb)(void)
Definition: sd_button.h:102
sd_button_state
Button state enumeration.
Definition: sd_button.h:83
Definition: sd_button.h:76
uint32_t tick
Definition: sd_button.h:98
enum sd_button_state state
Definition: sd_button.h:97