19 #include "adi_processor.h" 21 #include <adi_beep_config.h> 22 #include <adi_callback.h> 23 #include <rtos_map/adi_rtos_map.h> 33 #if ADI_BEEP_INCLUDE_PLAY_SEQUENCE == 1 35 #define ADI_BEEP_MEMORY_SIZE (20u + ADI_SEM_SIZE) 38 #define ADI_BEEP_MEMORY_SIZE (12u + ADI_SEM_SIZE) 84 #define BEEP_CLK_FREQ (32768.0f) 85 #define FREQUENCY_ENCODE(x) (uint8_t)(BEEP_CLK_FREQ/(x) + 0.5f) 107 ADI_BEEP_FREQ_Cs4 = FREQUENCY_ENCODE(277.18f),
108 ADI_BEEP_FREQ_D4 = FREQUENCY_ENCODE(293.66f),
109 ADI_BEEP_FREQ_Ds4 = FREQUENCY_ENCODE(311.13f),
110 ADI_BEEP_FREQ_E4 = FREQUENCY_ENCODE(329.63f),
111 ADI_BEEP_FREQ_F4 = FREQUENCY_ENCODE(349.23f),
112 ADI_BEEP_FREQ_Fs4 = FREQUENCY_ENCODE(369.99f),
113 ADI_BEEP_FREQ_G4 = FREQUENCY_ENCODE(392.00f),
114 ADI_BEEP_FREQ_Gs4 = FREQUENCY_ENCODE(415.30f),
115 ADI_BEEP_FREQ_A4 = FREQUENCY_ENCODE(440.00f),
116 ADI_BEEP_FREQ_As4 = FREQUENCY_ENCODE(466.16f),
117 ADI_BEEP_FREQ_B4 = FREQUENCY_ENCODE(493.88f),
119 ADI_BEEP_FREQ_C5 = FREQUENCY_ENCODE(523.25f),
120 ADI_BEEP_FREQ_Cs5 = FREQUENCY_ENCODE(554.37f),
121 ADI_BEEP_FREQ_D5 = FREQUENCY_ENCODE(587.33f),
122 ADI_BEEP_FREQ_Ds5 = FREQUENCY_ENCODE(622.25f),
123 ADI_BEEP_FREQ_E5 = FREQUENCY_ENCODE(659.26f),
124 ADI_BEEP_FREQ_F5 = FREQUENCY_ENCODE(698.46f),
125 ADI_BEEP_FREQ_Fs5 = FREQUENCY_ENCODE(739.99f),
126 ADI_BEEP_FREQ_G5 = FREQUENCY_ENCODE(783.99f),
127 ADI_BEEP_FREQ_Gs5 = FREQUENCY_ENCODE(830.61f),
128 ADI_BEEP_FREQ_A5 = FREQUENCY_ENCODE(880.00f),
129 ADI_BEEP_FREQ_As5 = FREQUENCY_ENCODE(932.33f),
130 ADI_BEEP_FREQ_B5 = FREQUENCY_ENCODE(987.77f),
132 ADI_BEEP_FREQ_C6 = FREQUENCY_ENCODE(1046.50f),
133 ADI_BEEP_FREQ_Cs6 = FREQUENCY_ENCODE(1108.73f),
134 ADI_BEEP_FREQ_D6 = FREQUENCY_ENCODE(1174.66f),
135 ADI_BEEP_FREQ_Ds6 = FREQUENCY_ENCODE(1244.51f),
136 ADI_BEEP_FREQ_E6 = FREQUENCY_ENCODE(1318.51f),
137 ADI_BEEP_FREQ_F6 = FREQUENCY_ENCODE(1396.91f),
138 ADI_BEEP_FREQ_Fs6 = FREQUENCY_ENCODE(1479.98f),
139 ADI_BEEP_FREQ_G6 = FREQUENCY_ENCODE(1567.98f),
140 ADI_BEEP_FREQ_Gs6 = FREQUENCY_ENCODE(1661.22f),
141 ADI_BEEP_FREQ_A6 = FREQUENCY_ENCODE(1760.00f),
142 ADI_BEEP_FREQ_As6 = FREQUENCY_ENCODE(1864.66f),
143 ADI_BEEP_FREQ_B6 = FREQUENCY_ENCODE(1975.53f),
145 ADI_BEEP_FREQ_C7 = FREQUENCY_ENCODE(2093.00f),
146 ADI_BEEP_FREQ_Cs7 = FREQUENCY_ENCODE(2217.46f),
147 ADI_BEEP_FREQ_D7 = FREQUENCY_ENCODE(2349.32f),
148 ADI_BEEP_FREQ_Ds7 = FREQUENCY_ENCODE(2489.02f),
149 ADI_BEEP_FREQ_E7 = FREQUENCY_ENCODE(2637.02f),
150 ADI_BEEP_FREQ_F7 = FREQUENCY_ENCODE(2793.83f),
151 ADI_BEEP_FREQ_Fs7 = FREQUENCY_ENCODE(2959.96f),
152 ADI_BEEP_FREQ_G7 = FREQUENCY_ENCODE(3135.96f),
153 ADI_BEEP_FREQ_Gs7 = FREQUENCY_ENCODE(3322.44f),
154 ADI_BEEP_FREQ_A7 = FREQUENCY_ENCODE(3520.00f),
155 ADI_BEEP_FREQ_As7 = FREQUENCY_ENCODE(3729.31f),
156 ADI_BEEP_FREQ_B7 = FREQUENCY_ENCODE(3951.07f),
158 ADI_BEEP_FREQ_C8 = FREQUENCY_ENCODE(4186.01f),
159 ADI_BEEP_FREQ_Cs8 = FREQUENCY_ENCODE(4434.92f),
160 ADI_BEEP_FREQ_D8 = FREQUENCY_ENCODE(4698.64f),
161 ADI_BEEP_FREQ_Ds8 = FREQUENCY_ENCODE(4978.03f),
162 ADI_BEEP_FREQ_E8 = FREQUENCY_ENCODE(5274.04f),
163 ADI_BEEP_FREQ_F8 = FREQUENCY_ENCODE(5587.65f),
164 ADI_BEEP_FREQ_Fs8 = FREQUENCY_ENCODE(5919.91f),
165 ADI_BEEP_FREQ_G8 = FREQUENCY_ENCODE(6271.93f),
168 #define ADI_BEEP_DUR_ZERO (0) 169 #define ADI_BEEP_DUR_MIN (1) 170 #define ADI_BEEP_DUR_MAX (254) 171 #define ADI_BEEP_DUR_INFINITE (255) 174 typedef void * ADI_BEEP_HANDLE; 177 #define DURATION_ENCODE(x) (uint8_t)((float)ADI_BEEP_DUR_MAX/(float)(x) + 0.5f) 217 uint32_t
const MemorySize,
221 ADI_CALLBACK pfCallback,
222 void*
const pCBParam);
ADI_BEEP_RESULT adi_beep_PlayNote(ADI_BEEP_HANDLE const hDevice, ADI_BEEP_NOTE note)
Play a single note/beep.
ADI_BEEP_RESULT adi_beep_Open(ADI_BEEP_DEV_ID const DeviceNum, void *const pMemory, uint32_t const MemorySize, ADI_BEEP_HANDLE *const phDevice)
BEEP Initialization.
ADI_BEEP_NOTE_FREQUENCY frequency
ADI_BEEP_NOTE_DURATION duration
#define ADI_BEEP_DUR_INFINITE
ADI_BEEP_RESULT adi_beep_PlaySequence(ADI_BEEP_HANDLE const hDevice, ADI_BEEP_NOTE aSequence[], uint8_t count)
Play a beeper tone sequence.
ADI_BEEP_RESULT adi_beep_PlayTwoTone(ADI_BEEP_HANDLE const hDevice, ADI_BEEP_NOTE noteA, ADI_BEEP_NOTE noteB, uint8_t count)
Play a a repeating two-tone beep. Similar to an alarm.
ADI_BEEP_RESULT adi_beep_Wait(ADI_BEEP_HANDLE const hDevice)
Wait for the current playback to finish. This is a blocking call, that will not return until the curr...
ADI_BEEP_INTERRUPT
Beeper Interrupt Bits.
ADI_BEEP_RESULT adi_beep_Close(ADI_BEEP_HANDLE const hDevice)
Uninitialize and deallocate a BEEP device.
ADI_BEEP_NOTE_FREQUENCY
Beeper tone frequency list.
ADI_BEEP_RESULT adi_beep_RegisterCallback(ADI_BEEP_HANDLE const hDevice, ADI_CALLBACK pfCallback, void *const pCBParam)
Register a callback for the beeper driver.
ADI_BEEP_DEV_ID
Beeper Device IDs.
#define ADI_BEEP_DUR_ZERO
ADI_BEEP_RESULT adi_beep_Enable(ADI_BEEP_HANDLE const hDevice, bool const bFlag)
Enable or disable the beeper. Other APIs will automatically enable the beeper if required,...
ADI_BEEP_NOTE_DURATION
Beeper tone duration list.