Mercurial > hg > beaglert
view include/I2c_Codec.h @ 134:09a32ca96255
Fixed and improved I2c_codec. Copied from the scope-refactoring branch
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Thu, 27 Aug 2015 03:39:11 +0100 |
parents | ef9392d077a4 |
children | d064234468cd |
line wrap: on
line source
/* * I2c_Codec.h * * Handle writing the registers to the TLV320AIC310x * series audio codecs, used on the BeagleBone Audio Cape. * This code is designed to bypass the ALSA driver and * configure the codec directly in a sensible way. It * is complemented by code running on the PRU which uses * the McASP serial port to transfer audio data. * * Created on: May 25, 2014 * Author: Andrew McPherson */ #ifndef I2CCODEC_H_ #define I2CCODEC_H_ #include "I2c.h" class I2c_Codec : public I2c { short unsigned int pllJ; short unsigned int pllD; public: int writeRegister(unsigned int reg, unsigned int value); int initCodec(); int startAudio(int dual_rate); int stopAudio(); int setPllJ(short unsigned int j); int setPllD(unsigned int d); int setPllK(float k); int setAudioSamplingRate(float newSamplingRate); short unsigned int getPllJ(); unsigned int getPllD(); float getPllK(); float getAudioSamplingRate(); int setDACVolume(int halfDbSteps); int writeDACVolumeRegisters(bool mute); int setADCVolume(int halfDbSteps); int writeADCVolumeRegisters(bool mute); int setHPVolume(int halfDbSteps); int writeHPVolumeRegisters(); int readI2C(); I2c_Codec(); ~I2c_Codec(); private: bool running; int dacVolumeHalfDbs; int adcVolumeHalfDbs; int hpVolumeHalfDbs; }; #endif /* I2CCODEC_H_ */