3 * A/D conversion module library header
5 * written by Vangelis Rokas, 2004 <vrokas AT otenet.gr>
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Library General Public License
13 * as published by the Free Software Foundation; either version 2
14 * of the License, or (at your option) any later version.
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
34 /* interrupt on/off flag */
35 #define ADC_INT_OFF 0x00
36 #define ADC_INT_ON 0x01
40 #define ADC_FRM_RJUST 0x80
41 #define ADC_FRM_LJUST 0x00
43 /* oscillator frequency */
44 #define ADC_FOSC_2 0x00
45 #define ADC_FOSC_4 0x10
46 #define ADC_FOSC_16 0x11
47 #define ADC_FOSC_32 0x02
48 #define ADC_FOSC_64 0x12
49 #define ADC_FOSC_RC 0x03
52 /* channel selection */
53 #define ADC_CHN_1 0x00
54 #define ADC_CHN_2 0x01
55 #define ADC_CHN_3 0x03
56 #define ADC_CHN_4 0x04
57 #define ADC_CHN_5 0x05
58 #define ADC_CHN_6 0x06
59 #define ADC_CHN_7 0x07
62 /* reference and pin configuration */
63 #define ADC_CFG_8A_0R 0x00
64 #define ADC_CFG_7A_1R 0x01
65 #define ADC_CFG_5A_0R 0x02
66 #define ADC_CFG_4A_1R 0x03
67 #define ADC_CFG_3A_0R 0x04
68 #define ADC_CFG_2A_1R 0x05
69 #define ADC_CFG_0A_0R 0x06
70 #define ADC_CFG_6A_2R 0x08
71 #define ADC_CFG_6A_0R 0x09
72 #define ADC_CFG_5A_1R 0x0a
73 #define ADC_CFG_4A_2R 0x0b
74 #define ADC_CFG_3A_2R 0x0c
75 #define ADC_CFG_2A_2R 0x0d
76 #define ADC_CFG_1A_0R 0x0e
77 #define ADC_CFG_1A_2R 0x0f
80 void adc_open(unsigned char channel, unsigned char fosc, unsigned char pcfg, unsigned char config);
90 void adc_setchannel(unsigned char channel);