upm  0.3.2
Sensor/Actuator repository for libmraa (v0.7.2)
Public Member Functions | Data Fields

API for the HC-SR04 Ultrasonic Sensor. More...

Detailed Description

This file defines the HC-SR04 interface for libhcsr04

void
interrupt (void * args) {
sonar->ackEdgeDetected ();
}
int
main(int argc, char **argv)
{
sonar = new upm::HCSR04(5, 7, &interrupt);
signal(SIGINT, sig_handler);
printf ("width = %d\n", sonar->getDistance());
std::cout << "exiting application" << std::endl;
delete sonar;
return 0;
}

Public Member Functions

 HCSR04 (uint8_t triggerPin, uint8_t echoPin, void(*fptr)(void *))
 
 ~HCSR04 ()
 
int getDistance ()
 
void ackEdgeDetected ()
 
std::string name ()
 

Data Fields

uint8_t m_doWork
 

Constructor & Destructor Documentation

HCSR04 ( uint8_t  triggerPin,
uint8_t  echoPin,
void(*)(void *)  fptr 
)

Instantiates an HCSR04 object

Parameters
triggerPinPin to trigger the sensor for distance
echoPinPulse response to triggering
fptrFunction pointer to handle rising-edge and falling-edge interrupts
~HCSR04 ( )

HCSR04 object destructor

Member Function Documentation

int getDistance ( )

Gets the distance from the sensor

void ackEdgeDetected ( )

On each interrupt, this function detects if the interrupt was falling-edge or rising-edge. Should be called from the interrupt handler.

std::string name ( )
inline

Returns the name of the sensor

Field Documentation

uint8_t m_doWork

Flag to control blocking function while waiting for a falling-edge interrupt


The documentation for this class was generated from the following files: