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