Loading...
Searching...
No Matches
srf04.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2018 Freie Universität Berlin
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
19
20#include <stdint.h>
21#include <stdio.h>
22
23#include "periph/gpio.h"
24#include "xtimer.h"
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
33enum {
38};
39
43typedef struct {
44 gpio_t trigger;
45 gpio_t echo;
47
51typedef struct {
53 int32_t distance;
54 uint32_t time;
55} srf04_t;
56
66int srf04_init(srf04_t *dev, const srf04_params_t *params);
67
73void srf04_trigger(const srf04_t *dev);
74
86int srf04_read(const srf04_t *dev);
87
100
101#ifdef __cplusplus
102}
103#endif
104
Low-level GPIO peripheral driver interface definitions.
void srf04_trigger(const srf04_t *dev)
Triggers measurement.
int srf04_read(const srf04_t *dev)
Returns time of flight in ms.
int srf04_get_distance(const srf04_t *dev)
Convenience function triggers a measurement and returns distance.
int srf04_init(srf04_t *dev, const srf04_params_t *params)
Initialize gpio and interrupt.
@ SRF04_ERR_INVALID
error no valid measurement available
Definition srf04.h:35
@ SRF04_ERR_MEASURING
error sensor is measuring
Definition srf04.h:36
@ SRF04_OK
exit without error
Definition srf04.h:34
@ SRF04_ERR_GPIO
error initializing gpio
Definition srf04.h:37
GPIO pins for srf04 device.
Definition srf04.h:43
gpio_t trigger
GPIO Port the trigger pin is connected to.
Definition srf04.h:44
gpio_t echo
GPIO Port the echo pin is connected to.
Definition srf04.h:45
Device descriptor for srf04 sensor.
Definition srf04.h:51
uint32_t time
timestamp of trigger or echo
Definition srf04.h:54
int32_t distance
raw time of flight distance
Definition srf04.h:53
srf04_params_t p
GPIO Ports of device.
Definition srf04.h:52
xtimer interface definitions