[Audio] Add support for audio shutdown pin (#22731)
Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
parent
045e5c9729
commit
83e6ddbbb4
15 changed files with 95 additions and 88 deletions
|
@ -213,7 +213,7 @@ void channel_2_stop(void) {
|
|||
}
|
||||
#endif
|
||||
|
||||
void audio_driver_initialize(void) {
|
||||
void audio_driver_initialize_impl(void) {
|
||||
#ifdef AUDIO1_PIN_SET
|
||||
channel_1_stop();
|
||||
gpio_set_pin_output(AUDIO1_PIN);
|
||||
|
@ -254,7 +254,7 @@ void audio_driver_initialize(void) {
|
|||
#endif
|
||||
}
|
||||
|
||||
void audio_driver_stop(void) {
|
||||
void audio_driver_stop_impl(void) {
|
||||
#ifdef AUDIO1_PIN_SET
|
||||
channel_1_stop();
|
||||
#endif
|
||||
|
@ -264,7 +264,7 @@ void audio_driver_stop(void) {
|
|||
#endif
|
||||
}
|
||||
|
||||
void audio_driver_start(void) {
|
||||
void audio_driver_start_impl(void) {
|
||||
#ifdef AUDIO1_PIN_SET
|
||||
channel_1_start();
|
||||
if (playing_note) {
|
||||
|
|
|
@ -303,7 +303,7 @@ static const DACConfig dac_conf = {.init = AUDIO_DAC_OFF_VALUE, .datamode = DAC_
|
|||
*/
|
||||
static const DACConversionGroup dac_conv_cfg = {.num_channels = 1U, .end_cb = dac_end, .error_cb = dac_error, .trigger = DAC_TRG(0b000)};
|
||||
|
||||
void audio_driver_initialize(void) {
|
||||
void audio_driver_initialize_impl(void) {
|
||||
if ((AUDIO_PIN == A4) || (AUDIO_PIN_ALT == A4)) {
|
||||
palSetLineMode(A4, PAL_MODE_INPUT_ANALOG);
|
||||
dacStart(&DACD1, &dac_conf);
|
||||
|
@ -350,11 +350,11 @@ void audio_driver_initialize(void) {
|
|||
gptStart(&GPTD6, &gpt6cfg1);
|
||||
}
|
||||
|
||||
void audio_driver_stop(void) {
|
||||
void audio_driver_stop_impl(void) {
|
||||
state = OUTPUT_SHOULD_STOP;
|
||||
}
|
||||
|
||||
void audio_driver_start(void) {
|
||||
void audio_driver_start_impl(void) {
|
||||
gptStartContinuous(&GPTD6, 2U);
|
||||
|
||||
for (uint8_t i = 0; i < AUDIO_MAX_SIMULTANEOUS_TONES; i++) {
|
||||
|
|
|
@ -190,7 +190,7 @@ static void gpt_audio_state_cb(GPTDriver *gptp) {
|
|||
}
|
||||
}
|
||||
|
||||
void audio_driver_initialize(void) {
|
||||
void audio_driver_initialize_impl(void) {
|
||||
if ((AUDIO_PIN == A4) || (AUDIO_PIN_ALT == A4)) {
|
||||
palSetPadMode(GPIOA, 4, PAL_MODE_INPUT_ANALOG);
|
||||
dacStart(&DACD1, &dac_conf_ch1);
|
||||
|
@ -223,7 +223,7 @@ void audio_driver_initialize(void) {
|
|||
gptStart(&AUDIO_STATE_TIMER, &gptStateUpdateCfg);
|
||||
}
|
||||
|
||||
void audio_driver_stop(void) {
|
||||
void audio_driver_stop_impl(void) {
|
||||
if ((AUDIO_PIN == A4) || (AUDIO_PIN_ALT == A4)) {
|
||||
gptStopTimer(&GPTD6);
|
||||
|
||||
|
@ -241,7 +241,7 @@ void audio_driver_stop(void) {
|
|||
gptStopTimer(&AUDIO_STATE_TIMER);
|
||||
}
|
||||
|
||||
void audio_driver_start(void) {
|
||||
void audio_driver_start_impl(void) {
|
||||
if ((AUDIO_PIN == A4) || (AUDIO_PIN_ALT == A4)) {
|
||||
dacStartConversion(&DACD1, &dac_conv_grp_ch1, (dacsample_t *)dac_buffer_1, AUDIO_DAC_BUFFER_SIZE);
|
||||
}
|
||||
|
|
|
@ -87,7 +87,7 @@ static void audio_callback(virtual_timer_t *vtp, void *p) {
|
|||
chSysUnlockFromISR();
|
||||
}
|
||||
|
||||
void audio_driver_initialize(void) {
|
||||
void audio_driver_initialize_impl(void) {
|
||||
pwmStart(&AUDIO_PWM_DRIVER, &pwmCFG);
|
||||
|
||||
// connect the AUDIO_PIN to the PWM hardware
|
||||
|
@ -100,7 +100,7 @@ void audio_driver_initialize(void) {
|
|||
chVTObjectInit(&audio_vt);
|
||||
}
|
||||
|
||||
void audio_driver_start(void) {
|
||||
void audio_driver_start_impl(void) {
|
||||
channel_1_stop();
|
||||
channel_1_start();
|
||||
|
||||
|
@ -115,7 +115,7 @@ void audio_driver_start(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void audio_driver_stop(void) {
|
||||
void audio_driver_stop_impl(void) {
|
||||
channel_1_stop();
|
||||
chVTReset(&audio_vt);
|
||||
}
|
||||
|
|
|
@ -121,7 +121,7 @@ GPTConfig gptCFG = {
|
|||
.callback = gpt_callback,
|
||||
};
|
||||
|
||||
void audio_driver_initialize(void) {
|
||||
void audio_driver_initialize_impl(void) {
|
||||
pwmStart(&AUDIO_PWM_DRIVER, &pwmCFG);
|
||||
|
||||
palSetLineMode(AUDIO_PIN, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
|
@ -138,7 +138,7 @@ void audio_driver_initialize(void) {
|
|||
gptStart(&AUDIO_STATE_TIMER, &gptCFG);
|
||||
}
|
||||
|
||||
void audio_driver_start(void) {
|
||||
void audio_driver_start_impl(void) {
|
||||
channel_1_stop();
|
||||
channel_1_start();
|
||||
|
||||
|
@ -147,7 +147,7 @@ void audio_driver_start(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void audio_driver_stop(void) {
|
||||
void audio_driver_stop_impl(void) {
|
||||
channel_1_stop();
|
||||
gptStopTimer(&AUDIO_STATE_TIMER);
|
||||
}
|
||||
|
|
|
@ -15,6 +15,6 @@
|
|||
|
||||
#include "audio.h"
|
||||
|
||||
void audio_driver_initialize(void) {}
|
||||
void audio_driver_start() {}
|
||||
void audio_driver_stop() {}
|
||||
void audio_driver_initialize_impl(void) {}
|
||||
void audio_driver_start_impl() {}
|
||||
void audio_driver_stop_impl() {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue