Tezzeret  1
Tezzeret
GeoAppDefs.hpp
1 #ifndef _GEO_APPDEFS_HPP
2 #define _GEO_APPDEFS_HPP
3 
4 #include "geolibversioninfo.hpp"
5 
6 /*****************************************************************
7  *****************************************************************
8  * Tezzeret uses #defines of this format:
9  * #define SOMETHING GEO_TRUE
10  * or
11  * #define SOMETHING GEO_FALSE
12  *
13  * rather than just
14  * #define SOMETHING
15  *
16  * and #ifdefs of this format:
17  * #if SOMETHING == GEO_TRUE
18  * and
19  * #if SOMETHING == GEO_FALSE
20  *
21  * rather than just
22  *
23  * #define SOMETHING
24  * and
25  * #ifdef SOMETHING
26  *
27  * It is a rule to continue using this pattern in any
28  * conditional compilation #define that appears in this file.
29  * In #defines outside of this file, other rules may apply.
30  *
31  * These next #defines provide the starting point for that
32  * usage.
33  *****************************************************************
34  ******************************************************************/
35 #define GEO_TRUE (1)
36 #define GEO_FALSE (0)
37 #define GEO_NOT_RELEVANT GEO_FALSE
38 
39 /*====================================================================*/
40 /*====================================================================*/
41 /* Application pre-sets. */
42 /*====================================================================*/
43 /*====================================================================*/
44 #define GEO_APP_EXAMPLE GEO_FALSE
45 
46 #define GEO_APP_MAG_ARROW GEO_FALSE
47 
48 #define GEO_APP_PACTRON_DEV_KIT GEO_FALSE
49 
50 #define GEO_APP_EH5_MAIN_FIRMWARE GEO_FALSE
51 
52 /* G-864 walking mag */
53 #define GEO_APP_G864 GEO_TRUE
54 
55 /* MagEx */
56 #define GEO_APP_MAGEX GEO_FALSE
57 
58 /* MagEx 1000Hz */
59 #define GEO_APP_KLOKI GEO_FALSE
60 
61 /* MagEx base station */
62 #define GEO_APP_TRANQUILITY GEO_FALSE
63 
64 /* G-864 base station */
65 #define GEO_APP_SERENITY GEO_FALSE
66 
67 /* MagArrow rover */
68 #define GEO_APP_EAGLE GEO_FALSE
69 
70 /* Intrepid MagEx rover */
71 #define GEO_APP_INTREPID GEO_FALSE
72 
73 /* Aquarius - MagEx rover, 1000Hz */
74 #define GEO_APP_AQUARIUS GEO_FALSE
75 
76 /* MagEx, internet-connected */
77 #define GEO_APP_MEADOWLARK GEO_FALSE
78 
79 
80 #define GEO_APP_G864_MFAM_FILTERED GEO_FALSE
81 #define GEO_1588_GRANDMASTER GEO_FALSE
82 #define GEO_PROVISIONING_APP GEO_FALSE
83 #define GEO_EIVA_PROVISIONING_APP GEO_FALSE
84 #define GEO_BOOTLOADER GEO_FALSE
85 #define GEO_FLASHTEST GEO_FALSE
86 #define GEO_SURVEY_MANAGER GEO_FALSE
87 #define GEO_APP_GODZILLA GEO_FALSE
88 #define GEO_APP_TCP_STREAMER GEO_FALSE
89 #define GEO_APP_PACTRON_DEV_KIT_STREAMER GEO_FALSE
90 #define GEO_APP_DOLPHIN GEO_FALSE
91 /*====================================================================*/
92 /*====================================================================*/
93 /* End of application pre-sets. */
94 /*====================================================================*/
95 /*====================================================================*/
96 
97 #define GEO_PROTOCOL 2
98 #define GEO_PROTOCOL_AS_STRING "2"
99 
100 #define GEO_USB 2
101 #define GEO_SD 3
102 
103 /*********************************************************************/
104 /* A board descriptor = CLASS | SUBCLASS | VERSION
105  * If version == 0, then no specific version is specified.
106  */
107 /*********************************************************************/
108 #define GEO_SYSTEM_BOARD_CLASS_PACTRON (0x01<<24)
109 #define GEO_SYSTEM_BOARD_CLASS_UNIFIED (0x02<<24)
110 #define GEO_SYSTEM_BOARD_CLASS_1292NCPDT (0x03<<24)
111 #define GEO_SYSTEM_BOARD_CLASS_C6748 (0x04<<24)
112 #define GEO_SYSTEM_BOARD_CLASS_TIVA_LAUNCHPAD (0x08<<24)
113 #define GEO_SYSTEM_BOARD_CLASS_SITARA (0x10<<24)
114 #define GEO_SYSTEM_BOARD_CLASS_TIVA_EIVA (0x20<<24)
115 #define GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_G864 (0x01<<16)
116 #define GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL (0x02<<16)
117 #define GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_MAGARROW (0x03<<16)
118 
119 
120 
121 
122 /****************************************************************
123  ********************* G-864 *************************************
124 *****************************************************************/
125 #if GEO_APP_G864 == GEO_TRUE
126 
127 #define GEO_APP_EMBEDDED_PROGRAM_NAME "G864"
128 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "G864"
129 #define HTTP_DOMAIN_NAME "g864.net"
130 
131 /********************************************************
132  * General application info. - name, versioning, etc.
133 *********************************************************/
134 #define GEO_APP_MAJOR_VERSION "3"
135 #define GEO_APP_MINOR_VERSION "1"
136 #define GEO_SCHEMA_VERSION 8
137 
138 /********************************************************
139  * Relating to boards and sensor hardware
140 *********************************************************/
141 /*** Primary elements **/
142 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
143 #define BOARD_PACTRON_1 GEO_FALSE
144 #define BOARD_UNIFIED_03 GEO_TRUE
145 
146 #define EMULATE_862_SENSOR GEO_FALSE
147 #define GEO_SERIAL_CESIUM_MAG GEO_TRUE
148 
149 #define GEO_INDICATORS GEO_TRUE
150 #define GEO_INDICATORS_BLINKERS GEO_TRUE
151 #define GEO_INDICATORS_SIREN GEO_TRUE
152 
153 /********************************************************
154  * Relating to file systems and storage
155 *********************************************************/
156 /* A meta-define */
157 /* A meta-define */
158 #define USE_USB_STORAGE GEO_TRUE
159 #define USE_SD_STORAGE GEO_FALSE
160 #define GEO_USES_APP_CONFIG_FILES GEO_TRUE
161 #define GEO_CONFIG_STORAGE "1:"
162 #define GEO_LOG_STORAGE "1:"
163 
164 
165 
166 #if USE_USB_STORAGE == GEO_TRUE
167 #define UNMIRRORED_STORAGE GEO_FALSE
168 #define EMBEDDED_DATA_STORAGE GEO_TRUE
169 #define GEO_SDCARD GEO_FALSE
170 #define GEO_USB_STORAGE GEO_TRUE
171 #define GEO_PRIMARY_STORAGE GEO_USB
172 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
173 #define GEO_LOG_FILES GEO_TRUE
174 #define FILES_PER_DIRECTORY 200
175 #define FILES_IN_DIRECTORIES GEO_TRUE
176 #define SECONDS_PER_DATA_FILE (5)
177 #elif USE_SD_STORAGE == GEO_TRUE
178 //#error SD card is not working on engineering system. Test production systems before enabling this.
179 #define UNMIRRORED_STORAGE GEO_FALSE
180 #define EMBEDDED_DATA_STORAGE GEO_TRUE
181 #define GEO_SDCARD GEO_TRUE
182 #define GEO_USB_STORAGE GEO_TRUE
183 #define GEO_PRIMARY_STORAGE GEO_SD
184 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
185 #define GEO_LOG_FILES GEO_FALSE
186 #define FILES_PER_DIRECTORY 200
187 #define FILES_IN_DIRECTORIES GEO_TRUE
188 #define SECONDS_PER_DATA_FILE (5)
189 #else
190 #define UNMIRRORED_STORAGE GEO_TRUE
191 #define EMBEDDED_DATA_STORAGE GEO_FALSE
192 #define GEO_SDCARD GEO_FALSE
193 #define GEO_USB_STORAGE GEO_TRUE
194 //#define GEO_PRIMARY_STORAGE GEO_USB
195 //#define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
196 #define GEO_LOG_FILES GEO_TRUE
197 #define SECONDS_PER_DATA_FILE (1)
198 #endif
199 
200 #define LTE_TEST GEO_FALSE
201 
202 /********************************************************
203  * MQTT, WiFi, and network
204 *********************************************************/
205 #define GEO_MQTT GEO_TRUE
206 #if LTE_TEST == GEO_TRUE
207 #define GEO_MQTT_SYNCH_REQUESTS GEO_TRUE
208 //#define PASSKEY "94618894"
209 //#define SSID_NAME "#Skyroam_v4u"
210 #define GEO_MQTT_CONNECT_TO_BROKER GEO_TRUE
211 #define GEO_WIFI_STATION_MODE GEO_TRUE
212 #else
213 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
214 #define GEO_WIFI_STATION_MODE GEO_FALSE
215 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
216 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
217 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
218 #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
219 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
220 
221 //#define PASSKEY "usa987011"
222 //#define SSID_NAME "GEO-Software-Team"
223 #endif
224 /* Wifi or Ethernet? */
225 #define GEO_NET_3100 GEO_TRUE
226 
227 #define NUM_HTTP_DAEMONS 5
228 #define NUM_MQTT_DAEMONS 2
229 
230 /********************************************************
231  * GPS and PPS
232 *********************************************************/
233 #define GPS_ENABLED GEO_TRUE
234 #define GEO_PPS_EVENTS GEO_TRUE
235 #define CHOOSE_PPS_DUTY_CYCLE GEO_TRUE
236 
237 #if GPS_ENABLED == GEO_TRUE
238 #define GEO_GPS_ADAFRUIT GEO_FALSE
239 #define GEO_GPS_TALLYSMAN_5431 GEO_TRUE
240 #define GEO_GPS_SIERRA_1110 GEO_FALSE
241 #endif
242 
243 
244 /**************** Other devices **************************/
245 #define GEO_I2C GEO_TRUE
246 
247 #define GEO_SENSOR_LIGHT GEO_TRUE
248 #define GEO_STORAGE_LIGHT GEO_TRUE
249 #define GEO_PPS_LIGHT GEO_TRUE
250 #define GEO_GPS_LIGHT GEO_TRUE
251 
252 #define GEO_864_PPS_LOCK GEO_TRUE
253 #define GEO_STANDARD_UART_TASK_PRIORITY 8
254 
255 
256 /********************************************************************************
257  * Setting up sensor data types.
258  * These are used to identify the use of particular sensors in this application,
259  * The max number is used to set up the array "m_apsStorages", where it is
260  * preferable, in order to save space, not to have unused items.
261  * So, in this section, we try to make them contiguous.
262  ********************************************************************************/
263 //#define THIS_APP_MAG_DATA_TYPE 1
264 #define THIS_APP_993_DATA_TYPE 0
265 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_993_DATA_TYPE + 1)
266 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
267 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
268 /* Used to define "m_apsStorages" */
269 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
270 //#define THIS_APP_MFAM_BLOCK_DATA_TYPE 6#define GEO_STANDARD_UART_TASK_PRIORITY 8
271 
272 
273 /**************************************************************************/
274 /* Logging modes, indicating what the application should do with data.
275 * The order of these doesn't matter, but the total number of them matters,
276 * and they are used as indexes into "m_apsStorages" matters, so we
277  * want to keep that array small if we can. These are never saved in any
278 * DB, or transmitted over the network.
279 **************************************************************************/
280 #define GM_LOGGING_MODE_MONITOR_DATA (0)
281 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
282 /* IGNORE_ALL is not used in setting up m_apsStorages */
283 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
284 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
285 
286 /**************************************************************************
287  * This number refers to the maximum number of storages that are
288  * set up into "m_apsStorages". There may be additional storages for
289  * other reasons, but that's what this one is about.
290  * If this isn't set up correctly then m_apsStorages will blow up.
291 **************************************************************************/
292 #define GEO_MAX_APP_STORAGES (2) // Maximum numnber of storages
293 
294 
297 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
298  #define GEO_APP_NAME "Geometrics G864-LP"
299  #define GEO_SSID "Tezzeret-LP-728"
300 #endif
301 #if BOARD_PACTRON_1 == GEO_TRUE
302  #define GEO_APP_NAME "Geometrics G864-PB"
303  #define GEO_SSID "Tezzeret-PB"
304 #endif
305 #if BOARD_UNIFIED_03 == GEO_TRUE
306  #define GEO_APP_NAME "Geometrics G864"
307  #define GEO_SSID "Tezzeret"
308  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
309  #define MFAM_SYS_MGMT GEO_FALSE
310  #define GEO_4151_BATTERY_MONITOR GEO_TRUE
311 #endif
312 
313 
314 /*********************************************************************/
315 /* In order to debug the 864, sometimes we want to have text files */
316 /* rather than the binary files expected by the Android client. */
317 /* When debugging in this fashion, using a browser use GEO_TRUE */
318 /* Use GEO_FALSE for using the Android app. */
319 /*********************************************************************/
320 #define GEO_864_DEBUG_TEXT_FILES GEO_FALSE
321 #if GEO_864_DEBUG_TEXT_FILES == GEO_TRUE
322 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
323 #else
324 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
325 #endif
326 #define GEO_CM221_MAG_DATA GEO_TRUE
327 // Single survey true only for testing.
328 #define GEO_SINGLE_SURVEY GEO_FALSE
329 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
330 
331 #if EMULATE_862_SENSOR == GEO_TRUE
332 #define EMULATE_862_RATE 10
333 #endif
334 
335 #if (GEO_SERIAL_CESIUM_MAG == GEO_TRUE) || (EMULATE_862_SENSOR == GEO_TRUE)
336 #define BLOCKS_PER_ACQUISITION_DATA_FILE 50
337 #endif
338 
339 
340 
341 /********************************************************
342  * Queue and buffer sizes. These all need to be as large
343  * as possible, while fitting into memory with each other.
344 *********************************************************/
345 #if UNMIRRORED_STORAGE == GEO_TRUE
346 #define GEO_RAM_FILE_BUFFER_SIZE 100000
347 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
348 #define COUNT_MFAM_BUFFERS 0
349 #define COUNT_862_MAGS 100
350 #define GM_SIZE_OF_APP_DATA_QUEUE 120
351 #elif EMULATE_862_SENSOR == GEO_TRUE
352 #define COUNT_MFAM_BUFFERS 0
353 #define COUNT_862_MAGS 400
354 #define GM_SIZE_OF_APP_DATA_QUEUE 500
355 #endif
356 #endif
357 
358 #if EMBEDDED_DATA_STORAGE == GEO_TRUE
359 
360 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
361 #define COUNT_MFAM_BUFFERS 0
362 #define COUNT_862_MAGS 400
363 #define GM_SIZE_OF_APP_DATA_QUEUE 500
364 #elif EMULATE_862_SENSOR == GEO_TRUE
365 #define COUNT_MFAM_BUFFERS 0
366 #define COUNT_862_MAGS 400
367 #define GM_SIZE_OF_APP_DATA_QUEUE 500
368 #endif
369 #endif
370 
371 
372 
373 
374 #define GEO_TCP_STREAMING GEO_FALSE
375 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
376 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
377 #define ALLOW_DELETE_SURVEYS GEO_TRUE
378 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
379 
380 #define GEO_LOG_PPS_DATA GEO_TRUE
381 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
382 #define GEO_AUTO_START_LOGGING GEO_FALSE
383 #define GEO_HARD_MAG_SUBSAMPLE 500
384 #define GEO_860_HARD_SUBSAMPLE 6
385 
386 #define DAEMON_MAXRECORD 3
387 
388 /***********************************************************
389  * Relating to host if any
390 **********************************************************/
391 #define HOST_CONNECTED GEO_TRUE
392 #define KNOWS_HOST_TIME GEO_TRUE
393 
394 
395 #define EMU_1HZ_NOT
396 
397 #define FILE_LOGGING_ALWAYS
398 //#define GEO_TEXT_MODE_ONLY
399 
400 #define SDSPI_BITRATE 12500000
401 #define acs "ccs"
402 #define accs
403 #define aPART_TM4C1294NCPDT
404 #define aTIVAWARE
405 #define axdc_target_types__ ti/targets/std.h
406 
407 /* Enable/Disable some test routines.
408  If not testing that, then FALSE */
409 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
410 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
411 
412 /* Priorities */
413 #define HTTP_DAEMON_PRIORITY 4
414 #define MQTT_DAEMON_PRIORITY 4
415 #define MAIN_TASK_STARTUP_PRIORITY
416 #define MAIN_TASK_LOOP_PRIORITY
417 #define WIFI_STARTUP_TASK_PRIORITY 9
418 #define SYS_MGMT_TASK_PRIORITY 1
419 #define GEO_STANDARD_UART_TASK_PRIORITY 8
420 #define WIFI_DAEMON_TASK_PRIORITY 10
421 
422 #endif
423 
424 /********************************************
425  * Loki
426  **********************************************/
427 
428 #if GEO_APP_MAGEX == GEO_TRUE
429 
430 #define GEO_APP_EMBEDDED_PROGRAM_NAME "MagEx"
431 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "MagEx"
432 #define HTTP_DOMAIN_NAME "magex.net"
433 
434 /********************************************************
435  * General application info. - name, versioning, etc.
436 *********************************************************/
437 #define GEO_APP_MAJOR_VERSION "0"
438 #define GEO_APP_MINOR_VERSION "8"
439 #define GEO_SCHEMA_VERSION 9
440 #define GEO_PROTOCOL 3
441 #define GEO_PROTOCOL_AS_STRING "3"
442 
445 /********************************************************
446  * Relating to boards and sensor hardware
447 *********************************************************/
448 /*** Primary elements **/
449 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
450 #define BOARD_PACTRON_1 GEO_FALSE
451 #define BOARD_UNIFIED_03 GEO_TRUE
452 
453 #define USE_MAG_ARROW_HARDWARE GEO_FALSE
454 #define USE_LOKI_HARDWARE GEO_TRUE
455 
456 /****************************************************
457  * Magnetometer options.
458  ****************************************************/
459 /* A meta-define */
460 #define RUN_REAL_MFAM GEO_TRUE
461 
462 #if RUN_REAL_MFAM == GEO_TRUE
463 #define MFAM_MODULE GEO_TRUE
464 #define EMULATE_MFAM_SENSOR GEO_FALSE
465 /* FID cycle is usually 1000, but it can be changed
466  * to test unusual situations */
467 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
468 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
469 #define GEO_MFAM_FULL_FILTER GEO_TRUE
470 #else
471 /* In this case we're emulating */
472 #define EMULATE_MFAM_SENSOR GEO_TRUE
473 #define MFAM_MODULE GEO_FALSE
474 /* FID cycle is usually 1000, but it can be changed
475  * to test unusual situations */
476 #define MFAM_EMULATOR_FID_CYCLE 1000
477 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
478 #define GEO_MFAM_FULL_FILTER GEO_TRUE
479 #endif
480 
481 /********************************************************
482  * Relating to file systems and storage
483 *********************************************************/
484 #define GEO_USES_APP_CONFIG_FILES GEO_TRUE
485 #define GEO_CONFIG_STORAGE "1:"
486 #define GEO_LOG_STORAGE "1:"
487 
488 /* A meta-define */
489 #define USE_USB_STORAGE GEO_FALSE
490 #define USE_SD_STORAGE GEO_TRUE
491 
492 #if USE_USB_STORAGE == GEO_TRUE
493 #define UNMIRRORED_STORAGE GEO_FALSE
494 #define EMBEDDED_DATA_STORAGE GEO_TRUE
495 #define GEO_SDCARD GEO_TRUE
496 #define GEO_USB_STORAGE GEO_TRUE
497 #define GEO_PRIMARY_STORAGE GEO_USB
498 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
499 #define GEO_LOG_FILES GEO_TRUE
500 #define FILES_PER_DIRECTORY 200
501 #define FILES_IN_DIRECTORIES GEO_TRUE
502 #define SECONDS_PER_DATA_FILE (5)
503 #define COUNT_862_MAGS 0
504 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
505 #define COUNT_MFAM_BUFFERS 1500
506 #define GEO_RAM_FILE_BUFFER_SIZE 0
507 //#define GEO_HARD_MAG_SUBSAMPLE 0
508 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
509 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
510 #endif
511 
512 #elif USE_SD_STORAGE == GEO_TRUE
513 #define UNMIRRORED_STORAGE GEO_FALSE
514 #define EMBEDDED_DATA_STORAGE GEO_TRUE
515 #define GEO_SDCARD GEO_TRUE
516 #define GEO_USB_STORAGE GEO_TRUE
517 #define GEO_PRIMARY_STORAGE GEO_SD
518 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
519 #define GEO_LOG_FILES GEO_TRUE
520 #define FILES_PER_DIRECTORY 200
521 #define FILES_IN_DIRECTORIES GEO_TRUE
522 #define SECONDS_PER_DATA_FILE (5)
523 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
524 #define COUNT_MFAM_BUFFERS 1500
525 #define GEO_RAM_FILE_BUFFER_SIZE 0
526 //#define GEO_HARD_MAG_SUBSAMPLE 0
527 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
528 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
529 #endif
530 
531 #else
532 #define UNMIRRORED_STORAGE GEO_TRUE
533 #define EMBEDDED_DATA_STORAGE GEO_FALSE
534 #define GEO_SDCARD GEO_TRUE
535 #define GEO_USB_STORAGE GEO_TRUE
536 //#define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
537 #define GEO_LOG_FILES GEO_TRUE
538 #define SECONDS_PER_DATA_FILE (1)
539 #define GEO_RAM_FILE_BUFFER_SIZE 60000
540 #define GM_SIZE_OF_APP_DATA_QUEUE 520
541 #define COUNT_MFAM_BUFFERS 500
542 #define BLOCKS_PER_ACQUISITION_DATA_FILE 100
543 #endif
544 
545 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
546 #define ALLOW_DELETE_SURVEYS GEO_TRUE
547 
548 
549 /********************************************************
550  * MQTT, WiFi, and network
551 *********************************************************/
552 #define LTE_TEST GEO_FALSE
553 #define GEO_MQTT GEO_TRUE
554 #if LTE_TEST == GEO_TRUE
555 #define GEO_MQTT_SYNCH_REQUESTS GEO_TRUE
556 #define GEO_MQTT_CONNECT_TO_BROKER GEO_TRUE
557 #define GEO_WIFI_STATION_MODE GEO_TRUE
558 #else
559 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
560 #define GEO_WIFI_STATION_MODE GEO_FALSE
561 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
562 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
563 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
564 #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
565 #endif
566 
567 /* Wifi or Ethernet? */
568 #define GEO_NET_3100 GEO_TRUE
569 #define NUM_HTTP_DAEMONS (5)
570 #define NUM_MQTT_DAEMONS (2)
571 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
572 
573 
574 /********************************************************
575  * GPS and PPS
576 *********************************************************/
577 #define GPS_ENABLED GEO_TRUE
578 #define GEO_PPS_EVENTS GEO_TRUE
579 #define CHOOSE_PPS_DUTY_CYCLE GEO_TRUE
580 #define GEO_LOG_PPS_DATA GEO_TRUE
581 #define GEO_864_PPS_LOCK GEO_FALSE
582 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
583 
584 #if GPS_ENABLED == GEO_TRUE
585 #define GEO_GPS_ADAFRUIT GEO_FALSE
586 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
587 #if USE_LOKI_HARDWARE == GEO_TRUE
588 #define GEO_GPS_ZEDF9P GEO_TRUE
589 #define GEO_GPS_ZEDF9P_PPK GEO_FALSE
590 #define GEO_GPS_SIERRA_1110 GEO_FALSE
591 #else
592 #define GEO_GPS_SIERRA_1110 GEO_TRUE
593 #define GEO_GPS_ZEDF9P GEO_FALSE
594 #endif
595 #endif
596 
597 
598 
599 /**************** Other devices **************************/
600 #if USE_LOKI_HARDWARE == GEO_TRUE
601 #define LOKI_PICKLE_SWITCH GEO_TRUE
602 #define LOKI_TWEETER GEO_TRUE
603 #define GEO_SPEAKER_DAC GEO_TRUE
604 #define GEO_SENSOR_LIGHT GEO_TRUE
605 #define GEO_STORAGE_LIGHT GEO_TRUE
606 #define GEO_PPS_LIGHT GEO_FALSE
607 #define GEO_WIFI_LIGHT GEO_TRUE
608 #define GEO_GPS_LIGHT GEO_TRUE
609 #define GEO_POWER_INDICATOR_LIGHT GEO_TRUE
610 #define GEO_INDICATORS GEO_TRUE
611 #define GEO_INDICATORS_BLINKERS GEO_TRUE
612 #define GEO_INDICATORS_SIREN GEO_TRUE
613 #else
614 #define GEO_INDICATORS GEO_FALSE
615 #define GEO_INDICATORS_BLINKERS GEO_FALSE
616 #define GEO_INDICATORS_SIREN GEO_FALSE
617 #define LOKI_PICKLE_SWITCH GEO_FALSE
618 #define LOKI_TWEETER GEO_FALSE
619 #define GEO_SPEAKER_DAC GEO_FALSE
620 #define GEO_SENSOR_LIGHT GEO_FALSE
621 #define GEO_STORAGE_LIGHT GEO_FALSE
622 #define GEO_PPS_LIGHT GEO_FALSE
623 #define GEO_WIFI_LIGHT GEO_FALSE
624 #define GEO_GPS_LIGHT GEO_FALSE
625 #define GEO_POWER_INDICATOR_LIGHT GEO_FALSE
626 #endif
627 
628 #define GEO_I2C GEO_TRUE
629 /***********************************************************
630  * Batteries
631 ************************************************************/
632 #define BATTERY_50_PERCENT (11.1)
633 #define BATTERY_20_PERCENT (10.5)
634 #define BATTERY_5_PERCENT (10.0)
635 
636 /********************************************************************************
637  * Setting up sensor data types.
638  * These are used to identify the use of particular sensors in this application,
639  * The max number is used to set up the array "m_apsStorages", where it is
640  * preferable, in order to save space, not to have unused items.
641  * So, in this section, we try to make them contiguous.
642  ********************************************************************************/
643 #define THIS_APP_MAG_DATA_TYPE 0
644 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MAG_DATA_TYPE + 1)
645 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
646 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
647 /* Used to define "m_apsStorages" */
648 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
649 //#define THIS_APP_MFAM_BLOCK_DATA_TYPE 6
650 
651 /**************************************************************************/
652 /* Logging modes, indicating what the application should do with data.
653 * The order of these doesn't matter, but the total number of them matters,
654 * and they are used as indexes into "m_apsStorages" matters, so we
655  * want to keep that array small if we can. These are never saved in any
656 * DB, or transmitted over the network.
657 **************************************************************************/
658 #define GM_LOGGING_MODE_MONITOR_DATA (0)
659 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
660 /* IGNORE_ALL is not used in setting up m_apsStorages */
661 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
662 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
663 
664 /**************************************************************************
665  * This number refers to the maximum number of storages that are
666  * set up into "m_apsStorages". There may be additional storages for
667  * other reasons, but that's what this one is about.
668  * If this isn't set up correctly then m_apsStorages will blow up.
669 **************************************************************************/
670 
671 /* Files, monitor, and MQTT */
672 #define GEO_MAX_APP_STORAGES (3)
673 
674 
675 #if BOARD_UNIFIED_03 == GEO_TRUE
676  #define GEO_APP_NAME "MagEx"
677  #define GEO_SSID "Tezzeret"
678  #if USE_MAG_ARROW_HARDWARE == GEO_TRUE
679  #define GEO_7993_BATTERY_MONITOR GEO_TRUE
680  #define MFAM_SYS_MGMT GEO_TRUE
681  #elif USE_LOKI_HARDWARE == GEO_TRUE
682  #define GEO_7998_BATTERY_MONITOR GEO_TRUE
683  #define GEO_TMP75_TEMP_SENSOR GEO_TRUE
684  #define MFAM_SYS_MGMT GEO_TRUE
685  #endif
686  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
687 #endif
688 
689 /*********************************************************************/
690 /* Binary header in every file. */
691 /*********************************************************************/
692 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
693 #define GEO_SINGLE_SURVEY GEO_FALSE
694 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
695 
696 /********************************************************
697  * Queue and buffer sizes. These all need to be as large
698  * as possible, while fitting into memory with each other.
699 *********************************************************/
700 #define GEO_LOAD_MFAM_SAMPLE_RATE_FROM_CONFIGS GEO_FALSE
701 #define GEO_HARD_MAG_SUBSAMPLE_MQTT 200
702 #define GEO_DYNAMIC_CFG_RECORDS_PER_FILE GEO_FALSE
703 
704 
705 /***********************************************************
706  * Relating to host if any
707 **********************************************************/
708 #define HOST_CONNECTED GEO_TRUE
709 #define KNOWS_HOST_TIME GEO_TRUE
710 
711 #define GEO_TCP_STREAMING GEO_FALSE
712 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
713 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
714 
715 #define GEO_AUTO_START_LOGGING GEO_FALSE
716 #define GEO_HARD_MAG_SUBSAMPLE 500
717 #define GEO_LOKI_MONITOR_SUBSAMPLE 10
718 
719 #define DAEMON_MAXRECORD 3
720 
721 #define EMU_1HZ_NOT
722 
723 #define FILE_LOGGING_ALWAYS
724 
725 #define SDSPI_BITRATE 12500000
726 #define acs "ccs"
727 #define accs
728 #define aPART_TM4C1294NCPDT
729 #define aTIVAWARE
730 #define axdc_target_types__ ti/targets/std.h
731 
732 /* Enable/Disable some test routines.
733  If not testing that, then FALSE */
734 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
735 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
736 
737 /* Priorities */
738 #define HTTP_DAEMON_PRIORITY 4
739 #define MQTT_DAEMON_PRIORITY 4
740 #define MAIN_TASK_STARTUP_PRIORITY
741 #define MAIN_TASK_LOOP_PRIORITY
742 #define SYS_MGMT_TASK_PRIORITY 1
743 #define GEO_STANDARD_UART_TASK_PRIORITY 8
744 /* Maybe used to be 5? */
745 #define WIFI_DAEMON_TASK_PRIORITY 10
746 #define WIFI_STARTUP_TASK_PRIORITY 9
747 
748 
749 
750 #endif
751 /**************************
752 ****** End of Loki *******
753 **************************/
754 
755 /**************************
756 ****** Meadowlark *******
757 **************************/
758 #if GEO_APP_MEADOWLARK == GEO_TRUE
759 
760 #define GEO_APP_EMBEDDED_PROGRAM_NAME "MEADOWLARK"
761 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "MEADOWLARK"
762 #define HTTP_DOMAIN_NAME "meadowlark.net"
763 
764 /********************************************************
765  * Relating to boards and sensor hardware
766 *********************************************************/
767 /*** Primary elements **/
768 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
769 #define BOARD_PACTRON_1 GEO_FALSE
770 #define BOARD_UNIFIED_03 GEO_TRUE
771 
772 #define USE_MAG_ARROW_HARDWARE GEO_FALSE
773 #define USE_LOKI_HARDWARE GEO_TRUE
774 
775 /****************************************************
776  * Magnetometer options.
777  ****************************************************/
778 /* A meta-define */
779 #define RUN_REAL_MFAM GEO_TRUE
780 
781 #if RUN_REAL_MFAM == GEO_TRUE
782 #define MFAM_MODULE GEO_TRUE
783 #define EMULATE_MFAM_SENSOR GEO_FALSE
784 /* FID cycle is usually 1000, but it can be changed
785  * to test unusual situations */
786 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
787 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
788 #define GEO_MFAM_FULL_FILTER GEO_TRUE
789 
790 #else
791 /* In this case we're emulating */
792 #define EMULATE_MFAM_SENSOR GEO_TRUE
793 #define MFAM_MODULE GEO_FALSE
794 /* FID cycle is usually 1000, but it can be changed
795  * to test unusual situations */
796 #define MFAM_EMULATOR_FID_CYCLE 1000
797 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
798 #define GEO_MFAM_FULL_FILTER GEO_TRUE
799 #endif
800 
801 #define EMULATE_862_SENSOR GEO_NOT_RELEVANT
802 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
803 #define COUNT_862_MAGS GEO_NOT_RELEVANT
804 #define GEO_CM221_MAG_DATA GEO_NOT_RELEVANT
805 
806 
807 /********************************************************
808  * Relating to file systems and storage
809 *********************************************************/
810 
811 #if EMBEDDED_DATA_STORAGE == GEO_TRUE
812 #endif
813 
814 /* A meta-define */
815 #define USE_USB_STORAGE GEO_FALSE
816 #define USE_SD_STORAGE GEO_FALSE
817 
818 #if USE_USB_STORAGE == GEO_TRUE
819 #define UNMIRRORED_STORAGE GEO_FALSE
820 #define EMBEDDED_DATA_STORAGE GEO_TRUE
821 #define GEO_SDCARD GEO_TRUE
822 #define GEO_USB_STORAGE GEO_TRUE
823 #define GEO_PRIMARY_STORAGE GEO_USB
824 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
825 #define GEO_LOG_FILES GEO_FALSE
826 #define FILES_PER_DIRECTORY 200
827 #define FILES_IN_DIRECTORIES GEO_TRUE
828 #define SECONDS_PER_DATA_FILE (5)
829 #define COUNT_862_MAGS 0
830 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
831 #define COUNT_MFAM_BUFFERS 1500
832 #define GEO_RAM_FILE_BUFFER_SIZE 0
833 #define GEO_HARD_MAG_SUBSAMPLE 0
834 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
835 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
836 #endif
837 
838 #elif USE_SD_STORAGE == GEO_TRUE
839 #define UNMIRRORED_STORAGE GEO_FALSE
840 #define EMBEDDED_DATA_STORAGE GEO_TRUE
841 #define GEO_SDCARD GEO_TRUE
842 #define GEO_USB_STORAGE GEO_TRUE
843 #define GEO_PRIMARY_STORAGE GEO_SD
844 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
845 #define GEO_LOG_FILES GEO_FALSE
846 #define FILES_PER_DIRECTORY 200
847 #define FILES_IN_DIRECTORIES GEO_TRUE
848 #define SECONDS_PER_DATA_FILE (5)
849 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
850 #define COUNT_MFAM_BUFFERS 1500
851 #define GEO_RAM_FILE_BUFFER_SIZE 0
852 #define GEO_HARD_MAG_SUBSAMPLE 0
853 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
854 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
855 #endif
856 
857 #else
858 #define UNMIRRORED_STORAGE GEO_TRUE
859 #define EMBEDDED_DATA_STORAGE GEO_FALSE
860 #define GEO_SDCARD GEO_TRUE
861 #define GEO_USB_STORAGE GEO_TRUE
862 //#define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
863 #define GEO_LOG_FILES GEO_TRUE
864 #define SECONDS_PER_DATA_FILE (1)
865 #define GEO_RAM_FILE_BUFFER_SIZE 60000
866 #define GM_SIZE_OF_APP_DATA_QUEUE 520
867 #define COUNT_MFAM_BUFFERS 500
868 #define BLOCKS_PER_ACQUISITION_DATA_FILE 100
869 #endif
870 
871 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
872 #define ALLOW_DELETE_SURVEYS GEO_TRUE
873 
874 
875 /********************************************************
876  * MQTT, WiFi, and network
877 *********************************************************/
878 #define LTE_TEST GEO_FALSE
879 #define GEO_MQTT GEO_TRUE
880 #if LTE_TEST == GEO_TRUE
881 #define GEO_MQTT_SYNCH_REQUESTS GEO_TRUE
882 #define GEO_MQTT_CONNECT_TO_BROKER GEO_TRUE
883 #define GEO_WIFI_STATION_MODE GEO_TRUE
884 #else
885 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
886 #define GEO_WIFI_STATION_MODE GEO_FALSE
887 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
888 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
889 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
890 #endif
891 
892 /* Wifi or Ethernet? */
893 #define GEO_NET_3100 GEO_TRUE
894 #define NUM_HTTP_DAEMONS (5)
895 #define NUM_MQTT_DAEMONS (2)
896 
897 
898 /********************************************************
899  * GPS and PPS
900 *********************************************************/
901 #define GPS_ENABLED GEO_TRUE
902 #define GEO_PPS_EVENTS GEO_TRUE
903 #define GEO_LOG_PPS_DATA GEO_TRUE
904 #define GEO_864_PPS_LOCK GEO_FALSE
905 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
906 
907 #if GPS_ENABLED == GEO_TRUE
908 #define GEO_GPS_ADAFRUIT GEO_FALSE
909 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
910 #if USE_LOKI_HARDWARE == GEO_TRUE
911 #define GEO_GPS_ZEDF9P GEO_TRUE
912 #define GEO_GPS_SIERRA_1110 GEO_FALSE
913 #else
914 #define GEO_GPS_SIERRA_1110 GEO_TRUE
915 #define GEO_GPS_ZEDF9P GEO_FALSE
916 #endif
917 #endif
918 
919 
920 
921 /**************** Other devices **************************/
922 #if USE_LOKI_HARDWARE == GEO_TRUE
923 #define LOKI_PICKLE_SWITCH GEO_TRUE
924 #define LOKI_TWEETER GEO_TRUE
925 #define GEO_SPEAKER_DAC GEO_TRUE
926 #define GEO_SENSOR_LIGHT GEO_TRUE
927 #define GEO_STORAGE_LIGHT GEO_TRUE
928 #define GEO_PPS_LIGHT GEO_FALSE
929 #define GEO_WIFI_LIGHT GEO_TRUE
930 #define GEO_GPS_LIGHT GEO_TRUE
931 #define GEO_POWER_INDICATOR_LIGHT GEO_TRUE
932 #define GEO_INDICATORS GEO_TRUE
933 #define GEO_INDICATORS_BLINKERS GEO_TRUE
934 #define GEO_INDICATORS_SIREN GEO_TRUE
935 #else
936 #define GEO_INDICATORS GEO_FALSE
937 #define GEO_INDICATORS_BLINKERS GEO_FALSE
938 #define GEO_INDICATORS_SIREN GEO_FALSE
939 #define LOKI_PICKLE_SWITCH GEO_FALSE
940 #define LOKI_TWEETER GEO_FALSE
941 #define GEO_SPEAKER_DAC GEO_FALSE
942 #define GEO_SENSOR_LIGHT GEO_FALSE
943 #define GEO_STORAGE_LIGHT GEO_FALSE
944 #define GEO_PPS_LIGHT GEO_FALSE
945 #define GEO_WIFI_LIGHT GEO_FALSE
946 #define GEO_GPS_LIGHT GEO_FALSE
947 #define GEO_POWER_INDICATOR_LIGHT GEO_FALSE
948 #endif
949 
950 #define GEO_I2C GEO_TRUE
951 /***********************************************************
952  * Batteries
953 ************************************************************/
954 #define BATTERY_50_PERCENT (11.1)
955 #define BATTERY_20_PERCENT (10.5)
956 #define BATTERY_5_PERCENT (10.0)
957 
958 /********************************************************************************
959  * Setting up sensor data types.
960  * These are used to identify the use of particular sensors in this application,
961  * The max number is used to set up the array "m_apsStorages", where it is
962  * preferable, in order to save space, not to have unused items.
963  * So, in this section, we try to make them contiguous.
964  ********************************************************************************/
965 #define THIS_APP_MAG_DATA_TYPE 0
966 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MAG_DATA_TYPE + 1)
967 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
968 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
969 /* Used to define "m_apsStorages" */
970 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
971 //#define THIS_APP_MFAM_BLOCK_DATA_TYPE 6
972 
973 /**************************************************************************/
974 /* Logging modes, indicating what the application should do with data.
975 * The order of these doesn't matter, but the total number of them matters,
976 * and they are used as indexes into "m_apsStorages" matters, so we
977  * want to keep that array small if we can. These are never saved in any
978 * DB, or transmitted over the network.
979 **************************************************************************/
980 #define GM_LOGGING_MODE_MONITOR_DATA (0)
981 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
982 /* IGNORE_ALL is not used in setting up m_apsStorages */
983 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
984 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
985 
986 /**************************************************************************
987  * This number refers to the maximum number of storages that are
988  * set up into "m_apsStorages". There may be additional storages for
989  * other reasons, but that's what this one is about.
990  * If this isn't set up correctly then m_apsStorages will blow up.
991 **************************************************************************/
992 
993 /* Files, monitor, and MQTT */
994 #define GEO_MAX_APP_STORAGES (3)
995 
996 
997 /********************************************************
998  * General application info. - name, versioning, etc.
999 *********************************************************/
1000 #define GEO_APP_MAJOR_VERSION "0"
1001 #define GEO_APP_MINOR_VERSION "8"
1002 #define GEO_SCHEMA_VERSION 8
1003 #error verify that this is the correct schema version
1004 
1007 #if BOARD_UNIFIED_03 == GEO_TRUE
1008  #define GEO_APP_NAME "Meadowlark"
1009  #define GEO_SSID "Tezzeret"
1010  #if USE_MAG_ARROW_HARDWARE == GEO_TRUE
1011  #define GEO_7993_BATTERY_MONITOR GEO_TRUE
1012  #define MFAM_SYS_MGMT GEO_TRUE
1013  #elif USE_LOKI_HARDWARE == GEO_TRUE
1014  #define GEO_7998_BATTERY_MONITOR GEO_TRUE
1015  #define MFAM_SYS_MGMT GEO_FALSE
1016  #endif
1017  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
1018 #endif
1019 
1020 /*********************************************************************/
1021 /* Binary header in every file. */
1022 /*********************************************************************/
1023 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
1024 #define GEO_SINGLE_SURVEY GEO_FALSE
1025 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
1026 
1027 /********************************************************
1028  * Queue and buffer sizes. These all need to be as large
1029  * as possible, while fitting into memory with each other.
1030 *********************************************************/
1031 #define GEO_LOAD_MFAM_SAMPLE_RATE_FROM_CONFIGS GEO_FALSE
1032 #define GEO_HARD_MAG_SUBSAMPLE_MQTT 200
1033 #define GEO_DYNAMIC_CFG_RECORDS_PER_FILE GEO_FALSE
1034 
1035 
1036 /***********************************************************
1037  * Relating to host if any
1038 **********************************************************/
1039 #define HOST_CONNECTED GEO_TRUE
1040 #define KNOWS_HOST_TIME GEO_TRUE
1041 
1042 #define GEO_TCP_STREAMING GEO_FALSE
1043 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
1044 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
1045 
1046 #define GEO_AUTO_START_LOGGING GEO_FALSE
1047 #define GEO_HARD_MAG_SUBSAMPLE 500
1048 #define GEO_LOKI_MONITOR_SUBSAMPLE 10
1049 
1050 #define DAEMON_MAXRECORD 3
1051 
1052 #define EMU_1HZ_NOT
1053 
1054 #define FILE_LOGGING_ALWAYS
1055 
1056 #define SDSPI_BITRATE 12500000
1057 #define acs "ccs"
1058 #define accs
1059 #define aPART_TM4C1294NCPDT
1060 #define aTIVAWARE
1061 #define axdc_target_types__ ti/targets/std.h
1062 
1063 /* Enable/Disable some test routines.
1064  If not testing that, then FALSE */
1065 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
1066 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
1067 
1068 
1069 
1070 #endif
1071 /**************************
1072 ****** End of Meadowlark **
1073 **************************/
1074 
1075 /****************************************
1076  ************** Tranquility *************
1077  ****************************************/
1078 #if GEO_APP_TRANQUILITY == GEO_TRUE
1079 
1080 #define GEO_APP_EMBEDDED_PROGRAM_NAME "TRANQUILITY"
1081 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "TRANQUILITY"
1082 #define HTTP_DOMAIN_NAME "tranquility.net"
1083 
1084 /********************************************************
1085  * Relating to board hardware
1086 *********************************************************/
1087 /*** Primary elements **/
1088 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
1089 #define BOARD_PACTRON_1 GEO_FALSE
1090 #define BOARD_UNIFIED_03 GEO_TRUE
1091 
1092 #define USE_MAG_ARROW_HARDWARE GEO_FALSE
1093 #define USE_LOKI_HARDWARE GEO_TRUE
1094 
1095 #define GEO_ALLOW_RUN_DISCONNECTED GEO_TRUE
1096 
1097 /****************************************************
1098  * Magnetometer options.
1099  ****************************************************/
1100 /* A meta-define */
1101 #define RUN_REAL_MFAM GEO_TRUE
1102 
1103 #if RUN_REAL_MFAM == GEO_TRUE
1104 #define MFAM_MODULE GEO_TRUE
1105 #define EMULATE_MFAM_SENSOR GEO_FALSE
1106 /* FID cycle is usually 1000, but it can be changed
1107  * to test unusual situations */
1108 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
1109 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
1110 #define GEO_MFAM_FULL_FILTER GEO_TRUE
1111 
1112 #else
1113 /* In this case we're emulating */
1114 #define EMULATE_MFAM_SENSOR GEO_TRUE
1115 #define MFAM_MODULE GEO_FALSE
1116 /* FID cycle is usually 1000, but it can be changed
1117  * to test unusual situations */
1118 #define MFAM_EMULATOR_FID_CYCLE 1000
1119 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
1120 #define GEO_MFAM_FULL_FILTER GEO_TRUE
1121 #endif
1122 
1123 /********************************************************
1124  * Relating to file systems and storage
1125 *********************************************************/
1126 
1127 /* A meta-define */
1128 #define USE_USB_STORAGE GEO_FALSE
1129 #define USE_SD_STORAGE GEO_TRUE
1130 
1131 #if USE_USB_STORAGE == GEO_TRUE
1132 #define UNMIRRORED_STORAGE GEO_FALSE
1133 #define EMBEDDED_DATA_STORAGE GEO_TRUE
1134 #define GEO_SDCARD GEO_TRUE
1135 #define GEO_USB_STORAGE GEO_TRUE
1136 #define GEO_PRIMARY_STORAGE GEO_USB
1137 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
1138 #define GEO_LOG_FILES GEO_FALSE
1139 #define FILES_PER_DIRECTORY 200
1140 #define FILES_IN_DIRECTORIES GEO_TRUE
1141 #define SECONDS_PER_DATA_FILE (120)
1142 #define COUNT_862_MAGS 0
1143 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
1144 #define COUNT_MFAM_BUFFERS 1500
1145 #define GEO_RAM_FILE_BUFFER_SIZE 0
1146 #define GEO_HARD_MAG_SUBSAMPLE 0
1147 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
1148 #define BLOCKS_PER_ACQUISITION_DATA_FILE 1200
1149 #endif
1150 
1151 #elif USE_SD_STORAGE == GEO_TRUE
1152 #define UNMIRRORED_STORAGE GEO_FALSE
1153 #define EMBEDDED_DATA_STORAGE GEO_TRUE
1154 #define GEO_SDCARD GEO_TRUE
1155 #define GEO_USB_STORAGE GEO_TRUE
1156 #define GEO_PRIMARY_STORAGE GEO_SD
1157 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
1158 #define GEO_LOG_FILES GEO_FALSE
1159 #define FILES_PER_DIRECTORY 200
1160 #define FILES_IN_DIRECTORIES GEO_TRUE
1161 #define SECONDS_PER_DATA_FILE (120)
1162 #define COUNT_862_MAGS 0
1163 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
1164 #define COUNT_MFAM_BUFFERS 1500
1165 #define GEO_RAM_FILE_BUFFER_SIZE 0
1166 #define GEO_HARD_MAG_SUBSAMPLE 0
1167 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
1168 #define BLOCKS_PER_ACQUISITION_DATA_FILE 1200
1169 #endif
1170 
1171 #else
1172 #error Tranquility cannot run without embedded storage.
1173 #endif
1174 
1175 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
1176 #define ALLOW_DELETE_SURVEYS GEO_TRUE
1177 
1178 
1179 /********************************************************
1180  * MQTT, WiFi, and network
1181 *********************************************************/
1182 #define LTE_TEST GEO_FALSE
1183 #define GEO_MQTT GEO_TRUE
1184 #if LTE_TEST == GEO_TRUE
1185 #define GEO_MQTT_SYNCH_REQUESTS GEO_TRUE
1186 //#define PASSKEY "94618894"
1187 //#define SSID_NAME "#Skyroam_v4u"
1188 #define GEO_MQTT_CONNECT_TO_BROKER GEO_TRUE
1189 #define GEO_WIFI_STATION_MODE GEO_TRUE
1190 #else
1191 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
1192 #define GEO_WIFI_STATION_MODE GEO_FALSE
1193 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
1194 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
1195 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
1196 #endif
1197 
1198 /* Wifi or Ethernet? */
1199 #define GEO_NET_3100 GEO_TRUE
1200 #define NUM_HTTP_DAEMONS (5)
1201 #define NUM_MQTT_DAEMONS (2)
1202 
1203 
1204 /********************************************************
1205  * GPS and PPS
1206 *********************************************************/
1207 #define GPS_ENABLED GEO_TRUE
1208 #define GEO_PPS_EVENTS GEO_TRUE
1209 #define GEO_LOG_PPS_DATA GEO_TRUE
1210 
1211 #if GPS_ENABLED == GEO_TRUE
1212 #define GEO_GPS_ADAFRUIT GEO_FALSE
1213 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
1214 #if USE_LOKI_HARDWARE == GEO_TRUE
1215 #define GEO_GPS_ZEDF9P GEO_TRUE
1216 #define GEO_GPS_SIERRA_1110 GEO_FALSE
1217 #else
1218 #define GEO_GPS_SIERRA_1110 GEO_TRUE
1219 #define GEO_GPS_ZEDF9P GEO_FALSE
1220 #endif
1221 #endif
1222 
1223 /**************** Other devices **************************/
1224 #if USE_LOKI_HARDWARE == GEO_TRUE
1225 #define LOKI_PICKLE_SWITCH GEO_FALSE
1226 #define LOKI_TWEETER GEO_TRUE
1227 #define GEO_SPEAKER_DAC GEO_TRUE
1228 #define GEO_SENSOR_LIGHT GEO_TRUE
1229 #define GEO_STORAGE_LIGHT GEO_TRUE
1230 #define GEO_PPS_LIGHT GEO_FALSE
1231 #define GEO_WIFI_LIGHT GEO_TRUE
1232 #define GEO_GPS_LIGHT GEO_TRUE
1233 #define GEO_POWER_INDICATOR_LIGHT GEO_TRUE
1234 #define GEO_INDICATORS GEO_TRUE
1235 #define GEO_INDICATORS_BLINKERS GEO_TRUE
1236 #define GEO_INDICATORS_SIREN GEO_TRUE
1237 #else
1238 #define GEO_INDICATORS GEO_FALSE
1239 #define GEO_INDICATORS_BLINKERS GEO_FALSE
1240 #define GEO_INDICATORS_SIREN GEO_FALSE
1241 #define LOKI_PICKLE_SWITCH GEO_FALSE
1242 #define LOKI_TWEETER GEO_FALSE
1243 #define GEO_SPEAKER_DAC GEO_FALSE
1244 #define GEO_SENSOR_LIGHT GEO_FALSE
1245 #define GEO_STORAGE_LIGHT GEO_FALSE
1246 #define GEO_PPS_LIGHT GEO_FALSE
1247 #define GEO_WIFI_LIGHT GEO_FALSE
1248 #define GEO_GPS_LIGHT GEO_FALSE
1249 #define GEO_POWER_INDICATOR_LIGHT GEO_FALSE
1250 #endif
1251 
1252 #define GEO_I2C GEO_TRUE
1253 #define GEO_864_PPS_LOCK GEO_FALSE
1254 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
1255 
1256 /***********************************************************
1257  * Batteries
1258 ************************************************************/
1259 #define BATTERY_50_PERCENT (11.1)
1260 #define BATTERY_20_PERCENT (10.5)
1261 #define BATTERY_5_PERCENT (10.0)
1262 
1263 /********************************************************************************
1264  * Setting up sensor data types.
1265  * These are used to identify the use of particular sensors in this application,
1266  * The max number is used to set up the array "m_apsStorages", where it is
1267  * preferable, in order to save space, not to have unused items.
1268  * So, in this section, we try to make them contiguous.
1269  ********************************************************************************/
1270 #define THIS_APP_MAG_DATA_TYPE 0
1271 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MAG_DATA_TYPE + 1)
1272 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
1273 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
1274 /* Used to define "m_apsStorages" */
1275 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
1276 
1277 /**************************************************************************/
1278 /* Logging modes, indicating what the application should do with data.
1279 * The order of these doesn't matter, but the total number of them matters,
1280 * and they are used as indexes into "m_apsStorages" matters, so we
1281  * want to keep that array small if we can. These are never saved in any
1282 * DB, or transmitted over the network.
1283 **************************************************************************/
1284 #define GM_LOGGING_MODE_MONITOR_DATA (0)
1285 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
1286 #define GM_LOGGING_SAVE_DATA_TO_FILES_DISCONNECTED (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
1287 /* IGNORE_ALL is not used in setting up m_apsStorages */GM_LOGGING_SAVE_DATA_TO_FILES
1288 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES_DISCONNECTED + 1)
1289 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
1290 
1291 /************************************************************************/
1297 /* Files, monitor, and MQTT */
1298 #define GEO_MAX_APP_STORAGES (3)
1299 
1300 /********************************************************
1301  * General application info. - name, versioning, etc.
1302 *********************************************************/
1303 #define GEO_APP_MAJOR_VERSION "0"
1304 #define GEO_APP_MINOR_VERSION "1"
1305 #define GEO_SCHEMA_VERSION 9
1306 #error verify that this is the correct schema version
1307 
1310 #if BOARD_UNIFIED_03 == GEO_TRUE
1311  #define GEO_APP_NAME "Tranquility"
1312  #define GEO_SSID "Tranquility"
1313  #if USE_MAG_ARROW_HARDWARE == GEO_TRUE
1314  #define GEO_7993_BATTERY_MONITOR GEO_TRUE
1315  #define MFAM_SYS_MGMT GEO_TRUE
1316  #elif USE_LOKI_HARDWARE == GEO_TRUE
1317  #define GEO_7998_BATTERY_MONITOR GEO_TRUE
1318  #define MFAM_SYS_MGMT GEO_FALSE
1319  #endif
1320  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
1321 #endif
1322 
1323 /*********************************************************************/
1324 /* Binary header in every file. */
1325 /*********************************************************************/
1326 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
1327 
1328 #define GEO_CM221_MAG_DATA GEO_TRUE
1329 #define GEO_SINGLE_SURVEY GEO_FALSE
1330 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
1331 
1332 /********************************************************
1333  * Queue and buffer sizes. These all need to be as large
1334  * as possible, while fitting into memory with each other.
1335 *********************************************************/
1336 #define GEO_LOAD_MFAM_SAMPLE_RATE_FROM_CONFIGS GEO_FALSE
1337 #define GEO_HARD_MAG_SUBSAMPLE_MQTT 200
1338 #define GEO_DYNAMIC_CFG_RECORDS_PER_FILE GEO_FALSE
1339 
1340 
1341 /***********************************************************
1342  * Relating to host if any
1343 **********************************************************/
1344 #define HOST_CONNECTED GEO_TRUE
1345 #define KNOWS_HOST_TIME GEO_TRUE
1346 
1347 #define GEO_TCP_STREAMING GEO_FALSE
1348 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
1349 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
1350 
1351 #define GEO_AUTO_START_LOGGING GEO_FALSE
1352 #define GEO_HARD_MAG_SUBSAMPLE 500
1353 #define GEO_LOKI_MONITOR_SUBSAMPLE 10
1354 
1355 #define DAEMON_MAXRECORD 3
1356 
1357 #define EMU_1HZ_NOT
1358 
1359 #define FILE_LOGGING_ALWAYS
1360 
1361 #define SDSPI_BITRATE 12500000
1362 #define acs "ccs"
1363 #define accs
1364 #define aPART_TM4C1294NCPDT
1365 #define aTIVAWARE
1366 #define axdc_target_types__ ti/targets/std.h
1367 
1368 /* Enable/Disable some test routines.
1369  If not testing that, then FALSE */
1370 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
1371 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
1372 
1373 
1374 
1375 #endif
1376 /**************************
1377 ****** End of Loki *******
1378 **************************/
1379 
1380 /****************************************************************
1381  ********************* Serenity *************************************
1382 *****************************************************************/
1383 #if GEO_APP_SERENITY == GEO_TRUE
1384 
1385 #define GEO_APP_EMBEDDED_PROGRAM_NAME "Serenity"
1386 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "Serenity"
1387 #define HTTP_DOMAIN_NAME "ser.net"
1388 
1389 /********************************************************
1390  * Relating to boards and sensor hardware
1391 *********************************************************/
1392 /*** Primary elements **/
1393 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
1394 #define BOARD_PACTRON_1 GEO_FALSE
1395 #define BOARD_UNIFIED_03 GEO_TRUE
1396 
1397 /***************************************************
1398  * Magnetometer options
1399  **************************************************/
1400 #define EMULATE_862_SENSOR GEO_FALSE
1401 #define GEO_SERIAL_CESIUM_MAG GEO_TRUE
1402 
1403 #define GEO_INDICATORS GEO_TRUE
1404 #define GEO_INDICATORS_BLINKERS GEO_TRUE
1405 #define GEO_INDICATORS_SIREN GEO_TRUE
1406 
1407 /********************************************************
1408  * Relating to file systems and storage
1409 *********************************************************/
1410 #define GEO_ALLOW_RUN_DISCONNECTED GEO_TRUE
1411 
1412 /* A meta-define */
1413 #define USE_USB_STORAGE GEO_TRUE
1414 #define USE_SD_STORAGE GEO_FALSE
1415 
1416 #if USE_USB_STORAGE == GEO_TRUE
1417 #define UNMIRRORED_STORAGE GEO_FALSE
1418 #define EMBEDDED_DATA_STORAGE GEO_TRUE
1419 #define GEO_SDCARD GEO_FALSE
1420 #define GEO_USB_STORAGE GEO_TRUE
1421 #define GEO_PRIMARY_STORAGE GEO_USB
1422 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
1423 #define GEO_LOG_FILES GEO_TRUE
1424 #define FILES_PER_DIRECTORY 200
1425 #define FILES_IN_DIRECTORIES GEO_TRUE
1426 #define SECONDS_PER_DATA_FILE (60)
1427 #elif USE_SD_STORAGE == GEO_TRUE
1428 #error ON engineering machine SD card isn't working. This is not a valid choice.'
1429 #define UNMIRRORED_STORAGE GEO_FALSE
1430 #define EMBEDDED_DATA_STORAGE GEO_TRUE
1431 #define GEO_SDCARD GEO_TRUE
1432 #define GEO_USB_STORAGE GEO_TRUE
1433 #define GEO_PRIMARY_STORAGE GEO_SD
1434 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
1435 #define GEO_LOG_FILES GEO_FALSE
1436 #define FILES_PER_DIRECTORY 200
1437 #define FILES_IN_DIRECTORIES GEO_TRUE
1438 #define SECONDS_PER_DATA_FILE (60)
1439 #else
1440 #error Not a valid choice for this application
1441 #define UNMIRRORED_STORAGE GEO_TRUE
1442 #define EMBEDDED_DATA_STORAGE GEO_FALSE
1443 #define GEO_SDCARD GEO_TRUE
1444 #define GEO_USB_STORAGE GEO_TRUE
1445 #define GEO_PRIMARY_STORAGE GEO_USB
1446 //#define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
1447 #define GEO_LOG_FILES GEO_TRUE
1448 #define SECONDS_PER_DATA_FILE (60)
1449 #endif
1450 
1451 #define LTE_TEST GEO_FALSE
1452 
1453 /********************************************************
1454  * MQTT, WiFi, and network
1455 *********************************************************/
1456 #define GEO_MQTT GEO_TRUE
1457 #if LTE_TEST == GEO_TRUE
1458 #define GEO_MQTT_SYNCH_REQUESTS GEO_TRUE
1459 //#define PASSKEY "94618894"
1460 //#define SSID_NAME "#Skyroam_v4u"
1461 #define GEO_MQTT_CONNECT_TO_BROKER GEO_TRUE
1462 #define GEO_WIFI_STATION_MODE GEO_TRUE
1463 #else
1464 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
1465 #define GEO_WIFI_STATION_MODE GEO_FALSE
1466 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
1467 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
1468 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
1469 
1470 //#define PASSKEY "usa987011"
1471 //#define SSID_NAME "GEO-Software-Team"
1472 #endif
1473 /* Wifi or Ethernet? */
1474 #define GEO_NET_3100 GEO_TRUE
1475 
1476 #define NUM_HTTP_DAEMONS 5
1477 #define NUM_MQTT_DAEMONS 2
1478 
1479 /********************************************************
1480  * GPS and PPS
1481 *********************************************************/
1482 #define GPS_ENABLED GEO_TRUE
1483 
1484 /***** Both normally true, but can be false for testing without PPS */
1485 #define GEO_PPS_EVENTS GEO_TRUE
1486 #define GEO_864_PPS_LOCK GEO_TRUE
1487 
1488 #if GPS_ENABLED == GEO_TRUE
1489 #define GEO_GPS_ADAFRUIT GEO_FALSE
1490 #define GEO_GPS_TALLYSMAN_5431 GEO_TRUE
1491 #define GEO_GPS_SIERRA_1110 GEO_FALSE
1492 #endif
1493 
1494 
1495 /**************** Other devices **************************/
1496 #define GEO_I2C GEO_TRUE
1497 
1498 #define GEO_SENSOR_LIGHT GEO_TRUE
1499 #define GEO_STORAGE_LIGHT GEO_TRUE
1500 #define GEO_PPS_LIGHT GEO_TRUE
1501 #define GEO_GPS_LIGHT GEO_TRUE
1502 
1503 
1504 
1505 /********************************************************************************
1506  * Setting up sensor data types.
1507  * These are used to identify the use of particular sensors in this application,
1508  * The max number is used to set up the array "m_apsStorages", where it is
1509  * preferable, in order to save space, not to have unused items.
1510  * So, in this section, we try to make them contiguous.
1511  ********************************************************************************/
1512 //#define THIS_APP_MAG_DATA_TYPE 1
1513 #define THIS_APP_993_DATA_TYPE 0
1514 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_993_DATA_TYPE + 1)
1515 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
1516 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
1517 /* Used to define "m_apsStorages" */
1518 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
1519 //#define THIS_APP_MFAM_BLOCK_DATA_TYPE 6
1520 
1521 /**************************************************************************/
1522 /* Logging modes, indicating what the application should do with data.
1523 * The order of these doesn't matter, but the total number of them matters,
1524 * and they are used as indexes into "m_apsStorages" matters, so we
1525  * want to keep that array small if we can. These are never saved in any
1526 * DB, or transmitted over the network.
1527 **************************************************************************/
1528 #define GM_LOGGING_MODE_MONITOR_DATA (0)
1529 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
1530 #define GM_LOGGING_SAVE_DATA_TO_FILES_DISCONNECTED (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
1531 /* IGNORE_ALL is not used in setting up m_apsStorages */
1532 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES_DISCONNECTED + 1)
1533 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
1534 
1535 /**************************************************************************
1536  * This number refers to the maximum number of storages that are
1537  * set up into "m_apsStorages". There may be additional storages for
1538  * other reasons, but that's what this one is about.
1539  * If this isn't set up correctly then m_apsStorages will blow up.
1540 **************************************************************************/
1541 #define GEO_MAX_APP_STORAGES (2) // Maximum numnber of storages
1542 
1543 
1544 /********************************************************
1545  * General application info. - name, versioning, etc.
1546 *********************************************************/
1547 #define GEO_APP_MAJOR_VERSION "3"
1548 #define GEO_APP_MINOR_VERSION "1"
1549 #define GEO_SCHEMA_VERSION 8
1550 #error verify that this is the correct schema version
1553 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
1554  #define GEO_APP_NAME "Geometrics G864-LP"
1555  #define GEO_SSID "Tezzeret-LP-728"
1556 #endif
1557 #if BOARD_PACTRON_1 == GEO_TRUE
1558  #define GEO_APP_NAME "Geometrics G864-PB"
1559  #define GEO_SSID "Tezzeret-PB"
1560 #endif
1561 #if BOARD_UNIFIED_03 == GEO_TRUE
1562  #define GEO_APP_NAME "Geometrics G864"
1563  #define GEO_SSID "Tezzeret"
1564  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
1565  #define MFAM_SYS_MGMT GEO_FALSE
1566  #define GEO_4151_BATTERY_MONITOR GEO_TRUE
1567 #endif
1568 
1569 
1570 /*********************************************************************/
1571 /* In order to debug the 864, sometimes we want to have text files */
1572 /* rather than the binary files expected by the Android client. */
1573 /* When debugging in this fashion, using a browser use GEO_TRUE */
1574 /* Use GEO_FALSE for using the Android app. */
1575 /*********************************************************************/
1576 #define GEO_864_DEBUG_TEXT_FILES GEO_FALSE
1577 #if GEO_864_DEBUG_TEXT_FILES == GEO_TRUE
1578 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
1579 #else
1580 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
1581 #endif
1582 #define GEO_CM221_MAG_DATA GEO_TRUE
1583 // Single survey true only for testing.
1584 #define GEO_SINGLE_SURVEY GEO_FALSE
1585 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
1586 
1587 #if EMULATE_862_SENSOR == GEO_TRUE
1588 #define EMULATE_862_RATE 10
1589 #endif
1590 
1591 #if (GEO_SERIAL_CESIUM_MAG == GEO_TRUE) || (EMULATE_862_SENSOR == GEO_TRUE)
1592 #define BLOCKS_PER_ACQUISITION_DATA_FILE 50
1593 #endif
1594 
1595 
1596 
1597 /********************************************************
1598  * Queue and buffer sizes. These all need to be as large
1599  * as possible, while fitting into memory with each other.
1600 *********************************************************/
1601 #if UNMIRRORED_STORAGE == GEO_TRUE
1602 #define GEO_RAM_FILE_BUFFER_SIZE 80000
1603 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
1604 #define COUNT_MFAM_BUFFERS 0
1605 #define COUNT_862_MAGS 100
1606 #define GM_SIZE_OF_APP_DATA_QUEUE 120
1607 #elif EMULATE_862_SENSOR == GEO_TRUE
1608 #define COUNT_MFAM_BUFFERS 0
1609 #define COUNT_862_MAGS 400
1610 #define GM_SIZE_OF_APP_DATA_QUEUE 500
1611 #endif
1612 #endif
1613 
1614 #if EMBEDDED_DATA_STORAGE == GEO_TRUE
1615 
1616 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
1617 #define COUNT_MFAM_BUFFERS 0
1618 #define COUNT_862_MAGS 400
1619 #define GM_SIZE_OF_APP_DATA_QUEUE 500
1620 #elif EMULATE_862_SENSOR == GEO_TRUE
1621 #define COUNT_MFAM_BUFFERS 0
1622 #define COUNT_862_MAGS 400
1623 #define GM_SIZE_OF_APP_DATA_QUEUE 500
1624 #endif
1625 #endif
1626 
1627 
1628 
1629 
1630 #define GEO_TCP_STREAMING GEO_FALSE
1631 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
1632 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
1633 #define ALLOW_DELETE_SURVEYS GEO_TRUE
1634 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
1635 
1636 #define GEO_LOG_PPS_DATA GEO_TRUE
1637 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
1638 #define GEO_AUTO_START_LOGGING GEO_FALSE
1639 #define GEO_HARD_MAG_SUBSAMPLE 500
1640 
1641 #define DAEMON_MAXRECORD 3
1642 
1643 /***********************************************************
1644  * Relating to host if any
1645 **********************************************************/
1646 #define HOST_CONNECTED GEO_TRUE
1647 #define KNOWS_HOST_TIME GEO_TRUE
1648 
1649 
1650 #define EMU_1HZ_NOT
1651 
1652 #define FILE_LOGGING_ALWAYS
1653 //#define GEO_TEXT_MODE_ONLY
1654 
1655 #define SDSPI_BITRATE 12500000
1656 #define acs "ccs"
1657 #define accs
1658 #define aPART_TM4C1294NCPDT
1659 #define aTIVAWARE
1660 #define axdc_target_types__ ti/targets/std.h
1661 
1662 /* Enable/Disable some test routines.
1663  If not testing that, then FALSE */
1664 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
1665 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
1666 
1667 
1668 #endif
1669 
1670 /****************************************************************
1671  ********************* Intrepid - MagEx rover, ****************
1672 *****************************************************************/
1673 #if GEO_APP_INTREPID == GEO_TRUE
1674 
1675 #define GEO_APP_EMBEDDED_PROGRAM_NAME "Intrepid"
1676 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "Intrepid"
1677 #define HTTP_DOMAIN_NAME "intrepid.net"
1678 
1679 /********************************************************
1680  * Relating to boards and sensor hardware
1681 *********************************************************/
1682 /*** Primary elements **/
1683 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
1684 #define BOARD_PACTRON_1 GEO_FALSE
1685 #define BOARD_UNIFIED_03 GEO_TRUE
1686 
1687 #define USE_MAG_ARROW_HARDWARE GEO_FALSE
1688 #define USE_LOKI_HARDWARE GEO_TRUE
1689 
1690 /***************************************************
1691  * Magnetometer options
1692  **************************************************/
1693 /* A meta-define */
1694 #define RUN_REAL_MFAM GEO_TRUE
1695 
1696 #if RUN_REAL_MFAM == GEO_TRUE
1697 #define MFAM_MODULE GEO_TRUE
1698 #define EMULATE_MFAM_SENSOR GEO_FALSE
1699 /* FID cycle is usually 1000, but it can be changed
1700  * to test unusual situations */
1701 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
1702 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
1703 #define GEO_MFAM_FULL_FILTER GEO_TRUE
1704 
1705 #else
1706 /* In this case we're emulating */
1707 #define EMULATE_MFAM_SENSOR GEO_TRUE
1708 #define MFAM_MODULE GEO_FALSE
1709 /* FID cycle is usually 1000, but it can be changed
1710  * to test unusual situations */
1711 #define MFAM_EMULATOR_FID_CYCLE 1000
1712 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
1713 #define GEO_MFAM_FULL_FILTER GEO_TRUE
1714 #endif
1715 
1716 #define EMULATE_862_SENSOR GEO_NOT_RELEVANT
1717 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
1718 #define COUNT_862_MAGS GEO_NOT_RELEVANT
1719 #define GEO_CM221_MAG_DATA GEO_NOT_RELEVANT
1720 
1721 /********************************************************
1722  * Relating to file systems and storage
1723 *********************************************************/
1724 #define GEO_ALLOW_RUN_DISCONNECTED GEO_TRUE
1725 
1726 /* A meta-define */
1727 #define USE_USB_STORAGE GEO_FALSE
1728 #define USE_SD_STORAGE GEO_TRUE
1729 
1730 #if USE_USB_STORAGE == GEO_TRUE
1731 #define UNMIRRORED_STORAGE GEO_FALSE
1732 #define EMBEDDED_DATA_STORAGE GEO_TRUE
1733 #define GEO_SDCARD GEO_TRUE
1734 #define GEO_USB_STORAGE GEO_TRUE
1735 #define GEO_PRIMARY_STORAGE GEO_USB
1736 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
1737 #define GEO_LOG_FILES GEO_TRUE
1738 #define FILES_PER_DIRECTORY 200
1739 #define FILES_IN_DIRECTORIES GEO_TRUE
1740 #define SECONDS_PER_DATA_FILE (120)
1741 #define COUNT_862_MAGS 0
1742 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
1743 #define COUNT_MFAM_BUFFERS 1500
1744 #define GEO_RAM_FILE_BUFFER_SIZE 0
1745 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
1746 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
1747 #endif
1748 
1749 #elif USE_SD_STORAGE == GEO_TRUE
1750 #define UNMIRRORED_STORAGE GEO_FALSE
1751 #define EMBEDDED_DATA_STORAGE GEO_TRUE
1752 #define GEO_SDCARD GEO_TRUE
1753 #define GEO_USB_STORAGE GEO_TRUE
1754 #define GEO_PRIMARY_STORAGE GEO_SD
1755 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
1756 #define GEO_LOG_FILES GEO_TRUE
1757 #define GEO_USES_APP_CONFIG_FILES GEO_TRUE
1758 #define GEO_CONFIG_STORAGE "1:"
1759 #define GEO_LOG_STORAGE "1:"
1760 #define FILES_PER_DIRECTORY 200
1761 #define FILES_IN_DIRECTORIES GEO_TRUE
1762 #define SECONDS_PER_DATA_FILE (5)
1763 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
1764 #define COUNT_MFAM_BUFFERS 1500
1765 #define GEO_RAM_FILE_BUFFER_SIZE 0
1766 #define GEO_HARD_MAG_SUBSAMPLE 0
1767 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
1768 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
1769 #endif
1770 
1771 #else
1772 #error not a valid choice for this application.
1773 #endif
1774 
1775 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
1776 #define ALLOW_DELETE_SURVEYS GEO_TRUE
1777 
1778 
1779 /********************************************************
1780  * MQTT, WiFi, and network
1781 *********************************************************/
1782 #define LTE_TEST GEO_FALSE
1783 #define GEO_MQTT GEO_TRUE
1784 #if LTE_TEST == GEO_TRUE
1785 #define GEO_MQTT_SYNCH_REQUESTS GEO_TRUE
1786 //#define PASSKEY "94618894"
1787 //#define SSID_NAME "#Skyroam_v4u"
1788 #define GEO_MQTT_CONNECT_TO_BROKER GEO_TRUE
1789 #define GEO_WIFI_STATION_MODE GEO_TRUE
1790 #else
1791 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
1792 #define GEO_WIFI_STATION_MODE GEO_FALSE
1793 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
1794 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
1795 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
1796 #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
1797 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
1798 
1799 
1800 
1801 #endif
1802 /* Wifi or Ethernet? */
1803 #define GEO_NET_3100 GEO_TRUE
1804 
1805 #define NUM_HTTP_DAEMONS 5
1806 #define NUM_MQTT_DAEMONS 2
1807 
1808 /********************************************************
1809  * GPS and PPS
1810 *********************************************************/
1811 #define GPS_ENABLED GEO_TRUE
1812 
1813 /***** Both normally true, but can be false for testing without PPS */
1814 #define GEO_PPS_EVENTS GEO_TRUE
1815 #define CHOOSE_PPS_DUTY_CYCLE GEO_TRUE
1816 #define GEO_LOG_PPS_DATA GEO_TRUE
1817 #define GEO_864_PPS_LOCK GEO_FALSE
1818 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
1819 
1820 #if GPS_ENABLED == GEO_TRUE
1821 #define GEO_GPS_ADAFRUIT GEO_FALSE
1822 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
1823 #if USE_LOKI_HARDWARE == GEO_TRUE
1824 #define GEO_GPS_ZEDF9P GEO_TRUE
1825 #define GEO_GPS_SIERRA_1110 GEO_FALSE
1826 #else
1827 #define GEO_GPS_SIERRA_1110 GEO_TRUE
1828 #define GEO_GPS_ZEDF9P GEO_FALSE
1829 #endif
1830 #endif
1831 
1832 /**************** Other devices **************************/
1833 #if USE_LOKI_HARDWARE == GEO_TRUE
1834 #define LOKI_PICKLE_SWITCH GEO_TRUE
1835 #define LOKI_TWEETER GEO_TRUE
1836 #define GEO_SPEAKER_DAC GEO_TRUE
1837 #define GEO_SENSOR_LIGHT GEO_TRUE
1838 #define GEO_STORAGE_LIGHT GEO_TRUE
1839 #define GEO_PPS_LIGHT GEO_FALSE
1840 #define GEO_WIFI_LIGHT GEO_TRUE
1841 #define GEO_GPS_LIGHT GEO_TRUE
1842 #define GEO_POWER_INDICATOR_LIGHT GEO_TRUE
1843 #define GEO_INDICATORS GEO_TRUE
1844 #define GEO_INDICATORS_BLINKERS GEO_TRUE
1845 #define GEO_INDICATORS_SIREN GEO_TRUE
1846 #else
1847 #define GEO_INDICATORS GEO_FALSE
1848 #define GEO_INDICATORS_BLINKERS GEO_FALSE
1849 #define GEO_INDICATORS_SIREN GEO_FALSE
1850 #define LOKI_PICKLE_SWITCH GEO_FALSE
1851 #define LOKI_TWEETER GEO_FALSE
1852 #define GEO_SPEAKER_DAC GEO_FALSE
1853 #define GEO_SENSOR_LIGHT GEO_FALSE
1854 #define GEO_STORAGE_LIGHT GEO_FALSE
1855 #define GEO_PPS_LIGHT GEO_FALSE
1856 #define GEO_WIFI_LIGHT GEO_FALSE
1857 #define GEO_GPS_LIGHT GEO_FALSE
1858 #define GEO_POWER_INDICATOR_LIGHT GEO_FALSE
1859 #endif
1860 
1861 #define GEO_I2C GEO_TRUE
1862 
1863 /***********************************************************
1864  * Batteries
1865 ************************************************************/
1866 #define BATTERY_50_PERCENT (11.1)
1867 #define BATTERY_20_PERCENT (10.5)
1868 #define BATTERY_5_PERCENT (10.0)
1869 
1870 /********************************************************************************
1871  * Setting up sensor data types.
1872  * These are used to identify the use of particular sensors in this application,
1873  * The max number is used to set up the array "m_apsStorages", where it is
1874  * preferable, in order to save space, not to have unused items.
1875  * So, in this section, we try to make them contiguous.
1876  ********************************************************************************/
1877 #define THIS_APP_MAG_DATA_TYPE 0
1878 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MAG_DATA_TYPE + 1)
1879 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
1880 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
1881 /* Used to define "m_apsStorages" */
1882 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
1883 
1884 /**************************************************************************/
1885 /* Logging modes, indicating what the application should do with data.
1886 * The order of these doesn't matter, but the total number of them matters,
1887 * and they are used as indexes into "m_apsStorages" matters, so we
1888  * want to keep that array small if we can. These are never saved in any
1889 * DB, or transmitted over the network.
1890 **************************************************************************/
1891 #define GM_LOGGING_MODE_MONITOR_DATA (0)
1892 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
1893 #define GM_LOGGING_SAVE_DATA_TO_FILES_DISCONNECTED (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
1894 /* IGNORE_ALL is not used in setting up m_apsStorages */
1895 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES_DISCONNECTED + 1)
1896 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
1897 
1898 /**************************************************************************
1899  * This number refers to the maximum number of storages that are
1900  * set up into "m_apsStorages". There may be additional storages for
1901  * other reasons, but that's what this one is about.
1902  * If this isn't set up correctly then m_apsStorages will blow up.
1903 **************************************************************************/
1904 #define GEO_MAX_APP_STORAGES (3) // Maximum numnber of storages
1905 
1906 /********************************************************
1907  * General application info. - name, versioning, etc.
1908 *********************************************************/
1909 #define GEO_APP_MAJOR_VERSION "0"
1910 #define GEO_APP_MINOR_VERSION "1"
1911 #define GEO_SCHEMA_VERSION 8
1912 #error verify that this is the correct schema version
1913 
1916 #if BOARD_UNIFIED_03 == GEO_TRUE
1917  #define GEO_APP_NAME "Intrepid"
1918  #define GEO_SSID "Tezzeret"
1919  #if USE_MAG_ARROW_HARDWARE == GEO_TRUE
1920  #define GEO_7993_BATTERY_MONITOR GEO_TRUE
1921  #define MFAM_SYS_MGMT GEO_TRUE
1922  #elif USE_LOKI_HARDWARE == GEO_TRUE
1923  #define GEO_7998_BATTERY_MONITOR GEO_TRUE
1924  #define MFAM_SYS_MGMT GEO_FALSE
1925  #endif
1926  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
1927 #endif
1928 
1929 /*********************************************************************/
1930 /* Binary header in every file. */
1931 /*********************************************************************/
1932 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
1933 
1934 #define GEO_SINGLE_SURVEY GEO_FALSE
1935 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
1936 
1937 /********************************************************
1938  * Queue and buffer sizes. These all need to be as large
1939  * as possible, while fitting into memory with each other.
1940 *********************************************************/
1941 #define GEO_LOAD_MFAM_SAMPLE_RATE_FROM_CONFIGS GEO_FALSE
1942 #define GEO_HARD_MAG_SUBSAMPLE_MQTT 200
1943 #define GEO_DYNAMIC_CFG_RECORDS_PER_FILE GEO_FALSE
1944 
1945 
1946 /***********************************************************
1947  * Relating to host if any
1948 **********************************************************/
1949 #define HOST_CONNECTED GEO_TRUE
1950 #define KNOWS_HOST_TIME GEO_TRUE
1951 
1952 
1953 #define DAEMON_MAXRECORD 3
1954 
1955 #define GEO_TCP_STREAMING GEO_FALSE
1956 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
1957 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
1958 
1959 #define GEO_LOG_PPS_DATA GEO_TRUE
1960 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
1961 #define GEO_AUTO_START_LOGGING GEO_FALSE
1962 #define GEO_HARD_MAG_SUBSAMPLE 500
1963 #define GEO_LOKI_MONITOR_SUBSAMPLE 10
1964 
1965 #define EMU_1HZ_NOT
1966 
1967 #define FILE_LOGGING_ALWAYS
1968 //#define GEO_TEXT_MODE_ONLY
1969 
1970 #define SDSPI_BITRATE 12500000
1971 #define acs "ccs"
1972 #define accs
1973 #define aPART_TM4C1294NCPDT
1974 #define aTIVAWARE
1975 #define axdc_target_types__ ti/targets/std.h
1976 
1977 /* Enable/Disable some test routines.
1978  If not testing that, then FALSE */
1979 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
1980 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
1981 
1982 
1983 #endif
1984 
1985 /****************************************************************
1986  ********************* Eagle - MagArrow rover ****************
1987 *****************************************************************/
1988 #if GEO_APP_EAGLE == GEO_TRUE
1989 
1990 #define GEO_APP_EMBEDDED_PROGRAM_NAME "Eagle"
1991 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "Eagle"
1992 #define HTTP_DOMAIN_NAME "eagle.net"
1993 #define GEO_APP_MAJOR_VERSION "0"
1994 #define GEO_APP_MINOR_VERSION "1"
1995 
1996 
1997 /********************************************************
1998  * Relating to boards and sensor hardware
1999 *********************************************************/
2000 /*** Primary elements **/
2001 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
2002 #define BOARD_PACTRON_1 GEO_FALSE
2003 #define BOARD_UNIFIED_03 GEO_TRUE
2004 
2005 #define USE_MAG_ARROW_HARDWARE GEO_TRUE
2006 #define USE_LOKI_HARDWARE GEO_FALSE
2007 
2008 /***************************************************
2009  * Magnetometer options
2010  **************************************************/
2011 /* A meta-define */
2012 #define RUN_REAL_MFAM GEO_TRUE
2013 
2014 #if RUN_REAL_MFAM == GEO_TRUE
2015 #define MFAM_MODULE GEO_TRUE
2016 #define EMULATE_MFAM_SENSOR GEO_FALSE
2017 /* FID cycle is usually 1000, but it can be changed
2018  * to test unusual situations */
2019 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
2020 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
2021 #define GEO_MFAM_FULL_FILTER GEO_TRUE
2022 
2023 #else
2024 /* In this case we're emulating */
2025 #define EMULATE_MFAM_SENSOR GEO_TRUE
2026 #define MFAM_MODULE GEO_FALSE
2027 /* FID cycle is usually 1000, but it can be changed
2028  * to test unusual situations */
2029 #define MFAM_EMULATOR_FID_CYCLE 1000
2030 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
2031 #define GEO_MFAM_FULL_FILTER GEO_TRUE
2032 #endif
2033 
2034 #define EMULATE_862_SENSOR GEO_NOT_RELEVANT
2035 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
2036 #define COUNT_862_MAGS GEO_NOT_RELEVANT
2037 #define GEO_CM221_MAG_DATA GEO_NOT_RELEVANT
2038 
2039 /********************************************************
2040  * Relating to file systems and storage
2041 *********************************************************/
2042 #define GEO_ALLOW_RUN_DISCONNECTED GEO_TRUE
2043 
2044 /* A meta-define */
2045 #define USE_USB_STORAGE GEO_FALSE
2046 #define USE_SD_STORAGE GEO_TRUE
2047 #define GEO_USES_APP_CONFIG_FILES GEO_TRUE
2048 #define GEO_CONFIG_STORAGE "1:"
2049 #define GEO_LOG_STORAGE "1:"
2050 
2051 
2052 #if USE_USB_STORAGE == GEO_TRUE
2053 #define UNMIRRORED_STORAGE GEO_FALSE
2054 #define EMBEDDED_DATA_STORAGE GEO_TRUE
2055 #define GEO_SDCARD GEO_TRUE
2056 #define GEO_USB_STORAGE GEO_TRUE
2057 #define GEO_PRIMARY_STORAGE GEO_USB
2058 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
2059 #define GEO_LOG_FILES GEO_TRUE
2060 #define FILES_PER_DIRECTORY 200
2061 #define FILES_IN_DIRECTORIES GEO_TRUE
2062 #define SECONDS_PER_DATA_FILE (120)
2063 #define COUNT_862_MAGS 0
2064 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
2065 #define COUNT_MFAM_BUFFERS 1500
2066 #define GEO_RAM_FILE_BUFFER_SIZE 0
2067 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
2068 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
2069 #endif
2070 
2071 #elif USE_SD_STORAGE == GEO_TRUE
2072 #define UNMIRRORED_STORAGE GEO_FALSE
2073 #define EMBEDDED_DATA_STORAGE GEO_TRUE
2074 #define GEO_SDCARD GEO_TRUE
2075 #define GEO_USB_STORAGE GEO_TRUE
2076 #define GEO_PRIMARY_STORAGE GEO_SD
2077 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
2078 #define GEO_LOG_FILES GEO_TRUE
2079 #define FILES_PER_DIRECTORY 200
2080 #define FILES_IN_DIRECTORIES GEO_TRUE
2081 #define SECONDS_PER_DATA_FILE (60)
2082 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
2083 #define COUNT_MFAM_BUFFERS 1500
2084 #define GEO_RAM_FILE_BUFFER_SIZE 0
2085 #define GEO_HARD_MAG_SUBSAMPLE 0
2086 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
2087 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
2088 #endif
2089 
2090 #else
2091 #error not a valid choice for this application.
2092 #endif
2093 
2094 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
2095 #define ALLOW_DELETE_SURVEYS GEO_TRUE
2096 
2097 
2098 /********************************************************
2099  * MQTT, WiFi, and network
2100 *********************************************************/
2101 #define LTE_TEST GEO_FALSE
2102 #define GEO_MQTT GEO_TRUE
2103 #if LTE_TEST == GEO_TRUE
2104 #define GEO_MQTT_SYNCH_REQUESTS GEO_TRUE
2105 //#define PASSKEY "94618894"
2106 //#define SSID_NAME "#Skyroam_v4u"
2107 #define GEO_MQTT_CONNECT_TO_BROKER GEO_TRUE
2108 #define GEO_WIFI_STATION_MODE GEO_TRUE
2109 #define GEO_DYNAMIC_WIFI_SSID GEO_FALSE
2110 
2111 #else
2112 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
2113 #define GEO_WIFI_STATION_MODE GEO_FALSE
2114 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
2115 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
2116 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
2117 #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
2118 
2119 
2120 #endif
2121 /* Wifi or Ethernet? */
2122 #define GEO_NET_3100 GEO_TRUE
2123 
2124 #define NUM_HTTP_DAEMONS 5
2125 #define NUM_MQTT_DAEMONS 2
2126 
2127 /********************************************************
2128  * GPS and PPS
2129 *********************************************************/
2130 #define GPS_ENABLED GEO_TRUE
2131 
2132 /***** Both normally true, but can be false for testing without PPS */
2133 #define GEO_PPS_EVENTS GEO_TRUE
2134 #define GEO_LOG_PPS_DATA GEO_TRUE
2135 #define GEO_864_PPS_LOCK GEO_FALSE
2136 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
2137 #define CHOOSE_PPS_DUTY_CYCLE GEO_TRUE
2138 
2139 #if GPS_ENABLED == GEO_TRUE
2140 #define GEO_GPS_ADAFRUIT GEO_FALSE
2141 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
2142 #if USE_LOKI_HARDWARE == GEO_TRUE
2143 #define GEO_GPS_ZEDF9P GEO_TRUE
2144 #define GEO_GPS_SIERRA_1110 GEO_FALSE
2145 #else
2146 #define GEO_GPS_SIERRA_1110 GEO_FALSE
2147 #define GEO_GPS_ZEDF9P GEO_TRUE
2148 #endif
2149 #endif
2150 
2151 /**************** Other devices **************************/
2152 #if USE_LOKI_HARDWARE == GEO_TRUE
2153 #define LOKI_PICKLE_SWITCH GEO_TRUE
2154 #define LOKI_TWEETER GEO_TRUE
2155 #define GEO_SPEAKER_DAC GEO_TRUE
2156 #define GEO_SENSOR_LIGHT GEO_TRUE
2157 #define GEO_STORAGE_LIGHT GEO_TRUE
2158 #define GEO_PPS_LIGHT GEO_FALSE
2159 #define GEO_WIFI_LIGHT GEO_TRUE
2160 #define GEO_GPS_LIGHT GEO_TRUE
2161 #define GEO_POWER_INDICATOR_LIGHT GEO_TRUE
2162 #define GEO_INDICATORS GEO_TRUE
2163 #define GEO_INDICATORS_BLINKERS GEO_TRUE
2164 #define GEO_INDICATORS_SIREN GEO_TRUE
2165 #else
2166 #define GEO_INDICATORS GEO_FALSE
2167 #define GEO_INDICATORS_BLINKERS GEO_FALSE
2168 #define GEO_INDICATORS_SIREN GEO_FALSE
2169 #define LOKI_PICKLE_SWITCH GEO_FALSE
2170 #define LOKI_TWEETER GEO_FALSE
2171 #define GEO_SPEAKER_DAC GEO_FALSE
2172 #define GEO_SENSOR_LIGHT GEO_FALSE
2173 #define GEO_STORAGE_LIGHT GEO_FALSE
2174 #define GEO_PPS_LIGHT GEO_FALSE
2175 #define GEO_WIFI_LIGHT GEO_FALSE
2176 #define GEO_GPS_LIGHT GEO_FALSE
2177 #define GEO_POWER_INDICATOR_LIGHT GEO_FALSE
2178 #endif
2179 
2180 #define GEO_I2C GEO_TRUE
2181 
2182 /***********************************************************
2183  * Batteries
2184 ************************************************************/
2185 #define BATTERY_50_PERCENT (11.1)
2186 #define BATTERY_20_PERCENT (10.5)
2187 #define BATTERY_5_PERCENT (10.0)
2188 
2189 /********************************************************************************
2190  * Setting up sensor data types.
2191  * These are used to identify the use of particular sensors in this application,
2192  * The max number is used to set up the array "m_apsStorages", where it is
2193  * preferable, in order to save space, not to have unused items.
2194  * So, in this section, we try to make them contiguous.
2195  ********************************************************************************/
2196 #define THIS_APP_MAG_DATA_TYPE 0
2197 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MAG_DATA_TYPE + 1)
2198 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
2199 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
2200 /* Used to define "m_apsStorages" */
2201 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
2202 
2203 /**************************************************************************/
2204 /* Logging modes, indicating what the application should do with data.
2205 * The order of these doesn't matter, but the total number of them matters,
2206 * and they are used as indexes into "m_apsStorages" matters, so we
2207  * want to keep that array small if we can. These are never saved in any
2208 * DB, or transmitted over the network.
2209 **************************************************************************/
2210 #define GM_LOGGING_MODE_MONITOR_DATA (0)
2211 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
2212 #define GM_LOGGING_SAVE_DATA_TO_FILES_DISCONNECTED (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
2213 /* IGNORE_ALL is not used in setting up m_apsStorages */
2214 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES_DISCONNECTED + 1)
2215 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
2216 
2217 /**************************************************************************
2218  * This number refers to the maximum number of storages that are
2219  * set up into "m_apsStorages". There may be additional storages for
2220  * other reasons, but that's what this one is about.
2221  * If this isn't set up correctly then m_apsStorages will blow up.
2222 **************************************************************************/
2223 #define GEO_MAX_APP_STORAGES (3) // Maximum numnber of storages
2224 
2225 /********************************************************
2226  * General application info. - name, versioning, etc.
2227 *********************************************************/
2228 #define GEO_SCHEMA_VERSION 8
2229 #error verify that this is the correct schema version
2232 #if BOARD_UNIFIED_03 == GEO_TRUE
2233  #define GEO_APP_NAME "Eagle"
2234  #define GEO_SSID "Eagle"
2235  #if USE_MAG_ARROW_HARDWARE == GEO_TRUE
2236  #define GEO_7993_BATTERY_MONITOR GEO_TRUE
2237  #define MFAM_SYS_MGMT GEO_TRUE
2238  #elif USE_LOKI_HARDWARE == GEO_TRUE
2239  #define GEO_7998_BATTERY_MONITOR GEO_TRUE
2240  #define MFAM_SYS_MGMT GEO_FALSE
2241  #endif
2242  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
2243 #endif
2244 
2245 /*********************************************************************/
2246 /* Binary header in every file. */
2247 /*********************************************************************/
2248 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
2249 
2250 #define GEO_SINGLE_SURVEY GEO_FALSE
2251 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
2252 
2253 /********************************************************
2254  * Queue and buffer sizes. These all need to be as large
2255  * as possible, while fitting into memory with each other.
2256 *********************************************************/
2257 #define GEO_LOAD_MFAM_SAMPLE_RATE_FROM_CONFIGS GEO_FALSE
2258 #define GEO_HARD_MAG_SUBSAMPLE_MQTT 200
2259 #define GEO_DYNAMIC_CFG_RECORDS_PER_FILE GEO_FALSE
2260 
2261 
2262 /***********************************************************
2263  * Relating to host if any
2264 **********************************************************/
2265 #define HOST_CONNECTED GEO_TRUE
2266 #define KNOWS_HOST_TIME GEO_TRUE
2267 
2268 
2269 #define DAEMON_MAXRECORD 3
2270 
2271 #define GEO_TCP_STREAMING GEO_FALSE
2272 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
2273 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
2274 
2275 #define GEO_LOG_PPS_DATA GEO_TRUE
2276 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
2277 #define GEO_AUTO_START_LOGGING GEO_FALSE
2278 #define GEO_LOKI_MONITOR_SUBSAMPLE 10
2279 
2280 
2281 #define EMU_1HZ_NOT
2282 
2283 #define FILE_LOGGING_ALWAYS
2284 //#define GEO_TEXT_MODE_ONLY
2285 
2286 #define SDSPI_BITRATE 12500000
2287 #define acs "ccs"
2288 #define accs
2289 #define aPART_TM4C1294NCPDT
2290 #define aTIVAWARE
2291 #define axdc_target_types__ ti/targets/std.h
2292 
2293 /* Enable/Disable some test routines.
2294  If not testing that, then FALSE */
2295 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
2296 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
2297 
2298 
2299 #endif
2300 
2301 /****************************************************************
2302  ********************* KLoki - MagEx 1000Hz, not rover, *************
2303 *****************************************************************/
2304 #if GEO_APP_KLOKI == GEO_TRUE
2305 
2306 #define GEO_APP_EMBEDDED_PROGRAM_NAME "KLoki"
2307 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "KLoki"
2308 #define HTTP_DOMAIN_NAME "kloki.net"
2309 
2310 /********************************************************
2311  * General application info. - name, versioning, etc.
2312 *********************************************************/
2313 #define GEO_APP_MAJOR_VERSION "0"
2314 #define GEO_APP_MINOR_VERSION "1"
2315 #define GEO_SCHEMA_VERSION 8
2316 #error verify that this is the correct schema version
2317 #define GEO_APP_NAME "KLoki"
2318 #define GEO_SSID "Tezzeret"
2321 /********************************************************
2322  * Relating to boards and sensor hardware
2323 *********************************************************/
2324 /*** Primary elements **/
2325 #define BOARD_TIVA_LAUNCHPAD GEO_NOT_RELEVANT
2326 #define BOARD_PACTRON_1 GEO_NOT_RELEVANT
2327 #define BOARD_UNIFIED_03 GEO_TRUE
2328 
2329 #define USE_MAG_ARROW_HARDWARE GEO_FALSE
2330 #define USE_LOKI_HARDWARE GEO_TRUE
2331 
2332 /***************************************************
2333  * Magnetometer options
2334  **************************************************/
2335 /* A meta-define */
2336 #define RUN_REAL_MFAM GEO_TRUE
2337 
2338 #if RUN_REAL_MFAM == GEO_TRUE
2339 #define MFAM_MODULE GEO_TRUE
2340 #define EMULATE_MFAM_SENSOR GEO_FALSE
2341 /* FID cycle is usually 1000, but it can be changed
2342  * to test unusual situations */
2343 #if EMULATE_MFAM_SENSOR == GEO_TRUE
2344 #define MFAM_EMULATOR_FID_CYCLE 1000
2345 #else
2346 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
2347 #endif
2348 #define GEO_WRITE_MFAM_BLOCKS GEO_TRUE
2349 #define GEO_MFAM_FULL_FILTER GEO_FALSE
2350 
2351 #else
2352 /* In this case we're emulating */
2353 #define EMULATE_MFAM_SENSOR GEO_TRUE
2354 #define MFAM_MODULE GEO_FALSE
2355 /* FID cycle is usually 1000, but it can be changed
2356  * to test unusual situations */
2357 #define MFAM_EMULATOR_FID_CYCLE 1000
2358 #define GEO_WRITE_MFAM_BLOCKS GEO_TRUE
2359 #define GEO_MFAM_FULL_FILTER GEO_FALSE
2360 #endif
2361 
2362 /********************************************************
2363  * Relating to file systems and storage
2364 *********************************************************/
2365 #define GEO_ALLOW_RUN_DISCONNECTED GEO_FALSE
2366 
2367 /* A meta-define */
2368 #define USE_USB_STORAGE GEO_FALSE
2369 #define USE_SD_STORAGE GEO_TRUE
2370 
2371 #if USE_USB_STORAGE == GEO_TRUE
2372 #define UNMIRRORED_STORAGE GEO_FALSE
2373 #define EMBEDDED_DATA_STORAGE GEO_TRUE
2374 #define GEO_SDCARD GEO_TRUE
2375 #define GEO_USB_STORAGE GEO_TRUE
2376 #define GEO_PRIMARY_STORAGE GEO_USB
2377 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
2378 #define GEO_LOG_FILES GEO_FALSE
2379 #define FILES_PER_DIRECTORY 200
2380 #define FILES_IN_DIRECTORIES GEO_TRUE
2381 #define SECONDS_PER_DATA_FILE (120)
2382 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
2383 #define COUNT_MFAM_BUFFERS 1500
2384 #define GEO_RAM_FILE_BUFFER_SIZE GEO_NOT_RELEVANT
2385 #define GEO_HARD_MAG_SUBSAMPLE 0
2386 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
2387 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
2388 #endif
2389 
2390 #elif USE_SD_STORAGE == GEO_TRUE
2391 #define UNMIRRORED_STORAGE GEO_FALSE
2392 #define EMBEDDED_DATA_STORAGE GEO_TRUE
2393 #define GEO_SDCARD GEO_TRUE
2394 #define GEO_USB_STORAGE GEO_TRUE
2395 #define GEO_PRIMARY_STORAGE GEO_SD
2396 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
2397 #define GEO_LOG_FILES GEO_TRUE
2398 #define FILES_PER_DIRECTORY 200
2399 #define FILES_IN_DIRECTORIES GEO_TRUE
2400 #define SECONDS_PER_DATA_FILE (5)
2401 #define GM_SIZE_OF_APP_DATA_QUEUE 2550
2402 #define COUNT_MFAM_BUFFERS 2500
2403 #define GEO_RAM_FILE_BUFFER_SIZE GEO_NOT_RELEVANT
2404 #define GEO_HARD_MAG_SUBSAMPLE 0
2405 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
2406 #define BLOCKS_PER_ACQUISITION_DATA_FILE 3000
2407 #endif
2408 
2409 #else
2410 #error not a valid choice for this application.
2411 #endif
2412 
2413 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
2414 #define ALLOW_DELETE_SURVEYS GEO_TRUE
2415 #define GEO_USES_APP_CONFIG_FILES GEO_TRUE
2416 #define GEO_CONFIG_STORAGE "1:"
2417 #define GEO_LOG_STORAGE "1:"
2418 
2419 
2420 /********************************************************
2421  * MQTT, WiFi, and network
2422 *********************************************************/
2423 #define LTE_TEST GEO_FALSE
2424 #define GEO_MQTT GEO_TRUE
2425 #if LTE_TEST == GEO_TRUE
2426 #define GEO_MQTT_SYNCH_REQUESTS GEO_TRUE
2427 #define GEO_MQTT_CONNECT_TO_BROKER GEO_TRUE
2428 #define GEO_WIFI_STATION_MODE GEO_TRUE
2429 #else
2430 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
2431 #define GEO_WIFI_STATION_MODE GEO_FALSE
2432 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
2433 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
2434 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
2435 #endif
2436 /* Wifi or Ethernet? */
2437 #define GEO_NET_3100 GEO_TRUE
2438 #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
2439 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
2440 
2441 
2442 #define NUM_HTTP_DAEMONS (5)
2443 #define NUM_MQTT_DAEMONS (2)
2444 
2445 /********************************************************
2446  * GPS and PPS
2447 *********************************************************/
2448 #define GPS_ENABLED GEO_TRUE
2449 
2450 /***** Both normally true, but can be false for testing without PPS */
2451 #define GEO_PPS_EVENTS GEO_TRUE
2452 #define CHOOSE_PPS_DUTY_CYCLE GEO_TRUE
2453 #define GEO_LOG_PPS_DATA GEO_TRUE
2454 #define GEO_864_PPS_LOCK GEO_FALSE
2455 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
2456 
2457 #if GPS_ENABLED == GEO_TRUE
2458 #define GEO_GPS_ADAFRUIT GEO_FALSE
2459 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
2460 #if USE_LOKI_HARDWARE == GEO_TRUE
2461 #define GEO_GPS_ZEDF9P GEO_TRUE
2462 #define GEO_GPS_SIERRA_1110 GEO_FALSE
2463 #else
2464 #define GEO_GPS_SIERRA_1110 GEO_TRUE
2465 #define GEO_GPS_ZEDF9P GEO_FALSE
2466 #endif
2467 #endif
2468 
2469 /**************** Other devices **************************/
2470 #if USE_LOKI_HARDWARE == GEO_TRUE
2471 #define LOKI_PICKLE_SWITCH GEO_TRUE
2472 #define LOKI_TWEETER GEO_TRUE
2473 #define GEO_SPEAKER_DAC GEO_TRUE
2474 #define GEO_SENSOR_LIGHT GEO_TRUE
2475 #define GEO_STORAGE_LIGHT GEO_TRUE
2476 #define GEO_PPS_LIGHT GEO_FALSE
2477 #define GEO_WIFI_LIGHT GEO_TRUE
2478 #define GEO_GPS_LIGHT GEO_TRUE
2479 #define GEO_POWER_INDICATOR_LIGHT GEO_TRUE
2480 #define GEO_INDICATORS GEO_TRUE
2481 #define GEO_INDICATORS_BLINKERS GEO_TRUE
2482 #define GEO_INDICATORS_SIREN GEO_TRUE
2483 #else
2484 #define GEO_INDICATORS GEO_FALSE
2485 #define GEO_INDICATORS_BLINKERS GEO_FALSE
2486 #define GEO_INDICATORS_SIREN GEO_FALSE
2487 #define LOKI_PICKLE_SWITCH GEO_FALSE
2488 #define LOKI_TWEETER GEO_FALSE
2489 #define GEO_SPEAKER_DAC GEO_FALSE
2490 #define GEO_SENSOR_LIGHT GEO_FALSE
2491 #define GEO_STORAGE_LIGHT GEO_FALSE
2492 #define GEO_PPS_LIGHT GEO_FALSE
2493 #define GEO_WIFI_LIGHT GEO_FALSE
2494 #define GEO_GPS_LIGHT GEO_FALSE
2495 #define GEO_POWER_INDICATOR_LIGHT GEO_FALSE
2496 #endif
2497 
2498 #define GEO_I2C GEO_TRUE
2499 
2500 /***********************************************************
2501  * Batteries
2502 ************************************************************/
2503 #define BATTERY_50_PERCENT (11.1)
2504 #define BATTERY_20_PERCENT (10.5)
2505 #define BATTERY_5_PERCENT (10.0)
2506 
2507 /********************************************************************************
2508  * Setting up sensor data types.
2509  * These are used to identify the use of particular sensors in this application,
2510  * The max number is used to set up the array "m_apsStorages", where it is
2511  * preferable, in order to save space, not to have unused items.
2512  * So, in this section, we try to make them contiguous.
2513  ********************************************************************************/
2514 #if GEO_WRITE_MFAM_BLOCKS == GEO_TRUE
2515 #define THIS_APP_MFAM_BLOCK_DATA_TYPE 0
2516 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MFAM_BLOCK_DATA_TYPE + 1)
2517 #else
2518 #define THIS_APP_MAG_DATA_TYPE 0
2519 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MAG_DATA_TYPE + 1)
2520 #endif
2521 
2522 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
2523 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
2524 /* Used to define "m_apsStorages" */
2525 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
2526 
2527 /**************************************************************************/
2528 /* Logging modes, indicating what the application should do with data.
2529 * The order of these doesn't matter, but the total number of them matters,
2530 * and they are used as indexes into "m_apsStorages" matters, so we
2531  * want to keep that array small if we can. These are never saved in any
2532 * DB, or transmitted over the network.
2533 **************************************************************************/
2534 #define GM_LOGGING_MODE_MONITOR_DATA (0)
2535 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
2536 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
2537 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
2538 
2539 /**************************************************************************
2540  * This number refers to the maximum number of storages that are
2541  * set up into "m_apsStorages". There may be additional storages for
2542  * other reasons, but that's what this one is about.
2543  * If this isn't set up correctly then m_apsStorages will blow up.
2544 **************************************************************************/
2545 #define GEO_MAX_APP_STORAGES (3) // Maximum numnber of storages
2546 
2547 
2548 /*********************************************************************/
2549 /* Binary header in every file. */
2550 /*********************************************************************/
2551 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
2552 
2553 #define GEO_SINGLE_SURVEY GEO_FALSE
2554 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
2555 
2556 /********************************************************
2557  * Queue and buffer sizes. These all need to be as large
2558  * as possible, while fitting into memory with each other.
2559 *********************************************************/
2560 #define GEO_LOAD_MFAM_SAMPLE_RATE_FROM_CONFIGS GEO_FALSE
2561 #define GEO_HARD_MAG_SUBSAMPLE_MQTT 200
2562 #define GEO_DYNAMIC_CFG_RECORDS_PER_FILE GEO_FALSE
2563 
2564 
2565 /***********************************************************
2566  * Relating to host if any
2567 **********************************************************/
2568 #define HOST_CONNECTED GEO_TRUE
2569 #define KNOWS_HOST_TIME GEO_TRUE
2570 
2571 #define GEO_TCP_STREAMING GEO_FALSE
2572 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
2573 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
2574 
2575 //#define GEO_LOKI_MONITOR_SUBSAMPLE 10
2576 
2577 #define DAEMON_MAXRECORD 3
2578 
2579 #define GEO_LOG_PPS_DATA GEO_TRUE
2580 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
2581 #define GEO_AUTO_START_LOGGING GEO_FALSE
2582 
2583 #define EMU_1HZ_NOT
2584 
2585 #define FILE_LOGGING_ALWAYS
2586 
2587 
2588 #if BOARD_UNIFIED_03 == GEO_TRUE
2589  #if USE_MAG_ARROW_HARDWARE == GEO_TRUE
2590  #define GEO_7993_BATTERY_MONITOR GEO_TRUE
2591  #define MFAM_SYS_MGMT GEO_TRUE
2592  #elif USE_LOKI_HARDWARE == GEO_TRUE
2593  #define GEO_7998_BATTERY_MONITOR GEO_TRUE
2594  #define MFAM_SYS_MGMT GEO_FALSE
2595  #endif
2596  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
2597 #endif
2598 
2599 
2600 #define SDSPI_BITRATE 12500000
2601 #define acs "ccs"
2602 #define accs
2603 #define aPART_TM4C1294NCPDT
2604 #define aTIVAWARE
2605 #define axdc_target_types__ ti/targets/std.h
2606 
2607 /* Enable/Disable some test routines.
2608  If not testing that, then FALSE */
2609 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
2610 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
2611 
2612 /* Priorities */
2613 #define HTTP_DAEMON_PRIORITY 4
2614 #define MQTT_DAEMON_PRIORITY 4
2615 #define MAIN_TASK_STARTUP_PRIORITY
2616 #define MAIN_TASK_LOOP_PRIORITY
2617 #define WIFI_STARTUP_TASK_PRIORITY
2618 
2619 #endif
2620 
2621 
2622 /****************************************************************
2623  ********************* Acquarius - MagEx 1000Hz rover, ****************
2624 *****************************************************************/
2625 #if GEO_APP_AQUARIUS == GEO_TRUE
2626 
2627 #define GEO_APP_EMBEDDED_PROGRAM_NAME "Aquarius"
2628 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "Aquarius"
2629 #define HTTP_DOMAIN_NAME "aquarius.net"
2630 
2631 /********************************************************
2632  * Relating to boards and sensor hardware
2633 *********************************************************/
2634 /*** Primary elements **/
2635 #define BOARD_TIVA_LAUNCHPAD GEO_NOT_RELEVANT
2636 #define BOARD_PACTRON_1 GEO_NOT_RELEVANT
2637 #define BOARD_UNIFIED_03 GEO_TRUE
2638 
2639 #define USE_MAG_ARROW_HARDWARE GEO_FALSE
2640 #define USE_LOKI_HARDWARE GEO_TRUE
2641 
2642 /***************************************************
2643  * Magnetometer options
2644  **************************************************/
2645 /* A meta-define */
2646 #define RUN_REAL_MFAM GEO_TRUE
2647 
2648 #if RUN_REAL_MFAM == GEO_TRUE
2649 #define MFAM_MODULE GEO_TRUE
2650 #define EMULATE_MFAM_SENSOR GEO_FALSE
2651 /* FID cycle is usually 1000, but it can be changed
2652  * to test unusual situations */
2653 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
2654 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
2655 #define GEO_MFAM_FULL_FILTER GEO_FALSE
2656 
2657 #else
2658 /* In this case we're emulating */
2659 #define EMULATE_MFAM_SENSOR GEO_TRUE
2660 #define MFAM_MODULE GEO_FALSE
2661 /* FID cycle is usually 1000, but it can be changed
2662  * to test unusual situations */
2663 #define MFAM_EMULATOR_FID_CYCLE 1000
2664 #define GEO_WRITE_MFAM_BLOCKS GEO_TRUE
2665 #define GEO_MFAM_FULL_FILTER GEO_FALSE
2666 #endif
2667 
2668 #define EMULATE_862_SENSOR GEO_NOT_RELEVANT
2669 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
2670 #define COUNT_862_MAGS GEO_NOT_RELEVANT
2671 #define GEO_CM221_MAG_DATA GEO_NOT_RELEVANT
2672 
2673 
2674 
2675 
2676 /********************************************************
2677  * Relating to file systems and storage
2678 *********************************************************/
2679 #define GEO_ALLOW_RUN_DISCONNECTED GEO_TRUE
2680 
2681 /* A meta-define */
2682 #define USE_USB_STORAGE GEO_FALSE
2683 #define USE_SD_STORAGE GEO_TRUE
2684 
2685 #if USE_USB_STORAGE == GEO_TRUE
2686 #define UNMIRRORED_STORAGE GEO_FALSE
2687 #define EMBEDDED_DATA_STORAGE GEO_TRUE
2688 #define GEO_SDCARD GEO_TRUE
2689 #define GEO_USB_STORAGE GEO_TRUE
2690 #define GEO_PRIMARY_STORAGE GEO_USB
2691 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
2692 #define GEO_LOG_FILES GEO_FALSE
2693 #define FILES_PER_DIRECTORY 200
2694 #define FILES_IN_DIRECTORIES GEO_TRUE
2695 #define SECONDS_PER_DATA_FILE (120)
2696 #define GM_SIZE_OF_APP_DATA_QUEUE 1600
2697 #define COUNT_MFAM_BUFFERS 1500
2698 #define GEO_RAM_FILE_BUFFER_SIZE GEO_NOT_RELEVANT
2699 #define GEO_HARD_MAG_SUBSAMPLE 0
2700 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
2701 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
2702 #endif
2703 
2704 #elif USE_SD_STORAGE == GEO_TRUE
2705 #define UNMIRRORED_STORAGE GEO_FALSE
2706 #define EMBEDDED_DATA_STORAGE GEO_TRUE
2707 #define GEO_SDCARD GEO_TRUE
2708 #define GEO_USB_STORAGE GEO_TRUE
2709 #define GEO_PRIMARY_STORAGE GEO_SD
2710 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
2711 #define GEO_LOG_FILES GEO_TRUE
2712 #define FILES_PER_DIRECTORY 200
2713 #define FILES_IN_DIRECTORIES GEO_TRUE
2714 #define SECONDS_PER_DATA_FILE (120)
2715 #define GM_SIZE_OF_APP_DATA_QUEUE 2550
2716 #define COUNT_MFAM_BUFFERS 2500
2717 #define GEO_RAM_FILE_BUFFER_SIZE GEO_NOT_RELEVANT
2718 #define GEO_HARD_MAG_SUBSAMPLE 0
2719 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
2720 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200000
2721 #endif
2722 
2723 #else
2724 #error not a valid choice for this application.
2725 #endif
2726 
2727 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
2728 #define ALLOW_DELETE_SURVEYS GEO_TRUE
2729 
2730 /********************************************************
2731  * MQTT, WiFi, and network
2732 *********************************************************/
2733 #define LTE_TEST GEO_FALSE
2734 #define GEO_MQTT GEO_TRUE
2735 #if LTE_TEST == GEO_TRUE
2736 #define GEO_MQTT_SYNCH_REQUESTS GEO_TRUE
2737 #define GEO_MQTT_CONNECT_TO_BROKER GEO_TRUE
2738 #define GEO_WIFI_STATION_MODE GEO_TRUE
2739 #else
2740 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
2741 #define GEO_WIFI_STATION_MODE GEO_FALSE
2742 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
2743 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
2744 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
2745 #endif
2746 /* Wifi or Ethernet? */
2747 #define GEO_NET_3100 GEO_TRUE
2748 
2749 #define NUM_HTTP_DAEMONS (5)
2750 #define NUM_MQTT_DAEMONS (2)
2751 
2752 /********************************************************
2753  * GPS and PPS
2754 *********************************************************/
2755 #define GPS_ENABLED GEO_TRUE
2756 
2757 /***** Both normally true, but can be false for testing without PPS */
2758 #define GEO_PPS_EVENTS GEO_TRUE
2759 #define GEO_LOG_PPS_DATA GEO_TRUE
2760 #define GEO_864_PPS_LOCK GEO_FALSE
2761 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
2762 
2763 #if GPS_ENABLED == GEO_TRUE
2764 #define GEO_GPS_ADAFRUIT GEO_FALSE
2765 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
2766 #if USE_LOKI_HARDWARE == GEO_TRUE
2767 #define GEO_GPS_ZEDF9P GEO_TRUE
2768 #define GEO_GPS_SIERRA_1110 GEO_FALSE
2769 #else
2770 #define GEO_GPS_SIERRA_1110 GEO_TRUE
2771 #define GEO_GPS_ZEDF9P GEO_FALSE
2772 #endif
2773 #endif
2774 
2775 /**************** Other devices **************************/
2776 #if USE_LOKI_HARDWARE == GEO_TRUE
2777 #define LOKI_PICKLE_SWITCH GEO_TRUE
2778 #define LOKI_TWEETER GEO_TRUE
2779 #define GEO_SPEAKER_DAC GEO_TRUE
2780 #define GEO_SENSOR_LIGHT GEO_TRUE
2781 #define GEO_STORAGE_LIGHT GEO_TRUE
2782 #define GEO_PPS_LIGHT GEO_FALSE
2783 #define GEO_WIFI_LIGHT GEO_TRUE
2784 #define GEO_GPS_LIGHT GEO_TRUE
2785 #define GEO_POWER_INDICATOR_LIGHT GEO_TRUE
2786 #define GEO_INDICATORS GEO_TRUE
2787 #define GEO_INDICATORS_BLINKERS GEO_TRUE
2788 #define GEO_INDICATORS_SIREN GEO_TRUE
2789 #else
2790 #define GEO_INDICATORS GEO_FALSE
2791 #define GEO_INDICATORS_BLINKERS GEO_FALSE
2792 #define GEO_INDICATORS_SIREN GEO_FALSE
2793 #define LOKI_PICKLE_SWITCH GEO_FALSE
2794 #define LOKI_TWEETER GEO_FALSE
2795 #define GEO_SPEAKER_DAC GEO_FALSE
2796 #define GEO_SENSOR_LIGHT GEO_FALSE
2797 #define GEO_STORAGE_LIGHT GEO_FALSE
2798 #define GEO_PPS_LIGHT GEO_FALSE
2799 #define GEO_WIFI_LIGHT GEO_FALSE
2800 #define GEO_GPS_LIGHT GEO_FALSE
2801 #define GEO_POWER_INDICATOR_LIGHT GEO_FALSE
2802 #endif
2803 
2804 #define GEO_I2C GEO_TRUE
2805 
2806 /***********************************************************
2807  * Batteries
2808 ************************************************************/
2809 #define BATTERY_50_PERCENT (11.1)
2810 #define BATTERY_20_PERCENT (10.5)
2811 #define BATTERY_5_PERCENT (10.0)
2812 
2813 /********************************************************************************
2814  * Setting up sensor data types.
2815  * These are used to identify the use of particular sensors in this application,
2816  * The max number is used to set up the array "m_apsStorages", where it is
2817  * preferable, in order to save space, not to have unused items.
2818  * So, in this section, we try to make them contiguous.
2819  ********************************************************************************/
2820 #if GEO_WRITE_MFAM_BLOCKS == GEO_TRUE
2821 #define THIS_APP_MFAM_BLOCK_DATA_TYPE 0
2822 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MFAM_BLOCK_DATA_TYPE + 1)
2823 #else
2824 #define THIS_APP_MAG_DATA_TYPE 0
2825 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MAG_DATA_TYPE + 1)
2826 #endif
2827 
2828 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
2829 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
2830 /* Used to define "m_apsStorages" */
2831 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
2832 
2833 /**************************************************************************/
2834 /* Logging modes, indicating what the application should do with data.
2835 * The order of these doesn't matter, but the total number of them matters,
2836 * and they are used as indexes into "m_apsStorages" matters, so we
2837  * want to keep that array small if we can. These are never saved in any
2838 * DB, or transmitted over the network.
2839 **************************************************************************/
2840 #define GM_LOGGING_MODE_MONITOR_DATA (0)
2841 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
2842 #define GM_LOGGING_SAVE_DATA_TO_FILES_DISCONNECTED (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
2843 /* IGNORE_ALL is not used in setting up m_apsStorages */
2844 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES_DISCONNECTED + 1)
2845 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
2846 
2847 /**************************************************************************
2848  * This number refers to the maximum number of storages that are
2849  * set up into "m_apsStorages". There may be additional storages for
2850  * other reasons, but that's what this one is about.
2851  * If this isn't set up correctly then m_apsStorages will blow up.
2852 **************************************************************************/
2853 #define GEO_MAX_APP_STORAGES (3) // Maximum numnber of storages
2854 
2855 /********************************************************
2856  * General application info. - name, versioning, etc.
2857 *********************************************************/
2858 #define GEO_APP_MAJOR_VERSION "0"
2859 #define GEO_APP_MINOR_VERSION "1"
2860 #define GEO_SCHEMA_VERSION 8
2861 #error verify that this is the correct schema version
2864 #if BOARD_UNIFIED_03 == GEO_TRUE
2865  #define GEO_APP_NAME "Aquarius"
2866  #define GEO_SSID "Tezzeret"
2867  #if USE_MAG_ARROW_HARDWARE == GEO_TRUE
2868  #define GEO_7993_BATTERY_MONITOR GEO_TRUE
2869  #define MFAM_SYS_MGMT GEO_TRUE
2870  #elif USE_LOKI_HARDWARE == GEO_TRUE
2871  #define GEO_7998_BATTERY_MONITOR GEO_TRUE
2872  #define MFAM_SYS_MGMT GEO_FALSE
2873  #endif
2874  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
2875 #endif
2876 
2877 /*********************************************************************/
2878 /* Binary header in every file. */
2879 /*********************************************************************/
2880 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
2881 
2882 #define GEO_SINGLE_SURVEY GEO_FALSE
2883 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
2884 
2885 /********************************************************
2886  * Queue and buffer sizes. These all need to be as large
2887  * as possible, while fitting into memory with each other.
2888 *********************************************************/
2889 #define GEO_LOAD_MFAM_SAMPLE_RATE_FROM_CONFIGS GEO_FALSE
2890 #define GEO_HARD_MAG_SUBSAMPLE_MQTT 200
2891 #define GEO_DYNAMIC_CFG_RECORDS_PER_FILE GEO_FALSE
2892 
2893 
2894 /***********************************************************
2895  * Relating to host if any
2896 **********************************************************/
2897 #define HOST_CONNECTED GEO_TRUE
2898 #define KNOWS_HOST_TIME GEO_TRUE
2899 
2900 #define GEO_TCP_STREAMING GEO_FALSE
2901 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
2902 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
2903 
2904 //#define GEO_LOKI_MONITOR_SUBSAMPLE 10
2905 
2906 #define DAEMON_MAXRECORD 3
2907 
2908 #define GEO_LOG_PPS_DATA GEO_TRUE
2909 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
2910 #define GEO_AUTO_START_LOGGING GEO_FALSE
2911 
2912 #define EMU_1HZ_NOT
2913 
2914 #define FILE_LOGGING_ALWAYS
2915 
2916 
2917 #define SDSPI_BITRATE 12500000
2918 #define acs "ccs"
2919 #define accs
2920 #define aPART_TM4C1294NCPDT
2921 #define aTIVAWARE
2922 #define axdc_target_types__ ti/targets/std.h
2923 
2924 /* Enable/Disable some test routines.
2925  If not testing that, then FALSE */
2926 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
2927 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
2928 
2929 
2930 #endif
2931 
2932 #if GEO_SURVEY_MANAGER == GEO_TRUE
2933 #define GEO_APP_EMBEDDED_PROGRAM_NAME "NONE"
2934 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "NONE"
2935 
2936 
2937  /*** Primary elements **/
2938 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
2939 #define BOARD_PACTRON_1 GEO_FALSE
2940 #define BOARD_UNIFIED_03 GEO_TRUE
2941 
2942 #define EMULATE_MFAM_SENSOR GEO_FALSE
2943 #define EMULATE_862_SENSOR GEO_FALSE
2944 #define MFAM_MODULE GEO_FALSE
2945 #define GEO_SERIAL_CESIUM_MAG GEO_TRUE
2946 
2947 #define GEO_SDCARD GEO_FALSE
2948 #define GEO_USB_STORAGE GEO_FALSE
2949 #define GEO_PRIMARY_STORAGE GEO_USB
2950 
2951 #define GPS_ENABLED GEO_FALSE
2952 #define GEO_MQTT GEO_FALSE
2953 #define GEO_PPS_EVENTS GEO_FALSE
2954 
2955 #define NUM_MQTT_DAEMONS 0
2956 
2957 #if GPS_ENABLED == GEO_TRUE
2958 #define GEO_GPS_ADAFRUIT GEO_FALSE
2959 #define GEO_GPS_TALLYSMAN_5431 GEO_TRUE
2960 #define GEO_GPS_SIERRA_1110 GEO_FALSE
2961 #endif
2962 
2963 #define GEO_864_PPS_LOCK GEO_FALSE
2964 #define GEO_I2C GEO_FALSE
2965 
2966 
2967  /* Wifi or Ethernet? */
2968 #define GEO_NET_3100 GEO_FALSE
2969 #define NUM_HTTP_DAEMONS 0
2970 
2973 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
2974 #define GEO_APP_NAME "Geometrics G864-LP"
2975 #define GEO_SSID "Tezzeret-LP-728"
2976 #endif
2977 #if BOARD_PACTRON_1 == GEO_TRUE
2978 #define GEO_APP_NAME "Geometrics G864-PB"
2979 #define GEO_SSID "Tezzeret-PB"
2980 #endif
2981 #if BOARD_UNIFIED_03 == GEO_TRUE
2982 #define GEO_APP_NAME "Geometrics G864-3"
2983 #define GEO_SSID "Tezzeret"
2984 #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
2985 
2986 #endif
2987 
2988  /*********************************************************************/
2989  /* In order to debug the 864, sometimes we want to have text files */
2990  /* rather than the binary files expected by the Android client. */
2991  /* When debugging in this fashion, using a browser use GEO_TRUE */
2992  /* Use GEO_FALSE for using the Android app. */
2993  /*********************************************************************/
2994 #define GEO_864_DEBUG_TEXT_FILES GEO_FALSE
2995 #if GEO_864_DEBUG_TEXT_FILES == GEO_TRUE
2996 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
2997 #else
2998 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
2999 #endif
3000 #define GEO_APP_MAJOR_VERSION "0"
3001 #define GEO_APP_MINOR_VERSION "1"
3002 #define GEO_CM221_MAG_DATA GEO_TRUE
3003  // Single survey true only for testing.
3004 #define GEO_SINGLE_SURVEY GEO_TRUE
3005 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
3006 
3007 #if EMULATE_862_SENSOR == GEO_TRUE
3008 #define EMULATE_862_RATE 10
3009 #endif
3010 
3011 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
3012 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200000
3013 #endif
3014 #if (GEO_SERIAL_CESIUM_MAG == GEO_TRUE) || (EMULATE_862_SENSOR == GEO_TRUE)
3015 #define BLOCKS_PER_ACQUISITION_DATA_FILE 50
3016 #endif
3017 
3018 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
3019 #define COUNT_MFAM_BUFFERS 2500
3020 #define COUNT_862_MAGS 0
3021 #define GM_SIZE_OF_APP_DATA_QUEUE 2950
3022 #elif GEO_SERIAL_CESIUM_MAG == GEO_TRUE
3023 #define COUNT_MFAM_BUFFERS 0
3024 #define COUNT_862_MAGS 400
3025 #define GM_SIZE_OF_APP_DATA_QUEUE 500
3026 #elif EMULATE_862_SENSOR == GEO_TRUE
3027 #define COUNT_MFAM_BUFFERS 0
3028 #define COUNT_862_MAGS 400
3029 #define GM_SIZE_OF_APP_DATA_QUEUE 500
3030 #else
3031 #define COUNT_MFAM_BUFFERS 0
3032 #define COUNT_862_MAGS 0
3033 #define GM_SIZE_OF_APP_DATA_QUEUE 100
3034 #endif
3035 #define GEO_TCP_STREAMING GEO_FALSE
3036 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
3037 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
3038 #define ALLOW_DELETE_SURVEYS GEO_TRUE
3039 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
3040 
3041 #define GEO_LOG_PPS_DATA GEO_TRUE
3042 #define GEO_TEN_HERTZ_FROM_PPS GEO_TRUE
3043 #define GEO_AUTO_START_LOGGING GEO_FALSE
3044 #define GEO_HARD_MAG_SUBSAMPLE 500
3045 
3046 #define GEO_WIFI_STATION_MODE GEO_FALSE
3047 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
3048 
3049 
3050 
3051 #define EMU_1HZ_NOT
3052 
3053 #define FILE_LOGGING_ALWAYS
3054  //#define GEO_TEXT_MODE_ONLY
3055 
3056 #define SDSPI_BITRATE 12500000
3057 //#define acs "ccs"
3058 //#define accs
3059 #define aPART_TM4C1294NCPDT
3060 #define aTIVAWARE
3061 #define axdc_target_types__ ti/targets/std.h
3062 
3063  /* Enable/Disable some test routines.
3064  If not testing that, then FALSE */
3065 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
3066 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
3067 
3068 
3069 #endif
3070 
3071 /***********************************************************************/
3072 /***********************************************************************/
3073 /* Mag Arrow - Wifi enabled, HTTP and files, but not MQQT. */
3074 /***********************************************************************/
3075 /***********************************************************************/
3076 #if GEO_APP_MAG_ARROW == GEO_TRUE
3077 #define GEO_APP_EMBEDDED_PROGRAM_NAME "MAGARROW"
3078 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "MagArrow"
3079 #define HTTP_DOMAIN_NAME "magarrow.net"
3080 
3081 /****** Relating to boards and sensor hardware ******/
3082 /*** Primary elements **/
3083 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
3084 #define BOARD_PACTRON_1 GEO_FALSE
3085 #define BOARD_UNIFIED_03 GEO_TRUE
3086 
3087 /******* General application info. - name, versioning, etc. **/
3088 #define GEO_APP_MAJOR_VERSION "3"
3089 #define GEO_APP_MINOR_VERSION "0"
3090 
3091 /* Set Schema to work with old or new versions of the system. */
3092 #define GEO_SCHEMA_VERSION 8
3093 
3094 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
3095  #define GEO_APP_NAME "Geometrics MagArrow"
3096  #define GEO_SSID "Tezzeret-LP-728"
3097 #endif
3098 #if BOARD_PACTRON_1 == GEO_TRUE
3099  #define GEO_APP_NAME "Geometrics MagArrow"
3100  #define GEO_SSID "Tezzeret-PB"
3101  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_PACTRON | 0x01
3102 #endif
3103 #if BOARD_UNIFIED_03 == GEO_TRUE
3104  #define USE_MAG_ARROW_HARDWARE GEO_TRUE
3105  #define GEO_APP_NAME "Geometrics MagArrow"
3106  #define GEO_SSID "MagArrowOne"
3107  #define MFAM_SYS_MGMT GEO_TRUE
3108  #define MAG_ARROW_LIGHTS GEO_TRUE
3109  #define GEO_7993_BATTERY_MONITOR GEO_TRUE
3110  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_MAGARROW|0x03
3111 #endif
3112 
3113 /*********** Setup mag sensors **********************/
3114 #define MFAM_MODULE GEO_TRUE
3115 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
3116 #define EMULATE_MFAM_SENSOR GEO_FALSE
3117 #define MFAM_EMULATOR_FID_CYCLE 1000
3118 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
3119 #define GEO_HARD_MAG_SUBSAMPLE 0
3120 
3121 
3122 /************** File systems and storage **********/
3123 #define UNMIRRORED_STORAGE GEO_FALSE
3124 #define EMBEDDED_DATA_STORAGE GEO_TRUE
3125 #define GEO_SDCARD GEO_TRUE
3126 #define GEO_USB_STORAGE GEO_TRUE
3127 #define GEO_PRIMARY_STORAGE GEO_SD
3128 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
3129 #define GEO_LOG_FILES GEO_TRUE
3130 
3131 #define FILES_PER_DIRECTORY 40
3132 #define FILES_IN_DIRECTORIES GEO_TRUE
3133 
3134 #define GEO_USES_APP_CONFIG_FILES GEO_TRUE
3135 #define GEO_CONFIG_STORAGE "1:"
3136 #define GEO_LOG_STORAGE "1:"
3137 
3138 /********************************************************
3139  * MQTT, WiFi, and network
3140 *********************************************************/
3141 #define NETWORK_TRACE GEO_FALSE
3142 #define GEO_MQTT GEO_FALSE
3143 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
3144 #define GEO_WIFI_STATION_MODE GEO_FALSE
3145 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
3146 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
3147 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
3148 
3149 /* Wifi or Ethernet? */
3150 #define GEO_NET_3100 GEO_TRUE
3151 #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
3152 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
3153 
3154 #define NUM_HTTP_DAEMONS 5
3155 #define NUM_MQTT_DAEMONS 0
3156 #define DAEMON_MAXRECORD 3
3157 
3158 
3159 /********************************************************
3160  * GPS and PPS
3161 *********************************************************/
3162 #define GPS_ENABLED GEO_TRUE
3163 #define GEO_PPS_EVENTS GEO_TRUE
3164 #define CHOOSE_PPS_DUTY_CYCLE GEO_TRUE
3165 #define GEO_LOG_PPS_DATA GEO_TRUE
3166 
3167 #if GPS_ENABLED == GEO_TRUE
3168 #define GEO_GPS_ADAFRUIT GEO_FALSE
3169 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
3170 #define GEO_GPS_SIERRA_1110 GEO_TRUE
3171 #endif
3172 
3173 #define GEO_I2C GEO_TRUE
3174 
3175 /********************************************************************************
3176  * Setting up sensor data types.
3177  * These are used to identify the use of particular sensors in this application,
3178  * The max number is used to set up the array "m_apsStorages", where it is
3179  * preferable, in order to save space, not to have unused items.
3180  * So, in this section, we try to make them contiguous.
3181  ********************************************************************************/
3182 #define THIS_APP_MFAM_BLOCK_DATA_TYPE 0
3183 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MFAM_BLOCK_DATA_TYPE + 1)
3184 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
3185 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
3186 /* Used to define "m_apsStorages" */
3187 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
3188 //#define THIS_APP_MFAM_BLOCK_DATA_TYPE 6
3189 
3190 /**************************************************************************/
3191 /* Logging modes, indicating what the application should do with data.
3192 * The order of these doesn't matter, but the total number of them matters,
3193 * and they are used as indexes into "m_apsStorages" matters, so we
3194  * want to keep that array small if we can. These are never saved in any
3195 * DB, or transmitted over the network.
3196 **************************************************************************/
3197 #define GM_LOGGING_MODE_MONITOR_DATA (0)
3198 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
3199 /* IGNORE_ALL is not used in setting up m_apsStorages */
3200 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
3201 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
3202 
3203 /**************************************************************************
3204  * This number refers to the maximum number of storages that are
3205  * set up into "m_apsStorages". There may be additional storages for
3206  * other reasons, but that's what this one is about.
3207  * If this isn't set up correctly then m_apsStorages will blow up.
3208 **************************************************************************/
3209 #define GEO_MAX_APP_STORAGES (3) // Maximum numnber of storages:
3210  /* files and monitor */
3211 
3212 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
3213 
3214 /******************************************************
3215  * Some details about mag data
3216  ******************************************************/
3217 #define GEO_MAGARROW_TEXT_FILES GEO_FALSE
3218 #if GEO_MAGARROW_TEXT_FILES == GEO_TRUE
3219 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
3220 #else
3221 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
3222 #endif
3223 #define GEO_WRITE_MFAM_BLOCKS GEO_TRUE
3224 
3225 /********************************************************
3226  * Queue and buffer sizes. These all need to be as large
3227  * as possible, while fitting into memory with each other.
3228 *********************************************************/
3229 #define GM_SIZE_OF_APP_DATA_QUEUE 2550
3230 #define GM_MFAM_TEXT_LONG_FORMAT GEO_TRUE
3231 #define COUNT_MFAM_BUFFERS 2500
3232 #define MFAM_FRAMES GEO_FALSE
3233 #define ALLOW_DELETE_SURVEYS GEO_TRUE
3234 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
3235 
3236 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
3237 #define BLOCKS_PER_ACQUISITION_DATA_FILE 20000
3238 #endif
3239 
3240 
3241 #define GEO_TCP_STREAMING GEO_FALSE
3242 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
3243 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
3244 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
3245 #define GEO_SINGLE_SURVEY GEO_TRUE
3246 #define EMU_1HZ_NOT
3247 
3248 /******************************************************
3249  * Other sensors and indicators */
3250 #define GEO_INDICATORS GEO_FALSE
3251 #define GEO_INDICATORS_BLINKERS GEO_FALSE
3252 #define GEO_INDICATORS_SIREN GEO_FALSE
3253 #define GEO_SENSOR_LIGHT GEO_FALSE
3254 #define GEO_STORAGE_LIGHT GEO_FALSE
3255 #define GEO_PPS_LIGHT GEO_FALSE
3256 #define GEO_GPS_LIGHT GEO_FALSE
3257 /*******************************************************/
3258 
3259 
3260 /********************************************************
3261  * Miscellaneous leftovers
3262  *********************************************************/
3263 #define FILE_LOGGING_ALWAYS
3264 //#define GEO_TEXT_MODE_ONLY
3265 #define SDSPI_BITRATE 12500000
3266 #define acs "ccs"
3267 #define accs
3268 #define aPART_TM4C1294NCPDT
3269 #define aTIVAWARE
3270 #define GEO_TEST_STORAGEa
3271 #define axdc_target_types__ ti/targets/std.h
3272 
3273 /* Enable/Disable some test routines. If not testing that, then FALSE */
3274 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
3275 
3276 /* Priorities */
3277 #define HTTP_DAEMON_PRIORITY 4
3278 #define MAIN_TASK_STARTUP_PRIORITY
3279 #define MAIN_TASK_LOOP_PRIORITY
3280 #define WIFI_STARTUP_TASK_PRIORITY 9
3281 #define SYS_MGMT_TASK_PRIORITY 1
3282 #define GEO_STANDARD_UART_TASK_PRIORITY 8
3283 /* Maybe used to be 5? */
3284 #define WIFI_DAEMON_TASK_PRIORITY 10
3285 //#define MQTT_DAEMON_PRIORITY 4
3286 
3287 #endif
3288 
3289 /***********************************************************************/
3290 /***********************************************************************/
3291 /********** TCP Streamer . *****************************************/
3292 /***********************************************************************/
3293 /***********************************************************************/
3294 #if GEO_APP_TCP_STREAMER == GEO_TRUE
3295 
3296 #define GEO_APP_EMBEDDED_PROGRAM_NAME "TCPSTREAMER"
3297 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "Wired Mag Streamer"
3298 #define HTTP_DOMAIN_NAME "streamer.net"
3299 
3300 /*** Primary elements **/
3301 #define BOARD_TIVA_LAUNCHPAD GEO_TRUE
3302 #define BOARD_PACTRON_1 GEO_FALSE
3303 #define BOARD_UNIFIED_03 GEO_FALSE
3304 
3305 #define GEO_HARD_MAG_SUBSAMPLE 0
3306 
3307 #define EMULATE_MFAM_SENSOR GEO_FALSE
3308 #define MFAM_MODULE GEO_TRUE
3309 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
3310 #define GEO_SERIAL_CESIUM_MAG GEO_FALSE
3311 
3312 /* A meta-define */
3313 #define USE_USB_STORAGE GEO_FALSE
3314 
3315 #if USE_USB_STORAGE == GEO_TRUE
3316 #define GEO_SDCARD GEO_FALSE
3317 #define GEO_USB_STORAGE GEO_TRUE
3318 #define GEO_PRIMARY_STORAGE GEO_USB
3319 #define UNMIRRORED_STORAGE GEO_FALSE
3320 #define EMBEDDED_DATA_STORAGE GEO_TRUE
3321 #define GEO_CACHE_LAST_FILE_INDEX GEO_TRUE
3322 #define GEO_LOG_FILES GEO_TRUE
3323 #define FILES_PER_DIRECTORY 200
3324 #define FILES_IN_DIRECTORIES GEO_TRUE
3325 #define SECONDS_PER_DATA_FILE (5)
3326 #else
3327 #define UNMIRRORED_STORAGE GEO_FALSE
3328 #define EMBEDDED_DATA_STORAGE GEO_FALSE
3329 #define GEO_SDCARD GEO_FALSE
3330 #define GEO_USB_STORAGE GEO_TRUE
3331 //#define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
3332 #define GEO_LOG_FILES GEO_TRUE
3333 #define SECONDS_PER_DATA_FILE (1)
3334 #endif
3335 
3336 #define GPS_ENABLED GEO_FALSE
3337 #if GPS_ENABLED == GEO_TRUE
3338 #define GEO_GPS_ADAFRUIT GEO_FALSE
3339 #define GEO_GPS_TALLYSMAN_5431 GEO_TRUE
3340 #define GEO_GPS_SIERRA_1110 GEO_FALSE
3341 #endif
3342 
3343 #define GEO_INDICATORS GEO_FALSE
3344 #define GEO_SENSOR_LIGHT GEO_FALSE
3345 #define GEO_STORAGE_LIGHT GEO_FALSE
3346 #define GEO_PPS_LIGHT GEO_FALSE
3347 #define GEO_GPS_LIGHT GEO_FALSE
3348 
3349 #define GEO_864_PPS_LOCK GEO_FALSE
3350 
3351 
3352 /* Network: Wifi or Ethernet? */
3353 #define GEO_NET_3100 GEO_FALSE
3354 #define GEO_NET_NDK GEO_TRUE
3355 
3356 #define STATIC_ETHERNET_ADDRESS_DEF GEO_TRUE
3357 
3358 #define GEO_MQTT GEO_FALSE
3359 #define GEO_PPS_EVENTS GEO_FALSE
3360 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
3361 #define DAEMON_MAXRECORD 3
3362 #define NUM_HTTP_DAEMONS 4
3363 #define NUM_TCP_DAEMONS 2
3364 #define NUM_MQTT_DAEMONS 0
3365 
3366 #define COM_STAT_SIZE 16
3367 #define THIS_APP_MAG_DATA_TYPE 0
3368 #define THIS_APP_APP_EVENTS 1
3369 #define THIS_APP_MFAM_BLOCK_DATA_TYPE 2
3370 #define GEO_MAX_APP_SENSORS (THIS_APP_MFAM_BLOCK_DATA_TYPE + 1)
3371 
3372 #define GEO_I2C GEO_FALSE
3373 #define GEO_WIFI_STATION_MODE GEO_FALSE
3374 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
3375 #define GEO_SCHEMA_VERSION 5
3376 #error verify that this is the correct schema version
3377 
3380 #define GEO_MAGARROW_TEXT_FILES GEO_FALSE
3381 #if GEO_MAGARROW_TEXT_FILES == GEO_TRUE
3382 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
3383 #else
3384 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
3385 #endif
3386 
3387 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
3388 
3389 #define GEO_APP_MAJOR_VERSION "0"
3390 #define GM_SIZE_OF_APP_DATA_QUEUE 2550
3391 #define GM_MFAM_TEXT_LONG_FORMAT GEO_TRUE
3392 #define COUNT_MFAM_BUFFERS 1000
3393 #define MFAM_FRAMES GEO_FALSE
3394 #define ALLOW_DELETE_SURVEYS GEO_FALSE
3395 #define ALLOW_DELETE_DATA_FILES GEO_FALSE
3396 #define GEO_APP_MINOR_VERSION "4"
3397 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
3398 #define COUNT_862_MAGS 400
3399 #else
3400 #define COUNT_862_MAGS 0
3401 #endif
3402 
3403 
3404 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
3405 #define BLOCKS_PER_ACQUISITION_DATA_FILE 10000
3406 #endif
3407 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
3408 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
3409 #endif
3410 
3411 #define GM_LOGGING_MODE_MONITOR_DATA (0)
3412 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
3413 /* IGNORE_ALL is not used in setting up m_apsStorages */
3414 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
3415 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
3416 
3417 /**************************************************************************
3418  * This number refers to the maximum number of storages that are
3419  * set up into "m_apsStorages". There may be additional storages for
3420  * other reasons, but that's what this one is about.
3421  * If this isn't set up correctly then m_apsStorages will blow up.
3422 **************************************************************************/
3423 #define GEO_MAX_APP_STORAGES (2) // Maximum numnber of storages
3424 
3425 
3426 
3427 
3428 #define GEO_TCP_STREAMING GEO_TRUE
3429 #define GEO_TCP_STREAMING_PORT 1000
3430 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
3431 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
3432 #define GEO_LOG_PPS_DATA GEO_FALSE
3433 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
3434 #define GEO_SINGLE_SURVEY GEO_FALSE
3435 #define EMU_1HZ_NOT
3436 
3437 
3438 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
3439  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_TIVA_LAUNCHPAD
3440  #define GEO_APP_NAME "Geometrics Marine MFAM-1"
3441  #define GEO_SSID "Tezzeret-LP-728"
3442 #endif
3443 #if BOARD_PACTRON_1 == GEO_TRUE
3444  #define GEO_APP_NAME "Geometrics MagArrow"
3445  #define GEO_SSID "Tezzeret-PB"
3446  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_PACTRON | 0x01
3447 #endif
3448 #if BOARD_UNIFIED_03 == GEO_TRUE
3449  #define GEO_APP_NAME "Geometrics TCP MagStreamer"
3450  #define GEO_SSID "MagArrowOne"
3451  #define MFAM_SYS_MGMT GEO_FALSE
3452  #define GEO_4151_BATTERY_MONITOR GEO_FALSE
3453  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_MAGARROW|0x03
3454 #endif
3455 
3456 #define GEO_STATIC_NETWORK_PROVISIONED GEO_FALSE
3457 
3458 #define FILE_LOGGING_ALWAYS GEO_TRUE
3459 //#define GEO_TEXT_MODE_ONLY
3460 #define SDSPI_BITRATE 12500000
3461 #define acs "ccs"
3462 #define accs
3463 #define aPART_TM4C1294NCPDT
3464 #define aTIVAWARE
3465 #define GEO_TEST_STORAGEa
3466 #define axdc_target_types__ ti/targets/std.h
3467 
3468 /* Enable/Disable some test routines. If not testing that, then FALSE */
3469 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
3470 
3471 #endif
3472 
3473 /*********** Dev kit streamer *******************/
3474 #if GEO_APP_PACTRON_DEV_KIT_STREAMER == GEO_TRUE
3475 /************************************************/
3476 
3477 #define GEO_APP_EMBEDDED_PROGRAM_NAME "DK-STREAMER"
3478 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "DK-STREAMER"
3479 #define HTTP_DOMAIN_NAME "devstream.net"
3480 
3481 /*** Primary elements **/
3482 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
3483 #define BOARD_PACTRON_1 GEO_TRUE
3484 #define BOARD_UNIFIED_03 GEO_FALSE
3485 
3486 /**** Magnetometer definitions ************/
3487 #define MFAM_MODULE GEO_TRUE
3488 #define EMULATE_MFAM_SENSOR GEO_FALSE
3489 
3490 #define MFAM_EMULATOR_FID_CYCLE 1000
3491 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
3492 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
3493 
3494 #define GEO_HARD_MAG_SUBSAMPLE 0
3495 
3496 /************* Files and storage **************/
3497 
3498 #define EMBEDDED_DATA_STORAGE GEO_FALSE
3499 #define UNMIRRORED_STORAGE GEO_FALSE
3500 
3501 #define FILES_IN_DIRECTORIES GEO_NOT_RELEVANT
3502 #define GEO_SDCARD GEO_TRUE
3503 #define GEO_USB_STORAGE GEO_FALSE
3504 #define GEO_PRIMARY_STORAGE GEO_SD
3505 #define GEO_USES_APP_CONFIG_FILES GEO_TRUE
3506 #define GEO_CONFIG_STORAGE "0:"
3507 #define GEO_LOG_STORAGE "0:"
3508 //#define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
3509 #define GEO_LOG_FILES GEO_TRUE
3510 #define GEO_MAX_APP_STORAGES (3)
3511 
3512 #define GPS_ENABLED GEO_FALSE
3513 #if GPS_ENABLED == GEO_TRUE
3514 #define GEO_GPS_ADAFRUIT GEO_FALSE
3515 #define GEO_GPS_TALLYSMAN_5431 GEO_TRUE
3516 #define GEO_GPS_SIERRA_1110 GEO_FALSE
3517 #endif
3518 
3519 #define GEO_I2C GEO_FALSE
3520 #define GEO_SCHEMA_VERSION 8
3521 
3522 #define GEO_SENSOR_LIGHT GEO_FALSE
3523 #define GEO_STORAGE_LIGHT GEO_FALSE
3524 #define GEO_PPS_LIGHT GEO_FALSE
3525 #define GEO_GPS_LIGHT GEO_FALSE
3526 
3527 #define GEO_864_PPS_LOCK GEO_FALSE
3528 
3529 /********* Network ***************/
3530 #define GEO_1588 GEO_FALSE
3531 
3532 /* Wifi or Ethernet? */
3533 #define GEO_NET_3100 GEO_FALSE
3534 #define GEO_MQTT GEO_FALSE
3535 #define GEO_PPS_EVENTS GEO_FALSE
3536 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
3537 #define DAEMON_MAXRECORD 3
3538 #define NUM_HTTP_DAEMONS 4
3539 #define NUM_TCP_DAEMONS 2
3540 #define NUM_MQTT_DAEMONS 0
3541 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
3542 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
3543 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
3544 #define GEO_WIFI_STATION_MODE GEO_FALSE
3545 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
3546 #define GEO_NETWORK_DONT_CLOSE_ON_SEND_TIMEOUTS GEO_TRUE
3547 
3548 
3549 
3550 #if GEO_NET_3100 == GEO_TRUE
3551 #define GEO_CONFIG_STATIC_IP GEO_FALSE
3552 #else
3553 #define GEO_CONFIG_STATIC_IP GEO_FALSE
3554 #endif
3555 
3556 #define GEO_DEVICE_NICKNAME GEO_TRUE
3557 
3560 #define GEO_MAGARROW_TEXT_FILES GEO_FALSE
3561 #if GEO_MAGARROW_TEXT_FILES == GEO_TRUE
3562 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
3563 #else
3564 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
3565 #endif
3566 
3567 #define GM_LOGGING_MODE_MONITOR_DATA (0)
3568 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
3569 /* IGNORE_ALL is not used in setting up m_apsStorages */
3570 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
3571 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
3572 
3573 //#define THIS_APP_MAG_DATA_TYPE 0
3574 #define THIS_APP_MFAM_BLOCK_DATA_TYPE 0
3575 //#define THIS_APP_GPS_DATA_TYPE (THIS_APP_MFAM_BLOCK_DATA_TYPE + 1)
3576 //#define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
3577 #define THIS_APP_APP_EVENTS (THIS_APP_MFAM_BLOCK_DATA_TYPE + 1)
3578 /* Used to define "m_apsStorages" */
3579 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
3580 //#define THIS_APP_MFAM_BLOCK_DATA_TYPE 6
3581 
3582 
3583 
3584 #define GEO_WRITE_MFAM_BLOCKS GEO_TRUE
3585 
3586 #define GEO_APP_MAJOR_VERSION "1"
3587 #define GM_SIZE_OF_APP_DATA_QUEUE 2100
3588 #define GM_MFAM_TEXT_LONG_FORMAT GEO_TRUE
3589 #define COUNT_MFAM_BUFFERS 2000
3590 #define MFAM_FRAMES GEO_FALSE
3591 #define ALLOW_DELETE_SURVEYS GEO_FALSE
3592 #define ALLOW_DELETE_DATA_FILES GEO_FALSE
3593 #define GEO_APP_MINOR_VERSION "0"
3594 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
3595 #define COUNT_862_MAGS 400
3596 #else
3597 #define COUNT_862_MAGS 0
3598 #endif
3599 
3600 
3601 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
3602 #define BLOCKS_PER_ACQUISITION_DATA_FILE 10000
3603 #endif
3604 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
3605 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
3606 #endif
3607 
3608 #define GEO_TCP_STREAMING GEO_TRUE
3609 #define GEO_STREAMING_BLOCK GEO_TRUE
3610 #define GEO_TCP_STREAMING_PORT 1000
3611 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
3612 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
3613 #define GEO_LOG_PPS_DATA GEO_FALSE
3614 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
3615 #define GEO_SINGLE_SURVEY GEO_FALSE
3616 #define EMU_1HZ_NOT
3617 
3618 
3619 #define GEO_DEFAULT_WEB_PAGE "status.htm"
3620 
3621 /*********** Network configuration and debugging ******************/
3622 #define NETWORK_TRACE GEO_TRUE
3623 
3624 #if BOARD_PACTRON_1 == GEO_TRUE
3625  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_PACTRON | 0x01
3626  #if GEO_NET_3100 == GEO_TRUE
3627  #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
3628  #define GEO_APP_NAME "Geometrics DevKit WiFi Streamer"
3629  #define GEO_SSID "Tezzeret-PB"
3630  #define GEO_CONFIG_STATIC_IP GEO_FALSE
3631  #else
3632  #if GEO_CONFIG_STATIC_IP == GEO_TRUE
3633  #define GEO_APP_NAME "MFAM DevKit StaticIP Streamer"
3634  #define GEO_SSID "Tezzeret-PB"
3635  #else
3636  #define GEO_APP_NAME "Geometrics DevKit DHCP Streamer"
3637  #define GEO_SSID "Tezzeret-PB"
3638  #endif
3639  #endif
3640 #else
3641  #error This application is designed for the pactron dev kit.
3642 #endif
3643 
3644 #define GEO_STATIC_NETWORK_PROVISIONED GEO_FALSE
3645 
3646 #define FILE_LOGGING_ALWAYS GEO_TRUE
3647 //#define GEO_TEXT_MODE_ONLY
3648 #define SDSPI_BITRATE 12500000
3649 #define acs "ccs"
3650 #define accs
3651 #define aPART_TM4C1294NCPDT
3652 #define aTIVAWARE
3653 #define GEO_TEST_STORAGEa
3654 #define axdc_target_types__ ti/targets/std.h
3655 
3656 /* Enable/Disable some test routines. If not testing that, then FALSE */
3657 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
3658 
3659 /* Priorities */
3660 #define HTTP_DAEMON_PRIORITY 4
3661 #define MQTT_DAEMON_PRIORITY 4
3662 #define MAIN_TASK_STARTUP_PRIORITY
3663 #define MAIN_TASK_LOOP_PRIORITY
3664 #define WIFI_STARTUP_TASK_PRIORITY 9
3665 #define SYS_MGMT_TASK_PRIORITY 1
3666 #define GEO_STANDARD_UART_TASK_PRIORITY 8
3667 #define WIFI_DAEMON_TASK_PRIORITY 10
3668 
3669 
3670 #endif
3671 
3672 
3673 /*********** Simple ethernet streamer *******************/
3674 #if GEO_APP_DOLPHIN == GEO_TRUE
3675 /************************************************/
3676 
3677 #define GEO_APP_EMBEDDED_PROGRAM_NAME "DOLPHIN"
3678 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "DOLPHIN"
3679 #define HTTP_DOMAIN_NAME "dolphin.net"
3680 
3681 /*** Primary elements **/
3682 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
3683 #define BOARD_PACTRON_1 GEO_FALSE
3684 #define BOARD_UNIFIED_03 GEO_FALSE
3685 #define BOARD_1292NCPDT_UNIFIED GEO_TRUE
3686 
3687 /**** Magnetometer definitions ************/
3688 #define MFAM_MODULE GEO_TRUE
3689 #define EMULATE_MFAM_SENSOR GEO_FALSE
3690 
3691 #define MFAM_EMULATOR_FID_CYCLE 1000
3692 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
3693 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
3694 #define GEO_HARD_MAG_SUBSAMPLE 0
3695 #define GEO_MFAM_FULL_FILTER GEO_TRUE
3696 
3697 
3698 /************* Files and storage **************/
3699 #define EMBEDDED_DATA_STORAGE GEO_FALSE
3700 #define UNMIRRORED_STORAGE GEO_FALSE
3701 
3702 #define FILES_IN_DIRECTORIES GEO_NOT_RELEVANT
3703 
3704 #if BOARD_1292NCPDT_UNIFIED == GEO_TRUE
3705 #define GEO_SDCARD GEO_FALSE
3706 #define GEO_USB_STORAGE GEO_FALSE
3707 #define GEO_PRIMARY_STORAGE GEO_SD
3708 #define GEO_USES_APP_CONFIG_FILES GEO_FALSE
3709 #define GEO_CONFIG_STORAGE "0:"
3710 #define GEO_LOG_STORAGE "0:"
3711 #define GEO_LOG_FILES GEO_FALSE
3712 #else
3713 #define GEO_SDCARD GEO_TRUE
3714 #define GEO_USB_STORAGE GEO_FALSE
3715 #define GEO_PRIMARY_STORAGE GEO_SD
3716 #define GEO_USES_APP_CONFIG_FILES GEO_TRUE
3717 #define GEO_CONFIG_STORAGE "0:"
3718 #define GEO_LOG_STORAGE "0:"
3719 #define GEO_LOG_FILES GEO_TRUE
3720 #endif
3721 #define GEO_MAX_APP_STORAGES (3)
3722 
3723 #define GPS_ENABLED GEO_FALSE
3724 #if GPS_ENABLED == GEO_TRUE
3725 #define GEO_GPS_ADAFRUIT GEO_FALSE
3726 #define GEO_GPS_TALLYSMAN_5431 GEO_TRUE
3727 #define GEO_GPS_SIERRA_1110 GEO_FALSE
3728 #endif
3729 
3730 #define GEO_I2C GEO_FALSE
3731 #define GEO_SCHEMA_VERSION 8
3732 
3733 #define GEO_SENSOR_LIGHT GEO_FALSE
3734 #define GEO_STORAGE_LIGHT GEO_FALSE
3735 #define GEO_PPS_LIGHT GEO_FALSE
3736 #define GEO_GPS_LIGHT GEO_FALSE
3737 
3738 #define GEO_864_PPS_LOCK GEO_FALSE
3739 
3740 /********* Network ***************/
3741 #define GEO_1588 GEO_FALSE
3742 #define GEO_MDNS_SD GEO_FALSE
3743 #if GEO_MDNS_SD == GEO_TRUE
3744 #define GEO_MDNS_SD_SERVICE_NAME "_dolphin._tcp.local"
3745 #define GEO_MDNS_SD_SERVICE_HOST_NAME "dolphin"
3746 #define GEO_MDNS_SD_SERVICE_PORT 400
3747 #endif
3748 
3749 /* Wifi or Ethernet? */
3750 #define GEO_NET_3100 GEO_FALSE
3751 #define GEO_MQTT GEO_FALSE
3752 #define GEO_PPS_EVENTS GEO_FALSE
3753 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
3754 
3755 
3756 #define NUM_TCP_DAEMONS 2
3757 
3758 /* This is really number of children, not daemons */
3759 #define NUM_HTTP_DAEMONS (3)
3760 #define NUM_MQTT_DAEMONS (0)
3761 
3762 #define REAL_HTTP_DAEMONS (1)
3763 #define REAL_MQTT_DAEMONS (0)
3764 #define REAL_TCP_DAEMONS (2)
3765 
3766 #if GEO_MDNS_SD == GEO_TRUE
3767 #define REAL_MDNS_DAEMONS (1)
3768 #else
3769 #define REAL_MDNS_DAEMONS (0)
3770 #endif
3771 
3772 #if GEO_1588 == GEO_TRUE
3773 #define REAL_1588_DAEMONS (1)
3774 #else
3775 #define REAL_1588_DAEMONS (0)
3776 #endif
3777 
3778 #define DAEMON_MAXRECORD (REAL_HTTP_DAEMONS+REAL_MQTT_DAEMONS+REAL_MDNS_DAEMONS+REAL_1588_DAEMONS+REAL_TCP_DAEMONS)
3779 
3780 
3781 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
3782 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
3783 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
3784 #define GEO_WIFI_STATION_MODE GEO_FALSE
3785 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
3786 #define GEO_NETWORK_DONT_CLOSE_ON_SEND_TIMEOUTS GEO_TRUE
3787 
3788 #if GEO_NET_3100 == GEO_TRUE
3789 #define GEO_CONFIG_STATIC_IP GEO_FALSE
3790 #else
3791 #define GEO_CONFIG_STATIC_IP GEO_FALSE
3792 #endif
3793 
3794 #define GEO_DEVICE_NICKNAME GEO_TRUE
3797 #define GEO_MAGARROW_TEXT_FILES GEO_FALSE
3798 #if GEO_MAGARROW_TEXT_FILES == GEO_TRUE
3799 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
3800 #else
3801 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
3802 #endif
3803 
3804 #define GM_LOGGING_MODE_MONITOR_DATA (0)
3805 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
3806 /* IGNORE_ALL is not used in setting up m_apsStorages */
3807 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
3808 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
3809 
3810 #define THIS_APP_MAG_DATA_TYPE 0
3811 //#define THIS_APP_GPS_DATA_TYPE (THIS_APP_MFAM_BLOCK_DATA_TYPE + 1)
3812 //#define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
3813 #define THIS_APP_APP_EVENTS (THIS_APP_MAG_DATA_TYPE + 1)
3814 /* Used to define "m_apsStorages" */
3815 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
3816 //#define THIS_APP_MFAM_BLOCK_DATA_TYPE 6
3817 
3818 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
3819 
3820 #define GEO_APP_MAJOR_VERSION "0"
3821 #define GM_SIZE_OF_APP_DATA_QUEUE 2100
3822 #define GM_MFAM_TEXT_LONG_FORMAT GEO_TRUE
3823 #define COUNT_MFAM_BUFFERS 2000
3824 #define MFAM_FRAMES GEO_FALSE
3825 #define ALLOW_DELETE_SURVEYS GEO_FALSE
3826 #define ALLOW_DELETE_DATA_FILES GEO_FALSE
3827 #define GEO_APP_MINOR_VERSION "0"
3828 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
3829 #define COUNT_862_MAGS 400
3830 #else
3831 #define COUNT_862_MAGS 0
3832 #endif
3833 
3834 
3835 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
3836 #define BLOCKS_PER_ACQUISITION_DATA_FILE 10000
3837 #endif
3838 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
3839 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
3840 #endif
3841 
3842 #define GEO_TCP_STREAMING GEO_TRUE
3843 #define GEO_TCP_STREAMING_PORT 1000
3844 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
3845 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
3846 #define GEO_LOG_PPS_DATA GEO_FALSE
3847 #define GEO_TEN_HERTZ_FROM_PPS GEO_NOT_RELEVANT
3848 #define GEO_SINGLE_SURVEY GEO_FALSE
3849 #define EMU_1HZ_NOT
3850 
3851 #define GEO_DEFAULT_WEB_PAGE "status.htm"
3852 
3853 /*********** Network configuration and debugging ******************/
3854 #define NETWORK_TRACE GEO_TRUE
3855 
3856 #if BOARD_PACTRON_1 == GEO_TRUE
3857  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_PACTRON | 0x01
3858  #if GEO_NET_3100 == GEO_TRUE
3859  #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
3860  #define GEO_APP_NAME "Dolphin WiFi Streamer"
3861  #define GEO_SSID "Dolphin"
3862  #define GEO_CONFIG_STATIC_IP GEO_FALSE
3863  #else
3864  #if GEO_CONFIG_STATIC_IP == GEO_TRUE
3865  #define GEO_APP_NAME "Dolphin StaticIP Streamer"
3866  #define GEO_SSID "DolphinStatic"
3867  #else
3868  #define GEO_APP_NAME "Dolphin DHCP Streamer"
3869  #define GEO_SSID "DolphinDHCP"
3870  #endif
3871  #endif
3872 #elif BOARD_1292NCPDT_UNIFIED == GEO_TRUE
3873  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_1292NCPDT
3874  #if GEO_NET_3100 == GEO_TRUE
3875  #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
3876  #define GEO_APP_NAME "Dolphin WiFi Streamer"
3877  #define GEO_SSID "Dolphin"
3878  #define GEO_CONFIG_STATIC_IP GEO_FALSE
3879  #else
3880  #if GEO_CONFIG_STATIC_IP == GEO_TRUE
3881  #define GEO_APP_NAME "Dolphin StaticIP Streamer"
3882  #define GEO_SSID "DolphinStatic"
3883  #else
3884  #define GEO_APP_NAME "Dolphin DHCP Streamer"
3885  #define GEO_SSID "DolphinDHCP"
3886  #endif
3887  #endif
3888 #else
3889  #error This application is designed for the pactron dev kit.
3890 #endif
3891 
3892 #define GEO_STATIC_NETWORK_PROVISIONED GEO_FALSE
3893 
3894 #define FILE_LOGGING_ALWAYS GEO_TRUE
3895 //#define GEO_TEXT_MODE_ONLY
3896 #define SDSPI_BITRATE 12500000
3897 #define acs "ccs"
3898 #define accs
3899 #define aPART_TM4C1294NCPDT
3900 #define aTIVAWARE
3901 #define GEO_TEST_STORAGEa
3902 #define axdc_target_types__ ti/targets/std.h
3903 
3904 /* Enable/Disable some test routines. If not testing that, then FALSE */
3905 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
3906 
3907 /* Priorities */
3908 #define HTTP_DAEMON_PRIORITY 4
3909 #define MQTT_DAEMON_PRIORITY 4
3910 #define MAIN_TASK_STARTUP_PRIORITY
3911 #define MAIN_TASK_LOOP_PRIORITY
3912 #define WIFI_STARTUP_TASK_PRIORITY 9
3913 #define SYS_MGMT_TASK_PRIORITY 1
3914 #define GEO_STANDARD_UART_TASK_PRIORITY 8
3915 #define WIFI_DAEMON_TASK_PRIORITY 10
3916 
3917 #endif
3918 
3919 /************************************************/
3920 /*********** Example application *******************/
3921 /* MFAM emulator, monitor storage only.
3922  * Ethernet web pages. */
3923 #if GEO_APP_EXAMPLE == GEO_TRUE
3924 /************************************************/
3925 /************************************************/
3926 
3927 #define GEO_APP_EMBEDDED_PROGRAM_NAME "Example"
3928 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "Example"
3929 #define HTTP_DOMAIN_NAME "tzxmpl.net"
3930 
3931 /*** Primary elements **/
3932 #define BOARD_TIVA_LAUNCHPAD GEO_TRUE
3933 #define BOARD_PACTRON_1 GEO_NOT_RELEVANT
3934 #define BOARD_UNIFIED_03 GEO_NOT_RELEVANT
3935 
3936 /**** Magnetometer definitions ************/
3937 #define MFAM_MODULE GEO_FALSE
3938 #define EMULATE_MFAM_SENSOR GEO_TRUE
3939 
3940 #define MFAM_EMULATOR_FID_CYCLE 1000
3941 #define MFAM_WAIT_FOR_QUIET_SPI GEO_NOT_RELEVANT
3942 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
3943 
3944 #define GEO_HARD_MAG_SUBSAMPLE 0
3945 
3946 /************* Files and storage **************/
3947 
3948 #define EMBEDDED_DATA_STORAGE GEO_FALSE
3949 #define UNMIRRORED_STORAGE GEO_FALSE
3950 
3951 #define FILES_IN_DIRECTORIES GEO_NOT_RELEVANT
3952 #define GEO_SDCARD GEO_FALSE
3953 #define GEO_USB_STORAGE GEO_FALSE
3954 #define GEO_PRIMARY_STORAGE GEO_SD
3955 #define GEO_USES_APP_CONFIG_FILES GEO_FALSE
3956 #define GEO_CONFIG_STORAGE "0:"
3957 #define GEO_LOG_STORAGE "0:"
3958 //#define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
3959 #define GEO_LOG_FILES GEO_FALSE
3960 
3961 /* Monitor and TCP are the storages */
3962 #define GEO_MAX_APP_STORAGES (2)
3963 
3964 #define GPS_ENABLED GEO_FALSE
3965 #if GPS_ENABLED == GEO_TRUE
3966 #define GEO_GPS_ADAFRUIT GEO_FALSE
3967 #define GEO_GPS_TALLYSMAN_5431 GEO_TRUE
3968 #define GEO_GPS_SIERRA_1110 GEO_FALSE
3969 #endif
3970 
3971 #define GEO_I2C GEO_FALSE
3972 #define GEO_SCHEMA_VERSION 8
3973 
3974 #define GEO_SENSOR_LIGHT GEO_FALSE
3975 #define GEO_STORAGE_LIGHT GEO_FALSE
3976 #define GEO_PPS_LIGHT GEO_FALSE
3977 #define GEO_GPS_LIGHT GEO_FALSE
3978 
3979 #define GEO_864_PPS_LOCK GEO_FALSE
3980 
3981 /********* Network ***************/
3982 #define GEO_1588 GEO_FALSE
3983 
3984 /* Wifi or Ethernet? If not Wifi (3100), then ethernet. */
3985 #define GEO_NET_3100 GEO_FALSE
3986 #define GEO_MQTT GEO_FALSE
3987 #define GEO_PPS_EVENTS GEO_FALSE
3988 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
3989 
3990 /* One daemon for TCP, one daemon for utility */
3991 #define NUM_TCP_DAEMONS 1
3992 
3993 /* This is really number of children (accepted
3994  * sockets, not listen sockets */
3995 #define NUM_HTTP_DAEMONS (2)
3996 #define NUM_MQTT_DAEMONS (0)
3997 
3998 /* Actual network daemons (listen sockets */
3999 #define REAL_HTTP_DAEMONS (1)
4000 #define REAL_MQTT_DAEMONS (0)
4001 
4002 /* Include the utility daemon for ethernet */
4003 #define REAL_TCP_DAEMONS (2)
4004 
4005 #define DAEMON_MAXRECORD (REAL_HTTP_DAEMONS+REAL_TCP_DAEMONS)
4006 
4007 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
4008 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
4009 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
4010 #define GEO_WIFI_STATION_MODE GEO_FALSE
4011 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
4012 #define GEO_NETWORK_DONT_CLOSE_ON_SEND_TIMEOUTS GEO_TRUE
4013 
4014 /* This is a DHCP application */
4015 #define GEO_CONFIG_STATIC_IP GEO_FALSE
4016 
4017 #define GEO_DEVICE_NICKNAME GEO_TRUE
4018 
4021 #define GEO_MAGARROW_TEXT_FILES GEO_FALSE
4022 #if GEO_MAGARROW_TEXT_FILES == GEO_TRUE
4023 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
4024 #else
4025 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
4026 #endif
4027 
4028 #define GM_LOGGING_MODE_MONITOR_DATA (0)
4029 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_MODE_MONITOR_DATA + 1)
4030 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
4031 
4032 /* Define the event/sensor IDs that will be used in this application. These
4033  * are the IDs that are queued into the main event queue.
4034  */
4035 #define THIS_APP_MFAM_BLOCK_DATA_TYPE 0
4036 #define THIS_APP_APP_EVENTS (THIS_APP_MFAM_BLOCK_DATA_TYPE + 1)
4037 /* Used to define "m_apsStorages" */
4038 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
4039 
4040 #define GEO_WRITE_MFAM_BLOCKS GEO_TRUE
4041 
4042 #define GEO_APP_MAJOR_VERSION "1"
4043 #define GM_SIZE_OF_APP_DATA_QUEUE 2100
4044 #define GM_MFAM_TEXT_LONG_FORMAT GEO_TRUE
4045 #define COUNT_MFAM_BUFFERS 2000
4046 #define MFAM_FRAMES GEO_NOT_RELEVANT
4047 #define ALLOW_DELETE_SURVEYS GEO_NOT_RELEVANT
4048 #define ALLOW_DELETE_DATA_FILES GEO_NOT_RELEVANT
4049 #define GEO_APP_MINOR_VERSION "0"
4050 
4051 /* Not relevant for this application */
4052 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
4053 #define BLOCKS_PER_ACQUISITION_DATA_FILE 10000
4054 #endif
4055 
4056 #define GEO_TCP_STREAMING GEO_TRUE
4057 #define GEO_STREAMING_BLOCK GEO_TRUE
4058 #define GEO_TCP_STREAMING_PORT 1000
4059 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_NOT_RELEVANT
4060 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
4061 #define GEO_LOG_PPS_DATA GEO_NOT_RELEVANT
4062 #define GEO_TEN_HERTZ_FROM_PPS GEO_NOT_RELEVANT
4063 #define GEO_SINGLE_SURVEY GEO_NOT_RELEVANT
4064 #define EMU_1HZ_NOT
4065 
4066 
4067 #define GEO_DEFAULT_WEB_PAGE "status.htm"
4068 
4069 /*********** Network configuration and debugging ******************/
4070 #define NETWORK_TRACE GEO_FALSE
4071 
4072 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
4073  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_TIVA_LAUNCHPAD
4074  #if GEO_NET_3100 == GEO_TRUE
4075  #error This application is not for WiFi
4076  #else
4077  #if GEO_CONFIG_STATIC_IP == GEO_TRUE
4078  #define GEO_APP_NAME "Simple Tezzeret Static IP Example"
4079  #define GEO_SSID "Tezzeret-PB"
4080  #else
4081  #define GEO_APP_NAME "Simple Tezzeret DHCP Example"
4082  #define GEO_SSID "Tezzeret-PB"
4083  #endif
4084  #endif
4085 #else
4086  #error This application is designed for the Tiva launchpad only.
4087 #endif
4088 
4089 #define GEO_STATIC_NETWORK_PROVISIONED GEO_FALSE
4090 
4091 #define FILE_LOGGING_ALWAYS GEO_NOT_RELEVANT
4092 //#define GEO_TEXT_MODE_ONLY
4093 #define SDSPI_BITRATE 12500000
4094 #define acs "ccs"
4095 #define accs
4096 #define aPART_TM4C1294NCPDT
4097 #define aTIVAWARE
4098 #define GEO_TEST_STORAGEa
4099 #define axdc_target_types__ ti/targets/std.h
4100 
4101 /* Enable/Disable some test routines. If not testing that, then FALSE */
4102 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
4103 
4104 /* Priorities */
4105 #define HTTP_DAEMON_PRIORITY 4
4106 //#define MQTT_DAEMON_PRIORITY 4
4107 #define MAIN_TASK_STARTUP_PRIORITY
4108 #define MAIN_TASK_LOOP_PRIORITY
4109 //#define WIFI_STARTUP_TASK_PRIORITY 9
4110 //#define SYS_MGMT_TASK_PRIORITY 1
4111 //#define GEO_STANDARD_UART_TASK_PRIORITY 8
4112 //#define WIFI_DAEMON_TASK_PRIORITY 10
4113 
4114 
4115 #endif
4116 
4117 
4118 /*********** Simple ethernet streamer *******************/
4119 #if GEO_APP_DOLPHIN == GEO_TRUE
4120 /************************************************/
4121 
4122 #define GEO_APP_EMBEDDED_PROGRAM_NAME "DOLPHIN"
4123 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "DOLPHIN"
4124 #define HTTP_DOMAIN_NAME "dolphin.net"
4125 
4126 /*** Primary elements **/
4127 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
4128 #define BOARD_PACTRON_1 GEO_FALSE
4129 #define BOARD_UNIFIED_03 GEO_FALSE
4130 #define BOARD_1292NCPDT_UNIFIED GEO_TRUE
4131 
4132 /**** Magnetometer definitions ************/
4133 #define MFAM_MODULE GEO_TRUE
4134 #define EMULATE_MFAM_SENSOR GEO_FALSE
4135 
4136 #define MFAM_EMULATOR_FID_CYCLE 1000
4137 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
4138 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
4139 #define GEO_HARD_MAG_SUBSAMPLE 0
4140 #define GEO_MFAM_FULL_FILTER GEO_TRUE
4141 
4142 
4143 /************* Files and storage **************/
4144 #define EMBEDDED_DATA_STORAGE GEO_FALSE
4145 #define UNMIRRORED_STORAGE GEO_FALSE
4146 
4147 #define FILES_IN_DIRECTORIES GEO_NOT_RELEVANT
4148 
4149 #if BOARD_1292NCPDT_UNIFIED == GEO_TRUE
4150 #define GEO_SDCARD GEO_FALSE
4151 #define GEO_USB_STORAGE GEO_FALSE
4152 #define GEO_PRIMARY_STORAGE GEO_SD
4153 #define GEO_USES_APP_CONFIG_FILES GEO_FALSE
4154 #define GEO_CONFIG_STORAGE "0:"
4155 #define GEO_LOG_STORAGE "0:"
4156 #define GEO_LOG_FILES GEO_FALSE
4157 #else
4158 #define GEO_SDCARD GEO_TRUE
4159 #define GEO_USB_STORAGE GEO_FALSE
4160 #define GEO_PRIMARY_STORAGE GEO_SD
4161 #define GEO_USES_APP_CONFIG_FILES GEO_TRUE
4162 #define GEO_CONFIG_STORAGE "0:"
4163 #define GEO_LOG_STORAGE "0:"
4164 #define GEO_LOG_FILES GEO_TRUE
4165 #endif
4166 #define GEO_MAX_APP_STORAGES (3)
4167 
4168 #define GPS_ENABLED GEO_FALSE
4169 #if GPS_ENABLED == GEO_TRUE
4170 #define GEO_GPS_ADAFRUIT GEO_FALSE
4171 #define GEO_GPS_TALLYSMAN_5431 GEO_TRUE
4172 #define GEO_GPS_SIERRA_1110 GEO_FALSE
4173 #endif
4174 
4175 #define GEO_I2C GEO_FALSE
4176 #define GEO_SCHEMA_VERSION 8
4177 
4178 #define GEO_SENSOR_LIGHT GEO_FALSE
4179 #define GEO_STORAGE_LIGHT GEO_FALSE
4180 #define GEO_PPS_LIGHT GEO_FALSE
4181 #define GEO_GPS_LIGHT GEO_FALSE
4182 
4183 #define GEO_864_PPS_LOCK GEO_FALSE
4184 
4185 /********* Network ***************/
4186 #define GEO_1588 GEO_FALSE
4187 #define GEO_MDNS_SD GEO_FALSE
4188 #if GEO_MDNS_SD == GEO_TRUE
4189 #define GEO_MDNS_SD_SERVICE_NAME "_dolphin._tcp.local"
4190 #define GEO_MDNS_SD_SERVICE_HOST_NAME "dolphin"
4191 #define GEO_MDNS_SD_SERVICE_PORT 400
4192 #endif
4193 
4194 /* Wifi or Ethernet? */
4195 #define GEO_NET_3100 GEO_FALSE
4196 #define GEO_MQTT GEO_FALSE
4197 #define GEO_PPS_EVENTS GEO_FALSE
4198 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
4199 
4200 
4201 #define NUM_TCP_DAEMONS 2
4202 
4203 /* This is really number of children, not daemons */
4204 #define NUM_HTTP_DAEMONS (3)
4205 #define NUM_MQTT_DAEMONS (0)
4206 
4207 #define REAL_HTTP_DAEMONS (1)
4208 #define REAL_MQTT_DAEMONS (0)
4209 #define REAL_TCP_DAEMONS (2)
4210 
4211 #if GEO_MDNS_SD == GEO_TRUE
4212 #define REAL_MDNS_DAEMONS (1)
4213 #else
4214 #define REAL_MDNS_DAEMONS (0)
4215 #endif
4216 
4217 #if GEO_1588 == GEO_TRUE
4218 #define REAL_1588_DAEMONS (1)
4219 #else
4220 #define REAL_1588_DAEMONS (0)
4221 #endif
4222 
4223 #define DAEMON_MAXRECORD (REAL_HTTP_DAEMONS+REAL_MQTT_DAEMONS+REAL_MDNS_DAEMONS+REAL_1588_DAEMONS+REAL_TCP_DAEMONS)
4224 
4225 
4226 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
4227 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
4228 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
4229 #define GEO_WIFI_STATION_MODE GEO_FALSE
4230 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
4231 #define GEO_NETWORK_DONT_CLOSE_ON_SEND_TIMEOUTS GEO_TRUE
4232 
4233 #if GEO_NET_3100 == GEO_TRUE
4234 #define GEO_CONFIG_STATIC_IP GEO_FALSE
4235 #else
4236 #define GEO_CONFIG_STATIC_IP GEO_FALSE
4237 #endif
4238 
4239 #define GEO_DEVICE_NICKNAME GEO_TRUE
4242 #define GEO_MAGARROW_TEXT_FILES GEO_FALSE
4243 #if GEO_MAGARROW_TEXT_FILES == GEO_TRUE
4244 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
4245 #else
4246 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
4247 #endif
4248 
4249 #define GM_LOGGING_MODE_MONITOR_DATA (0)
4250 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
4251 /* IGNORE_ALL is not used in setting up m_apsStorages */
4252 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
4253 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
4254 
4255 #define THIS_APP_MAG_DATA_TYPE 0
4256 //#define THIS_APP_GPS_DATA_TYPE (THIS_APP_MFAM_BLOCK_DATA_TYPE + 1)
4257 //#define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
4258 #define THIS_APP_APP_EVENTS (THIS_APP_MAG_DATA_TYPE + 1)
4259 /* Used to define "m_apsStorages" */
4260 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
4261 //#define THIS_APP_MFAM_BLOCK_DATA_TYPE 6
4262 
4263 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
4264 
4265 #define GEO_APP_MAJOR_VERSION "0"
4266 #define GM_SIZE_OF_APP_DATA_QUEUE 2100
4267 #define GM_MFAM_TEXT_LONG_FORMAT GEO_TRUE
4268 #define COUNT_MFAM_BUFFERS 2000
4269 #define MFAM_FRAMES GEO_FALSE
4270 #define ALLOW_DELETE_SURVEYS GEO_FALSE
4271 #define ALLOW_DELETE_DATA_FILES GEO_FALSE
4272 #define GEO_APP_MINOR_VERSION "0"
4273 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
4274 #define COUNT_862_MAGS 400
4275 #else
4276 #define COUNT_862_MAGS 0
4277 #endif
4278 
4279 
4280 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
4281 #define BLOCKS_PER_ACQUISITION_DATA_FILE 10000
4282 #endif
4283 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
4284 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
4285 #endif
4286 
4287 #define GEO_TCP_STREAMING GEO_TRUE
4288 #define GEO_TCP_STREAMING_PORT 1000
4289 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
4290 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
4291 #define GEO_LOG_PPS_DATA GEO_FALSE
4292 #define GEO_TEN_HERTZ_FROM_PPS GEO_NOT_RELEVANT
4293 #define GEO_SINGLE_SURVEY GEO_FALSE
4294 #define EMU_1HZ_NOT
4295 
4296 #define GEO_DEFAULT_WEB_PAGE "status.htm"
4297 
4298 /*********** Network configuration and debugging ******************/
4299 #define NETWORK_TRACE GEO_TRUE
4300 
4301 #if BOARD_PACTRON_1 == GEO_TRUE
4302  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_PACTRON | 0x01
4303  #if GEO_NET_3100 == GEO_TRUE
4304  #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
4305  #define GEO_APP_NAME "Dolphin WiFi Streamer"
4306  #define GEO_SSID "Dolphin"
4307  #define GEO_CONFIG_STATIC_IP GEO_FALSE
4308  #else
4309  #if GEO_CONFIG_STATIC_IP == GEO_TRUE
4310  #define GEO_APP_NAME "Dolphin StaticIP Streamer"
4311  #define GEO_SSID "DolphinStatic"
4312  #else
4313  #define GEO_APP_NAME "Dolphin DHCP Streamer"
4314  #define GEO_SSID "DolphinDHCP"
4315  #endif
4316  #endif
4317 #elif BOARD_1292NCPDT_UNIFIED == GEO_TRUE
4318  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_1292NCPDT
4319  #if GEO_NET_3100 == GEO_TRUE
4320  #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
4321  #define GEO_APP_NAME "Dolphin WiFi Streamer"
4322  #define GEO_SSID "Dolphin"
4323  #define GEO_CONFIG_STATIC_IP GEO_FALSE
4324  #else
4325  #if GEO_CONFIG_STATIC_IP == GEO_TRUE
4326  #define GEO_APP_NAME "Dolphin StaticIP Streamer"
4327  #define GEO_SSID "DolphinStatic"
4328  #else
4329  #define GEO_APP_NAME "Dolphin DHCP Streamer"
4330  #define GEO_SSID "DolphinDHCP"
4331  #endif
4332  #endif
4333 #else
4334  #error This application is designed for the pactron dev kit.
4335 #endif
4336 
4337 #define GEO_STATIC_NETWORK_PROVISIONED GEO_FALSE
4338 
4339 #define FILE_LOGGING_ALWAYS GEO_TRUE
4340 //#define GEO_TEXT_MODE_ONLY
4341 #define SDSPI_BITRATE 12500000
4342 #define acs "ccs"
4343 #define accs
4344 #define aPART_TM4C1294NCPDT
4345 #define aTIVAWARE
4346 #define GEO_TEST_STORAGEa
4347 #define axdc_target_types__ ti/targets/std.h
4348 
4349 /* Enable/Disable some test routines. If not testing that, then FALSE */
4350 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
4351 
4352 /* Priorities */
4353 #define HTTP_DAEMON_PRIORITY 4
4354 #define MQTT_DAEMON_PRIORITY 4
4355 #define MAIN_TASK_STARTUP_PRIORITY
4356 #define MAIN_TASK_LOOP_PRIORITY
4357 #define WIFI_STARTUP_TASK_PRIORITY 9
4358 #define SYS_MGMT_TASK_PRIORITY 1
4359 #define GEO_STANDARD_UART_TASK_PRIORITY 8
4360 #define WIFI_DAEMON_TASK_PRIORITY 10
4361 
4362 
4363 #endif
4364 
4365 
4366 
4367 /*************************************************
4368  * Pactron MFAM dev kit
4369  **************************************************/
4370 #if GEO_APP_PACTRON_DEV_KIT == GEO_TRUE
4371 
4372 #define GEO_APP_EMBEDDED_PROGRAM_NAME "DEVKIT"
4373 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "DEVKIT"
4374 #define HTTP_DOMAIN_NAME "devkit.net"
4375 #define GEO_APP_MAJOR_VERSION "1"
4376 #define GEO_APP_MINOR_VERSION "1"
4377 
4378 
4379 /***********************************************************************/
4380 /* Dev kit - Wifi enabled, HTTP and files, but not MQQT. */
4381 /* HTTP only through original "direct" mode, not through */
4382 /* Jekyll/Handlebars/JSON */
4383 /* Text files */
4384 /* SD card only. */
4385 /***********************************************************************/
4386 
4387 /*** Primary elements **/
4388 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
4389 #define BOARD_PACTRON_1 GEO_TRUE
4390 #define BOARD_UNIFIED_03 GEO_FALSE
4391 
4392 #define GEO_HARD_MAG_SUBSAMPLE 0
4393 
4394 #define EMULATE_MFAM_SENSOR GEO_FALSE
4395 #define MFAM_EMULATOR_FID_CYCLE 1000
4396 #define MFAM_MODULE GEO_TRUE
4397 #define MFAM_WAIT_FOR_QUIET_SPI GEO_TRUE
4398 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
4399 #define GEO_I2C GEO_FALSE
4400 
4401 #define GEO_SIMPLE_WIFI_ACQUISITION GEO_TRUE
4402 
4403 #define GEO_SDCARD GEO_TRUE
4404 #define GEO_USB_STORAGE GEO_FALSE
4405 #define GEO_PRIMARY_STORAGE GEO_SD
4406 #define GEO_USES_APP_CONFIG_FILES GEO_TRUE
4407 #define GEO_CONFIG_STORAGE "0:"
4408 #define GEO_LOG_STORAGE "0:"
4409 
4410 
4411 #define GEO_WIFI_STATION_MODE GEO_FALSE
4412 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
4413 
4414 #define GEO_MQTT GEO_FALSE
4415 
4416 /******* GPS, PPS, 1588, i.e. location and timing ******/
4417 /* Those choices are driven by the presence or absence
4418  * of 1588
4419  */
4420 #define GEO_1588 GEO_TRUE
4421 #define GEO_MDNS_SD GEO_FALSE
4422 
4423 #if GEO_MDNS_SD == GEO_TRUE
4424 #define GEO_MDNS_SD_SERVICE_NAME "_mfamdevkit._tcp.local"
4425 #define GEO_MDNS_SD_SERVICE_HOST_NAME "devkit"
4426 #define GEO_MDNS_SD_SERVICE_PORT 400
4427 #endif
4428 
4429 #if (GEO_1588 == GEO_TRUE)
4430 #define GEO_PPS_EVENTS GEO_FALSE
4431 #define CHOOSE_PPS_DUTY_CYCLE GEO_NOT_RELEVANT
4432 #define GPS_ENABLED GEO_NOT_RELEVANT
4433 #else
4434 #define GEO_PPS_EVENTS GEO_TRUE
4435 #define CHOOSE_PPS_DUTY_CYCLE GEO_TRUE
4436 #define GPS_ENABLED GEO_TRUE
4437 #endif
4438 #if GPS_ENABLED == GEO_TRUE
4439 #define GEO_GPS_ADAFRUIT GEO_TRUE
4440 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
4441 #define GEO_GPS_SIERRA_1110 GEO_FALSE
4442 #endif
4443 
4444 
4445 /* Wifi or Ethernet? */
4446 #define NETWORK_TRACE GEO_TRUE
4447 #define GEO_NET_3100 GEO_FALSE
4448 #define GEO_DYNAMIC_WIFI_SSID GEO_TRUE
4450 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
4451 
4452 #if GEO_NET_3100 == GEO_TRUE
4453 #if GEO_MDNS_SD == GEO_TRUE
4454 #error MDNS_SD is not currently supported in WiFi applications
4455 #endif
4456 #endif
4457 
4458 #if GEO_1588 == GEO_TRUE
4459 #define DAEMON_MAXRECORD 5
4460 #else
4461 #define DAEMON_MAXRECORD 3
4462 #endif
4463 #define NUM_HTTP_DAEMONS 7
4464 #define NUM_MQTT_DAEMONS 0
4465 //#define GEO_MAX_APP_STORAGES (5)
4466 //#define GEO_MAX_APP_STORAGE_MODES (5)
4467 //#define GEO_MAX_APP_SENSORS (8)
4468 
4470 #define EMBEDDED_DATA_STORAGE GEO_TRUE
4471 //#define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
4472 #define GEO_LOG_FILES GEO_TRUE
4473 #define FILES_PER_DIRECTORY 200
4474 #define FILES_IN_DIRECTORIES GEO_FALSE
4475 #define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
4476 
4477 #define GEO_SENSOR_LIGHT GEO_FALSE
4478 #define GEO_STORAGE_LIGHT GEO_FALSE
4479 #define GEO_PPS_LIGHT GEO_FALSE
4480 #define GEO_GPS_LIGHT GEO_FALSE
4481 
4482 /********************************************************************************
4483  * Setting up sensor data types.
4484  * These are used to identify the use of particular sensors in this application,
4485  * The max number is used to set up the array "m_apsStorages", where it is
4486  * preferable, in order to save space, not to have unused items.
4487  * So, in this section, we try to make them contiguous.
4488  ********************************************************************************/
4489 #if GEO_1588 == GEO_TRUE
4490 #define THIS_APP_MAG_DATA_TYPE 0
4491 #define THIS_APP_APP_EVENTS (THIS_APP_MAG_DATA_TYPE + 1)
4492 /* Used to define "m_apsStorages" */
4493 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
4494 #else
4495 #define THIS_APP_MAG_DATA_TYPE 0
4496 #define THIS_APP_GPS_DATA_TYPE (THIS_APP_MAG_DATA_TYPE + 1)
4497 #define THIS_APP_PPS_EVENTS (THIS_APP_GPS_DATA_TYPE + 1)
4498 #define THIS_APP_APP_EVENTS (THIS_APP_PPS_EVENTS + 1)
4499 /* Used to define "m_apsStorages" */
4500 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
4501 #endif
4502 
4503 
4504 /**************************************************************************/
4505 /* Logging modes, indicating what the application should do with data.
4506 * The order of these doesn't matter, but the total number of them matters,
4507 * and they are used as indexes into "m_apsStorages" matters, so we
4508  * want to keep that array small if we can. These are never saved in any
4509 * DB, or transmitted over the network.
4510 **************************************************************************/
4511 #define GM_LOGGING_MODE_MONITOR_DATA (0)
4512 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
4513 /* IGNORE_ALL is not used in setting up m_apsStorages */
4514 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
4515 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
4516 
4517 /**************************************************************************
4518  * This number refers to the maximum number of storages that are
4519  * set up into "m_apsStorages". There may be additional storages for
4520  * other reasons, but that's what this one is about.
4521  * If this isn't set up correctly then m_apsStorages will blow up.
4522 **************************************************************************/
4523 #define GEO_MAX_APP_STORAGES (2) // Maximum numnber of storages
4524 
4525 #define GEO_WIFI_STATION_MODE GEO_FALSE
4526 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
4527 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
4528 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
4529 
4530 
4531 
4533 
4534 #define GEO_MAGARROW_TEXT_FILES GEO_TRUE
4535 #if GEO_MAGARROW_TEXT_FILES == GEO_TRUE
4536 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
4537 #else
4538 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
4539 #endif
4540 
4541 #define GEO_WRITE_MFAM_BLOCKS GEO_FALSE
4542 
4543 //#define GM_SIZE_OF_APP_DATA_QUEUE 2550 // wifi values are different?
4544 #define GM_SIZE_OF_APP_DATA_QUEUE 2050
4545 #define GM_MFAM_TEXT_LONG_FORMAT GEO_TRUE
4546 // #define COUNT_MFAM_BUFFERS 2500
4547 #define COUNT_MFAM_BUFFERS 2000
4548 #define MFAM_FRAMES GEO_FALSE
4549 #define ALLOW_DELETE_SURVEYS GEO_TRUE
4550 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
4551 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
4552 #define COUNT_862_MAGS 400
4553 #else
4554 #define COUNT_862_MAGS 0
4555 #endif
4556 
4557 
4558 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
4559 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200000
4560 #endif
4561 #if GEO_SERIAL_CESIUM_MAG == GEO_TRUE
4562 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
4563 #endif
4564 
4565 #define GEO_TCP_STREAMING GEO_FALSE
4566 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
4567 #define GEO_CONFIGPROVISION_EEPROM GEO_FALSE
4568 #define GEO_LOG_PPS_DATA GEO_TRUE
4569 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
4570 #define GEO_SINGLE_SURVEY GEO_TRUE
4571 #define EMU_1HZ_NOT
4572 
4573 #define GEO_CONFIG_STATIC_IP GEO_FALSE
4574 
4575 #if BOARD_PACTRON_1 == GEO_TRUE
4576  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_PACTRON | 0x01
4577  #if GEO_NET_3100 == GEO_TRUE
4578  #define GEO_APP_NAME "Geometrics MFAM DevKit"
4579  #define GEO_SSID "Tezzeret-PB"
4580  #define GEO_CONFIG_STATIC_IP GEO_FALSE
4581  #else
4582  #if GEO_CONFIG_STATIC_IP == GEO_TRUE
4583  #define GEO_APP_NAME "MFAM DK Static"
4584  #define GEO_SSID "Tezzeret-PB"
4585  #define GEO_DEVICE_NICKNAME GEO_TRUE
4586  #else
4587  #define GEO_APP_NAME "MFAM DK DHCP"
4588  #define GEO_SSID "Tezzeret-PB"
4589  #define GEO_DEVICE_NICKNAME GEO_TRUE
4590  #endif
4591  #endif
4592 #else
4593  #error This application is designed only for the pactron dev kit.
4594 #endif
4595 
4596 #define FILE_LOGGING_ALWAYS
4597 //#define GEO_TEXT_MODE_ONLY
4598 #define SDSPI_BITRATE 12500000
4599 #define acs "ccs"
4600 #define accs
4601 #define aPART_TM4C1294NCPDT
4602 #define aTIVAWARE
4603 #define GEO_TEST_STORAGEa
4604 #define axdc_target_types__ ti/targets/std.h
4605 
4606 /* Enable/Disable some test routines. If not testing that, then FALSE */
4607 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
4608 #define WIFI_DAEMON_TASK_PRIORITY 10
4609 #define HTTP_DAEMON_PRIORITY 4
4610 #define MQTT_DAEMON_PRIORITY 4
4611 #define MAIN_TASK_STARTUP_PRIORITY
4612 #define MAIN_TASK_LOOP_PRIORITY
4613 #define WIFI_STARTUP_TASK_PRIORITY 9
4614 #define SYS_MGMT_TASK_PRIORITY 1
4615 #define GEO_STANDARD_UART_TASK_PRIORITY 8
4616 
4617 /************** End DevKit ***************/
4618 #endif
4619 
4620 
4621 
4622 #if GEO_BOOTLOADER == GEO_TRUE
4623 
4624 #define GEO_APP_EMBEDDED_PROGRAM_NAME "BOOTLOADER"
4625 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "BOOTLOADER"
4626 #define HTTP_DOMAIN_NAME "geometrics.net"
4627 #define GEO_APP_MAJOR_VERSION "1"
4628 
4629 
4630 /***********************************************************************/
4631 /* Bootloader. */
4632 /***********************************************************************/
4633 
4634 /* Set to pactron for the MFAM dev kit, and unified board for most products. */
4635 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
4636 #define BOARD_PACTRON_1 GEO_TRUE
4637 #define BOARD_UNIFIED_03 GEO_FALSE
4638 
4639 #define GEO_SDCARD GEO_TRUE
4640 #define GEO_USB_STORAGE GEO_TRUE
4641 
4642 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
4643 #elif BOARD_PACTRON_1 == GEO_TRUE
4644 #elif BOARD_UNIFIED_03 == GEO_TRUE
4645 #else
4646 #error missing valid board definition
4647 #endif
4648 
4649 #define GEO_I2C GEO_FALSE
4650 
4651 #define EMBEDDED_DATA_STORAGE GEO_FALSE
4652 //#define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
4653 
4654 
4655 
4656 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
4657  #define GEO_APP_NAME "Geometrics Bootloader"
4658  #define GEO_SSID "Tezzeret"
4659  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_TIVA_EIVA
4660  #define GEO_PRIMARY_STORAGE GEO_SD
4661  #define GEO_USES_APP_CONFIG_FILES GEO_FALSE
4662  //#define GEO_CONFIG_STORAGE "0:"
4663 #endif
4664 #if BOARD_PACTRON_1 == GEO_TRUE
4665  #define GEO_APP_NAME "Geometrics Bootloader"
4666  #define GEO_SSID "Tezzeret"
4667  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_PACTRON | 0x01
4668  #define GEO_PRIMARY_STORAGE GEO_SD
4669  #define GEO_USES_APP_CONFIG_FILES GEO_FALSE
4670  //#define GEO_CONFIG_STORAGE "0:"
4671 #endif
4672 #if BOARD_UNIFIED_03 == GEO_TRUE
4673  #define GEO_APP_NAME "Geometrics Bootloader"
4674  #define GEO_SSID "Tezzeret"
4675  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
4676  #define GEO_PRIMARY_STORAGE GEO_USB
4677  #define GEO_USES_APP_CONFIG_FILES GEO_FALSE
4678  //#define GEO_CONFIG_STORAGE "1:"
4679 #endif
4680 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
4681 #define GEO_NO_FILE_TIMEKEEPING GEO_TRUE
4682 #define GM_SIZE_OF_APP_DATA_QUEUE 10
4683 #define GM_MFAM_TEXT_LONG_FORMAT GEO_TRUE
4684 #define COUNT_MFAM_BUFFERS 100
4685 #define COUNT_862_MAGS 0
4686 #define DAEMON_MAXRECORD 3
4687 #define BLOCKS_PER_ACQUISITION_DATA_FILE 1
4688 
4689 #define FILES_PER_DIRECTORY 1
4690 #define FILES_IN_DIRECTORIES GEO_FALSE
4691 
4692 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
4693 #define NUM_HTTP_DAEMONS 2
4694 #define NUM_MQTT_DAEMONS 1
4695 #define GEO_MAX_APP_STORAGES (5)
4696 
4697 
4698 
4699 #define GEO_DYNAMIC_WIFI_SSID GEO_FALSE
4700 #define GEO_WIFI_STATION_MODE GEO_FALSE
4701 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
4702 
4703 #define MFAM_FRAMES GEO_FALSE
4704 #define ALLOW_DELETE_SURVEYS GEO_FALSE
4705 #define ALLOW_DELETE_DATA_FILES GEO_FALSE
4706 #define GEO_APP_MINOR_VERSION "0"
4707 #define EMULATE_MFAM_SENSOR GEO_FALSE
4708 
4709 /* Not used in this application, but needed for build. */
4710 #define GM_LOGGING_MODE_MONITOR_DATA (0)
4711 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
4712 /* IGNORE_ALL is not used in setting up m_apsStorages */
4713 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
4714 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
4715 
4716 #define THIS_APP_APP_EVENTS 0
4717 /* Used to define "m_apsStorages" */
4718 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
4719 
4720 
4721 #define MFAM_MODULE GEO_FALSE
4722 #define GEO_SERIAL_CESIUM_MAG GEO_FALSE
4723 #define GEO_TCP_STREAMING GEO_FALSE
4724 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
4725 #define GPS_ENABLED GEO_FALSE
4726 #define GEO_CONFIGPROVISION_EEPROM GEO_FALSE
4727 #define GEO_MQTT GEO_FALSE
4728 #define GEO_PPS_EVENTS GEO_FALSE
4729 #define GEO_LOG_PPS_DATA GEO_FALSE
4730 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
4731 #define GEO_SINGLE_SURVEY GEO_FALSE
4732 #define EMU_1HZ_NOT
4733 
4734 #define GEO_NET_3100 GEO_TRUE
4735 
4736 #define GEO_SENSOR_LIGHT GEO_FALSE
4737 #define GEO_STORAGE_LIGHT GEO_FALSE
4738 #define GEO_PPS_LIGHT GEO_FALSE
4739 #define GEO_GPS_LIGHT GEO_FALSE
4740 
4741 #define GEO_864_PPS_LOCK GEO_FALSE
4742 
4743 
4744 #define FILE_LOGGING_ALWAYS
4745 //#define GEO_TEXT_MODE_ONLY
4746 #define SDSPI_BITRATE 12500000
4747 #define acs "ccs"
4748 #define accs
4749 #define aPART_TM4C1294NCPDT
4750 #define aTIVAWARE
4751 #define GEO_TEST_STORAGEa
4752 #define axdc_target_types__ ti/targets/std.h
4753 
4754 /* Enable/Disable some test routines. If not testing that, then FALSE */
4755 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
4756 /* Priorities */
4757 #define HTTP_DAEMON_PRIORITY 4
4758 //#define MQTT_DAEMON_PRIORITY 4
4759 #define MAIN_TASK_STARTUP_PRIORITY
4760 #define MAIN_TASK_LOOP_PRIORITY
4761 #define WIFI_STARTUP_TASK_PRIORITY 9
4762 //#define SYS_MGMT_TASK_PRIORITY 1
4763 #define GEO_STANDARD_UART_TASK_PRIORITY 8
4764 #define WIFI_DAEMON_TASK_PRIORITY 10
4765 
4766 
4767 #endif
4768 
4769 
4770 #if GEO_FLASHTEST == GEO_TRUE
4771 /***********************************************************************/
4772 /* Flash Test. */
4773 /***********************************************************************/
4774 /* RHC 2/23 - I don't know what this application is. */
4775 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
4776 #define BOARD_PACTRON_1 GEO_TRUE
4777 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
4778  #define GEO_APP_NAME "Geometrics Mag-Arrow-LP"
4779  #define GEO_SSID "Bootloader"
4780 #else
4781  #define GEO_APP_NAME "Geometrics MagArrow-PB"
4782  #define GEO_SSID "Bootloader"
4783 #endif
4784 
4785 #define GEO_NO_FILE_TIMEKEEPING GEO_TRUE
4786 #define GEO_APP_MAJOR_VERSION "1"
4787 #define GM_SIZE_OF_APP_DATA_QUEUE 10
4788 #define GM_MFAM_TEXT_LONG_FORMAT GEO_TRUE
4789 #define COUNT_MFAM_BUFFERS 100
4790 #define MFAM_FRAMES GEO_FALSE
4791 #define ALLOW_DELETE_SURVEYS GEO_FALSE
4792 #define ALLOW_DELETE_DATA_FILES GEO_FALSE
4793 #define GEO_APP_MINOR_VERSION "0"
4794 #define EMULATE_MFAM_SENSOR GEO_FALSE
4795 
4796 #define MFAM_MODULE GEO_FALSE
4797 #define GEO_SERIAL_CESIUM_MAG GEO_FALSE
4798 #define GEO_TCP_STREAMING GEO_FALSE
4799 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
4800 #define GPS_ENABLED GEO_FALSE
4801 #define GEO_CONFIGPROVISION_EEPROM GEO_FALSE
4802 #define GEO_MQTT GEO_FALSE
4803 #define GEO_PPS_EVENTS GEO_FALSE
4804 #define GEO_LOG_PPS_DATA GEO_FALSE
4805 #define GEO_SDCARD GEO_TRUE
4806 #define GEO_USB_STORAGE GEO_FALSE
4807 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
4808 #define GEO_SINGLE_SURVEY GEO_FALSE
4809 #define EMU_1HZ_NOT
4810 
4811 #define GEO_NET_3100 GEO_TRUE
4812 
4813 #define FILE_LOGGING_ALWAYS
4814 //#define GEO_TEXT_MODE_ONLY
4815 #define SDSPI_BITRATE 12500000
4816 #define acs "ccs"
4817 #define accs
4818 #define aPART_TM4C1294NCPDT
4819 #define aTIVAWARE
4820 #define GEO_TEST_STORAGEa
4821 #define axdc_target_types__ ti/targets/std.h
4822 
4823 /* Enable/Disable some test routines. If not testing that, then FALSE */
4824 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
4825 
4826 #endif
4827 
4828 
4829 #if GEO_APP_EH5_MAIN_FIRMWARE == GEO_TRUE
4830 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
4831 #define GEO_APP_NAME "EH5"
4832 #define GEO_SSID "EH5"
4833 #define GEO_APP_MAJOR_VERSION "0"
4834 #define GEO_APP_MINOR_VERSION "1"
4835 //#define GEO_APP_BUILD_NUMBER "NOT-TO-RELEASE"
4836 #define GM_SIZE_OF_APP_DATA_QUEUE 4050
4837 #define COUNT_MFAM_BUFFERS 4000
4838 
4839 #define EMULATE_MFAM_SENSOR GEO_FALSE
4840 #define MFAM_MODULE GEO_FALSE
4841 #define GEO_SERIAL_CESIUM_MAG GEO_FALSE
4842 #define GEO_TCP_STREAMING GEO_FALSE
4843 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
4844 #define GPS_ENABLED GEO_FALSE
4845 #define GEO_MQTT GEO_TRUE
4846 #define GEO_PPS_EVENTS GEO_FALSE
4847 #define GEO_SDCARD GEO_FALSE
4848 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
4849 #define EMU_1HZ_NOT
4850 
4851 #define GEO_I2C GEO_TRUE
4852 
4853 
4854 #define GEO_NET_3100 GEO_FALSE
4855 
4856 #define FILE_LOGGING_ALWAYS
4857 //#define GEO_TEXT_MODE_ONLY
4858 #define SDSPI_BITRATE 12500000
4859 #define acs "ccs"
4860 #define accs
4861 #define GEO_TEST_STORAGEa
4862 //#define axdc_target_types__ ti/targets/std.h
4863 
4864 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
4865 
4866 
4867 #define DAEMON_MAXRECORD 3
4868 #define NUM_HTTP_DAEMONS 3
4869 #define NUM_MQTT_DAEMONS 1
4870 #define GEO_MAX_APP_STORAGES (5)
4871 #define GEO_MAX_APP_STORAGE_MODES (5)
4872 
4873 
4874 /* Enable/Disable some test routines. If not testing that, then FALSE */
4875 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
4876 
4877 
4878 #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_C6748|0x01
4879 
4880 #endif
4881 
4882 #if GEO_PROVISIONING_APP == GEO_TRUE
4883 #define GEO_APP_EMBEDDED_PROGRAM_NAME "PRVSNR"
4884 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "PRVSNR"
4885 #define GEO_APP_MAJOR_VERSION "1"
4886 #define GEO_APP_MINOR_VERSION "0"
4887 #define GEO_APP_NAME "Geometrics Provisioning"
4888 #define HTTP_DOMAIN_NAME "geoprov.net"
4889 #define GEO_SSID "Tezzeret"
4890 
4891 
4892 #define GEO_IS_PROVISIONING_APP GEO_TRUE
4893 
4894 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
4895 #define BOARD_PACTRON_1 GEO_TRUE
4896 #define BOARD_UNIFIED_03 GEO_FALSE
4897 
4898 #define EMULATE_MFAM_SENSOR GEO_FALSE
4899 #define MFAM_MODULE GEO_FALSE
4900 #define GEO_SERIAL_CESIUM_MAG GEO_FALSE
4901 
4902 #define GEO_WIFI_STATION_MODE GEO_FALSE
4903 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
4904 
4905 #define GEO_MAX_APP_STORAGES (5)
4906 #define BLOCKS_PER_ACQUISITION_DATA_FILE 1
4907 
4908 
4909 #define GPS_ENABLED GEO_FALSE
4910 #if GPS_ENABLED == GEO_TRUE
4911 #define GEO_GPS_ADAFRUIT GEO_FALSE
4912 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
4913 #define GEO_GPS_SIERRA_1110 GEO_FALSE
4914 #endif
4915 
4916 #define GEO_I2C GEO_FALSE
4917 
4918 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
4919 #elif BOARD_PACTRON_1 == GEO_TRUE
4920  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_PACTRON | 0x01
4921  #define GEO_PROVISION_SOURCE GEO_SD
4922  #define GEO_SDCARD GEO_TRUE
4923  #define GEO_USES_APP_CONFIG_FILES GEO_FALSE
4924  //#define GEO_CONFIG_STORAGE "0:"
4925  #define GEO_USB_STORAGE GEO_FALSE
4926  #define GEO_PRIMARY_STORAGE GEO_SD
4927 
4928 #elif BOARD_UNIFIED_03 == GEO_TRUE
4929  #define EMBEDDED_DATA_STORAGE GEO_FALSE
4930  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_UNIFIED|GEO_SYSTEM_BOARD_SUBCLASS_UNIFIED_ALL|0x03
4931  #define GEO_PROVISION_SOURCE GEO_USB
4932  #define GEO_SDCARD GEO_FALSE
4933  #define GEO_USB_STORAGE GEO_TRUE
4934  #define GEO_PRIMARY_STORAGE GEO_USB
4935  #define GEO_USES_APP_CONFIG_FILES GEO_FALSE
4936  #define GEO_CONFIG_STORAGE "1:"
4937 // #define GEO_CACHE_LAST_FILE_INDEX GEO_FALSE
4938  #define GEO_LOG_FILES GEO_FALSE
4939  #define FILES_PER_DIRECTORY 200
4940  #define FILES_IN_DIRECTORIES GEO_FALSE
4941 
4942 
4943 #else
4944 #error Need a board type
4945 #endif
4946 
4947 #define GEO_ACCESS_POINT_PASSWORD GEO_TRUE
4948 #define GEO_ACCESS_POINT_CHANNEL GEO_TRUE
4949 #define GEO_DYNAMIC_WIFI_SSID GEO_FALSE
4950 
4951 /**************************************************************************/
4952 /* Logging modes, indicating what the application should do with data.
4953 * The order of these doesn't matter, but the total number of them matters,
4954 * and they are used as indexes into "m_apsStorages" matters, so we
4955  * want to keep that array small if we can. These are never saved in any
4956 * DB, or transmitted over the network.
4957 **************************************************************************/
4958 #define GM_LOGGING_MODE_MONITOR_DATA (0)
4959 #define GM_LOGGING_SAVE_DATA_TO_FILES (GM_LOGGING_MODE_MONITOR_DATA + 1)
4960 /* IGNORE_ALL is not used in setting up m_apsStorages */
4961 #define GM_LOGGING_MODE_IGNORE_ALL_DATA (GM_LOGGING_SAVE_DATA_TO_FILES + 1)
4962 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_IGNORE_ALL_DATA)
4963 
4964 #define THIS_APP_APP_EVENTS 0
4965 /* Used to define "m_apsStorages" */
4966 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
4967 //#define THIS_APP_MFAM_BLOCK_DATA_TYPE 6#define GEO_STANDARD_UART_TASK_PRIORITY 8
4968 
4969 #define DAEMON_MAXRECORD 3
4970 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
4971 
4972 
4973 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
4974 #define COUNT_862_MAGS 1
4975 #define NUM_HTTP_DAEMONS 3
4976 #define GM_SIZE_OF_APP_DATA_QUEUE 2500
4977 #define COUNT_MFAM_BUFFERS 2000
4978 #define MFAM_FRAMES GEO_FALSE
4979 #define ALLOW_DELETE_SURVEYS GEO_FALSE
4980 #define ALLOW_DELETE_DATA_FILES GEO_FALSE
4981 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
4982 #define GEO_TCP_STREAMING GEO_FALSE
4983 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
4984 #define GPS_ENABLED GEO_FALSE
4985 #define GEO_MQTT GEO_FALSE
4986 #define GEO_PPS_EVENTS GEO_FALSE
4987 #define GEO_LOG_PPS_DATA GEO_FALSE
4988 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
4989 #define EMU_1HZ_NOT
4990 
4991 #define GEO_SENSOR_LIGHT GEO_FALSE
4992 #define GEO_STORAGE_LIGHT GEO_FALSE
4993 #define GEO_PPS_LIGHT GEO_FALSE
4994 #define GEO_GPS_LIGHT GEO_FALSE
4995 
4996 
4997 #define NUM_MQTT_DAEMONS 2
4998 
4999 #define GEO_NET_3100 GEO_TRUE
5000 
5001 #define FILE_LOGGING_ALWAYS GEO_FALSE
5002 //#define GEO_TEXT_MODE_ONLY
5003 #define SDSPI_BITRATE 12500000
5004 #define acs "ccs"
5005 #define accs
5006 #define aPART_TM4C1294NCPDT
5007 #define aTIVAWARE
5008 #define GEO_TEST_STORAGEa
5009 #define axdc_target_types__ ti/targets/std.h
5010 
5011 /* Enable/Disable some test routines. If not testing that, then FALSE */
5012 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
5013 
5014 /* Priorities */
5015 #define HTTP_DAEMON_PRIORITY 4
5016 #define MQTT_DAEMON_PRIORITY 4
5017 #define MAIN_TASK_STARTUP_PRIORITY
5018 #define MAIN_TASK_LOOP_PRIORITY
5019 #define WIFI_STARTUP_TASK_PRIORITY 9
5020 #define SYS_MGMT_TASK_PRIORITY 1
5021 #define GEO_STANDARD_UART_TASK_PRIORITY 8
5022 #define WIFI_DAEMON_TASK_PRIORITY 10
5023 
5024 #define FILES_IN_DIRECTORIES GEO_FALSE
5025 #define FILES_PER_DIRECTORY 200
5026 
5027 #endif
5028 
5029 /*****************************************************
5030  * EIVA provisioner
5031  ****************************************************/
5032 
5033 #if GEO_EIVA_PROVISIONING_APP == GEO_TRUE
5034 #define GEO_APP_EMBEDDED_PROGRAM_NAME "EIVA-PROVISIONER"
5035 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "EIVA-PROVISIONER"
5036 
5037 
5038 #define GEO_IS_PROVISIONING_APP GEO_TRUE
5039 #define GEO_STATIC_NETWORK_PROVISIONED GEO_TRUE
5040 #define BOARD_TIVA_LAUNCHPAD GEO_TRUE
5041 #define BOARD_PACTRON_1 GEO_FALSE
5042 #define BOARD_UNIFIED_03 GEO_FALSE
5043 
5044 #define EMULATE_MFAM_SENSOR GEO_FALSE
5045 #define MFAM_MODULE GEO_FALSE
5046 #define GEO_SERIAL_CESIUM_MAG GEO_FALSE
5047 
5048 #define GPS_ENABLED GEO_FALSE
5049 #if GPS_ENABLED == GEO_TRUE
5050 #define GEO_GPS_ADAFRUIT GEO_FALSE
5051 #define GEO_GPS_TALLYSMAN_5431 GEO_FALSE
5052 #define GEO_GPS_SIERRA_1110 GEO_FALSE
5053 #endif
5054 
5055 #define GEO_I2C GEO_FALSE
5056 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
5057 #define GEO_WIFI_STATION_MODE GEO_FALSE
5058 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
5059 #define GEO_MAX_APP_STORAGES (2)
5060 #define GEO_MAX_APP_STORAGE_MODES (2)
5061 #define GEO_MAX_APP_SENSORS (3)
5062 #define BLOCKS_PER_ACQUISITION_DATA_FILE 10
5063 
5064 
5065 
5066 
5067 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
5068  #define GEO_APP_NAME "Geometrics Eiva Provisioning "
5069  #define GEO_SSID "Tezzeret"
5070  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_TIVA_LAUNCHPAD
5071 
5072  #define GEO_PROVISION_SOURCE GEO_USB
5073  #define GEO_SDCARD GEO_FALSE
5074  #define GEO_USB_STORAGE GEO_TRUE
5075  #define GEO_PRIMARY_STORAGE GEO_USB
5076 #endif
5077 
5078 #define FILES_PER_DIRECTORY 1
5079 #define FILES_IN_DIRECTORIES GEO_FALSE
5080 
5081 
5082 #define DAEMON_MAXRECORD 3
5083 
5084 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
5085 #define COUNT_862_MAGS 0
5086 #define NUM_HTTP_DAEMONS 3
5087 #define GEO_APP_MAJOR_VERSION "1"
5088 #define GM_SIZE_OF_APP_DATA_QUEUE 2500
5089 #define COUNT_MFAM_BUFFERS 0
5090 #define MFAM_FRAMES GEO_FALSE
5091 #define ALLOW_DELETE_SURVEYS GEO_FALSE
5092 #define ALLOW_DELETE_DATA_FILES GEO_FALSE
5093 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
5094 #define GEO_APP_MINOR_VERSION "0"
5095 #define GEO_TCP_STREAMING GEO_FALSE
5096 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
5097 #define GPS_ENABLED GEO_FALSE
5098 #define GEO_MQTT GEO_FALSE
5099 #define GEO_PPS_EVENTS GEO_FALSE
5100 #define GEO_LOG_PPS_DATA GEO_FALSE
5101 #define GEO_TEN_HERTZ_FROM_PPS GEO_FALSE
5102 #define EMU_1HZ_NOT
5103 
5104 #define NUM_MQTT_DAEMONS 0
5105 
5106 #define GEO_NET_3100 GEO_FALSE
5107 
5108 #define FILE_LOGGING_ALWAYS GEO_FALSE
5109 //#define GEO_TEXT_MODE_ONLY
5110 #define SDSPI_BITRATE 12500000
5111 #define acs "ccs"
5112 #define accs
5113 #define aPART_TM4C1294NCPDT
5114 #define aTIVAWARE
5115 #define GEO_TEST_STORAGEa
5116 #define axdc_target_types__ ti/targets/std.h
5117 
5118 /* Enable/Disable some test routines. If not testing that, then FALSE */
5119 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
5120 
5121 #endif
5122 
5123 
5124 /****************************************************************
5125  ****** Network test application - 1588, MDNS, etc. ************
5126  ***************************************************************/
5127 #if GEO_1588_GRANDMASTER == GEO_TRUE
5128 
5129 #define GEO_APP_EMBEDDED_PROGRAM_NAME "1588-TEST"
5130 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "1588-TEST"
5131 #define HTTP_DOMAIN_NAME "test1588.net"
5132 
5133 /********* General application info. - name, versioning, etc. *****/
5134 #define GEO_SCHEMA_VERSION 8
5135 
5136 #define GEO_MDNS_SD GEO_TRUE
5137 #if GEO_MDNS_SD == GEO_TRUE
5138 #define GEO_MDNS_SD_SERVICE_NAME "_networktests._tcp.local"
5139 #define GEO_MDNS_SD_SERVICE_HOST_NAME "networktests"
5140 #define GEO_MDNS_SD_SERVICE_PORT 400
5141 #endif
5142 
5143 #define GEO_1588 GEO_TRUE
5144 #define BOARD_TIVA_LAUNCHPAD GEO_TRUE
5145 #define GEO_APP_NAME "1588 Grandmaster Clock"
5146 #define GEO_SSID "Grandmaster"
5147 #define GEO_APP_MAJOR_VERSION "0"
5148 #define GEO_APP_MINOR_VERSION "1"
5149 #define BOARD_PACTRON_1 GEO_FALSE
5150 #define EMULATE_MFAM_SENSOR GEO_FALSE
5151 #define MFAM_MODULE GEO_FALSE
5152 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
5153 #define GEO_USES_APP_CONFIG_FILES GEO_FALSE
5154 #define EMBEDDED_DATA_STORAGE GEO_FALSE
5155 
5156 /**************************************************************************/
5157 /* Only one mode for this application.
5158  **************************************************************************/
5159 #define GM_LOGGING_MODE_MONITOR_DATA (0)
5160 #define GEO_MAX_APP_STORAGE_MODES (GM_LOGGING_MODE_MONITOR_DATA)
5161 
5162 /********************************************************************************
5163  * Setting up sensor data types.
5164  * These are used to identify the use of particular sensors in this application,
5165  * The max number is used to set up the array "m_apsStorages", where it is
5166  * preferable, in order to save space, not to have unused items.
5167  * So, in this section, we try to make them contiguous.
5168  ********************************************************************************/
5169 //#define THIS_APP_MAG_DATA_TYPE 1
5170 #define THIS_APP_APP_EVENTS 0
5171 /* Used to define "m_apsStorages" */
5172 #define GEO_MAX_APP_SENSORS (THIS_APP_APP_EVENTS + 1)
5173 
5174 
5175 /* TODO RHC this is really unnecessary, except for compilation. Should
5176  * be conditional on data storage being used, whether on SD or USB or
5177  * in memory buffers. This application does no data storage, and it's
5178  * just a test and dev program, but stream application such as streaming
5179  * dev kit and maybe marine also don't need this, and it should be cleaned
5180  * up and removed. */
5181 #define BLOCKS_PER_ACQUISITION_DATA_FILE 50
5182 
5183 
5184 #define GEO_SERIAL_CESIUM_MAG GEO_FALSE
5185 #define GEO_TCP_STREAMING GEO_FALSE
5186 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
5187 #define GPS_ENABLED GEO_FALSE
5188 #define GEO_MQTT GEO_TRUE
5189 #define GEO_PPS_EVENTS GEO_FALSE
5190 #define CHOOSE_PPS_DUTY_CYCLE GEO_TRUE
5191 
5192 #define EMU_1HZ_NOT
5193 #define GM_SIZE_OF_APP_DATA_QUEUE 500
5194 #define COUNT_MFAM_BUFFERS 10
5195 #define COUNT_862_MAGS 10
5196 #define GEO_MAX_APP_STORAGES (3)
5197 
5198 #define GEO_WIFI_STATION_MODE GEO_FALSE
5199 #define GEO_MQTT_CONNECT_TO_BROKER GEO_TRUE
5200 
5201 #define GEO_I2C GEO_FALSE
5202 
5203 #if GPS_ENABLED == GEO_TRUE
5204 #define GEO_GPS_ADAFRUIT GEO_TRUE
5205 #endif
5206 
5207 
5208 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
5209 
5210 /**** Network ***/
5211 #define GEO_NET_3100 GEO_FALSE
5212 #define GEO_HTTP_KEEP_ALIVE GEO_FALSE
5213 
5214 
5215 
5216 #if BOARD_TIVA_LAUNCHPAD == GEO_TRUE
5217  #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_TIVA_LAUNCHPAD
5218 #endif
5219 
5220 /* This is really number of children, not daemons */
5221 #define NUM_HTTP_DAEMONS (3)
5222 #define NUM_MQTT_DAEMONS (1)
5223 
5224 #define REAL_HTTP_DAEMONS (1)
5225 #define REAL_MQTT_DAEMONS (1)
5226 
5227 #if GEO_MDNS_SD == GEO_TRUE
5228 #define REAL_MDNS_DAEMONS (1)
5229 #else
5230 #define REAL_MDNS_DAEMONS (0)
5231 #endif
5232 
5233 #if GEO_1588 == GEO_TRUE
5234 #define REAL_1588_DAEMONS (1)
5235 #else
5236 #define REAL_1588_DAEMONS (0)
5237 #endif
5238 
5239 #define DAEMON_MAXRECORD (REAL_HTTP_DAEMONS+REAL_MQTT_DAEMONS+REAL_MDNS_DAEMONS+REAL_1588_DAEMONS)
5240 
5241 #define GEO_SDCARD GEO_FALSE
5242 #define GEO_USB_STORAGE GEO_FALSE
5243 #define GEO_PRIMARY_STORAGE GEO_SD
5244 
5245 
5246 #define FILE_LOGGING_ALWAYS
5247 //#define GEO_TEXT_MODE_ONLY
5248 #define SDSPI_BITRATE 12500000
5249 #define acs "ccs"
5250 #define accs
5251 #define aPART_TM4C1294NCPDT
5252 #define aTIVAWARE
5253 #define axdc_target_types__ ti/targets/std.h
5254 
5255 /* Enable/Disable some test routines. If not testing that, then FALSE */
5256 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
5257 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
5258 
5259 /******* Other sensors and indicators *****************/
5260 #define GEO_INDICATORS GEO_FALSE
5261 #define GEO_INDICATORS_BLINKERS GEO_FALSE
5262 #define GEO_INDICATORS_SIREN GEO_FALSE
5263 #define LOKI_PICKLE_SWITCH GEO_FALSE
5264 #define LOKI_TWEETER GEO_FALSE
5265 #define GEO_SPEAKER_DAC GEO_FALSE
5266 #define GEO_SENSOR_LIGHT GEO_FALSE
5267 #define GEO_STORAGE_LIGHT GEO_FALSE
5268 #define GEO_PPS_LIGHT GEO_FALSE
5269 #define GEO_WIFI_LIGHT GEO_FALSE
5270 #define GEO_GPS_LIGHT GEO_FALSE
5271 #define GEO_POWER_INDICATOR_LIGHT GEO_FALSE
5272 
5273 /* Priorities */
5274 #define HTTP_DAEMON_PRIORITY 4
5275 #define MQTT_DAEMON_PRIORITY 4
5276 #define MAIN_TASK_STARTUP_PRIORITY
5277 #define MAIN_TASK_LOOP_PRIORITY
5278 #define WIFI_STARTUP_TASK_PRIORITY 9
5279 #define SYS_MGMT_TASK_PRIORITY 1
5280 #define GEO_STANDARD_UART_TASK_PRIORITY 8
5281 #define WIFI_DAEMON_TASK_PRIORITY 10
5282 
5283 
5284 #endif
5285 
5286 /************************************************************************************/
5287 /* Godzilla */
5288 /************************************************************************************/
5289 #if GEO_APP_GODZILLA == GEO_TRUE
5290 #define GEO_APP_EMBEDDED_PROGRAM_NAME "GODZILLA"
5291 #define GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME "Godzilla"
5292 
5293 
5294 
5295 #ifndef linux
5296 #error Godzilla is linux only.
5297 #endif
5298 /*** Primary elements **/
5299 #define BOARD_TIVA_LAUNCHPAD GEO_FALSE
5300 #define BOARD_PACTRON_1 GEO_FALSE
5301 #define BOARD_UNIFIED_03 GEO_FALSE
5302 #define BOARD_LINUX_SITARA GEO_TRUE
5303 
5304 #define EMULATE_MFAM_SENSOR GEO_FALSE
5305 #define EMULATE_862_SENSOR GEO_FALSE
5306 #define MFAM_MODULE GEO_FALSE
5307 #define GEO_SERIAL_CESIUM_MAG GEO_FALSE
5308 
5309 #define GEO_SDCARD GEO_FALSE
5310 #define GEO_USB_STORAGE GEO_FALSE
5311 //#define GEO_PRIMARY_STORAGE GEO_USB
5312 
5313 #define GPS_ENABLED GEO_FALSE
5314 #define GEO_MQTT GEO_FALSE
5315 #define GEO_PPS_EVENTS GEO_FALSE
5316 
5317 #define GEO_SCHEMA_VERSION 5
5318 #error verify that this is the correct schema version
5319 
5320 
5321 #define GEO_APP_NAME "godzilla"
5322 #define GEO_SSID "Tezzeret"
5323 #define GEO_BOARD_VERSION GEO_SYSTEM_BOARD_CLASS_SITARA
5324 
5325 
5326 
5327 /*********************************************************************/
5328 /* In order to debug the 864, sometimes we want to have text files */
5329 /* rather than the binary files expected by the Android client. */
5330 /* When debugging in this fashion, using a browser use GEO_TRUE */
5331 /* Use GEO_FALSE for using the Android app. */
5332 /*********************************************************************/
5333 #define GEO_864_DEBUG_TEXT_FILES GEO_FALSE
5334 #if GEO_864_DEBUG_TEXT_FILES == GEO_TRUE
5335 #define GEO_WRITE_TEXT_FILE_HEADERS GEO_TRUE
5336 #else
5337 #define GEO_WRITE_BINARY_FILE_HEADERS GEO_TRUE
5338 #endif
5339 #define GEO_APP_MAJOR_VERSION "0"
5340 #define GEO_APP_MINOR_VERSION "1"
5341 #define GEO_CM221_MAG_DATA GEO_TRUE
5342 // Single survey true only for testing.
5343 #define GEO_SINGLE_SURVEY GEO_TRUE
5344 #define GEO_FILE_SYNCH_EVENTS GEO_TRUE
5345 
5346 #if EMULATE_862_SENSOR == GEO_TRUE
5347 #define EMULATE_862_RATE 10
5348 #endif
5349 
5350 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
5351 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200000
5352 #endif
5353 #if (GEO_SERIAL_CESIUM_MAG == GEO_TRUE) || (EMULATE_862_SENSOR == GEO_TRUE)
5354 #define BLOCKS_PER_ACQUISITION_DATA_FILE 200
5355 #endif
5356 
5357 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) || (MFAM_MODULE == GEO_TRUE)
5358 #define COUNT_MFAM_BUFFERS 2500
5359 #define COUNT_862_MAGS 0
5360 #define GM_SIZE_OF_APP_DATA_QUEUE 2950
5361 #elif GEO_SERIAL_CESIUM_MAG == GEO_TRUE
5362 #define COUNT_MFAM_BUFFERS 0
5363 #define COUNT_862_MAGS 400
5364 #define GM_SIZE_OF_APP_DATA_QUEUE 500
5365 #elif EMULATE_862_SENSOR == GEO_TRUE
5366 #define COUNT_MFAM_BUFFERS 0
5367 #define COUNT_862_MAGS 400
5368 #define GM_SIZE_OF_APP_DATA_QUEUE 500
5369 #else
5370 #define COUNT_MFAM_BUFFERS 0
5371 #define COUNT_862_MAGS 0
5372 #define GM_SIZE_OF_APP_DATA_QUEUE 1000
5373 #endif
5374 #define GEO_TCP_STREAMING GEO_FALSE
5375 #define GEO_LEGACY_MAG_SERIAL_OUT GEO_FALSE
5376 #define ALLOW_DELETE_DATA_FILES GEO_TRUE
5377 #define ALLOW_DELETE_SURVEYS GEO_TRUE
5378 #define GEO_CONFIGPROVISION_EEPROM GEO_TRUE
5379 
5380 #define GEO_LOG_PPS_DATA GEO_TRUE
5381 #define GEO_TEN_HERTZ_FROM_PPS GEO_TRUE
5382 #define GEO_AUTO_START_LOGGING GEO_FALSE
5383 #define GEO_HARD_MAG_SUBSAMPLE 500
5384 
5385 #define DAEMON_MAXRECORD 3
5386 
5387 #define EMU_1HZ_NOT
5388 
5389 #define FILE_LOGGING_ALWAYS
5390 //#define GEO_TEXT_MODE_ONLY
5391 
5392 #define SDSPI_BITRATE 12500000
5393 #define aPART_TM4C1294NCPDT
5394 #define aTIVAWARE
5395 #define axdc_target_types__ ti/targets/std.h
5396 
5397 /* Enable/Disable some test routines.
5398  If not testing that, then FALSE */
5399 #define GEO_TEST_SD_CARD_THROUGHPUT GEO_FALSE
5400 #define GEO_TEST_WIFI_TCPIP_THROUGHPUT GEO_FALSE
5401 
5402 #define GEO_I2C GEO_TRUE
5403 
5404 
5405 #define GEO_864_PPS_LOCK GEO_TRUE
5406 
5407 /* Wifi or Ethernet? */
5408 #define GEO_NET_3100 GEO_TRUE
5409 
5410 #define NUM_HTTP_DAEMONS 5
5411 #define NUM_MQTT_DAEMONS 2
5412 #define GEO_MAX_APP_STORAGES (5)
5413 #define GEO_MAX_APP_STORAGE_MODES (5)
5414 #define GEO_MAX_APP_SENSORS (8)
5415 
5416 
5417 #define GEO_SCHEMA_VERSION 5
5418 #error verify that this is the correct schema version
5419 
5420 #define GEO_WIFI_STATION_MODE GEO_FALSE
5421 #define GEO_MQTT_CONNECT_TO_BROKER GEO_FALSE
5422 
5423 #endif
5424 /*****************************************************************/
5425 /* End of godzilla */
5426 /*****************************************************************/
5427 
5428 /*******************************************************************/
5429 /* End of application definitions. */
5430 /* Remaining are expansions of meta defines,
5431  * general error checking, etc. */
5432 /*******************************************************************/
5433 
5434 
5435 /* Whether or not to use the TI impleentation of FatFS. Currently, not: we're
5436  * using a later version of the open-source FatFS.
5437  */
5438 #define GEO_FATFS_TI GEO_FALSE
5439 #if (GEO_FATFS_TI == GEO_TRUE)
5440 #define Geo_f_open(a,b,c) f_open(a,b,c)
5441 #define Geo_f_stat(a,b) f_stat(a,b)
5442 #define Geo_f_unlink(a) f_unlink(a)
5443 #define Geo_f_read(a,b,c,d) f_read(a,b,c,d)
5444 #define Geo_f_lseek(a,b) f_lseek(a,b)
5445 #define Geo_f_opendir(a,b) f_opendir(a,b)
5446 #define Geo_f_mkdir(a) f_mkdir(a)
5447 #define Geo_f_write(a,b,c,d) f_write(a,b,c,d)
5448 #define Geo_f_sync(a) f_sync(a)
5449 #define Geo_f_close(a) f_close(a)
5450 #define Geo_f_readdir(a,b) f_readdir(a,b)
5451 #define Geo_f_closedir(a) f_closedir(a)
5452 #define Geo_f_mount(a,b,c) f_mount(a,b,c)
5453 #endif
5454 
5455 #if GEO_NET_3100 == GEO_TRUE
5456  #define NET_SL
5457  #define GEO_WIFI_SPI
5458  #define GEO_WIFI_UART_NOT
5459  #define GEO_WIFI_HTTP GEO_TRUE
5460  #define GEO_NET_NDK GEO_FALSE
5461 #else
5462  #define GEO_NET_NDK GEO_TRUE
5463  #define GEO_ETHERNET_HTTP GEO_TRUE
5464  #define NET_NDK
5465 #endif
5466 
5467 
5468 #ifndef STATIC_ETHERNET_ADDRESS_DEF
5469 #define STATIC_ETHERNET_ADDRESS_DEF GEO_FALSE
5470 #endif
5471 
5472 
5473 #ifndef MFAM_SYS_MGMT
5474 #define MFAM_SYS_MGMT GEO_FALSE
5475 #endif
5476 
5477 #if (GPS_ENABLED == GEO_TRUE) || \
5478  (GEO_SERIAL_CESIUM_MAG == GEO_TRUE) || \
5479  (GEO_CM221_MAG_DATA == GEO_TRUE)
5480  #define GEO_UARTS_ENABLED GEO_TRUE
5481 #else
5482  #define GEO_UARTS_ENABLED GEO_FALSE
5483 #endif
5484 
5485 
5486 #ifndef GEO_INDICATORS
5487 #define GEO_INDICATORS GEO_FALSE
5488 #endif
5489 
5490 #ifndef GEO_7993_BATTERY_MONITOR
5491 #define GEO_7993_BATTERY_MONITOR GEO_FALSE
5492 #endif
5493 
5494 #ifndef GEO_7998_BATTERY_MONITOR
5495 #define GEO_7998_BATTERY_MONITOR GEO_FALSE
5496 #endif
5497 
5498 #ifndef GEO_4151_BATTERY_MONITOR
5499 #define GEO_4151_BATTERY_MONITOR GEO_FALSE
5500 #endif
5501 
5502 #ifndef GEO_TMP75_TEMP_SENSOR
5503 #define GEO_TMP75_TEMP_SENSOR GEO_FALSE
5504 #endif
5505 
5506 #ifndef GEO_SPEAKER_DAC
5507 #define GEO_SPEAKER_DAC GEO_FALSE
5508 #endif
5509 
5510 #ifndef GEO_USES_APP_CONFIG_FILES
5511 #error Must specified whether the application uses config files.
5512 #else
5513 #if GEO_USES_APP_CONFIG_FILES == GEO_TRUE
5514 #ifndef GEO_CONFIG_STORAGE
5515 #error Configuration storage must be specified ("0: for SD, 1: for USB")
5516 #endif
5517 #endif
5518 #endif
5519 
5520 #if GEO_LOG_FILES == GEO_TRUE
5521 #ifndef GEO_LOG_STORAGE
5522 #error If log files are specified, then the drive for them must be specified: "0: for SD, 1: for USB
5523 #endif
5524 #endif
5525 
5526 
5527 #if (GEO_4151_BATTERY_MONITOR == GEO_TRUE)||\
5528  (GEO_7998_BATTERY_MONITOR == GEO_TRUE)||\
5529  (GEO_7993_BATTERY_MONITOR == GEO_TRUE)||\
5530  (GEO_SPEAKER_DAC == GEO_TRUE)||\
5531  (GEO_TMP75_TEMP_SENSOR == GEO_TRUE)
5532 #define GEO_OFFBOARD_I2C GEO_TRUE
5533 #else
5534 #define GEO_OFFBOARD_I2C GEO_FALSE
5535 #endif
5536 
5537 #ifndef USE_MAG_ARROW_HARDWARE
5538 #define USE_MAG_ARROW_HARDWARE GEO_FALSE
5539 #endif
5540 
5541 #ifndef GEO_MFAM_FILTER
5542 #define GEO_MFAM_FILTER GEO_FALSE
5543 #endif
5544 
5545 #ifndef GEO_MFAM_FULL_FILTER
5546 #define GEO_MFAM_FULL_FILTER GEO_FALSE
5547 #endif
5548 
5549 #ifndef EMULATE_MFAM_SENSOR
5550 #define EMULATE_MFAM_SENSOR GEO_FALSE
5551 #endif
5552 
5553 #ifndef GEO_SERIAL_CESIUM_MAG
5554 #define GEO_SERIAL_CESIUM_MAG GEO_NOT_RELEVANT
5555 #endif
5556 
5557 #ifndef COUNT_862_MAGS
5558 #define COUNT_862_MAGS 0
5559 #endif
5560 
5561 #ifndef GEO_CM221_MAG_DATA
5562 #define GEO_CM221_MAG_DATA GEO_NOT_RELEVANT
5563 #endif
5564 
5565 #ifndef EMULATE_862_SENSOR
5566 #define EMULATE_862_SENSOR GEO_NOT_RELEVANT
5567 #endif
5568 
5569 #ifndef MFAM_MODULE
5570 #define MFAM_MODULE GEO_FALSE
5571 #endif
5572 
5573 #ifndef LOKI_TWEETER
5574 #define LOKI_TWEETER GEO_FALSE
5575 #endif
5576 
5577 #ifndef GEO_MFAM_FREQUENCY_MEASURE
5578 #define GEO_MFAM_FREQUENCY_MEASURE GEO_FALSE
5579 #endif
5580 
5581 /*
5582 #define FILES_PER_DIRECTORY 200
5583 #define FILES_IN_DIRECTORIES GEO_TRUE
5584 */
5585 
5586 #ifndef GEO_IS_PROVISIONING_APP
5587 #define GEO_IS_PROVISIONING_APP GEO_FALSE
5588 #endif
5589 
5590 #ifndef GEO_APP_EMBEDDED_PROGRAM_NAME
5591 #error Embeddd program name must be defined.
5592 #endif
5593 
5594 #ifndef GEO_APP_EMBEDDED_PROGRAM_PRETTY_NAME
5595 #error Embeddd program pretty name must be defined.
5596 #endif
5597 
5598 
5599 #ifndef GEO_BOARD_VERSION
5600 #error Board version must be defined.
5601 #endif
5602 
5603 #ifndef GEO_I2C
5604 #error I2C must be defined.
5605 #endif
5606 
5607 #ifndef HTTP_DOMAIN_NAME
5608 #error Http domain name must be defined
5609 #endif
5610 
5611 #ifndef NUM_HTTP_DAEMONS
5612 #error Must define number of HTTP daemons
5613 #endif
5614 
5615 #ifndef NUM_MQTT_DAEMONS
5616 #error Must define number of MQTT daemons
5617 #endif
5618 
5619 #ifndef GEO_FILE_SYNCH_EVENTS
5620 #define GEO_FILE_SYNCH_EVENTS GEO_FALSE
5621 #endif
5622 
5623 #ifndef GEO_ACCESS_POINT_PASSWORD
5624 #define GEO_ACCESS_POINT_PASSWORD GEO_FALSE
5625 #endif
5626 
5627 #ifndef GEO_ACCESS_POINT_CHANNEL
5628 #define GEO_ACCESS_POINT_CHANNEL GEO_FALSE
5629 #endif
5630 
5631 #ifndef GEO_LOG_FILES
5632 #define GEO_LOG_FILES GEO_FALSE
5633 #endif
5634 
5635 #ifndef HOST_CONNECTED
5636 #define HOST_CONNECTED GEO_FALSE
5637 #endif
5638 
5639 #ifndef KNOWS_HOST_TIME
5640 #define KNOWS_HOST_TIME GEO_FALSE
5641 #endif
5642 
5643 #ifndef GEO_1588
5644 #define GEO_1588 GEO_FALSE
5645 #endif
5646 
5647 #ifndef GEO_DYNAMIC_CFG_RECORDS_PER_FILE
5648 #define GEO_DYNAMIC_CFG_RECORDS_PER_FILE GEO_FALSE
5649 #endif
5650 
5651 #ifndef GEO_STATIC_NETWORK_PROVISIONED
5652 #define GEO_STATIC_NETWORK_PROVISIONED GEO_FALSE
5653 #endif
5654 
5655 #ifndef USE_LOKI_HARDWARE
5656 #define USE_LOKI_HARDWARE GEO_FALSE
5657 #endif
5658 
5659 
5660 #ifndef GEO_LOAD_MFAM_SAMPLE_RATE_FROM_CONFIGS
5661 #define GEO_LOAD_MFAM_SAMPLE_RATE_FROM_CONFIGS GEO_FALSE
5662 #endif
5663 
5664 #ifndef EMBEDDED_DATA_STORAGE
5665 #define EMBEDDED_DATA_STORAGE GEO_TRUE
5666 #endif
5667 
5668 #if EMBEDDED_DATA_STORAGE == GEO_TRUE
5669 #ifndef GEO_CACHE_LAST_FILE_INDEX
5670 #error GEO_CACHE_LAST_FILE_INDEX must be defined
5671 #endif
5672 #endif
5673 
5674 #ifndef GEO_WIFI_STATION_MODE
5675 #error The application must have a wifi mode defined.
5676 #endif
5677 
5678 #ifndef GEO_MQTT_CONNECT_TO_BROKER
5679 #error The application must have a choice about connecting to MQTT broker.
5680 #endif
5681 
5682 #if (GEO_SDCARD == GEO_TRUE)||(GEO_USB_STORAGE == GEO_TRUE)
5683  #if EMBEDDED_DATA_STORAGE == GEO_TRUE
5684  #define GEO_DATA_STORAGE GEO_TRUE
5685  #ifndef GEO_PRIMARY_STORAGE
5686  #error You must define a primary storage type
5687  #elif GEO_PRIMARY_STORAGE == GEO_USB
5688  #elif GEO_PRIMARY_STORAGE == GEO_SD
5689  #else
5690  #error You must define a VALID primary storage type
5691  #endif
5692  #else
5693  // GOOFY GOOFY collapse this definition to embedded storage
5694  #define GEO_DATA_STORAGE GEO_FALSE
5695  #endif
5696 #else
5697 #define GEO_DATA_STORAGE GEO_FALSE
5698 #endif
5699 
5700 #if (EMBEDDED_DATA_STORAGE == GEO_FALSE)&& (UNMIRRORED_STORAGE == GEO_FALSE)
5701 #define SURVEY_DATA_IS_STORED_ANYWHERE GEO_FALSE
5702 #else
5703 #define SURVEY_DATA_IS_STORED_ANYWHERE GEO_TRUE
5704 #endif
5705 
5706 #ifndef GEO_SENSOR_LIGHT
5707 #error Sensor light must be defined.
5708 #endif
5709 
5710 #ifndef GEO_STORAGE_LIGHT
5711 #error Storage light must be defined.
5712 #endif
5713 
5714 #ifndef GEO_PPS_LIGHT
5715 #define GEO_PPS_LIGHT GEO_FALSE
5716 #endif
5717 
5718 #ifndef GEO_WIFI_LIGHT
5719 #define GEO_WIFI_LIGHT GEO_FALSE
5720 #endif
5721 
5722 #ifndef GEO_GPS_LIGHT
5723 #error Gps light must be defined.
5724 #endif
5725 
5726 /* Check consistency in the GPS. */
5727 #if GPS_ENABLED == GEO_TRUE
5728 #if (GEO_GPS_ADAFRUIT == GEO_TRUE)\
5729  ||(GEO_GPS_TALLYSMAN_5431 == GEO_TRUE)\
5730  ||(GEO_GPS_SIERRA_1110 == GEO_TRUE)\
5731  ||(GEO_GPS_ZEDF9P_PPK == GEO_TRUE)\
5732  ||(GEO_GPS_ZEDF9P == GEO_TRUE)
5733 #else
5734 #error If the GPS is enabled, then at least one real GPS must be chosen.
5735 #endif
5736 #endif
5737 
5738 #if MFAM_MODULE == GEO_TRUE
5739 #ifndef MFAM_WAIT_FOR_QUIET_SPI
5740 #error If the MFAM is enabled, then a choice whether to wait for quiet spi must be enabled.
5741 #endif
5742 #endif
5743 
5744 #if EMBEDDED_DATA_STORAGE == GEO_TRUE
5745 #ifndef FILES_PER_DIRECTORY
5746 #error FILES_PER_DIRECTORY must be defined.
5747 #endif
5748 #ifndef FILES_IN_DIRECTORIES
5749 #error FILES_IN_DIRECTORIES must be defined.
5750 #endif
5751 #endif
5752 
5753 #ifndef UNMIRRORED_STORAGE
5754 #define UNMIRRORED_STORAGE GEO_FALSE
5755 #endif
5756 
5757 #if ((GEO_APP_MAGEX == GEO_TRUE)||(GEO_APP_TRANQUILITY == GEO_TRUE)||(GEO_APP_AQUARIUS == GEO_TRUE)||(GEO_APP_INTREPID == GEO_TRUE)||(GEO_APP_KLOKI == GEO_TRUE))
5758 #define LOKI_HARDWARE_CLASS GEO_TRUE
5759 #else
5760 #define LOKI_HARDWARE_CLASS GEO_FALSE
5761 #endif
5762 
5763 
5764 #if (GEO_APP_G864 == GEO_TRUE) ||(LOKI_HARDWARE_CLASS == GEO_TRUE)||(GEO_APP_SERENITY == GEO_TRUE)
5765 #define GEO_G864_TYPE_APP GEO_TRUE
5766 #else
5767 #define GEO_G864_TYPE_APP GEO_FALSE
5768 #endif
5769 
5770 #if (UNMIRRORED_STORAGE == GEO_TRUE)|| \
5771  (EMBEDDED_DATA_STORAGE == GEO_TRUE)
5772 #define GEO_SURVEY_STORAGE GEO_TRUE
5773 #else
5774 #define GEO_SURVEY_STORAGE GEO_FALSE
5775 #endif
5776 
5777 #ifndef GEO_TCP_STREAM_OUT
5778 #define GEO_TCP_STREAM_OUT GEO_FALSE
5779 #endif
5780 
5781 #if GEO_NET_3100 == GEO_TRUE
5782 #ifndef GEO_DYNAMIC_WIFI_SSID
5783 #error Wifi systems must define whether or not WiFi SSID is dynamic
5784 #endif
5785 #endif
5786 
5787 #ifndef GEO_HTTP_KEEP_ALIVE
5788 #error Systems with HTTP need to define whether or not to use http keep-alive
5789 #endif
5790 
5791 
5792 #ifndef LOKI_PICKLE_SWITCH
5793 #define LOKI_PICKLE_SWITCH GEO_FALSE
5794 #endif
5795 
5796 #ifndef COUNT_862_MAGS
5797 #define COUNT_862_MAGS 0
5798 #endif
5799 
5800 #ifndef GEO_MQTT_SYNCH_REQUESTS
5801 #define GEO_MQTT_SYNCH_REQUESTS GEO_FALSE
5802 #endif
5803 
5804 #ifndef GEO_MIRRORED_MEMORY_FILE
5805 #define GEO_MIRRORED_MEMORY_FILE GEO_FALSE
5806 #endif
5807 
5808 #ifndef GEO_MEMORY_STORAGE
5809 #define GEO_MEMORY_STORAGE GEO_FALSE
5810 #endif
5811 
5812 #ifndef GEO_CONFIG_STATIC_IP
5813 #define GEO_CONFIG_STATIC_IP GEO_FALSE
5814 #endif
5815 
5816 #ifndef GEO_DEVICE_NICKNAME
5817 #define GEO_DEVICE_NICKNAME GEO_FALSE
5818 #endif
5819 
5820 
5821 #ifndef GEO_SIMPLE_WIFI_ACQUISITION
5822 #define GEO_SIMPLE_WIFI_ACQUISITION GEO_FALSE
5823 #endif
5824 
5825 #ifndef GEO_NETWORK_DONT_CLOSE_ON_SEND_TIMEOUTS
5826 #define GEO_NETWORK_DONT_CLOSE_ON_SEND_TIMEOUTS GEO_FALSE
5827 #endif
5828 
5829 
5830 
5831 #ifndef GEO_ALLOW_RUN_DISCONNECTED
5832 #define GEO_ALLOW_RUN_DISCONNECTED GEO_FALSE
5833 #endif
5834 
5835 #ifndef MAG_ARROW_LIGHTS
5836 #define MAG_ARROW_LIGHTS GEO_FALSE
5837 #endif
5838 
5839 #ifndef NETWORK_TRACE
5840 #define NETWORK_TRACE GEO_FALSE
5841 #endif
5842 
5843 #ifndef GEO_MDNS_SD
5844 #define GEO_MDNS_SD GEO_FALSE
5845 #endif
5846 
5847 #ifndef GEO_STREAMING_BLOCK
5848 #define GEO_STREAMING_BLOCK GEO_FALSE
5849 #endif
5850 
5851 
5852 #if GEO_MDNS_SD == GEO_TRUE
5853 #ifndef GEO_MDNS_SD_SERVICE_NAME
5854 #error MDNS must include a service name
5855 #endif
5856 #ifndef GEO_MDNS_SD_SERVICE_HOST_NAME
5857 #error MDNS must include a service host name
5858 #endif
5859 #endif
5860 
5861 #if (EMULATE_MFAM_SENSOR == GEO_TRUE) && (MFAM_MODULE == GEO_TRUE)
5862 #error It is not possible for emulator and MFAM module both to be true.
5863 #endif
5864 
5865 #if GEO_PPS_EVENTS == GEO_TRUE
5866 #ifndef CHOOSE_PPS_DUTY_CYCLE
5867 #error Systems with PPS must also define whether or not to detect the duty cycle.
5868 #endif
5869 #endif
5870 
5871 
5872 #endif
5873 
5874 
5875