counter.h@3:bd08a59ee473, 2011-11-25 (annotated)
- Committer:
- daveTshave
- Date:
- Fri Nov 25 14:41:04 2011 +0000
- Revision:
- 3:bd08a59ee473
- Parent:
- 2:fa04a99dcdab
tidied comments
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
daveTshave | 2:fa04a99dcdab | 1 | #ifndef counter_H |
daveTshave | 2:fa04a99dcdab | 2 | #define counter_H |
daveTshave | 2:fa04a99dcdab | 3 | |
daveTshave | 2:fa04a99dcdab | 4 | /** |
daveTshave | 2:fa04a99dcdab | 5 | * Includes |
daveTshave | 2:fa04a99dcdab | 6 | */ |
daveTshave | 2:fa04a99dcdab | 7 | #include "mbed.h" |
daveTshave | 2:fa04a99dcdab | 8 | |
daveTshave | 2:fa04a99dcdab | 9 | /** |
daveTshave | 2:fa04a99dcdab | 10 | * Simple counter |
daveTshave | 2:fa04a99dcdab | 11 | */ |
daveTshave | 2:fa04a99dcdab | 12 | class counter { |
daveTshave | 2:fa04a99dcdab | 13 | |
daveTshave | 2:fa04a99dcdab | 14 | public: |
daveTshave | 2:fa04a99dcdab | 15 | |
daveTshave | 2:fa04a99dcdab | 16 | |
daveTshave | 2:fa04a99dcdab | 17 | /** |
daveTshave | 2:fa04a99dcdab | 18 | * Constructor. |
daveTshave | 2:fa04a99dcdab | 19 | * |
daveTshave | 3:bd08a59ee473 | 20 | * Attaches the encode function to the rise edge of |
daveTshave | 3:bd08a59ee473 | 21 | * channel A. |
daveTshave | 2:fa04a99dcdab | 22 | * |
daveTshave | 2:fa04a99dcdab | 23 | * @param channelA mbed pin for counter input. |
daveTshave | 2:fa04a99dcdab | 24 | */ |
daveTshave | 2:fa04a99dcdab | 25 | counter(PinName channelA); |
daveTshave | 2:fa04a99dcdab | 26 | |
daveTshave | 2:fa04a99dcdab | 27 | /** |
daveTshave | 2:fa04a99dcdab | 28 | * Reset the encoder. |
daveTshave | 2:fa04a99dcdab | 29 | * |
daveTshave | 3:bd08a59ee473 | 30 | * Sets the pulses to zero. |
daveTshave | 2:fa04a99dcdab | 31 | */ |
daveTshave | 2:fa04a99dcdab | 32 | void reset(void); |
daveTshave | 2:fa04a99dcdab | 33 | |
daveTshave | 2:fa04a99dcdab | 34 | /** |
daveTshave | 2:fa04a99dcdab | 35 | * Read the number of pulses recorded by the encoder. |
daveTshave | 2:fa04a99dcdab | 36 | * |
daveTshave | 2:fa04a99dcdab | 37 | * @return Number of pulses which have occured. |
daveTshave | 2:fa04a99dcdab | 38 | */ |
daveTshave | 2:fa04a99dcdab | 39 | int getPulses(void); |
daveTshave | 2:fa04a99dcdab | 40 | |
daveTshave | 2:fa04a99dcdab | 41 | private: |
daveTshave | 2:fa04a99dcdab | 42 | |
daveTshave | 2:fa04a99dcdab | 43 | /** |
daveTshave | 2:fa04a99dcdab | 44 | * Update the pulse count. |
daveTshave | 2:fa04a99dcdab | 45 | * |
daveTshave | 2:fa04a99dcdab | 46 | * Called on every rising edge of channels A. |
daveTshave | 2:fa04a99dcdab | 47 | * |
daveTshave | 2:fa04a99dcdab | 48 | */ |
daveTshave | 2:fa04a99dcdab | 49 | void encode(void); |
daveTshave | 2:fa04a99dcdab | 50 | |
daveTshave | 2:fa04a99dcdab | 51 | InterruptIn channelA_; |
daveTshave | 2:fa04a99dcdab | 52 | |
daveTshave | 2:fa04a99dcdab | 53 | volatile int pulses_; |
daveTshave | 2:fa04a99dcdab | 54 | |
daveTshave | 2:fa04a99dcdab | 55 | }; |
daveTshave | 2:fa04a99dcdab | 56 | |
daveTshave | 2:fa04a99dcdab | 57 | #endif /* counter_H */ |