12 #include "AudioCodec.h"
15 #define REG_PLL_CLK_CONTROL_0 0
16 #define REG_PLL_CLK_CONTROL_1 1
17 #define REG_DAC_CONTROL_0 2
18 #define REG_DAC_CONTROL_1 3
19 #define REG_DAC_CONTROL_2 4
20 #define REG_DAC_CHANNEL_MUTES 5
21 #define REG_DAC_VOLUME_L1 6
22 #define REG_DAC_VOLUME_R1 7
23 #define REG_DAC_VOLUME_L2 8
24 #define REG_DAC_VOLUME_R2 9
25 #define REG_DAC_VOLUME_L3 10
26 #define REG_DAC_VOLUME_R3 11
27 #define REG_DAC_VOLUME_L4 12
28 #define REG_DAC_VOLUME_R4 13
29 #define REG_ADC_CONTROL_0 14
30 #define REG_ADC_CONTROL_1 15
31 #define REG_ADC_CONTROL_2 16
41 Spi_Codec(
const char* spidev_gpio_cs0,
const char* spidev_gpio_cs1,
bool isVerbose =
false);
44 int writeRegister(
unsigned char reg,
unsigned char value, CODEC_TYPE codec = MASTER_CODEC);
45 unsigned char readRegister(
unsigned char reg, CODEC_TYPE codec = MASTER_CODEC);
48 int startAudio(
int shouldBeReady);
50 unsigned int getNumIns();
51 unsigned int getNumOuts();
52 float getSampleRate();
55 bool masterIsDetected();
56 bool slaveIsDetected();
57 int setLineOutVolume(
int channel,
float gain);
58 int setHpVolume(
int channel,
float gain) {
return 0; };
59 int setInputGain(
int channel,
float newGain) {
return 0; };
60 int disable() {
return 0;};
64 int _fd_master, _fd_slave;
65 std::vector<int> _dacVolumethreeEighthsDbs;
66 int _writeDACVolumeRegisters(
bool mute);
67 int _spiTransfer(
unsigned char* tx_buf,
unsigned char* rx_buf,
size_t bytes, CODEC_TYPE codec = MASTER_CODEC);
69 bool _isBeast =
false;
Definition: Spi_Codec.h:33
Definition: AudioCodec.h:29