srf04 ultra sonic range finder¶
Device driver for the srf04 ultra sonic range finder.
-
enum
@159¶ - SRF04_OK
= 0 - exit without error
- SRF04_ERR_INVALID
= -1 - error no valid measurement available
- SRF04_ERR_MEASURING
= -2 - error sensor is measuring
- SRF04_ERR_GPIO
= -3 - error initializing gpio
- SRF04_OK
-
int
srf04_init(srf04_t * dev, const srf04_params_t * params)¶ Initialize gpio and interrupt.
Parameters
dev: device descriptor of sensor to initialize params: init param struct holding gpio trigger and echo pins Return values
- SRF04_OK on success
- SRF04_GPIO on gpio init failure
-
void
srf04_trigger(const srf04_t * dev)¶ Triggers measurement.
Parameters
dev: device descriptor of sensor
-
int
srf04_read(const srf04_t * dev)¶ Returns time of flight in ms.
Note
should not be invoked within 50 ms after triggering
Parameters
dev: device descriptor of sensor Return values
- time of flight in ms
- SRF04_MEASURING if measurement is in progress
- SRF04_INVALID if no valid measurement is available
-
int
srf04_get_distance(const srf04_t * dev)¶ Convenience function triggers a measurement and returns distance.
Note
This function will return after 50 ms once new data is available
Parameters
dev: device descriptor of sensor Return values
- time of flight in mm
- SRF04_MEASURING if measurement is in progress
- SRF04_INVALID if no valid measurement is available
-
struct
srf04_params_t¶ GPIO pins for srf04 device.
-
gpio.h::gpio_ttrigger¶ GPIO Port the trigger pin is connected to.
-
gpio.h::gpio_techo¶ GPIO Port the echo pin is connected to.
-
-
struct
srf04_t¶ Device descriptor for srf04 sensor.
-
srf04_params_t
p¶ GPIO Ports of device.
-
int
distance¶ raw time of flight distance
-
uint32_t
time¶ timestamp of trigger or echo
-
srf04_params_t