SparkFun Qwiic Ultrasonic Distance Sensor  v1.1.2-5-gc1d2217
SparkFun Qwiic Ultrasonic Distance Sensor
Loading...
Searching...
No Matches
sfeQwiicUltrasonic.h
Go to the documentation of this file.
1/* SparkFun Ulrasonic Distance Sensor
2 *
3 * Product:
4 * * SparkFun Qwiic Ultrasonic Distance Sensor - HC-SR04 (SEN-1XXXX)
5 * * https://www.sparkfun.com/1XXXX
6 *
7 * SPDX-License-Identifier: MIT
8 *
9 * Copyright (c) 2024 SparkFun Electronics
10 */
11
12#pragma once
13
14#include "SparkFun_Toolkit.h"
15
16// Available I2C addresses of the Qwiic Ultrasonic
17const uint8_t kQwiicUltrasonicDefaultAddress = 0x2F;
18
19// Firmware versions. The later hardware version is v10 and so the "latest" here
20// refers to that. The previous version is randomnly given the value v01.
21const uint8_t kQwiicUltrasonicFWLatest = 0x10;
22const uint8_t kQwiicUltrasonicFWOld = 0x01;
23
24// These addresses are the min and max (respectively) of valid I2C addresses that can
25// be used for the newest revision of the Qwiic Ultrasonic sensor.
26const uint8_t kQwiicUltrasonicI2CAddressMin = 0x08;
27const uint8_t kQwiicUltrasonicI2CAddressMax = 0x77;
28
29// Available I2C addresses of the older SparkFun Qwiic Ultrasonic Sensor.
30const uint8_t kQwiicUltrasonicMinAddress = 0x20;
31const uint8_t kQwiicUltrasonicMaxAddress = 0x2F;
32;
33// I2C commands
34const uint8_t kUltrasonicDistanceReadCommand = 0x01;
36
38{
39 public:
43 {
44 }
45
49 sfeQwiicUltrasonic(const uint8_t fwVersion) : _theBus(nullptr), _fwVersion(fwVersion)
50 {
51 }
52
56 sfeTkError_t begin(sfeTkII2C *theBus = nullptr);
57
60 sfeTkError_t isConnected();
61
65 sfeTkError_t triggerAndRead(uint16_t &distance);
66
70 sfeTkError_t changeAddress(uint8_t &address);
71
74 uint8_t getAddress();
75
76 protected:
77 sfeTkII2C *_theBus;
78
79 private:
80 uint8_t _fwVersion = 0x00;
81};
Definition: sfeQwiicUltrasonic.h:38
sfeQwiicUltrasonic()
Default constructor.
Definition: sfeQwiicUltrasonic.h:42
sfeTkError_t isConnected()
Checks if the Qwiic Ultrasonic sensor is connected.
Definition: sfeQwiicUltrasonic.cpp:40
sfeQwiicUltrasonic(const uint8_t fwVersion)
Alternate constructor.
Definition: sfeQwiicUltrasonic.h:49
uint8_t getAddress()
Gets the current I2C address being used by the library for the Qwiic Ultrasonic sensor.
Definition: sfeQwiicUltrasonic.cpp:111
sfeTkError_t begin(sfeTkII2C *theBus=nullptr)
Begins the Qwiic Ultrasonic sensor.
Definition: sfeQwiicUltrasonic.cpp:15
sfeTkError_t changeAddress(uint8_t &address)
Changes the I2C address of older Qwiic Ultrasonic sensors.
Definition: sfeQwiicUltrasonic.cpp:66
sfeTkII2C * _theBus
Definition: sfeQwiicUltrasonic.h:77
sfeTkError_t triggerAndRead(uint16_t &distance)
Triggers a new measurement and reads the previous one.
Definition: sfeQwiicUltrasonic.cpp:46
const uint8_t kQwiicUltrasonicI2CAddressMin
Definition: sfeQwiicUltrasonic.h:26
const uint8_t kQwiicUltrasonicMinAddress
Definition: sfeQwiicUltrasonic.h:30
const uint8_t kUltrasonicDistanceReadCommand
Definition: sfeQwiicUltrasonic.h:34
const uint8_t kQwiicUltrasonicDefaultAddress
Definition: sfeQwiicUltrasonic.h:17
const uint8_t kQwiicUltrasonicFWOld
Definition: sfeQwiicUltrasonic.h:22
const uint8_t kQwiicUltrasonicI2CAddressMax
Definition: sfeQwiicUltrasonic.h:27
const uint8_t kQwiicUltrasonicFWLatest
Definition: sfeQwiicUltrasonic.h:21
const uint8_t kQwiicUltrasonicMaxAddress
Definition: sfeQwiicUltrasonic.h:31
const uint8_t kUltrasonicAddressChangeCommand
Definition: sfeQwiicUltrasonic.h:35