SparkFun Qwiic Buzzer  v1.0.1-17-gba6cd53
Library for the SparkFun Qwiic Buzzer
Loading...
Searching...
No Matches
sfDevBuzzer.h
Go to the documentation of this file.
1
20#pragma once
21
22#include "sfDevBuzzerPitches.h"
24
25#include <stdint.h>
26
27// include the sparkfun toolkit headers
28#include <sfTk/sfToolkit.h>
29
30// Bus interfaces
31#include <sfTk/sfTkII2C.h>
32
33#define SFE_QWIIC_BUZZER_DEFAULT_ADDRESS 0x34
34#define SFE_QWIIC_BUZZER_DEVICE_ID 0x5E
35#define SFE_QWIIC_BUZZER_RESONANT_FREQUENCY 2730
36#define SFE_QWIIC_BUZZER_VOLUME_OFF 0
37#define SFE_QWIIC_BUZZER_VOLUME_MIN 1
38#define SFE_QWIIC_BUZZER_VOLUME_LOW 2
39#define SFE_QWIIC_BUZZER_VOLUME_MID 3
40#define SFE_QWIIC_BUZZER_VOLUME_MAX 4
41
43{
44 public:
46 sfDevBuzzer() : _theBus{nullptr}
47 {
48 }
49
53 sfTkError_t begin(sfTkII2C *theBus = nullptr);
54
57 sfTkError_t isConnected();
58
62 sfTkError_t deviceId(uint8_t &deviceId);
63
67 bool firmwareVersionMajor(uint8_t &versionMajor);
68
72 bool firmwareVersionMinor(uint8_t &versionMinor);
73
84 sfTkError_t configureBuzzer(const uint16_t toneFrequency = SFE_QWIIC_BUZZER_RESONANT_FREQUENCY,
85 const uint16_t duration = 0, const uint8_t volume = 4);
86
89 sfTkError_t on();
90
93 sfTkError_t off();
94
97 sfTkError_t saveSettings();
98
102 sfTkError_t setAddress(const uint8_t &address);
103
106 uint8_t address();
107
112 bool playSoundEffect(const uint8_t soundEffectNumber, const uint8_t volume);
113
114 private:
121 sfTkError_t soundEffect0(const uint8_t volume);
122
129 sfTkError_t soundEffect1(const uint8_t volume);
130
138 sfTkError_t soundEffect2(const uint8_t volume);
139
148 sfTkError_t soundEffect3(const uint8_t volume);
149
157 sfTkError_t soundEffect4(const uint8_t volume);
158
167 sfTkError_t soundEffect5(const uint8_t volume);
168
173 sfTkError_t soundEffect6(const uint8_t volume);
174
180 sfTkError_t soundEffect7(const uint8_t volume);
181
186 sfTkError_t soundEffect8(const uint8_t volume);
187
193 sfTkError_t soundEffect9(const uint8_t volume);
194
195 protected:
196 sfTkII2C *_theBus;
197};
Definition: sfDevBuzzer.h:43
sfTkError_t off()
Turns off buzzer.
Definition: sfDevBuzzer.cpp:116
sfTkError_t deviceId(uint8_t &deviceId)
Reads the Device ID of the Qwiic Buzzer.
Definition: sfDevBuzzer.cpp:56
sfTkError_t saveSettings()
Stores settings to EEPROM.
Definition: sfDevBuzzer.cpp:121
sfTkError_t setAddress(const uint8_t &address)
Changes the I2C address of the Qwiic Buzzer.
Definition: sfDevBuzzer.cpp:126
bool firmwareVersionMajor(uint8_t &versionMajor)
Reads the Firmware Version Major of the Qwiic Buzzer.
Definition: sfDevBuzzer.cpp:61
uint8_t address()
Gets the current I2C address of the Qwiic Buzzer.
Definition: sfDevBuzzer.cpp:146
sfDevBuzzer()
Default constructor.
Definition: sfDevBuzzer.h:46
sfTkError_t isConnected()
Checks if the Qwiic Buzzer is connected.
Definition: sfDevBuzzer.cpp:50
sfTkError_t configureBuzzer(const uint16_t toneFrequency=SFE_QWIIC_BUZZER_RESONANT_FREQUENCY, const uint16_t duration=0, const uint8_t volume=4)
Configures the Qwiic Buzzer without causing the buzzer to buzz. This allows configuration in silence ...
Definition: sfDevBuzzer.cpp:81
sfTkII2C * _theBus
Definition: sfDevBuzzer.h:196
bool firmwareVersionMinor(uint8_t &versionMinor)
Reads the Firmware Version Minor of the Qwiic Buzzer.
Definition: sfDevBuzzer.cpp:71
sfTkError_t begin(sfTkII2C *theBus=nullptr)
Begins the Qwiic Buzzer.
Definition: sfDevBuzzer.cpp:21
bool playSoundEffect(const uint8_t soundEffectNumber, const uint8_t volume)
Plays one of the sound effects included in this library.
Definition: sfDevBuzzer.cpp:151
sfTkError_t on()
Turns on buzzer.
Definition: sfDevBuzzer.cpp:111
#define SFE_QWIIC_BUZZER_RESONANT_FREQUENCY
Definition: sfDevBuzzer.h:35
Header file for SparkFun Qwiic Buzzer Library containing note definitions.
Header file defining the virtual memory map for the Qwiic Buzzer.