Check Flag

Dependencies:   mbed

Committer:
hollegha2
Date:
Tue Jan 13 16:08:25 2015 +0000
Revision:
3:ec1b36316bb9
Parent:
1:6e9e9eafb91a
Child:
4:251aaeeef135
ADC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hollegha2 0:35d70ff5c12e 1
hollegha2 0:35d70ff5c12e 2
hollegha2 0:35d70ff5c12e 3 class BtnEventM0
hollegha2 0:35d70ff5c12e 4 {
hollegha2 0:35d70ff5c12e 5 public:
hollegha2 0:35d70ff5c12e 6 int16_t pressed;
hollegha2 0:35d70ff5c12e 7
hollegha2 0:35d70ff5c12e 8 BtnEventM0(PinName pin) : _isr(pin) {
hollegha2 0:35d70ff5c12e 9 pressed=0;
hollegha2 0:35d70ff5c12e 10 }
hollegha2 0:35d70ff5c12e 11
hollegha2 0:35d70ff5c12e 12 int CheckFlag() {
hollegha2 0:35d70ff5c12e 13 if( pressed ) {
hollegha2 0:35d70ff5c12e 14 pressed=0;
hollegha2 0:35d70ff5c12e 15 return 1;
hollegha2 0:35d70ff5c12e 16 }
hollegha2 0:35d70ff5c12e 17 return 0;
hollegha2 0:35d70ff5c12e 18 }
hollegha2 0:35d70ff5c12e 19
hollegha2 0:35d70ff5c12e 20 void CheckButton() {
hollegha2 0:35d70ff5c12e 21 if( _isr.read() )
hollegha2 0:35d70ff5c12e 22 pressed = 1;
hollegha2 0:35d70ff5c12e 23 }
hollegha2 0:35d70ff5c12e 24
hollegha2 0:35d70ff5c12e 25 void Init() {
hollegha2 0:35d70ff5c12e 26 _isr.rise(this, &BtnEventM0::RisingISR);
hollegha2 0:35d70ff5c12e 27 }
hollegha2 0:35d70ff5c12e 28
hollegha2 0:35d70ff5c12e 29 void RisingISR() {
hollegha2 0:35d70ff5c12e 30 if( _isr.read() )
hollegha2 0:35d70ff5c12e 31 pressed = 1;
hollegha2 0:35d70ff5c12e 32 }
hollegha2 0:35d70ff5c12e 33 protected:
hollegha2 0:35d70ff5c12e 34 InterruptIn _isr;
hollegha2 0:35d70ff5c12e 35 };
hollegha2 0:35d70ff5c12e 36
hollegha2 0:35d70ff5c12e 37 /*
hollegha2 0:35d70ff5c12e 38 class BtnEventM02 : public BtnEventM0
hollegha2 0:35d70ff5c12e 39 {
hollegha2 0:35d70ff5c12e 40 public:
hollegha2 0:35d70ff5c12e 41 BtnEventM02(PinName pin) : BtnEventM0(pin) {
hollegha2 0:35d70ff5c12e 42 _tm.stop();
hollegha2 0:35d70ff5c12e 43 _tm.reset();
hollegha2 0:35d70ff5c12e 44 _state=1;
hollegha2 0:35d70ff5c12e 45 }
hollegha2 0:35d70ff5c12e 46
hollegha2 0:35d70ff5c12e 47 void Init() {
hollegha2 0:35d70ff5c12e 48 _isr.rise(this, &BtnEventM02::RisingISR);
hollegha2 0:35d70ff5c12e 49 }
hollegha2 0:35d70ff5c12e 50
hollegha2 0:35d70ff5c12e 51 void RisingISR() {
hollegha2 0:35d70ff5c12e 52 if( !_isr.read() )
hollegha2 0:35d70ff5c12e 53 return;
hollegha2 0:35d70ff5c12e 54 pressed = 1;
hollegha2 0:35d70ff5c12e 55 _tm.start();
hollegha2 0:35d70ff5c12e 56 _state = 2;
hollegha2 0:35d70ff5c12e 57 }
hollegha2 0:35d70ff5c12e 58
hollegha2 0:35d70ff5c12e 59 void CheckButton() {
hollegha2 0:35d70ff5c12e 60 if( _state==1 )
hollegha2 0:35d70ff5c12e 61 return;
hollegha2 0:35d70ff5c12e 62 if( _state==2 ) {
hollegha2 0:35d70ff5c12e 63 if( !_isr.read() ) {
hollegha2 0:35d70ff5c12e 64 _state = 1;
hollegha2 0:35d70ff5c12e 65 return;
hollegha2 0:35d70ff5c12e 66 }
hollegha2 0:35d70ff5c12e 67 if( _tm.read_ms()>500 ) {
hollegha2 0:35d70ff5c12e 68 _tm.reset();
hollegha2 0:35d70ff5c12e 69 _state = 3;
hollegha2 0:35d70ff5c12e 70 pressed = 1;
hollegha2 0:35d70ff5c12e 71 }
hollegha2 0:35d70ff5c12e 72 } else if( _state==3 ) {
hollegha2 0:35d70ff5c12e 73 if( !_isr.read() ) {
hollegha2 0:35d70ff5c12e 74 _state = 1;
hollegha2 0:35d70ff5c12e 75 return;
hollegha2 0:35d70ff5c12e 76 }
hollegha2 0:35d70ff5c12e 77 if( _tm.read_ms()>100 ) {
hollegha2 0:35d70ff5c12e 78 _tm.reset();
hollegha2 0:35d70ff5c12e 79 _state = 3;
hollegha2 0:35d70ff5c12e 80 pressed = 1;
hollegha2 0:35d70ff5c12e 81 }
hollegha2 0:35d70ff5c12e 82 }
hollegha2 0:35d70ff5c12e 83 }
hollegha2 0:35d70ff5c12e 84 private:
hollegha2 0:35d70ff5c12e 85 int16_t _state;
hollegha2 0:35d70ff5c12e 86 Timer _tm;
hollegha2 0:35d70ff5c12e 87 };
hollegha2 0:35d70ff5c12e 88 */
hollegha2 0:35d70ff5c12e 89
hollegha2 1:6e9e9eafb91a 90 class AnalogInHL : public AnalogIn {
hollegha2 1:6e9e9eafb91a 91 public:
hollegha2 1:6e9e9eafb91a 92 AnalogInHL(PinName pin) : AnalogIn(pin) { }
hollegha2 1:6e9e9eafb91a 93 int Read()
hollegha2 1:6e9e9eafb91a 94 { return read_u16()>>6; }
hollegha2 1:6e9e9eafb91a 95 };
hollegha2 0:35d70ff5c12e 96
hollegha2 3:ec1b36316bb9 97 // ADC
hollegha2 0:35d70ff5c12e 98
hollegha2 0:35d70ff5c12e 99
hollegha2 0:35d70ff5c12e 100
hollegha2 0:35d70ff5c12e 101
hollegha2 0:35d70ff5c12e 102
hollegha2 0:35d70ff5c12e 103
hollegha2 0:35d70ff5c12e 104
hollegha2 0:35d70ff5c12e 105
hollegha2 0:35d70ff5c12e 106
hollegha2 0:35d70ff5c12e 107
hollegha2 0:35d70ff5c12e 108
hollegha2 0:35d70ff5c12e 109
hollegha2 0:35d70ff5c12e 110
hollegha2 0:35d70ff5c12e 111
hollegha2 0:35d70ff5c12e 112
hollegha2 0:35d70ff5c12e 113
hollegha2 0:35d70ff5c12e 114
hollegha2 0:35d70ff5c12e 115
hollegha2 0:35d70ff5c12e 116
hollegha2 0:35d70ff5c12e 117
hollegha2 0:35d70ff5c12e 118
hollegha2 0:35d70ff5c12e 119
hollegha2 0:35d70ff5c12e 120
hollegha2 0:35d70ff5c12e 121
hollegha2 0:35d70ff5c12e 122
hollegha2 0:35d70ff5c12e 123
hollegha2 0:35d70ff5c12e 124
hollegha2 0:35d70ff5c12e 125
hollegha2 0:35d70ff5c12e 126
hollegha2 0:35d70ff5c12e 127
hollegha2 0:35d70ff5c12e 128
hollegha2 0:35d70ff5c12e 129
hollegha2 0:35d70ff5c12e 130
hollegha2 0:35d70ff5c12e 131
hollegha2 0:35d70ff5c12e 132
hollegha2 0:35d70ff5c12e 133
hollegha2 0:35d70ff5c12e 134
hollegha2 0:35d70ff5c12e 135
hollegha2 0:35d70ff5c12e 136
hollegha2 0:35d70ff5c12e 137
hollegha2 0:35d70ff5c12e 138
hollegha2 0:35d70ff5c12e 139
hollegha2 1:6e9e9eafb91a 140
hollegha2 1:6e9e9eafb91a 141
hollegha2 1:6e9e9eafb91a 142
hollegha2 3:ec1b36316bb9 143