diff options
author | Josh <josh@visionistinc.com> | 2018-11-03 12:22:57 -0400 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2018-11-03 12:22:57 -0400 |
commit | 0633eb027308f08331cb33f27ddbe7cb3a08cda8 (patch) | |
tree | 3e0069becc90dd318480872dedcdcbd32250eed1 /quantum/audio/audio_arm.c | |
parent | cd544e10a98b4bfd7f988d713dea446be9eb1b83 (diff) | |
download | qmk_firmware-0633eb027308f08331cb33f27ddbe7cb3a08cda8.tar.gz qmk_firmware-0633eb027308f08331cb33f27ddbe7cb3a08cda8.zip |
Increasing square wave buffer to max volume. (#4296)
* Increasing square wave buffer to max volume.
* Using range designated initializers for square waves; defining DAC_SAMPLE_MAX.
Diffstat (limited to 'quantum/audio/audio_arm.c')
-rw-r--r-- | quantum/audio/audio_arm.c | 133 |
1 files changed, 9 insertions, 124 deletions
diff --git a/quantum/audio/audio_arm.c b/quantum/audio/audio_arm.c index d38184f32..18e8a8c66 100644 --- a/quantum/audio/audio_arm.c +++ b/quantum/audio/audio_arm.c | |||
@@ -80,6 +80,7 @@ float startup_song[][2] = STARTUP_SONG; | |||
80 | static void gpt_cb8(GPTDriver *gptp); | 80 | static void gpt_cb8(GPTDriver *gptp); |
81 | 81 | ||
82 | #define DAC_BUFFER_SIZE 720 | 82 | #define DAC_BUFFER_SIZE 720 |
83 | #define DAC_SAMPLE_MAX 65535U | ||
83 | 84 | ||
84 | #define START_CHANNEL_1() gptStart(&GPTD6, &gpt6cfg1); \ | 85 | #define START_CHANNEL_1() gptStart(&GPTD6, &gpt6cfg1); \ |
85 | gptStartContinuous(&GPTD6, 2U) | 86 | gptStartContinuous(&GPTD6, 2U) |
@@ -202,132 +203,16 @@ GPTConfig gpt8cfg1 = { | |||
202 | 203 | ||
203 | // squarewave | 204 | // squarewave |
204 | static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = { | 205 | static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = { |
205 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | 206 | // First half is max, second half is 0 |
206 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | 207 | [0 ... DAC_BUFFER_SIZE/2-1] = DAC_SAMPLE_MAX, |
207 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | 208 | [DAC_BUFFER_SIZE/2 ... DAC_BUFFER_SIZE -1] = 0, |
208 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
209 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
210 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
211 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
212 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
213 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
214 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
215 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
216 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
217 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
218 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
219 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
220 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
221 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
222 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
223 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
224 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
225 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
226 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
227 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
228 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
229 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
230 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
231 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
232 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
233 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
234 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
235 | |||
236 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
237 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
238 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
239 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
240 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
241 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
242 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
243 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
244 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
245 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
246 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
247 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
248 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
249 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
250 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
251 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
252 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
253 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
254 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
255 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
256 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
257 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
258 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
259 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
260 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
261 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
262 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
263 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
264 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
265 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | ||
266 | }; | 209 | }; |
267 | 210 | ||
268 | // squarewave | 211 | // squarewave |
269 | static const dacsample_t dac_buffer_2[DAC_BUFFER_SIZE] = { | 212 | static const dacsample_t dac_buffer_2[DAC_BUFFER_SIZE] = { |
270 | 213 | // opposite of dac_buffer above | |
271 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 214 | [0 ... DAC_BUFFER_SIZE/2-1] = 0, |
272 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 215 | [DAC_BUFFER_SIZE/2 ... DAC_BUFFER_SIZE -1] = DAC_SAMPLE_MAX, |
273 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
274 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
275 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
276 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
277 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
278 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
279 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
280 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
281 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
282 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
283 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
284 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
285 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
286 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
287 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
288 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
289 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
290 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
291 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
292 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
293 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
294 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
295 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
296 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
297 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
298 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
299 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
300 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
301 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
302 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
303 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
304 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
305 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
306 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
307 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
308 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
309 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
310 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
311 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
312 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
313 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
314 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
315 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
316 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
317 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
318 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
319 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
320 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
321 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
322 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
323 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
324 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
325 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
326 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
327 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
328 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
329 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, | ||
330 | 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047 | ||
331 | }; | 216 | }; |
332 | 217 | ||
333 | /* | 218 | /* |
@@ -363,7 +248,7 @@ static void error_cb1(DACDriver *dacp, dacerror_t err) { | |||
363 | } | 248 | } |
364 | 249 | ||
365 | static const DACConfig dac1cfg1 = { | 250 | static const DACConfig dac1cfg1 = { |
366 | .init = 2047U, | 251 | .init = DAC_SAMPLE_MAX, |
367 | .datamode = DAC_DHRM_12BIT_RIGHT | 252 | .datamode = DAC_DHRM_12BIT_RIGHT |
368 | }; | 253 | }; |
369 | 254 | ||
@@ -375,7 +260,7 @@ static const DACConversionGroup dacgrpcfg1 = { | |||
375 | }; | 260 | }; |
376 | 261 | ||
377 | static const DACConfig dac1cfg2 = { | 262 | static const DACConfig dac1cfg2 = { |
378 | .init = 2047U, | 263 | .init = DAC_SAMPLE_MAX, |
379 | .datamode = DAC_DHRM_12BIT_RIGHT | 264 | .datamode = DAC_DHRM_12BIT_RIGHT |
380 | }; | 265 | }; |
381 | 266 | ||