Analog-to-binary input with hysteresis

Dependents:   Hysteresis LAB9_Hysteresis LAB18_StreetLight

Committer:
kayekss
Date:
Fri Dec 20 19:21:57 2013 +0000
Revision:
0:fe43537bd3d6
First release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kayekss 0:fe43537bd3d6 1 // ==================================================== Dec 21 2013, kayeks ==
kayekss 0:fe43537bd3d6 2 // HysteresisIn.h
kayekss 0:fe43537bd3d6 3 // ===========================================================================
kayekss 0:fe43537bd3d6 4 // Analog to binary input class with hysteresis
kayekss 0:fe43537bd3d6 5 // - For a simple Schmitt-Trigger substitute
kayekss 0:fe43537bd3d6 6
kayekss 0:fe43537bd3d6 7 #ifndef HYSTERESIS_IN_H_
kayekss 0:fe43537bd3d6 8 #define HYSTERESIS_IN_H_
kayekss 0:fe43537bd3d6 9
kayekss 0:fe43537bd3d6 10 #include "mbed.h"
kayekss 0:fe43537bd3d6 11
kayekss 0:fe43537bd3d6 12 class HysteresisIn {
kayekss 0:fe43537bd3d6 13 private:
kayekss 0:fe43537bd3d6 14 AnalogIn in;
kayekss 0:fe43537bd3d6 15 float thresholdHighToLow;
kayekss 0:fe43537bd3d6 16 float thresholdLowToHigh;
kayekss 0:fe43537bd3d6 17 bool state;
kayekss 0:fe43537bd3d6 18
kayekss 0:fe43537bd3d6 19 public:
kayekss 0:fe43537bd3d6 20 HysteresisIn(PinName inputPin, float htl, float lth, bool initialState=0);
kayekss 0:fe43537bd3d6 21 ~HysteresisIn();
kayekss 0:fe43537bd3d6 22 bool read();
kayekss 0:fe43537bd3d6 23 void write(bool newState);
kayekss 0:fe43537bd3d6 24 };
kayekss 0:fe43537bd3d6 25
kayekss 0:fe43537bd3d6 26 #endif