diff --git a/DSTAT/src/config/conf_board.h b/DSTAT/src/config/conf_board.h index a57fbf644da8d935693f8647a5f8531ed1f17a7c..4d91caba27facebd8c3a206d7fbf1ce2937b690d 100644 --- a/DSTAT/src/config/conf_board.h +++ b/DSTAT/src/config/conf_board.h @@ -14,7 +14,7 @@ // Default Settings (only used if EEPROM is empty) #define SETTINGS_MAX5443_OFFSET 0 -#define SETTINGS_TCS_ENABLED 0 +#define SETTINGS_TCS_ENABLED 1 #define SETTINGS_TCS_CLEAR_THRESHOLD 10000U #define SETTINGS_R100_TRIM 0 #define SETTINGS_R3k_TRIM 0 diff --git a/DSTAT/src/experiment.c b/DSTAT/src/experiment.c index e2dde886719a675d66828b4ed4bfff7bbdd10fd5..3da1d45b73b64f4a243ca261adca074b89ecc0fd 100644 --- a/DSTAT/src/experiment.c +++ b/DSTAT/src/experiment.c @@ -140,16 +140,18 @@ void experiment_handler(char command){ if (settings.settings.tcs_enabled > 0){ tcs_readvalues(tcs_data); delay_ms(25); - tcs_readvalues(tcs_data1); // If sensor disconnected, second measurement should be exactly the same + tcs_readvalues(tcs_data1); // If sensor disconnected, second measurement should be exactly the same (unless 0 or saturated) + if (tcs_data[3] == tcs_data1[3]){ + if (!(tcs_data[3] == 0 || tcs_data[3] == 65535)) { + printf("#ERR: Ambient light sensor seems to be disconnected \n\r"); + return; + } + } if (tcs_data[0] > settings.settings.tcs_clear_threshold){ printf("#ERR: Ambient light exceeds threshold %u\n\r", tcs_data[0]); printf("#INFO: TCS—%u %u %u %u\n\r", tcs_data[0], tcs_data[1], tcs_data[2], tcs_data[3]); return; } - else if (tcs_data[3] == tcs_data1[3]){ - printf("#ERR: Ambient light sensor seems to be disconnected \n\r"); - return; - } } else { printf("#ERR: Ambient light sensor disabled.\n\r"); diff --git a/DSTAT/src/settings.c b/DSTAT/src/settings.c index b68b37ce842ecc4be209358f07b09bb80a362bb2..ac6e6ad5540ee4832d8810d6a62debb06dc57cef 100644 --- a/DSTAT/src/settings.c +++ b/DSTAT/src/settings.c @@ -51,8 +51,8 @@ void settings_read_eeprom(void){ settings_restore_defaults(); } printf("#INFO: max5443_offset = %u\n\r", settings.settings.max5443_offset); - printf("#INFO: tls_enabled = %u\n\r", settings.settings.tcs_enabled); - printf("#INFO: tls_clear_threshold = %u\n\r", settings.settings.tcs_clear_threshold); + printf("#INFO: tcs_enabled = %u\n\r", settings.settings.tcs_enabled); + printf("#INFO: tcs_clear_threshold = %u\n\r", settings.settings.tcs_clear_threshold); printf("#INFO: r100_trim = %i\n\r", settings.settings.r100_trim); printf("#INFO: r3k_trim = %i\n\r", settings.settings.r3k_trim); printf("#INFO: r30k_trim = %i\n\r", settings.settings.r30k_trim);