static void engine_CognitivEmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { //Debug.LogError("CognitivEmoStateUpdated"); isNotResponding = false; EmoState es = e.emoState; EdkDll.EE_CognitivAction_t cogAction = es.CognitivGetCurrentAction(); //Debug.LogError(cogAction); float power = (float)es.CognitivGetCurrentActionPower(); //Debug.LogError(power + ":" +(uint)cogAction); //CognitivActionPower[(uint)cogAction] = power; for (int i = 1; i < cognitivActionList.Length; i++) { if (cogAction == cognitivActionList[i]) { CognitivActionPower[i] = power; //Debug.LogError(CognitivActionPower[i] + "----------------------"); } else { CognitivActionPower[i] = 0; } } }
public TrainingPanel(EmoEngineManager emoEngineParam, EdkDll.EE_CognitivAction_t trainingActionParam) { emoEngine = emoEngineParam; trainingAction = trainingActionParam; VerticalAlignment = VerticalAlignment.Center; HorizontalAlignment = HorizontalAlignment.Center; Orientation = Orientation.Vertical; Margin = new Vector4F(20); RenderScale = new Vector2F(1.5f); switch (trainingActionParam) { case EdkDll.EE_CognitivAction_t.COG_NEUTRAL: Name = "Neutral"; break; case EdkDll.EE_CognitivAction_t.COG_PULL: Name = "Backward"; break; case EdkDll.EE_CognitivAction_t.COG_PUSH: Name = "Forward"; break; case EdkDll.EE_CognitivAction_t.COG_LEFT: Name = "Turn Left"; break; case EdkDll.EE_CognitivAction_t.COG_RIGHT: Name = "Turn Right"; break; } Initialize(); }
public float CognitivGetActionSkillRating(uint userId, EdkDll.EE_CognitivAction_t action) { float result = 0f; EmoEngine.errorHandler(EdkDll.EE_CognitivGetActionSkillRating(userId, action, out result)); return(result); }
/// <summary> /// Start traning cognitiv action /// </summary> /// <param name="cognitivAction">Cognitiv Action</param> public static void StartTrainingCognitiv(EdkDll.EE_CognitivAction_t cognitivAction) { if (cognitivAction == EdkDll.EE_CognitivAction_t.COG_NEUTRAL) { EmoEngine.Instance.CognitivSetTrainingAction((uint)EmoUserManagement.currentUser, cognitivAction); EmoEngine.Instance.CognitivSetTrainingControl((uint)EmoUserManagement.currentUser, EdkDll.EE_CognitivTrainingControl_t.COG_START); } else { for (int i = 1; i < cognitivActionList.Length; i++) { if (cognitivAction == cognitivActionList[i]) { Debug.Log("Action compare"); if (cognitivActionsEnabled[i]) { Debug.Log("Action is enabled"); EmoEngine.Instance.CognitivSetTrainingAction((uint)EmoUserManagement.currentUser, cognitivAction); EmoEngine.Instance.CognitivSetTrainingControl((uint)EmoUserManagement.currentUser, EdkDll.EE_CognitivTrainingControl_t.COG_START); } else { Debug.Log("Action is not enabled"); } } } } }
public float CognitivGetActionSkillRating(uint userId, EdkDll.EE_CognitivAction_t action) { float pActionSkillRatingOut = 0f; errorHandler(EdkDll.EE_CognitivGetActionSkillRating(userId, action, out pActionSkillRatingOut)); return(pActionSkillRatingOut); }
public void SetAction(EdkDll.EE_CognitivAction_t actionType, float mForce) { this.mForce = 30 * mForce; if (actionType == EdkDll.EE_CognitivAction_t.COG_LIFT) { directionVector = Vector3.up; } }
public void EraseCognitivTraining(EdkDll.EE_CognitivAction_t action) { if (Profile != String.Empty) { IsTraining = true; emoEngine.CognitivSetTrainingAction(UserID, action); TrainingStatus = EdkDll.EE_CognitivTrainingControl_t.COG_ERASE; } }
/// <summary> /// Enable cognitiv action in arraylist /// </summary> /// <param name="cognitivAction">Cognitiv Action</param> /// <param name="iBool">True = Enable/False = Disable</param> public static void EnableCognitivAction(EdkDll.EE_CognitivAction_t cognitivAction, Boolean iBool) { for (int i = 1; i < cognitivActionList.Length; i++) { if (cognitivAction == cognitivActionList[i]) { cognitivActionsEnabled[i] = iBool; Debug.Log("CognitivEnabledList has changed"); } } }
//Update fields when Emo state updated void CognitivEmoStateUpdated() { if (FEmoState[0] != null) { EmoState es = FEmoState[0]; mCogAction = es.CognitivGetCurrentAction(); mPower = es.CognitivGetCurrentActionPower(); mIsActive = es.CognitivIsActive(); } }
private static void engine_CognitivEmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { EmoState emoState = e.emoState; EdkDll.EE_CognitivAction_t eE_CognitivAction_t = emoState.CognitivGetCurrentAction(); float num = emoState.CognitivGetCurrentActionPower(); for (int i = 1; i < EmoCognitiv.cognitivActionList.Length; i++) { if (eE_CognitivAction_t == EmoCognitiv.cognitivActionList[i]) { EmoCognitiv.CognitivActionPower[i] = num; } } }
public void StartCognitivTraining(EdkDll.EE_CognitivAction_t action) { if (Profile != String.Empty) { if (action != EdkDll.EE_CognitivAction_t.COG_NEUTRAL && !activeActions.Contains(action)) { activeActions.Add(action); } emoEngine.CognitivSetActiveActions(UserID, GetActiveActions()); IsTraining = true; emoEngine.CognitivSetTrainingAction(UserID, action); TrainingStatus = EdkDll.EE_CognitivTrainingControl_t.COG_START; } }
private void trainNeutral(EdkDll.EE_CognitivAction_t action) { _emotiv.CognitivSetTrainingAction(0, action); _emotiv.CognitivSetTrainingControl(0, EdkDll.EE_CognitivTrainingControl_t.COG_START); Thread.Sleep(10000); _hasTrained = true; _emotiv.ProcessEvents(1000); if (false == _trainingResult) { MessageBox.Show("Train again"); trainNeutral(action); } }
static void engine_CognitivEmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { EmoState es = e.emoState; Single timeFromStart = es.GetTimeFromStart(); EdkDll.EE_CognitivAction_t cogAction = es.CognitivGetCurrentAction(); Single power = es.CognitivGetCurrentActionPower(); Boolean isActive = es.CognitivIsActive(); cogLog.WriteLine( "{0},{1},{2},{3}", timeFromStart, cogAction, power, isActive); cogLog.Flush(); }
public bool IsCognitivActionTrained(EdkDll.EE_CognitivAction_t action) { bool cognitivActionTrained = false; lock (emoEngine) { if (emoEngine != null && Profile != String.Empty) { uint trainedActions = emoEngine.CognitivGetTrainedSignatureActions(UserID); cognitivActionTrained = (trainedActions & (uint)action) == (uint)action; } } return(cognitivActionTrained); }
public static void EnableCognitivActionsListEx() { Debug.Log("Set CognitivList Enable"); EmoCognitiv.cognitivActionLever = 0; for (int i = 1; i < EmoCognitiv.cognitivActionList.Length; i++) { if (EmoCognitiv.cognitivActionsEnabled[i]) { EmoCognitiv.cognitivActionLever++; } } EdkDll.EE_CognitivAction_t[] array = new EdkDll.EE_CognitivAction_t[EmoCognitiv.cognitivActionLever]; int num = 0; for (int j = 1; j < EmoCognitiv.cognitivActionList.Length; j++) { if (EmoCognitiv.cognitivActionsEnabled[j]) { array[num] = EmoCognitiv.cognitivActionList[j]; num++; } } EdkDll.SetMultiActiveActions(EmoUserManagement.currentUser, array, EmoCognitiv.cognitivActionLever); }
/// <summary> /// Enable actions in arraylist (Working in both Unity 2.5 vs 2.6) /// </summary> public static void EnableCognitivActionsListEx() { Debug.Log("Set CognitivList Enable"); cognitivActionLever = 0; for (int i = 1; i < cognitivActionList.Length; i++) { if (cognitivActionsEnabled[i]) { cognitivActionLever++; } } EdkDll.EE_CognitivAction_t[] activeActions = new EdkDll.EE_CognitivAction_t[cognitivActionLever]; int tmp = 0; for (int i = 1; i < cognitivActionList.Length; i++) { if (cognitivActionsEnabled[i]) { activeActions[tmp] = cognitivActionList[i]; tmp++; } } EdkDll.SetMultiActiveActions(EmoUserManagement.currentUser, activeActions, cognitivActionLever); }
private static extern int Unmanged_EE_CognitivGetTrainingAction(uint userId, out EdkDll.EE_CognitivAction_t pActionOut);
/// <summary> /// Handles any event changes with the emotiv engine. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void engine_EmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { if (false == _trainingComplete) { return; } _wait = true; try { EdkDll.EE_CognitivAction_t action = e.emoState.CognitivGetCurrentAction(); updateLabel( "Current Emotiv State: " + Enum.GetName(typeof(EdkDll.EE_CognitivAction_t), action), Color.Empty, labelEmotivState); if (EdkDll.EE_CognitivAction_t.COG_LEFT == action) { updateLabel( "Current Emotiv State: " + Enum.GetName(typeof(EdkDll.EE_CognitivAction_t), action), Color.Blue, labelEmotivState); if (true == buttonHit.Enabled) { if (DialogResult.Yes == MessageBox.Show("Did you try to HIT?", "Hit?", MessageBoxButtons.YesNo)) { hit(); } } } else if (EdkDll.EE_CognitivAction_t.COG_PUSH == action) { updateLabel( "Current Emotiv State: " + Enum.GetName(typeof(EdkDll.EE_CognitivAction_t), action), Color.Green, labelEmotivState); if (true == buttonStay.Enabled) { if (DialogResult.Yes == MessageBox.Show("Did you try to STAY?", "Stay?", MessageBoxButtons.YesNo)) { stay(); } } else if (true == buttonStart.Enabled) { if (DialogResult.Yes == MessageBox.Show("Are you ready to START?", "Start?", MessageBoxButtons.YesNo)) { start(); } } } } catch (Exception exception) { //handleError(exception); } finally { _wait = false; } }
static void engine_CognitivEmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { //Debug.LogError("CognitivEmoStateUpdated"); isNotResponding = false; EmoState es = e.emoState; cogAction = es.CognitivGetCurrentAction(); //Debug.LogError(cogAction); power = (float)es.CognitivGetCurrentActionPower(); //Debug.LogError(power + ":" +(uint)cogAction); //CognitivActionPower[(uint)cogAction] = power; for (int i = 1; i < cognitivActionList.Length; i++) { if (cogAction == cognitivActionList[i]) { CognitivActionPower[i] = power; //Debug.LogError(CognitivActionPower[i] + "----------------------"); } else CognitivActionPower[i] = 0; } }
public static void ResetCognitivPower(EdkDll.EE_CognitivAction_t cognitivAction) { EmoCognitiv.CognitivActionPower[(int)cognitivAction] = 0f; }
private void engine_CognitivEmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { EmoState es = e.emoState; FlightWindow outer = new FlightWindow(); Single timeFromStart = es.GetTimeFromStart(); Single power = es.CognitivGetCurrentActionPower(); // get power EdkDll.EE_CognitivAction_t cogAction = es.CognitivGetCurrentAction(); // get detected command Boolean isActive = es.CognitivIsActive(); textBox1.Text = "Action:" + cogAction.ToString() + "|" + "Power" + power; switch (cogAction) { case EdkDll.EE_CognitivAction_t.COG_NEUTRAL: { count_clear("tf"); outer.manualHover(); //forcing manula hovering. break; } case EdkDll.EE_CognitivAction_t.COG_PUSH: { count_clear("tf"); outer.button1_Click(sender, e); // forward command break; } case EdkDll.EE_CognitivAction_t.COG_PULL: { count_clear("t"); if (forward_count % 2 == 0) { outer.Backwards_Click(sender, e); // forwad backward } forward_count++; break; } case EdkDll.EE_CognitivAction_t.COG_LIFT: { // if (takeoff_bool == false) // { if (takeoff_count % 3 == 0) { outer.Takeoff_Click(sender, e); // takeoff } //takeoff_bool = true; //} //else //{ // // already take off so rotate // if (takeoff_count % 2 == 0) // { // outer.button7_Click(sender, e); /// more up // } takeoff_count++; //} count_clear("f"); break; } case EdkDll.EE_CognitivAction_t.COG_DROP: { outer.Landing_Click(sender, e); // landing count_clear("tf"); takeoff_bool = false; break; } } // Console.Write("{0}", cogAction); cogLog.WriteLine("{0},{1},{2},{3}", timeFromStart, cogAction, power, isActive); // writing to log file cogLog.Flush(); }
public void CognitivSetTrainingAction(uint userId, EdkDll.EE_CognitivAction_t action) { EmoEngine.errorHandler(EdkDll.EE_CognitivSetTrainingAction(userId, action)); }
private static extern int Unmanged_EE_CognitivSetTrainingAction(uint userId, EdkDll.EE_CognitivAction_t action);
public static int EE_CognitivGetActionSkillRating(uint userId, EdkDll.EE_CognitivAction_t action, out float pActionSkillRatingOut) { return(EdkDll.Unmanged_EE_CognitivGetActionSkillRating(userId, action, out pActionSkillRatingOut)); }
public static int EE_CognitivGetTrainingAction(uint userId, out EdkDll.EE_CognitivAction_t pActionOut) { return(EdkDll.Unmanged_EE_CognitivGetTrainingAction(userId, out pActionOut)); }
public static int EE_CognitivSetTrainingAction(uint userId, EdkDll.EE_CognitivAction_t action) { return(EdkDll.Unmanged_EE_CognitivSetTrainingAction(userId, action)); }
public static int EE_CognitivSetCurrentLevel(short userId, EdkDll.EE_CognitivLevel_t level, EdkDll.EE_CognitivAction_t level1Action, EdkDll.EE_CognitivAction_t level2Action, EdkDll.EE_CognitivAction_t level3Action, EdkDll.EE_CognitivAction_t level4Action) { return(EdkDll.Unmanaged_EE_CognitivSetCurrentLevel(userId, level, level1Action, level2Action, level3Action, level4Action)); }
private static extern int Unmanaged_EE_CognitivSetCurrentLevel(short userId, EdkDll.EE_CognitivLevel_t level, EdkDll.EE_CognitivAction_t level1Action, EdkDll.EE_CognitivAction_t level2Action, EdkDll.EE_CognitivAction_t level3Action, EdkDll.EE_CognitivAction_t level4Action);
private static extern int Unmanged_EE_CognitivGetActionSkillRating(uint userId, EdkDll.EE_CognitivAction_t action, out float pActionSkillRatingOut);
// 向后状态学习按钮 private void button8_Click(object sender, EventArgs e) { EmoEngine.Instance.CognitivSetActivationLevel(0, 5); actions = actions | EdkDll.EE_CognitivAction_t.COG_PULL; EmoEngine.Instance.CognitivSetActiveActions(0, (UInt32)actions); EmoEngine.Instance.CognitivSetTrainingAction(0, EdkDll.EE_CognitivAction_t.COG_PULL); EmoEngine.Instance.CognitivSetTrainingControl(0, EdkDll.EE_CognitivTrainingControl_t.COG_START); numOfStu = 7; }