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_t
trigger
¶ GPIO Port the trigger pin is connected to.
-
gpio.h::gpio_t
echo
¶ 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