|
|
@@ -30,6 +30,10 @@ |
|
|
|
#include <AudioStream.h> |
|
|
|
#include "AudioControl.h" |
|
|
|
|
|
|
|
// SGTL5000-specific defines for headphones |
|
|
|
#define AUDIO_HEADPHONE_DAC 0 |
|
|
|
#define AUDIO_HEADPHONE_LINEIN 1 |
|
|
|
|
|
|
|
class AudioControlSGTL5000 : public AudioControl |
|
|
|
{ |
|
|
|
public: |
|
|
@@ -56,6 +60,15 @@ public: |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
bool headphoneSelect(int n) { |
|
|
|
if (n == AUDIO_HEADPHONE_DAC) { |
|
|
|
return write(0x0024, ana_ctrl | (1<<6)); // route DAC to headphones out |
|
|
|
} else if (n == AUDIO_HEADPHONE_LINEIN) { |
|
|
|
return write(0x0024, ana_ctrl & ~(1<<6)); // route linein to headphones out |
|
|
|
} else { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
bool volume(float left, float right); |
|
|
|
bool micGain(unsigned int dB); |
|
|
|
bool lineInLevel(uint8_t n) { return lineInLevel(n, n); } |