Statistics
| Revision:

root / Ports / examples / button_demo / button_demo.pde

History | View | Annotate | Download (1.3 KB)

1 7763 jcw
//>>> The latest version of this code can be found at https://github.com/jcw/ !!
2 7763 jcw
3 5961 jcw
// Show how the BlinkPlug's buttonCheck function works
4 5961 jcw
// 2010-08-23 <jcw@equi4.com> http://opensource.org/licenses/mit-license.php
5 5961 jcw
// $Id$
6 5961 jcw
7 5961 jcw
#include <Ports.h>
8 5961 jcw
#include <RF12.h> // needed to avoid a linker error :(
9 5961 jcw
10 5961 jcw
BlinkPlug blink (1);
11 5961 jcw
MilliTimer everySecond;
12 5961 jcw
13 5961 jcw
void setup () {
14 5961 jcw
    Serial.begin(57600);
15 5961 jcw
    Serial.println("\n[button_demo]");
16 5961 jcw
}
17 5961 jcw
18 5961 jcw
void loop () {
19 5961 jcw
    byte event = blink.buttonCheck();
20 5961 jcw
    switch (event) {
21 5961 jcw
22 5961 jcw
    case BlinkPlug::ON1:
23 5961 jcw
        Serial.println("  Button 1 pressed");
24 5961 jcw
        break;
25 5961 jcw
26 5961 jcw
    case BlinkPlug::OFF1:
27 5961 jcw
        Serial.println("  Button 1 released");
28 5961 jcw
        break;
29 5961 jcw
30 5961 jcw
    case BlinkPlug::ON2:
31 5961 jcw
        Serial.println("  Button 2 pressed");
32 5961 jcw
        break;
33 5961 jcw
34 5961 jcw
    case BlinkPlug::OFF2:
35 5961 jcw
        Serial.println("  Button 2 released");
36 5961 jcw
        break;
37 5961 jcw
38 5961 jcw
    default:
39 5961 jcw
        // report these other events only once a second
40 5961 jcw
        if (everySecond.poll(1000)) {
41 5961 jcw
            switch (event) {
42 5961 jcw
                case BlinkPlug::SOME_ON:
43 5961 jcw
                    Serial.println("SOME button is currently pressed");
44 5961 jcw
                    break;
45 5961 jcw
                case BlinkPlug::ALL_OFF:
46 5961 jcw
                    Serial.println("NO buttons are currently pressed");
47 5961 jcw
                    break;
48 5961 jcw
            }
49 5961 jcw
        }
50 5961 jcw
    }
51 5961 jcw
}