private void StreamDataReceived(object sender, StreamDataEventArgs e) { Console.WriteLine(e.StreamName + " data received."); ArrayList data = e.Data.ToObject <ArrayList>(); // insert timestamp to datastream data.Insert(0, e.Time); if (e.StreamName == "eeg") { OnEEGDataReceived(this, data); } else if (e.StreamName == "mot") { OnMotionDataReceived(this, data); } else if (e.StreamName == "met") { OnPerfDataReceived(this, data); } else if (e.StreamName == "pow") { OnBandPowerDataReceived(this, data); } else if (e.StreamName == "com") { OnMentalDataReceived(this, data); } }
// Handle Event Response private void EventReceived(object sender, StreamDataEventArgs evt) { // Send to corresponding Controller int streamType = evt.StreamType; int requestType = evt.RequestType; // if stream Type Exist if (_mapControllers.ContainsKey(streamType)) { _mapControllers[streamType].ParseData(evt.Data, requestType); } else { Console.WriteLine("can not detect stream type" + streamType.ToString()); } }
private void StreamDataReceived(object sender, StreamDataEventArgs e) { if (e.StreamName == "sys") { List <string> data = e.Data.ToObject <List <string> >(); JArray dataEvent = e.Data; string detection = dataEvent[0].ToString(); string eventType = dataEvent[1].ToString(); if (detection == "mentalCommand") { if (eventType == "MC_Started") { Console.WriteLine("Start training..."); } else if (eventType == "MC_Succeeded") { OnTrainingSucceeded(this, true); } else if (eventType == "MC_Completed" || eventType == "MC_Rejected" || eventType == "MC_DataErased" || eventType == "MC_Reset") { _ctxClient.SetupProfile(_cortexToken, _profileName, "save", _headsetId); } } else if (detection == "facialExpression") { if (eventType == "FE_Started") { Console.WriteLine("Start training..."); } else if (eventType == "FE_Succeeded") { OnTrainingSucceeded(this, true); } else if (eventType == "FE_Completed" || eventType == "FE_Rejected" || eventType == "FE_DataErased" || eventType == "FE_Reset") { _ctxClient.SetupProfile(_cortexToken, _profileName, "save", _headsetId); } } } }
private void StreamDataReceived(object sender, StreamDataEventArgs evt) { // Send to corresponding Controller int streamType = evt.StreamType; int requestType = evt.RequestType; switch (streamType) { case (int)StreamID.MOTION_STREAM: Console.WriteLine("Motion data received"); ArrayList motionData = new ArrayList(); JArray jMotData = (JArray)evt.Data["mot"]; foreach (var item in jMotData) { motionData.Add((float)item); } if (motionData.Count > 0) { OnMotionDataReceived(this, new ArrayList(motionData)); } break; case (int)StreamID.EEG_STREAM: Console.WriteLine("EEG data received"); ArrayList eegData = new ArrayList(); JArray jEEGData = (JArray)evt.Data["eeg"]; foreach (var item in jEEGData) { eegData.Add((float)item); } if (eegData.Count > 0) { OnEEGDataReceived(this, new ArrayList(eegData)); } break; case (int)StreamID.DEVICE_STREAM: Console.WriteLine("Device data received"); ArrayList devData = new ArrayList(); JArray jDevData = (JArray)evt.Data["dev"]; foreach (var item in jDevData) { devData.Add((float)item); } if (devData.Count > 0) { OnDevDataReceived(this, new ArrayList(devData)); } break; case (int)StreamID.PERF_METRICS_STREAM: Console.WriteLine("Performance metrics data received"); ArrayList perfData = new ArrayList(); JArray jPerfData = (JArray)evt.Data["met"]; foreach (var item in jPerfData) { perfData.Add((float)item); } if (perfData.Count > 0) { OnPerfDataReceived(this, new ArrayList(perfData)); } break; case (int)StreamID.SYS_STREAM: JArray jSysEvent = (JArray)evt.Data["sys"]; Console.WriteLine("Sys Event received: " + jSysEvent[0] + " : " + jSysEvent[1]); break; default: break; } }