STIMA  3
sensors_config.h
Go to the documentation of this file.
1 
3 /*********************************************************************
4 Copyright (C) 2017 Marco Baldinetti <m.baldinetti@digiteco.it>
5 authors:
6 Paolo Patruno <p.patruno@iperbole.bologna.it>
7 Marco Baldinetti <m.baldinetti@digiteco.it>
8 
9 This program is free software; you can redistribute it and/or
10 modify it under the terms of the GNU General Public License as
11 published by the Free Software Foundation; either version 2 of
12 the License, or (at your option) any later version.
13 
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
21 **********************************************************************/
22 
23 #ifndef SENSOR_CONFIG_H
24 #define SENSOR_CONFIG_H
25 
26 
31 #define SENSORS_MAX (10)
32 
38 #define SENSORS_UNIQUE_MAX (5)
39 
44 #define USE_THR (true)
45 
50 #define USE_JSON (true)
51 
56 #define USE_SENSOR_ADT (false)
57 
62 #define USE_SENSOR_HIH (false)
63 
68 #define USE_SENSOR_HYT (true)
69 
74 #define USE_SENSOR_DEP (false)
75 
80 #define USE_SENSOR_OA2 (false)
81 #define USE_SENSOR_OA3 (false)
82 
87 #define USE_SENSOR_OB2 (false)
88 #define USE_SENSOR_OB3 (false)
89 
94 #define USE_SENSOR_OC2 (false)
95 #define USE_SENSOR_OC3 (false)
96 
101 #define USE_SENSOR_OD2 (false)
102 #define USE_SENSOR_OD3 (false)
103 
108 #define USE_SENSOR_OE3 (false)
109 
114 #define USE_SENSOR_LWT (false)
115 
120 #define USE_SENSOR_HI7 (false)
121 
126 #define USE_SENSOR_BMP (false)
127 
132 #define USE_SENSOR_DW1 (false)
133 
138 #define USE_SENSOR_TBR (true)
139 
144 #define USE_SENSOR_STH (false)
145 
150 #define USE_SENSOR_ITH (false)
151 
156 #define USE_SENSOR_NTH (false)
157 
162 #define USE_SENSOR_MTH (false)
163 
168 #define USE_SENSOR_XTH (false)
169 
174 #define USE_SENSOR_SSD (false)
175 
180 #define USE_SENSOR_ISD (false)
181 
186 #define USE_SENSOR_NSD (false)
187 
192 #define USE_SENSOR_MSD (false)
193 
198 #define USE_SENSOR_XSD (false)
199 
204 #define USE_SENSOR_SMI (false)
205 
210 #define USE_SENSOR_IMI (false)
211 
216 #define USE_SENSOR_NMI (false)
217 
222 #define USE_SENSOR_MMI (false)
223 
228 #define USE_SENSOR_GWS (false)
229 
234 #define USE_SENSOR_XMI (false)
235 
240 #define USE_SENSOR_RF24 (false)
241 
246 #define VALUES_TO_READ_FROM_SENSOR_COUNT (3)
247 #define JSONS_TO_READ_FROM_SENSOR_COUNT (3)
248 
249 // sampling every 3-15 seconds --> watchdog timer (SENSORS_SAMPLE_TIME_S in relative modules)
250 // observations with processing every 1-10 minutes (minutes for processing sampling)
251 // report every 5-60 minutes (> OBSERVATIONS_MINUTES)
252 // reported data is calulate by moving average on STATISTICAL_DATA_MINUTES window
253 
254 // observations every 1-10 minutes (minutes for processing samples)
255 // report every 5-60 minutes (minutes for report. > n * OBSERVATIONS_MINUTES)
256 
261 #define OBSERVATIONS_MINUTES (1)
262 
267 #define STATISTICAL_DATA_COUNT (15)
268 
273 #define OBSERVATION_COUNT (STATISTICAL_DATA_COUNT * 2)
274 
279 #define OBSERVATION_COUNT_TOLLERANCE (1)
280 
281 #if (OBSERVATION_COUNT < STATISTICAL_DATA_COUNT)
282 #error OBSERVATION_COUNT must be major of STATISTICAL_DATA_COUNT !!!
283 #endif
284 
285 #define USE_TH_SENSORS (USE_SENSOR_ADT || USE_SENSOR_HIH || USE_SENSOR_HYT || USE_SENSOR_STH || USE_SENSOR_ITH || USE_SENSOR_MTH || USE_SENSOR_NTH || USE_SENSOR_XTH)
286 #define USE_RAIN_SENSORS (USE_SENSOR_TBR || USE_SENSOR_TBS)
287 
288 #if (USE_TH_SENSORS && !USE_RAIN_SENSORS)
289 #define USE_MODULE_THR (false)
290 #define USE_MODULE_TH (true)
291 #define USE_MODULE_RAIN (false)
292 #elif (!USE_TH_SENSORS && USE_RAIN_SENSORS)
293 #define USE_MODULE_THR (false)
294 #define USE_MODULE_TH (false)
295 #define USE_MODULE_RAIN (true)
296 #elif (USE_TH_SENSORS && USE_RAIN_SENSORS && USE_THR)
297 #define USE_MODULE_THR (true)
298 #define USE_MODULE_TH (false)
299 #define USE_MODULE_RAIN (false)
300 #elif (USE_THR == 0)
301 #define USE_MODULE_THR (false)
302 #define USE_MODULE_TH (true)
303 #define USE_MODULE_RAIN (true)
304 #endif
305 
306 #endif