Analog-to-binary input with hysteresis
Dependents: Hysteresis LAB9_Hysteresis LAB18_StreetLight
HysteresisIn.h@0:fe43537bd3d6, 2013-12-20 (annotated)
- Committer:
- kayekss
- Date:
- Fri Dec 20 19:21:57 2013 +0000
- Revision:
- 0:fe43537bd3d6
First release
Who changed what in which revision?
User | Revision | Line number | New 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 |