Loading...
Searching...
No Matches
srf02.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2013 Zakaria Kasmi <zkasmi@inf.fu-berlin.de>
3 * 2015 Freie Universität Berlin
4 *
5 * This file is subject to the terms and conditions of the GNU Lesser General
6 * Public License v2.1. See the file LICENSE in the top level directory for more
7 * details.
8 */
9
10#pragma once
11
26
27#include <stdint.h>
28#include "periph/i2c.h"
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
37#define SRF02_DEFAULT_ADDR (0xe0) /* 224 decimal */
38
42#define SRF02_RANGE_DELAY (70000U)
43
47typedef struct {
49 uint8_t addr;
50} srf02_t;
51
63
74int srf02_init(srf02_t *dev, i2c_t i2c, uint8_t addr);
75
94int srf02_trigger(const srf02_t *dev, srf02_mode_t mode);
95
104uint16_t srf02_read(const srf02_t *dev);
105
121uint16_t srf02_get_distance(const srf02_t *dev, srf02_mode_t mode);
122
132int srf02_set_addr(srf02_t *dev, uint8_t new_addr);
133
134#ifdef __cplusplus
135}
136#endif
137
uint_fast8_t i2c_t
Default i2c_t type definition.
Definition i2c.h:144
srf02_mode_t
Possible measurement modes of the SRF02 sensor.
Definition srf02.h:55
uint16_t srf02_read(const srf02_t *dev)
Read the results of the last ranging operation.
int srf02_trigger(const srf02_t *dev, srf02_mode_t mode)
Trigger a new measurement.
int srf02_init(srf02_t *dev, i2c_t i2c, uint8_t addr)
Initialize the SRF02 ultrasonic sensor.
int srf02_set_addr(srf02_t *dev, uint8_t new_addr)
Program the given device with a new bus address.
uint16_t srf02_get_distance(const srf02_t *dev, srf02_mode_t mode)
Get the distance measured from the SRF02 ultrasonic sensor.
@ SRF02_MODE_REAL_INCH
result in inches
Definition srf02.h:56
@ SRF02_MODE_REAL_MS
result in microseconds
Definition srf02.h:58
@ SRF02_MODE_REAL_CM
result in centimeters
Definition srf02.h:57
@ SRF02_MODE_FAKE_CM
result in cm (no pulse send)
Definition srf02.h:60
@ SRF02_MODE_FAKE_MS
result in ms (no pulse send)
Definition srf02.h:61
@ SRF02_MODE_FAKE_INCH
result in inches (no pulse send)
Definition srf02.h:59
Low-level I2C peripheral driver interface definition.
Device descriptor for SRF02 sensors.
Definition srf02.h:47
uint8_t addr
I2C bus address of the sensor.
Definition srf02.h:49
i2c_t i2c
I2C device the sensor is connected to.
Definition srf02.h:48