Sharp GP2 familly distance sensor library

Dependents:   FRC_2018 0hackton_08_06_18 0hackton_08_06_18_publish Kenya_2019 ... more

GP2A.cpp

Committer:
haarkon
Date:
2019-10-13
Revision:
5:49fb7016797c
Parent:
4:4f443a6a6843

File content as of revision 5:49fb7016797c:

#include "GP2A.h"

GP2A::GP2A(PinName vmes, float dMin, float dMax, float slope, float origin) : _sensor(vmes)
{
    m_dMin = dMin;
    m_dMax = dMax;
    m_slope = slope;
    m_origin = origin;
}

double GP2A::getDistance (void)
{
    double vDist = (double)_sensor.read()* 3.3;
    float distance = m_slope/(vDist-m_origin);
    if (distance > m_dMax) return m_dMax;
    if (distance < m_dMin) return m_dMin;
    return distance;
}

double GP2A::getVoltage (void)
{
    return (double)_sensor.read()* 3.3;
}

GP2A::operator double() {
    return getDistance();
}