Swadge 2024 2.0.0
APIs to develop games for the Magfest Swadge
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
hdw-dac.h
Go to the documentation of this file.
1
63#pragma once
64
65//==============================================================================
66// Includes
67//==============================================================================
68
69#include <stdint.h>
70#include <stdbool.h>
71#include "driver/dac_continuous.h"
72#include "driver/gpio.h"
73
74//==============================================================================
75// Defines
76//==============================================================================
77
79#define DAC_SAMPLE_RATE_HZ 16384
80
82#define DAC_BUF_SIZE 512
83
84//==============================================================================
85// Typedefs
86//==============================================================================
87
94typedef void (*fnDacCallback_t)(uint8_t* samples, int16_t len);
95
96//==============================================================================
97// Function Declarations
98//==============================================================================
99
100void initDac(dac_channel_mask_t channel, gpio_num_t shdn_gpio, fnDacCallback_t cb);
101void deinitDac(void);
102void powerDownDac(void);
103void powerUpDac(void);
104void dacPoll(void);
105void dacStart(void);
106void dacStop(void);
107void setDacShutdown(bool shutdown);
void powerUpDac(void)
Power up the DAC (speaker)
Definition hdw-dac.c:150
void setDacShutdown(bool shutdown)
Set the shutdown state of the DAC.
Definition hdw-dac.c:211
void dacStop(void)
Stop the DAC.
Definition hdw-dac.c:172
void dacPoll(void)
Poll the queue to see if any buffers need to be filled with audio samples.
Definition hdw-dac.c:186
void initDac(dac_channel_mask_t channel, gpio_num_t shdn_gpio, fnDacCallback_t cb)
Initialize the DAC.
Definition hdw-dac.c:74
void powerDownDac(void)
Power down the DAC (speaker)
Definition hdw-dac.c:142
void deinitDac(void)
Deinitialize the DAC and free memory.
Definition hdw-dac.c:121
void dacStart(void)
Start the DAC. This will cause samples to be requested from the application.
Definition hdw-dac.c:158
void(* fnDacCallback_t)(uint8_t *samples, int16_t len)
A callback which requests DAC samples from the application.
Definition hdw-dac.h:94