283
|
1 #include "Button.h"
|
|
2
|
|
3 /**
|
|
4 * ボタン押下時に push, hold, release の状態を変更する
|
|
5 * push は押した瞬間にだけ 1 を持つ
|
|
6 * hold の状態では 0 を持つ
|
|
7 */
|
|
8 void
|
|
9 Button::push_work(void)
|
|
10 {
|
|
11 push = (!hold);
|
|
12 hold = 1;
|
|
13 release = 0;
|
|
14 }
|
|
15
|
|
16 /**
|
|
17 * ボタンを離した時に push, hold, release の状態を変更する
|
|
18 */
|
|
19 void
|
|
20 Button::release_work(void)
|
|
21 {
|
|
22 push = 0;
|
|
23 hold = 0;
|
|
24 release = 1;
|
|
25 }
|
|
26
|
|
27 /**
|
|
28 * @retval 1 ボタンが押された(このフレームのみ)
|
|
29 * @retval 0 押されていない
|
|
30 */
|
|
31 int
|
|
32 Button::isPush(void)
|
|
33 {
|
|
34 return push;
|
|
35 }
|
|
36
|
|
37 /**
|
|
38 * @retval 1 ボタンは押され続けている
|
|
39 * @retval 0 ボタンは押されていない
|
|
40 */
|
|
41 int
|
|
42 Button::isHold(void)
|
|
43 {
|
|
44 return hold;
|
|
45 }
|
|
46
|
|
47 /**
|
|
48 * @retval 1 ボタンは押されていない
|
|
49 * @retval 0 ボタンが押されている
|
|
50 */
|
|
51 int
|
|
52 Button::isRelease(void)
|
|
53 {
|
|
54 return release;
|
|
55 }
|