private void ProcessPacket(OSCPacket packet) { foreach (OSCPacket p in packet.Data) { if (p.IsBundle()) { ProcessPacket(p); } else { OSCMessage msg = (OSCMessage)p; if ((EyesStatus)msg.Extra != EyesStatus.NONE) { Status = (EyesStatus)msg.Extra; } if (msg.Address == "/muse/elements/alpha_absolute") { if (!Training || (Training && alphaIgnore == 0 && keepTrainingData)) { if (alphaSet) { alpha2 = (float)msg.Data[0]; alphaSet = false; if (prevStatus == Status) { TrainingValue trainingValue = new TrainingValue((int)Status, 2); trainingValue.Features[0] = alpha1; trainingValue.Features[1] = alpha2; AlphaTrainingValues.Add(trainingValue); } } else { alpha1 = (float)msg.Data[0]; alphaSet = true; } } else if (Training && alphaIgnore != 0) { alphaIgnore--; } prevStatus = Status; } else if (msg.Address == "/muse/eeg") { tp9.Add((float)msg.Data[0]); af7.Add((float)msg.Data[1]); af8.Add((float)msg.Data[2]); tp10.Add((float)msg.Data[3]); } } } }
public void Reset() { af7.Clear(); af8.Clear(); tp9.Clear(); tp10.Clear(); TrainingValues.Clear(); AlphaTrainingValues.Clear(); trainer = null; training = false; readingsMean.Clear(); status = EyesStatus.NONE; ignore = SKIP; }