Adrian Renner / Mbed 2 deprecated HaPo_Labor2

Dependencies:   mbed

Committer:
addyi
Date:
Wed Nov 26 10:28:31 2014 +0000
Revision:
2:14b38579386c
Parent:
1:0072ef0302ec
Child:
3:2457871851db
BugFix Blinkanzahl

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 2:14b38579386c 12 int counterBlink=6;
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 1:0072ef0302ec 22 timeTasterTest.attach(&tasterTest,0.01);
addyi 1:0072ef0302ec 23 timeLedTest.attach(&ledTest,0.5);
addyi 1:0072ef0302ec 24
addyi 0:76669ad2c30b 25 while(1) {
addyi 1:0072ef0302ec 26
addyi 1:0072ef0302ec 27
addyi 0:76669ad2c30b 28 }
addyi 0:76669ad2c30b 29 }
addyi 0:76669ad2c30b 30
addyi 0:76669ad2c30b 31 void ledTest()
addyi 0:76669ad2c30b 32 {
addyi 0:76669ad2c30b 33 if(shortPress) {
addyi 2:14b38579386c 34 if(counterBlink>=0) {
addyi 1:0072ef0302ec 35 led[3]=!led[3];
addyi 0:76669ad2c30b 36 counterBlink--;
addyi 0:76669ad2c30b 37 } else {
addyi 1:0072ef0302ec 38 led[3]=0;
addyi 2:14b38579386c 39 counterBlink=6;
addyi 1:0072ef0302ec 40 shortPress=false;
addyi 0:76669ad2c30b 41 }
addyi 0:76669ad2c30b 42 }
addyi 0:76669ad2c30b 43 if(longPress) {
addyi 1:0072ef0302ec 44 led[3]=!led[3];
addyi 1:0072ef0302ec 45 }
addyi 1:0072ef0302ec 46
addyi 2:14b38579386c 47
addyi 0:76669ad2c30b 48
addyi 0:76669ad2c30b 49 }
addyi 0:76669ad2c30b 50
addyi 0:76669ad2c30b 51 void tasterTest()
addyi 0:76669ad2c30b 52 {
addyi 0:76669ad2c30b 53 if(!b1) {
addyi 0:76669ad2c30b 54 if(counterTime<500) {
addyi 0:76669ad2c30b 55 longPress=false;
addyi 0:76669ad2c30b 56 shortPress=true;
addyi 0:76669ad2c30b 57 counterTime ++;
addyi 0:76669ad2c30b 58 } else {
addyi 0:76669ad2c30b 59 counterTime=0;
addyi 0:76669ad2c30b 60 longPress=true;
addyi 0:76669ad2c30b 61 shortPress=false;
addyi 0:76669ad2c30b 62 }
addyi 0:76669ad2c30b 63 } else {
addyi 0:76669ad2c30b 64 if(longPress) {
addyi 0:76669ad2c30b 65 counterTime=0;
addyi 0:76669ad2c30b 66 longPress=false;
addyi 0:76669ad2c30b 67 shortPress=false;
addyi 0:76669ad2c30b 68 }
addyi 0:76669ad2c30b 69 }
addyi 0:76669ad2c30b 70 }