]> rtime.felk.cvut.cz Git - arc.git/blob - boards/hcs12x_elmicro_tboard/config/Adc_Cfg.h
13127896c788ff4835d295d4f8a724dd171b1fe4
[arc.git] / boards / hcs12x_elmicro_tboard / config / Adc_Cfg.h
1 /*\r
2  * Configuration of module Adc (Adc_Cfg.h)\r
3  *\r
4  * Created by: \r
5  * Configured for (MCU): HCS12\r
6  *\r
7  * Module vendor: ArcCore\r
8  * Module version: 2.0.0\r
9  *\r
10  * \r
11  * Generated by Arctic Studio (http://arccore.com) \r
12  *           on Mon Nov 08 20:30:02 CET 2010\r
13  */\r
14 \r
15
16 #if (ADC_SW_MAJOR_VERSION != 1) 
17 #error "Adc: Configuration file version differs from BSW version."
18 #endif
19
20 \r
21 #ifndef ADC_CFG_H_\r
22 #define ADC_CFG_H_\r
23 \r
24 #define ADC_DEINIT_API                    STD_OFF\r
25 #define ADC_DEV_ERROR_DETECT              STD_ON\r
26 #define ADC_ENABLE_QUEUING                STD_OFF\r
27 #define ADC_ENABLE_START_STOP_GROUP_API   STD_OFF\r
28 #define ADC_GRP_NOTIF_CAPABILITY          STD_OFF\r
29 #define ADC_HW_TRIGGER_API                STD_OFF           /* Not implemented. */\r
30 #define ADC_PRIORITY_IMPLEMENTATION       ADC_PRIORITY_NONE\r
31 #define ADC_READ_GROUP_API                STD_ON\r
32 #define ADC_VERSION_API                   STD_ON            /* Not implemented. */\r
33 \r
34 typedef uint16_t Adc_ValueGroupType;\r
35 \r
36 typedef enum\r
37 {\r
38   ADC_CH0,\r
39   ADC_CH1,\r
40   ADC_CH2,\r
41   ADC_CH3,\r
42   ADC_CH4,\r
43   ADC_CH5,\r
44   ADC_CH6,\r
45   ADC_CH7,\r
46   ADC_NOF_CHANNELS,\r
47 }Adc_ChannelType;\r
48 \r
49 /* Std-type, supplier defined */\r
50 typedef enum\r
51 {\r
52   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_2,\r
53   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_4,\r
54   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_6,\r
55   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_8,\r
56   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_10,\r
57   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_12,\r
58   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_14,\r
59   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_16,\r
60   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_18,\r
61   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_20,\r
62   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_22,\r
63   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_24,\r
64   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_26,\r
65   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_28,\r
66   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_30,\r
67   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_32,\r
68   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_34,\r
69   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_36,\r
70   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_38,\r
71   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_40,\r
72   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_42,\r
73   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_44,\r
74   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_46,\r
75   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_48,\r
76   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_50,\r
77   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_52,\r
78   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_54,\r
79   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_56,\r
80   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_58,\r
81   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_60,\r
82   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_62,\r
83   ADC_SYSTEM_CLOCK_DIVIDE_FACTOR_64,\r
84 }Adc_PrescaleType;\r
85 \r
86 /* Std-type, supplier defined */\r
87 typedef enum\r
88 {\r
89   ADC_CONVERSION_TIME_2_CLOCKS,\r
90   ADC_CONVERSION_TIME_4_CLOCKS,\r
91   ADC_CONVERSION_TIME_8_CLOCKS,\r
92   ADC_CONVERSION_TIME_16_CLOCKS\r
93 }Adc_ConversionTimeType;\r
94 \r
95 \r
96 typedef enum\r
97 {\r
98         ADC_RESOLUTION_10_BIT,\r
99         ADC_RESOLUTION_8_BIT,\r
100 }Adc_ResolutionType;\r
101 \r
102 typedef struct\r
103 {\r
104   uint8                                 notifictionEnable;\r
105   Adc_ValueGroupType *  resultBufferPtr;\r
106   Adc_StatusType                groupStatus;\r
107 } Adc_GroupStatus;\r
108 \r
109 \r
110 /* Std-type, supplier defined */\r
111 typedef enum\r
112 {\r
113   ADC_CONV_MODE_DISABLED,\r
114   ADC_CONV_MODE_ONESHOT   = 1,\r
115   ADC_CONV_MODE_CONTINUOUS = 9,\r
116 } Adc_GroupConvModeType;\r
117 \r
118 typedef struct\r
119 {\r
120   Adc_GroupConvModeType        conversionMode;\r
121   Adc_TriggerSourceType        triggerSrc;\r
122   void                         (*groupCallback)(void);\r
123   const Adc_ChannelType        *channelList;\r
124   Adc_ValueGroupType           *resultBuffer;\r
125   Adc_ChannelType              numberOfChannels;\r
126   Adc_GroupStatus              *status;\r
127 } Adc_GroupDefType;\r
128 \r
129 #define ADC_NBR_OF_ATDGROUP_CHANNELS 1 \r
130 \r
131 typedef enum\r
132 {\r
133   ADC_GROUP0,  \r
134   ADC_NBR_OF_GROUPS\r
135 }Adc_GroupType;\r
136 \r
137 typedef struct\r
138 {\r
139   Adc_ConversionTimeType       convTime;\r
140   Adc_ResolutionType           resolution;\r
141   Adc_PrescaleType    adcPrescale;\r
142 }Adc_HWConfigurationType;\r
143 \r
144 typedef struct\r
145 {\r
146   const Adc_HWConfigurationType*      hwConfigPtr;\r
147   const Adc_GroupDefType*             groupConfigPtr;\r
148 } Adc_ConfigType;\r
149 \r
150 extern const Adc_ConfigType AdcConfig[];\r
151 \r
152 #endif /* ADC_CFG_H_ */\r