Merck / Mbed OS SmartCap_OS5

Dependencies:   nRF51822

Committer:
fdelahan
Date:
Tue Sep 29 15:44:41 2020 +0000
Revision:
53:4524fff577eb
Parent:
51:53fe9aff625a
Incorporates calibration of cap on, cap off and cap off trigger values. Fast sample rate set to 100 msec on cap off trigger. Fast sample rate runs for 5 seconds.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sgetz7908 0:cec02cf6df66 1
sgetz7908 0:cec02cf6df66 2 #ifndef MAIN_H
sgetz7908 0:cec02cf6df66 3 #define MAIN_H
sgetz7908 0:cec02cf6df66 4
sgetz7908 50:8dca54c1e3fd 5 #define FW_VERSION "V1.18" // major revisions will be 1xx, 2xx, etc.
sgetz7908 0:cec02cf6df66 6
sgetz7908 48:bb7d5118e03c 7 #define SKIP_SHIP_MODE 0 // 0=normal, 1=Test mode, where SHIP_MODE is skipped
sgetz7908 23:7ca590427f0e 8 #define UART_DEBUGGING 0 // if =1, put out debug info on the BLE_UART
sgetz7908 33:787d30671783 9 #define ENABLE_LED 0 // if =1, enable the debug LED
sgetz7908 46:b85be1ccf179 10 //#define TEST_ON_NRF51_DK 0 // if =1, configure for running on nRF51-DK board
sgetz7908 9:0b017e956142 11
sgetz7908 23:7ca590427f0e 12 //#define DARK_SAMPLE_PERIOD 15 // During manufacturing, this determines how many seconds between light_sensor samples
sgetz7908 23:7ca590427f0e 13 //#define MIN_DARK_TIME_MIN 15 // Number of minutes the unit needs to be in the dark to go into SHIP_MODE
sgetz7908 9:0b017e956142 14
fdelahan 37:0cb0a0b22b99 15 #define PERIODIC_TICK_SEC 1 // update rtc and run check cap rate
fdelahan 40:adabdb1c5abe 16 #define FAST_TICK_SEC 1 // update rtc and run check cap rate while in init and test mode
sgetz7908 26:a577c4b69fe0 17 #define EOL_TICK_SEC 10 // update rtc and run check cap rate while in EOL mode
sgetz7908 51:53fe9aff625a 18 #define VERY_FAST_TICK_SEC 0.1 // used for when the cap is almost off
fdelahan 53:4524fff577eb 19 #define VERY_FAST_TICK_ON_TIME_SEC 5 // must be an integer
sgetz7908 9:0b017e956142 20
fdelahan 53:4524fff577eb 21 #define CAP_THRESHOLD_ON 25 // Cap on threshold. Lower value means it triggers more easily
sgetz7908 51:53fe9aff625a 22 #define CAP_THRESHOLD_OFF1 35 // Cap off threshold. Higher value means it triggers more easily
fdelahan 53:4524fff577eb 23 #define CAP_THRESHOLD_OFF2 11 // Cap off threshold. Higher value means it triggers more easily
fdelahan 53:4524fff577eb 24 #define CAP_THRESHOLD_OFF_EOL 25 // Cap off threshold for EOL to ensure bluetooth advertising - FTD 08212020
fdelahan 47:a1e91dea282d 25
fdelahan 53:4524fff577eb 26 #define CAP_THRESHOLD_ON_INITIAL 25 // initial value of adaptive cap_on threshold (Must be higher than CAPTHRESHOLD_OFF)
sgetz7908 48:bb7d5118e03c 27 #define CAP_THRESHOLD_ADAPT_RATE 192 // How fast the thresholf adapts. number 0 to 256. 256 means adapt immediately, 0 means no adapt.
fdelahan 53:4524fff577eb 28 #define CAP_THRESHOLD_PERCENT_OF_PEAK 218 // What fraction of the peak on-off cap reading is used for the threshold. %*256, so 85% is .85*256=218
fdelahan 53:4524fff577eb 29 #define CAP_THRESHOLD_OFF_PERCENT_OF_PEAK 59 // What fraction of the peak on-off cap reading is used for the threshold. %*256, so 85% is .85*256=218
fdelahan 53:4524fff577eb 30 #define CAP_THRESHOLD_TRIGGER_MULT 3 // Multiplier of cap off threshold used for trigger
sgetz7908 48:bb7d5118e03c 31
fdelahan 47:a1e91dea282d 32 #define CAP_SAMPLES 2 // Number of samples used for cap sensor average - FTD 08212020
sgetz7908 46:b85be1ccf179 33
sgetz7908 46:b85be1ccf179 34 //#define CAP_THRESHOLD 25 // adjusts the sensitivity of the cap sensor. Lower value means it triggers more easily
sgetz7908 46:b85be1ccf179 35 //#define CAP_MAX_OFF_READING 1024 // if the off reading exceeds this limit, then reading is invalid and we use last valid reading
sgetz7908 23:7ca590427f0e 36
sgetz7908 35:e8fa201fe147 37 #define EOL_TIMEOUT_DAYS 31 // number of days after package is open before unit goes into EOL mode.
fdelahan 37:0cb0a0b22b99 38 #define EOL_MAX_USES 120 // number of uses after which the unit goes into EOL mode.
sgetz7908 26:a577c4b69fe0 39
fdelahan 47:a1e91dea282d 40 #define CAP_LED_OFF_DELAY 0.0035 // delay (seconds) between turning on analog power and taking a cap sensor ADC reading with the sensor LED off - FTD 08212020
fdelahan 47:a1e91dea282d 41 #define CAP_LED_ON_DELAY 0.000075 // delay (seconds) between turning on cap sensor LED and taking a cap sensor ADC reading - FTD 08212020
fdelahan 47:a1e91dea282d 42
fdelahan 39:93d6d459c76c 43 #define LIGHT_SENSE_PWRON_DELAY 0.200 // delay (seconds) between turning on light sense circuit, and taking an ADC reading.
sgetz7908 38:4b06a103c044 44
sgetz7908 38:4b06a103c044 45
sgetz7908 23:7ca590427f0e 46 extern void process_cmd(char * cmd);
sgetz7908 27:bb7247a1704e 47 extern void dataWasRead(void);
sgetz7908 2:def2c045c43a 48
sgetz7908 2:def2c045c43a 49 //******************************************************************************
sgetz7908 0:cec02cf6df66 50
sgetz7908 0:cec02cf6df66 51 #endif // #ifndef MAIN_H