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 2:d99d91a7e8f1, committed 2012-03-22
- Comitter:
- dglover77
- Date:
- Thu Mar 22 05:49:41 2012 +0000
- Parent:
- 1:c7753ec66a4b
- Commit message:
- Updated comments
Changed in this revision
| hcsr04.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/hcsr04.h Sun Mar 18 21:01:49 2012 +0000
+++ b/hcsr04.h Thu Mar 22 05:49:41 2012 +0000
@@ -1,12 +1,14 @@
+// Primary Author: David Glover
+// March, 2012
+// ECE 510 Embedded Systems, Roy Kravitz
+//
// HCSR04 ultrasonic sensor class using interrupts and allowing multiple instances.
// You can use the same trigger pin for multiple instances, the echo is recieved and
// measurement calculated based on the echo input alone (when the echo signal goes high
-// the timer is started, when the echo signal is low the timer value in microseconds
+// the timer is started, when the echo signal goes low the timer value in microseconds
// is saved as the length, and the timer is stopped and reset. Length calculation is done
// when the length is requested (either inches or centimeters) using the appropriate
// function.
-//New comment
-
#ifndef MBED_HCSR04_H
#define MBED_HCSR04_H
@@ -24,7 +26,6 @@
InterruptIn *_echo_int; // pin to receive echo signal
DigitalOut trigger_out; // pin to send the trigger signal
Timer timer; // timer to track length of pulse
- // int timestart; // beginning time of echo pulse
float value; // to store the last pulse length
public:
@@ -38,34 +39,33 @@
}
-
-void calc_measurement() {
- value = timer.read_us();
- //value = timer.read_us() - timestart;
- timer.stop();
- timer.reset();
- measuring = false;
-}
-
-void timer_start() {
- this->timer.start();
- measuring = true;
-}
-
-void trigger(void) {
- trigger_out.write(1); // start trigger signal
- wait_us(TRIGGER_DELAY);
- trigger_out.write(0); // end trigger signal
-}
-
-float inches() {
- return value / INCHES_DIVISOR;
-}
-
-float cm() {
- return value /CM_DIVISOR;
-}
-
+ void calc_measurement() {
+ value = timer.read_us();
+ //value = timer.read_us() - timestart;
+ timer.stop();
+ timer.reset();
+ measuring = false;
+ }
+
+ void timer_start() {
+ this->timer.start();
+ measuring = true;
+ }
+
+ void trigger(void) {
+ trigger_out.write(1); // start trigger signal
+ wait_us(TRIGGER_DELAY);
+ trigger_out.write(0); // end trigger signal
+ }
+
+ float inches() { // return distance in inches.
+ return value / INCHES_DIVISOR;
+ }
+
+ float cm() { // return distance in centimeters.
+ return value / CM_DIVISOR;
+ }
+
};
#endif
\ No newline at end of file