annotate include/I2c_Codec.h @ 68:59edd5780fef

Changed d-box code to run cleanly when built on board. Updated Makefile to add ne10 include path on board. Some extra docs in Utilities.h
author andrewm
date Fri, 17 Jul 2015 16:57:08 +0100
parents 8a575ba3ab52
children ef9392d077a4
rev   line source
andrewm@0 1 /*
andrewm@0 2 * I2c_Codec.h
andrewm@0 3 *
andrewm@0 4 * Handle writing the registers to the TLV320AIC310x
andrewm@0 5 * series audio codecs, used on the BeagleBone Audio Cape.
andrewm@0 6 * This code is designed to bypass the ALSA driver and
andrewm@0 7 * configure the codec directly in a sensible way. It
andrewm@0 8 * is complemented by code running on the PRU which uses
andrewm@0 9 * the McASP serial port to transfer audio data.
andrewm@0 10 *
andrewm@0 11 * Created on: May 25, 2014
andrewm@0 12 * Author: Andrew McPherson
andrewm@0 13 */
andrewm@0 14
andrewm@0 15
andrewm@0 16 #ifndef I2CCODEC_H_
andrewm@0 17 #define I2CCODEC_H_
andrewm@0 18
andrewm@0 19 #include "I2c.h"
andrewm@0 20
andrewm@0 21
andrewm@0 22 class I2c_Codec : public I2c
andrewm@0 23 {
andrewm@0 24 public:
andrewm@0 25 int writeRegister(unsigned int reg, unsigned int value);
andrewm@0 26
andrewm@0 27 int initCodec();
andrewm@0 28 int startAudio(int dual_rate);
andrewm@0 29 int stopAudio();
andrewm@0 30
andrewm@0 31 int setDACVolume(int halfDbSteps);
andrewm@0 32 int writeDACVolumeRegisters(bool mute);
andrewm@0 33 int setADCVolume(int halfDbSteps);
andrewm@0 34 int writeADCVolumeRegisters(bool mute);
andrewm@0 35 int setHPVolume(int halfDbSteps);
andrewm@0 36 int writeHPVolumeRegisters();
andrewm@0 37
andrewm@0 38 int readI2C();
andrewm@0 39
andrewm@0 40 I2c_Codec();
andrewm@0 41 ~I2c_Codec();
andrewm@0 42
andrewm@0 43 private:
andrewm@0 44 bool running;
andrewm@0 45 int dacVolumeHalfDbs;
andrewm@0 46 int adcVolumeHalfDbs;
andrewm@0 47 int hpVolumeHalfDbs;
andrewm@0 48 };
andrewm@0 49
andrewm@0 50
andrewm@0 51 #endif /* I2CCODEC_H_ */