41 lines
757 B
C
41 lines
757 B
C
/**
|
|
* @file audio.h
|
|
* @brief Audio driver for PWM/DAC audio output
|
|
*/
|
|
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include "esp_err.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Audio sample rate */
|
|
#define AUDIO_SAMPLE_RATE 8000
|
|
|
|
/* Initialize audio output (PWM for ESP32S3, DAC for ESP32) */
|
|
esp_err_t audio_init(int gpio);
|
|
|
|
/* Play a beep/tone */
|
|
void audio_beep(uint16_t freq_hz, uint16_t duration_ms);
|
|
|
|
/* Play a startup sound */
|
|
void audio_play_startup(void);
|
|
|
|
/* Play a warning beep */
|
|
void audio_play_warning(void);
|
|
|
|
/* Set volume (0-100) */
|
|
void audio_set_volume(uint8_t volume);
|
|
|
|
/* Get current volume */
|
|
uint8_t audio_get_volume(void);
|
|
|
|
/* Audio task for continuous audio playback */
|
|
void audio_task(void *pvParameters);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|