David Lloyd / Mbed 2 deprecated SF800_flowmeter

Dependencies:   mbed

Committer:
daveTshave
Date:
Fri Nov 25 14:32:50 2011 +0000
Revision:
0:be447af0921d

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daveTshave 0:be447af0921d 1 #ifndef counter_H
daveTshave 0:be447af0921d 2 #define counter_H
daveTshave 0:be447af0921d 3
daveTshave 0:be447af0921d 4 /**
daveTshave 0:be447af0921d 5 * Includes
daveTshave 0:be447af0921d 6 */
daveTshave 0:be447af0921d 7 #include "mbed.h"
daveTshave 0:be447af0921d 8
daveTshave 0:be447af0921d 9 /**
daveTshave 0:be447af0921d 10 * Simple counter
daveTshave 0:be447af0921d 11 */
daveTshave 0:be447af0921d 12 class counter {
daveTshave 0:be447af0921d 13
daveTshave 0:be447af0921d 14 public:
daveTshave 0:be447af0921d 15
daveTshave 0:be447af0921d 16
daveTshave 0:be447af0921d 17 /**
daveTshave 0:be447af0921d 18 * Constructor.
daveTshave 0:be447af0921d 19 *
daveTshave 0:be447af0921d 20 * Attaches the encode function to the rise/fall edge of
daveTshave 0:be447af0921d 21 * channels A.
daveTshave 0:be447af0921d 22 *
daveTshave 0:be447af0921d 23 * @param channelA mbed pin for counter input.
daveTshave 0:be447af0921d 24 */
daveTshave 0:be447af0921d 25 counter(PinName channelA);
daveTshave 0:be447af0921d 26
daveTshave 0:be447af0921d 27 /**
daveTshave 0:be447af0921d 28 * Reset the encoder.
daveTshave 0:be447af0921d 29 *
daveTshave 0:be447af0921d 30 * Sets the pulses and revolutions count to zero.
daveTshave 0:be447af0921d 31 */
daveTshave 0:be447af0921d 32 void reset(void);
daveTshave 0:be447af0921d 33
daveTshave 0:be447af0921d 34 /**
daveTshave 0:be447af0921d 35 * Read the number of pulses recorded by the encoder.
daveTshave 0:be447af0921d 36 *
daveTshave 0:be447af0921d 37 * @return Number of pulses which have occured.
daveTshave 0:be447af0921d 38 */
daveTshave 0:be447af0921d 39 int getPulses(void);
daveTshave 0:be447af0921d 40
daveTshave 0:be447af0921d 41 private:
daveTshave 0:be447af0921d 42
daveTshave 0:be447af0921d 43 /**
daveTshave 0:be447af0921d 44 * Update the pulse count.
daveTshave 0:be447af0921d 45 *
daveTshave 0:be447af0921d 46 * Called on every rising edge of channels A.
daveTshave 0:be447af0921d 47 *
daveTshave 0:be447af0921d 48 */
daveTshave 0:be447af0921d 49 void encode(void);
daveTshave 0:be447af0921d 50
daveTshave 0:be447af0921d 51 InterruptIn channelA_;
daveTshave 0:be447af0921d 52
daveTshave 0:be447af0921d 53 volatile int pulses_;
daveTshave 0:be447af0921d 54
daveTshave 0:be447af0921d 55 };
daveTshave 0:be447af0921d 56
daveTshave 0:be447af0921d 57 #endif /* counter_H */