diff options
author | Florian Didron <florian@111studio.jp> | 2019-05-28 17:29:01 +0900 |
---|---|---|
committer | Florian Didron <florian@111studio.jp> | 2019-05-28 17:29:01 +0900 |
commit | 96147e03e8b6dc29a0f04bac37a0f231bbf2f580 (patch) | |
tree | 5089737ee8df2a1bc58f0e9aa69a4fd3cd2c884c /quantum/audio/audio_arm.c | |
parent | 548848645ada9c5d58b441d8773d9c050300d220 (diff) |
Fixes the A5 HIGH consistently with weird noise output
Diffstat (limited to 'quantum/audio/audio_arm.c')
-rw-r--r-- | quantum/audio/audio_arm.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/quantum/audio/audio_arm.c b/quantum/audio/audio_arm.c index e5164f2abb..b110cbedd1 100644 --- a/quantum/audio/audio_arm.c +++ b/quantum/audio/audio_arm.c @@ -84,14 +84,20 @@ static void gpt_cb8(GPTDriver *gptp); #define DAC_SAMPLE_MAX 65535U #endif -#define START_CHANNEL_1() gptStart(&GPTD6, &gpt6cfg1); \ - gptStartContinuous(&GPTD6, 2U); \ - palSetPadMode(GPIOA, 5, PAL_MODE_INPUT_ANALOG); +#define START_CHANNEL_1() dacStart(&DACD1, &dac1cfg1); \ + dacStart(&DACD2, &dac1cfg2); \ + dacStartConversion(&DACD1, &dacgrpcfg1, (dacsample_t *)dac_buffer, DAC_BUFFER_SIZE); \ + dacStartConversion(&DACD2, &dacgrpcfg2, (dacsample_t *)dac_buffer_2, DAC_BUFFER_SIZE); \ + gptStart(&GPTD6, &gpt6cfg1); \ + gptStartContinuous(&GPTD6, 2U); \ + palSetPadMode(GPIOA, 5, PAL_MODE_INPUT_ANALOG); #define START_CHANNEL_2() gptStart(&GPTD7, &gpt7cfg1); \ gptStartContinuous(&GPTD7, 2U) #define STOP_CHANNEL_1() gptStopTimer(&GPTD6); \ - palSetPadMode(GPIOA, 5, PAL_MODE_OUTPUT_PUSHPULL); \ - palSetPad(GPIOA, 5); + dacStopConversion(&DACD2); \ + dacStop(&DACD2); \ + palSetPadMode(GPIOA, 5, PAL_MODE_OUTPUT_PUSHPULL ); \ + palSetPad(GPIOA, 5) #define STOP_CHANNEL_2() gptStopTimer(&GPTD7) #define RESTART_CHANNEL_1() STOP_CHANNEL_1(); \ START_CHANNEL_1() |