Implements a simple leaky integrator integer value filter, handy for fast, simple, ADC output filtering. Implemented as described here: [[http://ece124web.groups.et.byu.net/references/readings/Simple%20Software%20Lowpass%20Filter.pdf|Simple Software Lowpass Filter.pdf]]

Dependents:   AVC_20110423 WallBot_Simple AVC_2012

Revision:
0:ac15e38daeb5
Child:
1:70348515ed2f
diff -r 000000000000 -r ac15e38daeb5 SimpleFilter.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SimpleFilter.cpp	Wed Apr 20 08:00:25 2011 +0000
@@ -0,0 +1,13 @@
+#include "SimpleFilter.h"
+
+SimpleFilter::SimpleFilter(short shift): _filter_value(0), _shift(shift) {
+    // nothing to do here, really
+}
+
+short SimpleFilter::filter(short value) {
+
+    _filter_value += value - (_filter_value >> _shift);
+    _filter_value >>= _shift;
+    
+    return _filter_value;
+}
\ No newline at end of file