예제 #1
0
        public TimeStampedFloatList RetrieveNewSCLValues()
        {
            TimeStampedFloatList values = NewSCLValues;

            NewSCLValues = null;
            return(values);
        }
 void DebugLogValues(string prefix, TimeStampedFloatList values)
 {
     foreach (TimeStampedValue<float> val in values) {
         Debug.Log(prefix + " " +
             HiResTiming.getDateTimeForTimestamp(val.TimeStamp).ToString("o")
             + " " + val.Value);
     }
 }
 void DebugLogValues(string prefix, TimeStampedFloatList values)
 {
     foreach (TimeStampedValue <float> val in values)
     {
         Debug.Log(prefix + " " +
                   HiResTiming.getDateTimeForTimestamp(val.TimeStamp).ToString("o")
                   + " " + val.Value);
     }
 }
 public void EMGUpdated(TimeStampedFloatList values)
 {
     foreach (TimeStampedValue <float> val in values)
     {
         if (emgGraph != null)
         {
             emgGraph.AddPoint(val.TimeStamp, val.Value);
         }
     }
 }
 public void SCLUpdated(TimeStampedFloatList values)
 {
     foreach (TimeStampedValue <float> val in values)
     {
         eSCLvalueData = val.Value;
         if (sclGraph != null)
         {
             sclGraph.AddPoint(val.TimeStamp, eSCLvalueData);
         }
         //WriteEHealthArduinoDataFile("GSR", eSCLvalueData, val.TimeStamp);
     }
 }
 public void ECGUpdated(TimeStampedFloatList values)
 {
     foreach (TimeStampedValue <float> val in values)
     {
         rawECGData = val.Value;
         if (ecgGraph != null)
         {
             ecgGraph.AddPoint(val.TimeStamp, rawECGData);
         }
         timeAtDataPoint = Time.realtimeSinceStartup;
         //WriteEHealthArduinoDataFile("rawECG", rawECGData, val.TimeStamp);
         WriteEHealthArduinoDataFile2("rawECG", rawECGData, timeAtDataPoint);                                //Write to data file in format: Time(sec), ECGdata
     }
 }
예제 #7
0
 private void InitLists()
 {
     if (NewECGValues == null)
     {
         NewECGValues = new TimeStampedFloatList();
     }
     if (NewEMGValues == null)
     {
         NewEMGValues = new TimeStampedFloatList();
     }
     if (NewSCLValues == null)
     {
         NewSCLValues = new TimeStampedFloatList();
     }
 }
 void Update()
 {
     TimeStampedValue <string>[] values = ehReader.RetrieveData();
     if (values.Length > 0)
     {
         ehParser.ParseValues(values);
         // now retrieve the newest timestampedvalues for EMG, SCL, ECG and trigger events
         TimeStampedFloatList emgValues = ehParser.RetrieveNewEMGValues();
         TimeStampedFloatList ecgValues = ehParser.RetrieveNewECGValues();
         TimeStampedFloatList sclValues = ehParser.RetrieveNewSCLValues();
         //DebugLogValues("EMG", emgValues);
         //DebugLogValues("ECG", ecgValues);
         //DebugLogValues("SCL", sclValues);
         EMGUpdated.Invoke(emgValues);
         ECGUpdated.Invoke(ecgValues);
         SCLUpdated.Invoke(sclValues);
     }
 }
 void GenerateFloatEvent(TimeStampedFloatDataEvent dataEvent, TimeStampedFloatList values)
 {
     if (values != null & values.Count > 0) {
         dataEvent.Invoke(values);
     }
 }
예제 #10
0
    public void SCLUpdated(TimeStampedFloatList values)
    {
        foreach (TimeStampedValue<float> v in values) {
            GSR = v.Value;

            if (GSR > GSRMax) {
                GSRMax = GSR;
            } else if (GSR < GSRMin) {
                GSRMin = GSR;
            }

            if (saveData) {
                System.IO.File.AppendAllText (EDAPath, PhySigTK.HiResTiming.getDateTimeForTimestamp (v.TimeStamp) + " " + v.Value + " " + sceneManager.scene.ToString () + " " + sceneManager.currentSegment + Environment.NewLine);
            }
            if (currentSegment != null && currentSegment.isRecording) {
                currentSegment.AddRecording (frequency, EMG);
            }
            if (gatheringBaseline) {
                GSRs.Add (GSR);
            }
        }
    }
예제 #11
0
 public void EMGSmileUpdated(TimeStampedFloatList values)
 {
     foreach (TimeStampedValue<float> v in values) {
         EMGSmile = v.Value;
         if (EMGSmile > EMGSmileMax) {
             EMGSmileMax = EMGSmile;
         } else if (EMGSmile < EMGSmileMin) {
             EMGSmileMin = EMGSmile;
         }
         EMGUpdated (MapToOne (EMGBrow, EMGBrowMin, EMGBrowMax), MapToOne (EMGSmile, EMGSmileMin, EMGSmileMax), v.TimeStamp);
     }
 }
 public TimeStampedFloatList RetrieveNewSCLValues()
 {
     TimeStampedFloatList values = NewSCLValues;
     NewSCLValues = null;
     return values;
 }
 private void InitLists()
 {
     if (NewEMGValues == null) {
         NewEMGValues = new TimeStampedFloatList();
     }
     if (NewECGValues == null) {
         NewECGValues = new TimeStampedFloatList();
     }
     if (NewSCLValues == null) {
         NewSCLValues = new TimeStampedFloatList();
     }
     if (NewSCRValues == null) {
         NewSCRValues = new TimeStampedBoolList();
     }
 }