root / branches / autonomous_recharging / code / projects / colonet / utilities / robot_wireless_relay / analog.h @ 1390
History | View | Annotate | Download (1.94 KB)
1 | 13 | emarinel | /*
|
---|---|---|---|
2 | * analog.h - Contains definitions and function prototypes for using the
|
||
3 | * ADC to detect analog signals on pins AN0 - AN7
|
||
4 | * AN6 and AN7 are used for the wheel and battery
|
||
5 | |||
6 | * The pins labeled E6 and E7 are external interrupt pins and are not related
|
||
7 | * to analog
|
||
8 | |||
9 | * author: CMU Robotics Club, Colony Project
|
||
10 | * code taken from the fwr analog file (author: Tom Lauwers)
|
||
11 | */
|
||
12 | |||
13 | #ifndef _ANALOG_H
|
||
14 | #define _ANALOG_H
|
||
15 | |||
16 | #define AN0 0x00 |
||
17 | #define AN1 0x01 |
||
18 | #define AN2 0x02 |
||
19 | #define AN3 0x03 |
||
20 | #define AN4 0x04 |
||
21 | #define AN5 0x05 |
||
22 | #define AN6 0x06 |
||
23 | #define AN7 0x07 |
||
24 | |||
25 | #ifdef FFPP
|
||
26 | #define AN8 0x08 |
||
27 | #define AN9 0x09 |
||
28 | #define ANA 0x0A |
||
29 | #define ANB 0x0B |
||
30 | #define ANC 0x0C |
||
31 | #define AND 0x0D |
||
32 | #define ANE 0x0E |
||
33 | #define ANF 0x0F |
||
34 | |||
35 | #define EXT_MUX 0x07 |
||
36 | #define IR_READ 0x08 |
||
37 | #define IR1_READ 0x08 |
||
38 | #define IR2_READ 0x09 |
||
39 | #define IR3_READ 10 |
||
40 | #define IR4_READ 11 |
||
41 | #define IR5_READ 12 |
||
42 | #define ADC_BATT 13 |
||
43 | #define ADC_WHEEL 14 |
||
44 | #define ADC_3V3 15 |
||
45 | |||
46 | #define WHEEL_PORT ANE
|
||
47 | #define BATT_PORT AND
|
||
48 | |||
49 | #else
|
||
50 | |||
51 | #define WHEEL_PORT AN6
|
||
52 | #define BATT_PORT AN7
|
||
53 | |||
54 | #endif
|
||
55 | |||
56 | /*
|
||
57 | Call this function before reading from the analog ports
|
||
58 | turns on the ADC
|
||
59 | */
|
||
60 | void analog_init(void); |
||
61 | |||
62 | /*
|
||
63 | returns an 8-bit number from the desired analog port
|
||
64 | argument should be one of the constants AN0 - AN7
|
||
65 | behavior is undefined otherwise
|
||
66 | analog_init() must be called before a call to this function
|
||
67 | */
|
||
68 | unsigned int analog8(int which); |
||
69 | |||
70 | /*
|
||
71 | returns a 10-bit number from the desired analog port
|
||
72 | argument should be one of the constants AN0 - AN7
|
||
73 | behavior is undefined otherwise
|
||
74 | analog_init() must be called before a call to this function
|
||
75 | */
|
||
76 | unsigned int analog10(int which); |
||
77 | |||
78 | /*
|
||
79 | returns the current value (0-255) of the wheel
|
||
80 | analog_init() must be called before a call to this function
|
||
81 | */
|
||
82 | int wheel(void); |
||
83 | |||
84 | /*
|
||
85 | returns the current voltage of the battery (deciVolts)
|
||
86 | analog_init() must be called before a call to this function
|
||
87 | */
|
||
88 | int battery(void); |
||
89 | |||
90 | #ifdef FFPP
|
||
91 | void enable_analog(int analog_setting); |
||
92 | void set_adc_mux(int which); |
||
93 | #endif
|
||
94 | |||
95 | #endif |