diff --git a/DSTAT/src/experiment.c b/DSTAT/src/experiment.c
index ad3341cc03929ba73146e81e622a05e2f26bf712..efeaa073fa013b660a9bcd615ecc14f586ca15df 100644
--- a/DSTAT/src/experiment.c
+++ b/DSTAT/src/experiment.c
@@ -16,6 +16,8 @@
  */
 
 #include "experiment.h"
+#include "settings.h"
+#include "tcs.h"
 #include "config/conf_board.h"
 
 //Public variable definitions
@@ -105,7 +107,7 @@ void experiment_handler(char command){
             
         case 'R': //CA - steps, step_dac[], step_seconds[]
             scanf("%hhu",&p5); //get number of steps
-            printf("#Steps: %u\n\r", p5);
+            printf("#INFO: Steps: %u\n\r", p5);
             
             //allocate arrays for steps
             uint16_t * step_dac = malloc(p5*sizeof(uint16_t));
@@ -121,12 +123,26 @@ void experiment_handler(char command){
             
             for (i=0; i<p5; i++){
                 scanf("%u", &step_dac[i]); // get voltage steps (dac units)
-                printf("#DAC: %u\n\r", step_dac[i]);
+                printf("#INFO: DAC: %u\n\r", step_dac[i]);
             }
             
             for (i=0; i<p5; i++){
                 scanf("%u", &step_seconds[i]); //get step durations (seconds)
-                printf("#Time: %u\n\r", step_seconds[i]);
+                printf("#INFO: Time: %u\n\r", step_seconds[i]);
+            }
+            
+            scanf("%hhu", &o1);
+            printf("#INFO: TCS_check: %hhu\n\r", o1);
+            if (o1 > 0) {
+                if (settings.settings.tcs_enabled > 0) {
+                    uint16_t tcs_data[4] = {0,0,0,0};
+                    tcs_readvalues(tcs_data);
+                    
+                    if (tcs_data[0] > settings.settings.tcs_clear_threshold) {
+                        printf("#ERR: Ambient light exceeds threshold %u\n\r", tcs_data[0]);
+                        return;
+                    }
+                }
             }
             
             ca_experiment(p5, step_dac, step_seconds);