Sharp GP2 familly distance sensor library

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

Committer:
haarkon
Date:
Sun Oct 13 13:43:07 2019 +0000
Revision:
6:36744d1b3127
Parent:
5:49fb7016797c
added documentation changes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
haarkon 0:17de10d278c2 1 #include "GP2A.h"
haarkon 0:17de10d278c2 2
haarkon 5:49fb7016797c 3 GP2A::GP2A(PinName vmes, float dMin, float dMax, float slope, float origin) : _sensor(vmes)
haarkon 0:17de10d278c2 4 {
haarkon 0:17de10d278c2 5 m_dMin = dMin;
haarkon 0:17de10d278c2 6 m_dMax = dMax;
haarkon 0:17de10d278c2 7 m_slope = slope;
haarkon 5:49fb7016797c 8 m_origin = origin;
haarkon 0:17de10d278c2 9 }
haarkon 0:17de10d278c2 10
haarkon 2:5e591a5b8edd 11 double GP2A::getDistance (void)
haarkon 0:17de10d278c2 12 {
haarkon 4:4f443a6a6843 13 double vDist = (double)_sensor.read()* 3.3;
haarkon 5:49fb7016797c 14 float distance = m_slope/(vDist-m_origin);
haarkon 0:17de10d278c2 15 if (distance > m_dMax) return m_dMax;
haarkon 0:17de10d278c2 16 if (distance < m_dMin) return m_dMin;
haarkon 0:17de10d278c2 17 return distance;
haarkon 0:17de10d278c2 18 }
haarkon 0:17de10d278c2 19
haarkon 2:5e591a5b8edd 20 double GP2A::getVoltage (void)
haarkon 0:17de10d278c2 21 {
haarkon 4:4f443a6a6843 22 return (double)_sensor.read()* 3.3;
haarkon 2:5e591a5b8edd 23 }
haarkon 2:5e591a5b8edd 24
haarkon 2:5e591a5b8edd 25 GP2A::operator double() {
haarkon 2:5e591a5b8edd 26 return getDistance();
haarkon 2:5e591a5b8edd 27 }