summaryrefslogtreecommitdiff
path: root/quantum/audio/audio_arm.c
diff options
context:
space:
mode:
authorFlorian Didron <florian@111studio.jp>2019-05-28 17:29:01 +0900
committerFlorian Didron <florian@111studio.jp>2019-05-28 17:29:01 +0900
commit96147e03e8b6dc29a0f04bac37a0f231bbf2f580 (patch)
tree5089737ee8df2a1bc58f0e9aa69a4fd3cd2c884c /quantum/audio/audio_arm.c
parent548848645ada9c5d58b441d8773d9c050300d220 (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.c16
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()