xref: /btstack/port/archive/msp-exp430f5438-cc2564b/firmware/hal_adc.h (revision 1664436fd643daf66517dc309e6cc72448e8a86d)
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