Merck / Mbed OS SmartCap_OS5

Dependencies:   nRF51822

Committer:
fdelahan
Date:
Thu Oct 22 18:45:19 2020 +0000
Revision:
54:bc0199198178
Parent:
50:8dca54c1e3fd
Child:
55:a66f86bbfc9f
Extend adapt threshold to EOL Cap Off; reduced delay after turning on analog.

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 9:0b017e956142 18
fdelahan 47:a1e91dea282d 19 #define CAP_THRESHOLD_ON 42 // Cap on threshold. Lower value means it triggers more easily
fdelahan 47:a1e91dea282d 20 #define CAP_THRESHOLD_OFF 12 // Cap off threshold. Higher value means it triggers more easily
fdelahan 47:a1e91dea282d 21 #define CAP_THRESHOLD_OFF_EOL 25 // Cap off threshold for EOL to ensure bluetooth advertising - FTD 08212020
fdelahan 47:a1e91dea282d 22
fdelahan 54:bc0199198178 23 #define CAP_THRESHOLD_ON_INITIAL 25 // initial value of adaptive cap_off threshold (Must be higher than CAPTHRESHOLD_OFF)
sgetz7908 48:bb7d5118e03c 24 #define CAP_THRESHOLD_ADAPT_RATE 192 // How fast the thresholf adapts. number 0 to 256. 256 means adapt immediately, 0 means no adapt.
fdelahan 54:bc0199198178 25 #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 54:bc0199198178 26 #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 54:bc0199198178 27 #define CAP_THRESHOLD_TRIGGER_MULT 2 // Multiplier of cap off threshold used for EOL
sgetz7908 48:bb7d5118e03c 28
fdelahan 47:a1e91dea282d 29 #define CAP_SAMPLES 2 // Number of samples used for cap sensor average - FTD 08212020
sgetz7908 46:b85be1ccf179 30
sgetz7908 46:b85be1ccf179 31 //#define CAP_THRESHOLD 25 // adjusts the sensitivity of the cap sensor. Lower value means it triggers more easily
sgetz7908 46:b85be1ccf179 32 //#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 33
sgetz7908 35:e8fa201fe147 34 #define EOL_TIMEOUT_DAYS 31 // number of days after package is open before unit goes into EOL mode.
fdelahan 37:0cb0a0b22b99 35 #define EOL_MAX_USES 120 // number of uses after which the unit goes into EOL mode.
sgetz7908 26:a577c4b69fe0 36
fdelahan 54:bc0199198178 37 #define CAP_LED_OFF_DELAY 0.0005 // delay (seconds) between turning on analog power and taking a cap sensor ADC reading with the sensor LED off - FTD 08212020
fdelahan 54:bc0199198178 38 #define CAP_LED_ON_DELAY 0.0001 // delay (seconds) between turning on cap sensor LED and taking a cap sensor ADC reading - FTD 08212020
fdelahan 47:a1e91dea282d 39
fdelahan 39:93d6d459c76c 40 #define LIGHT_SENSE_PWRON_DELAY 0.200 // delay (seconds) between turning on light sense circuit, and taking an ADC reading.
sgetz7908 38:4b06a103c044 41
sgetz7908 38:4b06a103c044 42
sgetz7908 23:7ca590427f0e 43 extern void process_cmd(char * cmd);
sgetz7908 27:bb7247a1704e 44 extern void dataWasRead(void);
sgetz7908 2:def2c045c43a 45
sgetz7908 2:def2c045c43a 46 //******************************************************************************
sgetz7908 0:cec02cf6df66 47
sgetz7908 0:cec02cf6df66 48 #endif // #ifndef MAIN_H