WISP ERT (Client)  1.0.0
The WISP Extended Runtime (WISP side)
adc.h
Go to the documentation of this file.
1 /*
2  * @file adc.h
3  * @brief Provides an interface to the ADC module
4  *
5  * @author Ivar in 't Veen
6  */
7 
8 #ifndef ADC_H_
9 #define ADC_H_
10 
11 #include <stdint.h>
12 #include <msp430.h>
13 
17 typedef enum {
18  ADC_reference_1_2V = REFVSEL_0,
19  ADC_reference_2_0V = REFVSEL_1,
20  ADC_reference_2_5V = REFVSEL_2,
22 
26 typedef enum {
27  ADC_precision_8bit = ADC12RES__8BIT,
28  ADC_precision_10bit = ADC12RES__10BIT,
29  ADC_precision_12bit = ADC12RES__12BIT,
31 
35 typedef enum {
37  ADC_input_A0 = ADC12INCH_0,
38  ADC_input_A1 = ADC12INCH_1,
39  ADC_input_A2 = ADC12INCH_2,
40  ADC_input_A3 = ADC12INCH_3,
41  ADC_input_A4 = ADC12INCH_4,
42  ADC_input_A5 = ADC12INCH_5,
43  ADC_input_A6 = ADC12INCH_6,
44  ADC_input_A7 = ADC12INCH_7,
45  ADC_input_A8 = ADC12INCH_8,
46  ADC_input_A9 = ADC12INCH_9,
47  ADC_input_A10 = ADC12INCH_10,
48  ADC_input_A11 = ADC12INCH_11,
49  ADC_input_A12 = ADC12INCH_12,
50  ADC_input_A13 = ADC12INCH_13,
51  ADC_input_A14 = ADC12INCH_14,
52  ADC_input_A15 = ADC12INCH_15,
53  ADC_input_A16 = ADC12INCH_16,
54  ADC_input_A17 = ADC12INCH_17,
55  ADC_input_A18 = ADC12INCH_18,
56  ADC_input_A19 = ADC12INCH_19,
57  ADC_input_A20 = ADC12INCH_20,
58  ADC_input_A21 = ADC12INCH_21,
59  ADC_input_A22 = ADC12INCH_22,
60  ADC_input_A23 = ADC12INCH_23,
61  ADC_input_A24 = ADC12INCH_24,
62  ADC_input_A25 = ADC12INCH_25,
63  ADC_input_A26 = ADC12INCH_26,
64  ADC_input_A27 = ADC12INCH_27,
65  ADC_input_A28 = ADC12INCH_28,
66  ADC_input_A29 = ADC12INCH_29,
67  ADC_input_A30 = ADC12INCH_30,
68  ADC_input_A31 = ADC12INCH_31,
70 
71 // Initialization functions
72 void ADC_init(void);
74 
75 // Read functions
76 uint16_t ADC_read(void);
77 void ADC_asyncRead(void (*)(uint16_t));
78 uint16_t ADC_critRead(void);
79 
80 // Conversion functions
81 uint16_t ADC_rawCorrection(uint16_t);
82 uint16_t ADC_rawToVoltage(uint16_t);
83 int16_t ADC_rawToTemperature(uint16_t);
84 
85 // Get ADC status
86 uint8_t ADC_isBusy(void);
87 uint8_t ADC_isReady(void);
88 
89 // Enable/Disable functions
90 void ADC_enable(void);
91 void ADC_disable(void);
92 void ADC_enableConversion(void);
93 void ADC_disableConversion(void);
94 void ADC_enableInterrupts(void);
95 void ADC_disableInterrupts(void);
96 
97 // Internal ADC settings functions, should not be needed for normal use (use ADC_initCustom() instead).
104 void ADC_setSampleHold(void);
105 
106 #endif /* ADC_H_ */
Definition: adc.h:52
void ADC_disable(void)
Definition: adc.c:249
uint16_t ADC_rawCorrection(uint16_t)
Definition: adc.c:138
Definition: adc.h:56
int16_t ADC_rawToTemperature(uint16_t)
Definition: adc.c:200
void ADC_setSampleHold(void)
Definition: adc.c:392
Definition: adc.h:48
void ADC_enable(void)
Definition: adc.c:241
void ADC_disableConversion(void)
Definition: adc.c:269
Definition: adc.h:43
Definition: adc.h:66
ADC_inputSelect ADC_getInputChannel(void)
Definition: adc.c:385
Definition: adc.h:54
Definition: adc.h:28
Definition: adc.h:50
Definition: adc.h:62
Definition: adc.h:29
ADC_referenceSelect
Definition: adc.h:17
void ADC_init(void)
Definition: adc.c:26
Definition: adc.h:39
Definition: adc.h:38
Definition: adc.h:61
void ADC_setReference(ADC_referenceSelect)
Definition: adc.c:302
void ADC_initCustom(ADC_referenceSelect, ADC_precisionSelect, ADC_inputSelect)
Definition: adc.c:37
Definition: adc.h:53
Definition: adc.h:36
ADC_precisionSelect ADC_getPrecision(void)
Definition: adc.c:339
Definition: adc.h:63
uint8_t ADC_isReady(void)
Definition: adc.c:234
Definition: adc.h:18
Definition: adc.h:27
ADC_precisionSelect
Definition: adc.h:26
Definition: adc.h:65
uint8_t ADC_isBusy(void)
Definition: adc.c:227
Definition: adc.h:55
Definition: adc.h:42
void ADC_disableInterrupts(void)
Definition: adc.c:290
Definition: adc.h:60
Definition: adc.h:49
Definition: adc.h:58
ADC_referenceSelect ADC_getReference(void)
Definition: adc.c:321
Definition: adc.h:59
Definition: adc.h:47
Definition: adc.h:68
void ADC_enableConversion(void)
Definition: adc.c:259
Definition: adc.h:57
Definition: adc.h:40
void ADC_setPrecision(ADC_precisionSelect)
Definition: adc.c:330
uint16_t ADC_rawToVoltage(uint16_t)
Definition: adc.c:165
Definition: adc.h:67
void ADC_setInputChannel(ADC_inputSelect)
Definition: adc.c:350
uint16_t ADC_read(void)
Definition: adc.c:71
Definition: adc.h:44
Definition: adc.h:45
Definition: adc.h:41
Definition: adc.h:37
ADC_inputSelect
Definition: adc.h:35
uint16_t ADC_critRead(void)
Definition: adc.c:95
Definition: adc.h:19
void ADC_asyncRead(void(*)(uint16_t))
Definition: adc.c:85
Definition: adc.h:51
Definition: adc.h:64
Definition: adc.h:20
Definition: adc.h:46
void ADC_enableInterrupts(void)
Definition: adc.c:277