1*1664436fSMatthias Ringwald /******************************************************************************* 2*1664436fSMatthias Ringwald Filename: hal_adc.h 3*1664436fSMatthias Ringwald 4*1664436fSMatthias Ringwald Copyright 2008 Texas Instruments, Inc. 5*1664436fSMatthias Ringwald ***************************************************************************/ 6*1664436fSMatthias Ringwald #ifndef HAL_ADC_H 7*1664436fSMatthias Ringwald #define HAL_ADC_H 8*1664436fSMatthias Ringwald 9*1664436fSMatthias Ringwald #define ACC_PWR_PIN BIT0 10*1664436fSMatthias Ringwald #define ACC_PORT_DIR P6DIR 11*1664436fSMatthias Ringwald #define ACC_PORT_OUT P6OUT 12*1664436fSMatthias Ringwald #define ACC_PORT_SEL P6SEL 13*1664436fSMatthias Ringwald 14*1664436fSMatthias Ringwald #define ACC_X_PIN BIT1 15*1664436fSMatthias Ringwald #define ACC_Y_PIN BIT2 16*1664436fSMatthias Ringwald #define ACC_Z_PIN BIT3 17*1664436fSMatthias Ringwald #define ACC_X_CHANNEL ADC12INCH_1 18*1664436fSMatthias Ringwald #define ACC_Y_CHANNEL ADC12INCH_2 19*1664436fSMatthias Ringwald #define ACC_Z_CHANNEL ADC12INCH_3 20*1664436fSMatthias Ringwald #define TEMP_CHANNEL ADC12INCH_10 21*1664436fSMatthias Ringwald #define VCC_CHANNEL ADC12INCH_11 22*1664436fSMatthias Ringwald 23*1664436fSMatthias Ringwald #define AUDIO_PORT_DIR P6DIR 24*1664436fSMatthias Ringwald #define AUDIO_PORT_OUT P6OUT 25*1664436fSMatthias Ringwald #define AUDIO_PORT_SEL P6SEL 26*1664436fSMatthias Ringwald 27*1664436fSMatthias Ringwald #define MIC_POWER_PIN BIT4 28*1664436fSMatthias Ringwald #define MIC_INPUT_PIN BIT5 29*1664436fSMatthias Ringwald #define MIC_INPUT_CHAN ADC12INCH_5 30*1664436fSMatthias Ringwald #define AUDIO_OUT_PWR_PIN BIT6 31*1664436fSMatthias Ringwald 32*1664436fSMatthias Ringwald #define AUDIO_OUT_DIR P4DIR 33*1664436fSMatthias Ringwald #define AUDIO_OUT_OUT P4OUT 34*1664436fSMatthias Ringwald #define AUDIO_OUT_SEL P4SEL 35*1664436fSMatthias Ringwald 36*1664436fSMatthias Ringwald #define AUDIO_OUT_PIN BIT4 37*1664436fSMatthias Ringwald 38*1664436fSMatthias Ringwald #define ACC_X_THRESHOLD 200 39*1664436fSMatthias Ringwald #define ACC_Y_THRESHOLD 200 40*1664436fSMatthias Ringwald #define ACC_X_MAX 1000 41*1664436fSMatthias Ringwald #define ACC_Y_MAX 1000 42*1664436fSMatthias Ringwald #define ACC_Z_MAX 1000 43*1664436fSMatthias Ringwald 44*1664436fSMatthias Ringwald #define ACC_X_LOW_OFFSET 1950 45*1664436fSMatthias Ringwald #define ACC_X_HIGH_OFFSET 2150 46*1664436fSMatthias Ringwald #define ACC_Y_LOW_OFFSET 1950 47*1664436fSMatthias Ringwald #define ACC_Y_HIGH_OFFSET 2150 48*1664436fSMatthias Ringwald #define ACC_Z_LOW_OFFSET 1950 49*1664436fSMatthias Ringwald #define ACC_Z_HIGH_OFFSET 2150 50*1664436fSMatthias Ringwald 51*1664436fSMatthias Ringwald #define CELSIUS 0xFF 52*1664436fSMatthias Ringwald #define FAHRENHEIT 0x00 53*1664436fSMatthias Ringwald 54*1664436fSMatthias Ringwald #define CELSIUS_MUL 7040 55*1664436fSMatthias Ringwald #define CELSIUS_OFFSET 2620 56*1664436fSMatthias Ringwald #define FAHRENHEIT_MUL 12672 57*1664436fSMatthias Ringwald #define FAHRENHEIT_OFFSET 3780 58*1664436fSMatthias Ringwald enum { ADC_OFF_MODE, ADC_ACC_MODE, ADC_TEMP_MODE}; 59*1664436fSMatthias Ringwald 60*1664436fSMatthias Ringwald /*-------------Accelerometer Functions----------------------------------------*/ 61*1664436fSMatthias Ringwald void halAccelerometerInit(void); 62*1664436fSMatthias Ringwald void halAccelerometerCalibrate(void); 63*1664436fSMatthias Ringwald void halAccelerometerSetCalibratedOffset( int x, int y, int z ); 64*1664436fSMatthias Ringwald void halAccelerometerGetCalibratedOffset(int *x, int *y, int*z); 65*1664436fSMatthias Ringwald void halAccelerometerRead(int* x, int* y, int* z); 66*1664436fSMatthias Ringwald void halAccelerometerReadWithOffset(int* x, int* y, int* z); 67*1664436fSMatthias Ringwald void halAccelerometerShutDown(void); 68*1664436fSMatthias Ringwald 69*1664436fSMatthias Ringwald /*-------------Temperature & VCC Functions------------------------------------*/ 70*1664436fSMatthias Ringwald void halAdcInitTempVcc(void); 71*1664436fSMatthias Ringwald void halAdcShutDownTempVcc(void); 72*1664436fSMatthias Ringwald void halAdcSetTempConversionType(unsigned char conversion); 73*1664436fSMatthias Ringwald void halAdcSetTempOffset(long offset); 74*1664436fSMatthias Ringwald int halAdcGetTemp(void); 75*1664436fSMatthias Ringwald int halAdcGetVcc(void); 76*1664436fSMatthias Ringwald void halAdcConvertTempVccFromADC(void); 77*1664436fSMatthias Ringwald void halAdcReadTempVcc(char *TemperatureStr, char *VccStr); 78*1664436fSMatthias Ringwald 79*1664436fSMatthias Ringwald /*-------------Generic ADC12 Functions----------------------------------------*/ 80*1664436fSMatthias Ringwald void halAdcStartRead(void); 81*1664436fSMatthias Ringwald void halAdcSetQuitFromISR(unsigned char quit); 82*1664436fSMatthias Ringwald 83*1664436fSMatthias Ringwald #endif 84