Adrian Renner / Mbed 2 deprecated HaPo_Labor2

Dependencies:   mbed

Committer:
addyi
Date:
Wed Nov 26 09:31:01 2014 +0000
Revision:
0:76669ad2c30b
Child:
1:0072ef0302ec
First Programm Test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
addyi 0:76669ad2c30b 1 #include "mbed.h"
addyi 0:76669ad2c30b 2
addyi 0:76669ad2c30b 3 DigitalIn b1(p8);
addyi 0:76669ad2c30b 4 DigitalIn b2(p14);
addyi 0:76669ad2c30b 5 DigitalOut led[] = {(LED1), (LED2),(LED3),(LED4)};
addyi 0:76669ad2c30b 6
addyi 0:76669ad2c30b 7
addyi 0:76669ad2c30b 8 bool shortPress =false;
addyi 0:76669ad2c30b 9 bool longPress = false;
addyi 0:76669ad2c30b 10
addyi 0:76669ad2c30b 11 int counterTime = 0;
addyi 0:76669ad2c30b 12 int counterBlink=4;
addyi 0:76669ad2c30b 13
addyi 0:76669ad2c30b 14 Ticker timeTasterTest;
addyi 0:76669ad2c30b 15 Ticker timeLedTest;
addyi 0:76669ad2c30b 16
addyi 0:76669ad2c30b 17 void tasterTest();
addyi 0:76669ad2c30b 18 void ledTest();
addyi 0:76669ad2c30b 19
addyi 0:76669ad2c30b 20 int main()
addyi 0:76669ad2c30b 21 {
addyi 0:76669ad2c30b 22 while(1) {
addyi 0:76669ad2c30b 23 timeTasterTest.attach(&tasterTest,0.01);
addyi 0:76669ad2c30b 24 timeLedTest.attach(&ledTest,0.5);
addyi 0:76669ad2c30b 25 }
addyi 0:76669ad2c30b 26 }
addyi 0:76669ad2c30b 27
addyi 0:76669ad2c30b 28 void ledTest()
addyi 0:76669ad2c30b 29 {
addyi 0:76669ad2c30b 30 if(shortPress) {
addyi 0:76669ad2c30b 31 if(counterBlink>=0) {
addyi 0:76669ad2c30b 32 led[1]=!led[1];
addyi 0:76669ad2c30b 33 counterBlink--;
addyi 0:76669ad2c30b 34 } else {
addyi 0:76669ad2c30b 35 led[1]=0;
addyi 0:76669ad2c30b 36 counterBlink=4;
addyi 0:76669ad2c30b 37 }
addyi 0:76669ad2c30b 38 }
addyi 0:76669ad2c30b 39 if(longPress) {
addyi 0:76669ad2c30b 40 led[1]=!led[1];
addyi 0:76669ad2c30b 41 }
addyi 0:76669ad2c30b 42
addyi 0:76669ad2c30b 43 }
addyi 0:76669ad2c30b 44
addyi 0:76669ad2c30b 45 void tasterTest()
addyi 0:76669ad2c30b 46 {
addyi 0:76669ad2c30b 47 if(!b1) {
addyi 0:76669ad2c30b 48 if(counterTime<500) {
addyi 0:76669ad2c30b 49 longPress=false;
addyi 0:76669ad2c30b 50 shortPress=true;
addyi 0:76669ad2c30b 51 counterTime ++;
addyi 0:76669ad2c30b 52 } else {
addyi 0:76669ad2c30b 53 counterTime=0;
addyi 0:76669ad2c30b 54 longPress=true;
addyi 0:76669ad2c30b 55 shortPress=false;
addyi 0:76669ad2c30b 56 }
addyi 0:76669ad2c30b 57 } else {
addyi 0:76669ad2c30b 58 if(longPress) {
addyi 0:76669ad2c30b 59 counterTime=0;
addyi 0:76669ad2c30b 60 longPress=false;
addyi 0:76669ad2c30b 61 shortPress=false;
addyi 0:76669ad2c30b 62 }
addyi 0:76669ad2c30b 63 }
addyi 0:76669ad2c30b 64 }