temp

Committer:
BenRJG
Date:
Thu Dec 06 15:38:09 2018 +0000
Revision:
0:2a4af0cb6e8d
Imported Code from Kiel; Added button functionality; Added set DateTime Functionality

Who changed what in which revision?

UserRevisionLine numberNew contents of line
BenRJG 0:2a4af0cb6e8d 1 #include "Button.hpp"
BenRJG 0:2a4af0cb6e8d 2
BenRJG 0:2a4af0cb6e8d 3 BYTE BUTTON::poll(void)
BenRJG 0:2a4af0cb6e8d 4 {
BenRJG 0:2a4af0cb6e8d 5 switch(state)
BenRJG 0:2a4af0cb6e8d 6 {
BenRJG 0:2a4af0cb6e8d 7 case FALLEN :
BenRJG 0:2a4af0cb6e8d 8 OUTPUT = 0;
BenRJG 0:2a4af0cb6e8d 9 if(IN != 0){
BenRJG 0:2a4af0cb6e8d 10 OUTPUT = 1;
BenRJG 0:2a4af0cb6e8d 11 state = RISING;
BenRJG 0:2a4af0cb6e8d 12 timer.reset();
BenRJG 0:2a4af0cb6e8d 13 timer.start();
BenRJG 0:2a4af0cb6e8d 14 }
BenRJG 0:2a4af0cb6e8d 15 break;
BenRJG 0:2a4af0cb6e8d 16
BenRJG 0:2a4af0cb6e8d 17 case RISING :
BenRJG 0:2a4af0cb6e8d 18 OUTPUT = 0;
BenRJG 0:2a4af0cb6e8d 19 if(timer.read_ms() > 100){
BenRJG 0:2a4af0cb6e8d 20 timer.stop();
BenRJG 0:2a4af0cb6e8d 21 state = RISEN;
BenRJG 0:2a4af0cb6e8d 22 }
BenRJG 0:2a4af0cb6e8d 23 break;
BenRJG 0:2a4af0cb6e8d 24
BenRJG 0:2a4af0cb6e8d 25 case RISEN :
BenRJG 0:2a4af0cb6e8d 26 OUTPUT = 0;
BenRJG 0:2a4af0cb6e8d 27 if(IN != 0){
BenRJG 0:2a4af0cb6e8d 28 OUTPUT = 2;
BenRJG 0:2a4af0cb6e8d 29 state = FALLING;
BenRJG 0:2a4af0cb6e8d 30 timer.reset();
BenRJG 0:2a4af0cb6e8d 31 timer.start();
BenRJG 0:2a4af0cb6e8d 32 }
BenRJG 0:2a4af0cb6e8d 33 break;
BenRJG 0:2a4af0cb6e8d 34
BenRJG 0:2a4af0cb6e8d 35 case FALLING :
BenRJG 0:2a4af0cb6e8d 36 OUTPUT = 0;
BenRJG 0:2a4af0cb6e8d 37 if(timer.read_ms() > 100){
BenRJG 0:2a4af0cb6e8d 38 timer.stop();
BenRJG 0:2a4af0cb6e8d 39 state = FALLEN;
BenRJG 0:2a4af0cb6e8d 40 }
BenRJG 0:2a4af0cb6e8d 41 break;
BenRJG 0:2a4af0cb6e8d 42 }
BenRJG 0:2a4af0cb6e8d 43
BenRJG 0:2a4af0cb6e8d 44 return OUTPUT;
BenRJG 0:2a4af0cb6e8d 45 }
BenRJG 0:2a4af0cb6e8d 46
BenRJG 0:2a4af0cb6e8d 47 BYTE BUTTON::rise(void)
BenRJG 0:2a4af0cb6e8d 48 {
BenRJG 0:2a4af0cb6e8d 49 switch(state)
BenRJG 0:2a4af0cb6e8d 50 {
BenRJG 0:2a4af0cb6e8d 51 case FALLEN :
BenRJG 0:2a4af0cb6e8d 52 OUTPUT = 0;
BenRJG 0:2a4af0cb6e8d 53 if(IN != 0){
BenRJG 0:2a4af0cb6e8d 54 OUTPUT = 1;
BenRJG 0:2a4af0cb6e8d 55 state = RISING;
BenRJG 0:2a4af0cb6e8d 56 timer.reset();
BenRJG 0:2a4af0cb6e8d 57 timer.start();
BenRJG 0:2a4af0cb6e8d 58 }
BenRJG 0:2a4af0cb6e8d 59 break;
BenRJG 0:2a4af0cb6e8d 60
BenRJG 0:2a4af0cb6e8d 61 case RISING :
BenRJG 0:2a4af0cb6e8d 62 OUTPUT = 0;
BenRJG 0:2a4af0cb6e8d 63 if(timer.read_ms() > 100){
BenRJG 0:2a4af0cb6e8d 64 timer.stop();
BenRJG 0:2a4af0cb6e8d 65 state = FALLEN;
BenRJG 0:2a4af0cb6e8d 66 }
BenRJG 0:2a4af0cb6e8d 67 break;
BenRJG 0:2a4af0cb6e8d 68 }
BenRJG 0:2a4af0cb6e8d 69
BenRJG 0:2a4af0cb6e8d 70 return OUTPUT;
BenRJG 0:2a4af0cb6e8d 71 }
BenRJG 0:2a4af0cb6e8d 72
BenRJG 0:2a4af0cb6e8d 73 /*BYTE BUTTON::fall(void)
BenRJG 0:2a4af0cb6e8d 74 {
BenRJG 0:2a4af0cb6e8d 75
BenRJG 0:2a4af0cb6e8d 76 return OUTPUT;
BenRJG 0:2a4af0cb6e8d 77 }*/