working-est copy with class-based code. still open loop

Dependencies:   mbed

Fork of analoghalls6 by N K

Committer:
nki
Date:
Sun Mar 08 00:45:28 2015 +0000
Revision:
10:b4abecccec7a
Parent:
6:99ee0ce47fb2
Child:
7:76d6ceb23e0d
uguu;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bwang 0:54cf32d35f4d 1 #include "includes.h"
bwang 1:1f58bdcf2956 2 #include "sensors.h"
bwang 0:54cf32d35f4d 3
bwang 0:54cf32d35f4d 4 AnalogCurrentSensor::AnalogCurrentSensor(PinName pin, float volts_per_amp) {
bwang 0:54cf32d35f4d 5 _in = new AnalogIn(pin);
bwang 0:54cf32d35f4d 6 _volts_per_amp = volts_per_amp;
bwang 0:54cf32d35f4d 7 Zero();
bwang 0:54cf32d35f4d 8 }
bwang 0:54cf32d35f4d 9
bwang 0:54cf32d35f4d 10 void AnalogCurrentSensor::Zero() {
nki 6:99ee0ce47fb2 11 float mean = 0;
nki 6:99ee0ce47fb2 12 for(int i = 1; i<=1000; i++){
nki 6:99ee0ce47fb2 13 mean = 0.1f*((float) *_in) + 0.9f*mean;
nki 6:99ee0ce47fb2 14 }
nki 6:99ee0ce47fb2 15 _zero_level = mean;
bwang 0:54cf32d35f4d 16 }
bwang 0:54cf32d35f4d 17
bwang 0:54cf32d35f4d 18 float AnalogCurrentSensor::GetCurrent() {
bwang 0:54cf32d35f4d 19 return ((float) *_in - _zero_level) * 3.3f / _volts_per_amp;
bwang 0:54cf32d35f4d 20 }