User Interface Test on mbed RTOS
Dependencies: N5110 RotaryEncoder mbed-rtos mbed PinDetect
AverageAnalogIn.h
- Committer:
- ryood
- Date:
- 2016-05-27
- Revision:
- 4:d9a72e07749f
File content as of revision 4:d9a72e07749f:
#ifndef _AVERAGE_ANALOG_H_ #define _AVERAGE_ANALOG_H_ #include "mbed.h" class AverageAnalogIn { public: AverageAnalogIn(PinName _pin, int _bufferSize=8) : m_AnalogIn(_pin), bufferSize(_bufferSize), index(0) { buffer = new unsigned short[bufferSize]; } ~AverageAnalogIn() { delete buffer; } unsigned short read_u16() { buffer[index] = m_AnalogIn.read_u16(); index++; if (index == bufferSize) { index = 0; } unsigned int sum = 0; for (int i = 0; i < bufferSize; i++) { sum += buffer[i]; } return sum / bufferSize; } private: AnalogIn m_AnalogIn; int bufferSize; int index; unsigned short *buffer; }; #endif //_AVERAGE_ANALOG_H_