]> git.sur5r.net Git - freertos/blob
2ef5a2e7bc2e68e3f93210e40dfac23a0dbcc030
[freertos] /
1 /**\r
2   ******************************************************************************\r
3   * @file    tsl_check_config_stm8tl5x.h\r
4   * @author  MCD Application Team\r
5   * @version V1.3.2\r
6   * @date    22-January-2013\r
7   * @brief   This file contains the check of all parameters defined in the\r
8   *          STM8TL5X configuration file.\r
9   ******************************************************************************\r
10   * @attention\r
11   *\r
12   * <h2><center>&copy; COPYRIGHT 2013 STMicroelectronics</center></h2>\r
13   *\r
14   * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");\r
15   * You may not use this file except in compliance with the License.\r
16   * You may obtain a copy of the License at:\r
17   *\r
18   *        http://www.st.com/software_license_agreement_liberty_v2\r
19   *\r
20   * Unless required by applicable law or agreed to in writing, software\r
21   * distributed under the License is distributed on an "AS IS" BASIS,\r
22   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
23   * See the License for the specific language governing permissions and\r
24   * limitations under the License.\r
25   *\r
26   ******************************************************************************\r
27   */\r
28 \r
29 /* Define to prevent recursive inclusion -------------------------------------*/\r
30 #ifndef __TSL_CHECK_CONFIG_STM8TL5X_H\r
31 #define __TSL_CHECK_CONFIG_STM8TL5X_H\r
32 \r
33 //------------------------------------------------------------------------------\r
34 \r
35 #if ((TSLPRM_MCU < 0) && (TSLPRM_MCU > 4))\r
36 #error "The MCU selected is not in the STM8TL5x MCU list !"\r
37 #endif\r
38 \r
39 #if (TSLPRM_MCU > 0)\r
40 #define __MAX_RX 7\r
41 #else\r
42 #define __MAX_RX 9\r
43 #endif\r
44 \r
45 //------------------------------------------------------------------------------\r
46 \r
47 #if ((TSLPRM_TOTAL_CHANNELS < 1) || (TSLPRM_TOTAL_CHANNELS > 300))\r
48 #error "TSLPRM_TOTAL_CHANNELS is out of range (1 .. 300)."\r
49 #endif\r
50 \r
51 #if ((TSLPRM_TOTAL_BANKS < 1) || (TSLPRM_TOTAL_BANKS > 15))\r
52 #error "TSLPRM_TOTAL_BANKS is out of range (1 .. 15)."\r
53 #endif\r
54 \r
55 #if ((TSLPRM_TOTAL_TOUCHKEYS < 0) || (TSLPRM_TOTAL_TOUCHKEYS > 256))\r
56 #error "TSLPRM_TOTAL_TOUCHKEYS is out of range (0 .. 256)."\r
57 #endif\r
58 \r
59 #if ((TSLPRM_TOTAL_TOUCHKEYS_B < 0) || (TSLPRM_TOTAL_TOUCHKEYS_B > 256))\r
60 #error "TSLPRM_TOTAL_TOUCHKEYS_B is out of range (0 .. 256)."\r
61 #endif\r
62 \r
63 #if ((TSLPRM_TOTAL_LINROTS < 0) || (TSLPRM_TOTAL_LINROTS > 256))\r
64 #error "TSLPRM_TOTAL_LINROTS is out of range (0 .. 256)."\r
65 #endif\r
66 \r
67 #if ((TSLPRM_TOTAL_LINROTS_B < 0) || (TSLPRM_TOTAL_LINROTS_B > 256))\r
68 #error "TSLPRM_TOTAL_LINROTS_B is out of range (0 .. 256)."\r
69 #endif\r
70 \r
71 #if ((TSLPRM_TOTAL_OBJECTS < 1) || (TSLPRM_TOTAL_OBJECTS > 256))\r
72 #error "TSLPRM_TOTAL_OBJECTS is out of range (1 .. 256)."\r
73 #endif\r
74 \r
75 //------------------------------------------------------------------------------\r
76 \r
77 #ifndef TSLPRM_KEY_TARGET_REFERENCE\r
78 #error "TSLPRM_KEY_TARGET_REFERENCE is not defined."\r
79 #endif\r
80 \r
81 #if ((TSLPRM_KEY_TARGET_REFERENCE < 100) || (TSLPRM_KEY_TARGET_REFERENCE > 2000))\r
82 #error "TSLPRM_KEY_TARGET_REFERENCE is out of range (100 .. 2000)."\r
83 #endif\r
84 \r
85 //------------------------------------------------------------------------------\r
86 \r
87 #ifndef TSLPRM_KEY_TARGET_REFERENCE_ERROR\r
88 #error "TSLPRM_KEY_TARGET_REFERENCE_ERROR is not defined."\r
89 #endif\r
90 \r
91 #if ((TSLPRM_KEY_TARGET_REFERENCE_ERROR < 1) || (TSLPRM_KEY_TARGET_REFERENCE_ERROR > TSLPRM_KEY_TARGET_REFERENCE))\r
92 #error "TSLPRM_KEY_TARGET_REFERENCE_ERROR is out of range (1 .. TSLPRM_KEY_TARGET_REFERENCE)."\r
93 #endif\r
94 \r
95 //------------------------------------------------------------------------------\r
96 \r
97 #ifndef TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION\r
98 #error "TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION is not defined."\r
99 #endif\r
100 \r
101 #if ((TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION < 3) || (TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION > 5))\r
102 #error "TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION is out of range (3 .. 5)."\r
103 #endif\r
104 \r
105 //------------------------------------------------------------------------------\r
106 \r
107 #ifndef TSLPRM_KEY_TARGET_ATTENUATION\r
108 #error "TSLPRM_KEY_TARGET_ATTENUATION is not defined."\r
109 #endif\r
110 \r
111 #if ((TSLPRM_KEY_TARGET_ATTENUATION != 1) && (TSLPRM_KEY_TARGET_ATTENUATION != 2) &&\\r
112      (TSLPRM_KEY_TARGET_ATTENUATION != 4) && (TSLPRM_KEY_TARGET_ATTENUATION != 8))\r
113 #error "TSLPRM_KEY_TARGET_ATTENUATION is out of range (1,2,4,8)."\r
114 #endif\r
115 \r
116 //------------------------------------------------------------------------------\r
117 \r
118 #ifndef TSLPRM_TOUCHKEY_REFERENCE_RANGE\r
119 #error "TSLPRM_TOUCHKEY_REFERENCE_RANGE is not defined."\r
120 #endif\r
121 \r
122 #if ((TSLPRM_TOUCHKEY_REFERENCE_RANGE < 1) || (TSLPRM_TOUCHKEY_REFERENCE_RANGE > TSLPRM_KEY_TARGET_REFERENCE))\r
123 #error "TSLPRM_TOUCHKEY_REFERENCE_RANGE is out of range (1 .. TSLPRM_KEY_TARGET_REFERENCE)."\r
124 #endif\r
125 \r
126 //------------------------------------------------------------------------------\r
127 \r
128 #ifndef TSLPRM_LINROT_REFERENCE_RANGE\r
129 #error "TSLPRM_LINROT_REFERENCE_RANGE is not defined."\r
130 #endif\r
131 \r
132 #if ((TSLPRM_LINROT_REFERENCE_RANGE < 1) || (TSLPRM_LINROT_REFERENCE_RANGE > TSLPRM_KEY_TARGET_REFERENCE))\r
133 #error "TSLPRM_LINROT_REFERENCE_RANGE is out of range (1 .. TSLPRM_KEY_TARGET_REFERENCE)."\r
134 #endif\r
135 \r
136 //------------------------------------------------------------------------------\r
137 \r
138 #ifndef TSLPRM_PXS_HSI\r
139 #error "TSLPRM_PXS_HSI is not defined."\r
140 #endif\r
141 \r
142 #if ((TSLPRM_PXS_HSI != 16000) && (TSLPRM_PXS_HSI != 8000) && (TSLPRM_PXS_HSI != 4000) && \\r
143      (TSLPRM_PXS_HSI !=  2000) && (TSLPRM_PXS_HSI != 1000) && (TSLPRM_PXS_HSI !=  500) && \\r
144      (TSLPRM_PXS_HSI !=   250) && (TSLPRM_PXS_HSI !=  125))\r
145 #error "TSLPRM_PXS_HSI is out of range (16000, 8000, 4000, 2000, 1000, 500, 250, 125)."\r
146 #endif\r
147 \r
148 //------------------------------------------------------------------------------\r
149 \r
150 #ifndef TSLPRM_PXS_UP_LENGTH\r
151 #error "TSLPRM_PXS_UP_LENGTH is not defined."\r
152 #endif\r
153 \r
154 #if ((TSLPRM_PXS_UP_LENGTH < 1) || (TSLPRM_PXS_UP_LENGTH > 7))\r
155 #error "TSLPRM_PXS_UP_LENGTH is out of range (1 .. 7)."\r
156 #endif\r
157 \r
158 //------------------------------------------------------------------------------\r
159 \r
160 #ifndef TSLPRM_PXS_PASS_LENGTH\r
161 #error "TSLPRM_PXS_PASS_LENGTH is not defined."\r
162 #endif\r
163 \r
164 #if ((TSLPRM_PXS_PASS_LENGTH < 1) || (TSLPRM_PXS_PASS_LENGTH > 7))\r
165 #error "TSLPRM_PXS_PASS_LENGTH is out of range (1 .. 7)."\r
166 #endif\r
167 \r
168 //------------------------------------------------------------------------------\r
169 \r
170 #ifndef TSLPRM_PXS_LOW_POWER_MODE\r
171 #error "TSLPRM_PXS_LOW_POWER_MODE is not defined."\r
172 #endif\r
173 \r
174 #if ((TSLPRM_PXS_LOW_POWER_MODE != 0) && (TSLPRM_PXS_LOW_POWER_MODE != 1))\r
175 #error "TSLPRM_PXS_LOW_POWER_MODE is out of range (0 .. 1)."\r
176 #endif\r
177 \r
178 //------------------------------------------------------------------------------\r
179 \r
180 #ifndef TSLPRM_PXS_RF_DETECTION\r
181 #error "TSLPRM_PXS_RF_DETECTION is not defined."\r
182 #endif\r
183 \r
184 #if ((TSLPRM_PXS_RF_DETECTION != 0) && (TSLPRM_PXS_RF_DETECTION != 1))\r
185 #error "TSLPRM_PXS_RF_DETECTION is out of range (0 .. 1)."\r
186 #endif\r
187 \r
188 //------------------------------------------------------------------------------\r
189 \r
190 #ifndef TSLPRM_PXS_SYNCHRONIZE\r
191 #error "TSLPRM_PXS_SYNCHRONIZE is not defined."\r
192 #endif\r
193 \r
194 #if ((TSLPRM_PXS_SYNCHRONIZE != 0) && (TSLPRM_PXS_SYNCHRONIZE != 1))\r
195 #error "TSLPRM_PXS_SYNCHRONIZE is out of range (0 .. 1)."\r
196 #endif\r
197 \r
198 //------------------------------------------------------------------------------\r
199 \r
200 #ifndef TSLPRM_PXS_SYNCHRO_EDGE\r
201 #error "TSLPRM_PXS_SYNCHRO_EDGE is not defined."\r
202 #endif\r
203 \r
204 #if ((TSLPRM_PXS_SYNCHRO_EDGE != 0) && (TSLPRM_PXS_SYNCHRO_EDGE != 1))\r
205 #error "TSLPRM_PXS_SYNCHRO_EDGE is out of range (0 .. 1)."\r
206 #endif\r
207 \r
208 //------------------------------------------------------------------------------\r
209 \r
210 #ifndef TSLPRM_PXS_INACTIVE_TX\r
211 #error "TSLPRM_PXS_INACTIVE_TX is not defined."\r
212 #endif\r
213 \r
214 #if ((TSLPRM_PXS_INACTIVE_TX != 0) && (TSLPRM_PXS_INACTIVE_TX != 1))\r
215 #error "TSLPRM_PXS_INACTIVE_TX is out of range (0 .. 1)."\r
216 #endif\r
217 \r
218 //------------------------------------------------------------------------------\r
219 \r
220 #ifndef TSLPRM_PXS_INACTIVE_RX\r
221 #error "TSLPRM_PXS_INACTIVE_RX is not defined."\r
222 #endif\r
223 \r
224 #if ((TSLPRM_PXS_INACTIVE_RX != 0) && (TSLPRM_PXS_INACTIVE_RX != 1))\r
225 #error "TSLPRM_PXS_INACTIVE_RX is out of range (0 .. 1)."\r
226 #endif\r
227 \r
228 //------------------------------------------------------------------------------\r
229 \r
230 #ifndef TSLPRM_PXS_RX_COUPLING\r
231 #error "TSLPRM_PXS_RX_COUPLING is not defined."\r
232 #endif\r
233 \r
234 #if ((TSLPRM_PXS_RX_COUPLING != 0) && (TSLPRM_PXS_RX_COUPLING != 1))\r
235 #error "TSLPRM_PXS_RX_COUPLING is out of range (0 .. 1)."\r
236 #endif\r
237 \r
238 //------------------------------------------------------------------------------\r
239 \r
240 #ifndef TSLPRM_PXS_STAB\r
241 #error "TSLPRM_PXS_STAB is not defined."\r
242 #endif\r
243 \r
244 #if ((TSLPRM_PXS_STAB != LONG_STAB) && (TSLPRM_PXS_STAB != MEDIUM_STAB) && (TSLPRM_PXS_STAB != SHORT_STAB))\r
245 #error "TSLPRM_PXS_STAB is out of range (LONG_STAB, MEDIUM_STAB, SHORT_STAB)."\r
246 #endif\r
247 \r
248 //------------------------------------------------------------------------------\r
249 \r
250 #ifndef TSLPRM_PXS_BIAS\r
251 #error "TSLPRM_PXS_BIAS is not defined."\r
252 #endif\r
253 \r
254 #if ((TSLPRM_PXS_BIAS != HIGH_BIAS) && (TSLPRM_PXS_BIAS != MEDIUM_BIAS) && (TSLPRM_PXS_BIAS != LOW_BIAS) && (TSLPRM_PXS_BIAS != VERY_LOW_BIAS))\r
255 #error "TSLPRM_PXS_BIAS is out of range (HIGH_BIAS, MEDIUM_BIAS, LOW_BIAS, VERY_LOW_BIAS)."\r
256 #endif\r
257 \r
258 //------------------------------------------------------------------------------\r
259 \r
260 #ifndef TSLPRM_HIGH_CHANNEL_NB\r
261 #error "TSLPRM_HIGH_CHANNEL_NB is not defined."\r
262 #endif\r
263 \r
264 #if ((TSLPRM_HIGH_CHANNEL_NB < 0) || (TSLPRM_HIGH_CHANNEL_NB > __MAX_RX))\r
265 #error "TSLPRM_HIGH_CHANNEL_NB is out of range (0..9 for STM8TL53C4, 0..7 for STM8TL53G4)."\r
266 #endif\r
267 \r
268 #endif /* __TSL_CHECK_CONFIG_STM8TL5X_H */\r
269 \r
270 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r