Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 11:12f9cb7d88f3, committed 2018-03-23
- Comitter:
- dzoni
- Date:
- Fri Mar 23 10:03:36 2018 +0000
- Parent:
- 10:89df9c40abc3
- Child:
- 12:5bf5a7e62c5d
- Commit message:
- Refactoring - coding rules application finished. Compiles OK. Needs to be tested on actual HW.
Changed in this revision
| Distance_HC_SR04.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/Distance_HC_SR04.cpp Fri Mar 23 07:28:37 2018 +0000
+++ b/Distance_HC_SR04.cpp Fri Mar 23 10:03:36 2018 +0000
@@ -11,8 +11,8 @@
uint32_t tmin_us, uint32_t tmax_us) :
_trig(trig), _echo(echo), _tout_us(tout_us), _coeff(coeff), _tmin_us(tmin_us), _tmax_us(tmax_us)
{
- this._trig = 0;
- this._state = IDLE;
+ _trig = 0;
+ _state = IDLE;
}
/** Measure and return "echo" pulse duration in synchronous blocking mode.
@@ -25,29 +25,29 @@
*/
uint32_t Distance_HC_SR04::measureTicks(void)
{
- this.reset();
- this.trigger();
+ reset();
+ trigger();
- while (STARTED == this._state)
+ while (STARTED == _state)
{
;
}
- this._echo.rise(NULL);
- this._echo.fall(NULL);
- this._timeout.detach();
+ _echo.rise(NULL);
+ _echo.fall(NULL);
+ _timeout.detach();
- switch (this._state)
+ switch (_state)
{
case COMPLETED:
break;
default:
- this._ticks_us = 0;
+ _ticks_us = 0;
break;
}
- return this._ticks_us;
+ return _ticks_us;
}
/** Measure and return the distance in synchronous blocking mode.
@@ -60,7 +60,7 @@
*/
float Distance_HC_SR04::measureDistance(void)
{
- return this.measureTicks()*this._coeff;
+ return measureTicks()*_coeff;
}
/** Reset whole device and prepare for triggering of the next measurement in asynchronous non-blocking mode.
@@ -70,12 +70,12 @@
*/
void Distance_HC_SR04::reset(void)
{
- this._state = IDLE;
- this._echo.rise(NULL);
- this._echo.fall(NULL);
- this._timeout.detach();
- this._timer.stop();
- this._timer.reset();
+ _state = IDLE;
+ _echo.rise(NULL);
+ _echo.fall(NULL);
+ _timeout.detach();
+ _timer.stop();
+ _timer.reset();
}
/** Start the measurement in asynchronous non-blocking mode.
@@ -88,24 +88,24 @@
*/
void Distance_HC_SR04::trigger(void)
{
- if (IDLE == this._state && 0 == this._echo)
+ if (IDLE == _state && 0 == _echo)
{
- this._trig = 1;
+ _trig = 1;
wait_us(TRIG_PULSE_US);
- this._trig = 0;
- if (0 == this._echo) {
- this._state = STARTED;
- this._timeout.attach_us(this, &Distance_HC_SR04::_tout, TIMEOUT_DELAY_US);
- this._echo.rise(this, &Distance_HC_SR04::_rising);
- this._echo.fall(this, &Distance_HC_SR04::_falling);
+ _trig = 0;
+ if (0 == _echo) {
+ _state = STARTED;
+ _timeout.attach_us(this, &Distance_HC_SR04::_tout, TIMEOUT_DELAY_US);
+ _echo.rise(this, &Distance_HC_SR04::_rising);
+ _echo.fall(this, &Distance_HC_SR04::_falling);
return;
}
}
- if (IDLE == this._state) {
- this._state = ERROR_SIG;
- this._ticks_us = 0;
+ if (IDLE == _state) {
+ _state = ERROR_SIG;
+ _ticks_us = 0;
}
return;
@@ -120,7 +120,7 @@
*/
Distance_HC_SR04_state Distance_HC_SR04::getState(void)
{
- return this._state;
+ return _state;
}
/** Return measured duration of "echo" pulse in "COMPLETED" state. Use in asynchronous non-blocking mode.
@@ -132,7 +132,7 @@
*/
uint32_t Distance_HC_SR04::getTicks(void)
{
- return this._ticks_us;
+ return _ticks_us;
}
/** Return distance of the obstacle. Use in asynchronous non-blocking mode.
@@ -144,7 +144,7 @@
*/
float Distance_HC_SR04::getDistance(void)
{
- return this._ticks_us * this._coeff;
+ return _ticks_us * _coeff;
}
/** Return actual value of coefficient used to calculate distance from "echo" pulse duration.
@@ -154,7 +154,7 @@
*/
float Distance_HC_SR04::getCoeff(void)
{
- return this._coeff;
+ return _coeff;
}
/** Set the actual value of coefficient used to calculate distance from "echo" pulse duration.
@@ -165,7 +165,7 @@
*/
void Distance_HC_SR04::setCoeff(float coeff)
{
- this._coeff = coeff;
+ _coeff = coeff;
}
/** Timeout callback function (private).
@@ -175,8 +175,8 @@
* void -
*/
void Distance_HC_SR04::_tout(void) {
- if (STARTED == this._state)
- this._state = TIMEOUT;
+ if (STARTED == _state)
+ _state = TIMEOUT;
}
/** Rising edge callback function (private).
@@ -186,8 +186,8 @@
* void -
*/
void Distance_HC_SR04::_rising(void) {
- if (STARTED == this._state) {
- this._timer.start();
+ if (STARTED == _state) {
+ _timer.start();
}
}
@@ -198,21 +198,21 @@
* void -
*/
void Distance_HC_SR04::_falling(void) {
- if (STARTED == this._state) {
- this._timer.stop();
- this._ticks_us = this._timer.read_us();
+ if (STARTED == _state) {
+ _timer.stop();
+ _ticks_us = _timer.read_us();
- if (this._ticks_us < this._tmin_us)
+ if (_ticks_us < _tmin_us)
{
- this._ticks_us = 0;
- this._state = OUT_OF_RANGE_MIN;
- } else if (this._ticks_us > this._tmax_us)
+ _ticks_us = 0;
+ _state = OUT_OF_RANGE_MIN;
+ } else if (_ticks_us > _tmax_us)
{
- this._ticks_us = 0;
- this._state = OUT_OF_RANGE_MAX;
+ _ticks_us = 0;
+ _state = OUT_OF_RANGE_MAX;
} else
{
- this._state = COMPLETED;
+ _state = COMPLETED;
}
}
}