public IEnumerator TrainingCoroutine() { float remaining = timeSlider.value * 60; for (int i = 1; i < 4; i++) { instructions.text = "Comenzando en " + (4 - i) + "..."; yield return(new WaitForSeconds(1)); } instructions.text = "Mantenga su brazo y mano relajados."; processor.CurrentMuscleState = MuscleState.RELAXED; processor.ChangeMode(EMGProcessor.Mode.TRAINING); while (remaining > 0) { for (int i = 0; i < stateDuration; i++) { buttonText.text = (stateDuration - i).ToString() + "..."; yield return(new WaitForSeconds(1)); } remaining -= stateDuration; audioSource.Play(); if (processor.CurrentMuscleState == MuscleState.RELAXED) { processor.CurrentMuscleState = MuscleState.TENSE; instructions.text = "Haga fuerza con su brazo y mano."; } else { processor.CurrentMuscleState = MuscleState.RELAXED; instructions.text = "Mantenga su brazo y mano relajados."; } } processor.ChangeMode(EMGProcessor.Mode.PREDICTING); startButton.interactable = true; buttonText.text = "Terminar"; instructions.text = "Entrenamiento completado. Presione el botón de Terminar para continuar."; }
void Update() { if (!started) { return; } if (Input.GetKeyUp(KeyCode.I)) { processor.ChangeMode(EMGProcessor.Mode.IDLE); } else if (Input.GetKeyUp(KeyCode.T)) { if (processor.CurrentMuscleState != MuscleState.NONE) { processor.ChangeMode(EMGProcessor.Mode.TRAINING); } else { Debug.Log("Unable to start Training mode: no MuscleState set yet."); } } else if (Input.GetKeyUp(KeyCode.P)) { processor.ChangeMode(EMGProcessor.Mode.PREDICTING); } if (Input.GetKeyUp(KeyCode.UpArrow)) { processor.CurrentMuscleState = MuscleState.TENSE; } else if (Input.GetKeyUp(KeyCode.DownArrow)) { processor.CurrentMuscleState = MuscleState.RELAXED; } modeLabel.text = processor.CurrentMode.ToString(); predictionLabel.text = "Prediction: " + processor.PredictedMuscleState.ToString(); trainingInfoLabel.text = "Count: " + processor.TrainingDataLength.ToString() + "\nMuscleState: " + processor.CurrentMuscleState.ToString(); }