aboutsummaryrefslogtreecommitdiffhomepage
path: root/workspace/TS100/inc/main.hpp
blob: 3e522de07835803ddecaf204bfe90fbd0733b29c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef __MAIN_H
#define __MAIN_H

#include <MMA8652FC.hpp>
#include "Setup.h"
#include "OLED.hpp"

extern OLED lcd;
extern MMA8652FC accel;
extern uint8_t PCBVersion;
enum ButtonState {
	BUTTON_NONE = 0, /* No buttons pressed / < filter time*/
	BUTTON_F_SHORT = 1, /* User has pressed the front button*/
	BUTTON_B_SHORT = 2, /* User has pressed the back  button*/
	BUTTON_F_LONG = 4, /* User is  holding the front button*/
	BUTTON_B_LONG = 8, /* User is  holding the back button*/
	BUTTON_BOTH = 16, /* User has pressed both buttons*/

/*
 * Note:
 * Pressed means press + release, we trigger on a full \__/ pulse
 * holding means it has gone low, and been low for longer than filter time
 */
};

ButtonState getButtonState();
void waitForButtonPressOrTimeout(uint32_t timeout);

#endif /* __MAIN_H */