public void StartReading() { if (reading) { Debug.Log("EMGManager: already reading."); return; } if (processor == null) { Setup(); } processor.Start(); if (reader.HasError) { Debug.Log("Error occured when starting reader."); processor.StopAndJoin(); processor = null; return; } reading = true; }
void Start() { manager = EMGManager.Instance; manager.Setup(); processor = manager.Processor; }
public void StopReading() { if (!reading) { Debug.Log("EMGManager: not reading."); return; } processor.StopAndJoin(); processor = null; reading = false; }
public void WidgetCallback() { EMGProcessor proc = EMGManager.Instance.Processor; ticks++; modeText.text = "Mode: " + proc.CurrentMode; sampleCountText.text = "Tr. Sample Count: " + proc.TrainingDataLength; setMuscleStateText.text = "Set MuscleState: " + proc.CurrentMuscleState; predMuscleStateText.text = "Predicted MuscleState: " + proc.PredictedMuscleState; ticksText.text = "Ticks: " + ticks.ToString(); }
public void Setup() { manager = EMGManager.Instance; processor = manager.Processor; currentWeapon = sphereGun; if (!enableFakeLoop) { processor.AddProcessorCallback(widget.WidgetCallback); processor.AddProcessorCallback(DemoCallback); } else { StartCoroutine(FakeEMGLoop()); } }
public void Setup() { if (!useFile) { reader = new EMGSerialReader(portName, maxQueueSize); } else { FileStream stream; try { stream = File.OpenRead(Application.dataPath + "/" + filePath); } catch (Exception e) { Debug.LogError("EMGManager: Unable to read file: " + e); return; } EMGFileReader fileReader = new EMGFileReader(stream, maxQueueSize); fileReader.EnableFileLoop(); reader = fileReader; } processor = new EMGProcessor(reader); }
public void OnButtonClicked() { if (processor != null) { OnTrainingFinished(); return; } manager.portName = portInput.text; startButton.interactable = false; timeSlider.interactable = false; manager.Setup(); processor = manager.Processor; manager.StartReading(); if (skipMode) { demoController.enableFakeLoop = true; OnTrainingFinished(); return; } StartCoroutine(TrainingCoroutine()); }