Adding SGTL5000_Extended.h

pull/1/head
Chip Audette 8 years ago
parent 85a0271afc
commit 595ba0744e
  1. 40
      AudioControlSGTL5000_Extended.h
  2. 2
      OpenAudio_ArduinoLibrary.h

@ -0,0 +1,40 @@
/* AudioContolSGTL5000_Extended.h
*
* Purpose: Extends the functionality of the AudioControlSGTL5000 from the Teensy Audio Library
*
* Created: Chip Audette, Nov 2016
*
* License: MIT License. Use at your own risk
*/
#ifndef _AudioControlSGTL5000_Extended
#define _AudioControlSGTL5000_Extended
class AudioControlSGTL5000_Extended : public AudioControlSGTL5000
{
public:
AudioControlSGTL5000_Extended(void) {};
bool micBiasEnable(void) {
return micBiasEnable(3.0);
}
bool micBiasEnable(float volt) {
//in the SGTL5000 datasheet see Table 29. CHIP_MIC_CTRL Register 0x002A
///bias resistor is set via bits 9-8 (out of 15-0)
uint16_t bias_resistor_setting = 1 << 8; //set the bit for the registor to enable 2kOhm
//bias voltage is set via bits 6-4 (out of 15-0)
uint16_t bias_voltage_setting = ((uint16_t)((volt - 1.25) / 0.250 + 0.5)) << 4;
//combine the two settings and issue the command
return write(0x002A, bias_voltage_setting | bias_resistor_setting);
}
bool micBiasDisable(void) {
//in the SGTL5000 datasheet see Table 29. CHIP_MIC_CTRL Register 0x002A
return write(0x002A, 0x00);
}
};
#endif

@ -2,3 +2,5 @@
#include <AudioStream_F32.h> #include <AudioStream_F32.h>
#include <AudioConvert_F32.h> #include <AudioConvert_F32.h>
#include <AudioEffectGain_F32.h> #include <AudioEffectGain_F32.h>
#include <AudioControlSGTL5000_Extended.h>

Loading…
Cancel
Save