static void engine_EmoEngineEmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { EmoState es = e.emoState; Single timeFromStart = es.GetTimeFromStart(); Int32 headsetOn = es.GetHeadsetOn(); Int32 numCqChan = es.GetNumContactQualityChannels(); EdkDll.EE_EEG_ContactQuality_t[] cq = es.GetContactQualityFromAllChannels(); for (Int32 i = 0; i < numCqChan; ++i) { if (cq[i] != es.GetContactQuality(i)) { throw new Exception(); } } EdkDll.EE_SignalStrength_t signalStrength = es.GetWirelessSignalStatus(); Int32 chargeLevel = 0; Int32 maxChargeLevel = 0; es.GetBatteryChargeLevel(out chargeLevel, out maxChargeLevel); engineLog.Write( "{0},{1},{2},{3},{4},", timeFromStart, headsetOn, signalStrength, chargeLevel, maxChargeLevel); for (int i = 0; i < cq.Length; ++i) { engineLog.Write("{0},", cq[i]); } engineLog.WriteLine(""); engineLog.Flush(); }
void engine_UserAdded_Event(object sender, EmoEngineEventArgs e) { //Thread t = Thread.CurrentThread; //Debug.Log(t.Name + t.ThreadState); // t.Suspend(); //t.Yield();// Suspend(); Debug.Log("Dongle Plugged!!!!!!!"); userID = (int)e.userId; try { int errorCode = EdkDll.EE_DataAcquisitionEnable((uint)userID, true); //engine.DataAcquisitionEnable((uint)userID, true); EmoEngine.errorHandler((Int32)errorCode); Debug.Log("errorCode = " + errorCode); //enable the data aquisition for this user //[DllImport("edk.dll", EntryPoint = "EE_DataAcquisitionEnable")] // static extern Int32 Unmanaged_EE_DataAcquisitionEnable(UInt32 userId, Boolean enable); } catch (Exception exp) { Debug.Log("error"); Debug.Log(exp); } try { bool result; int err2 = EdkDll.EE_DataAcquisitionIsEnabled((uint)userID, out result); Debug.Log(err2); EmoEngine.errorHandler((Int32)err2); } catch (Exception exp) { Debug.Log("error"); Debug.Log(exp); } EmoState emoState = new EmoState(); EdkDll.EE_EEG_ContactQuality_t[] qualities = emoState.GetContactQualityFromAllChannels(); int i; for (i = 0; i < qualities.Length; i++) { Debug.Log(qualities[i]); } // EE_DataAcquisitionIsEnabled(uint userId, out bool pEnableOut); //engine.DataAcquisitionEnable((uint)userID, true); uint sampleRate = engine.DataGetSamplingRate((uint)userID); Debug.Log(sampleRate); //ask for up to 1s of buffered data engine.EE_DataSetBufferSizeInSec(1); int num = (int)engine.EngineGetNumUser(); Debug.Log("user number = " + num); }
static void engine_EmoEngineEmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { EmoState es = e.emoState; Int32 numCqChan = es.GetNumContactQualityChannels(); EdkDll.EE_EEG_ContactQuality_t[] cq = es.GetContactQualityFromAllChannels(); nChan = numCqChan; int temp = 0; for (Int32 i = 0; i < numCqChan; ++i) { if (cq[i] != es.GetContactQuality(i)) { throw new Exception(); } switch (cq[i]) { case EdkDll.EE_EEG_ContactQuality_t.EEG_CQ_NO_SIGNAL: Cq[i] = 0; break; case EdkDll.EE_EEG_ContactQuality_t.EEG_CQ_VERY_BAD: Cq[i] = 1; break; case EdkDll.EE_EEG_ContactQuality_t.EEG_CQ_POOR: Cq[i] = 2; break; case EdkDll.EE_EEG_ContactQuality_t.EEG_CQ_FAIR: Cq[i] = 3; break; case EdkDll.EE_EEG_ContactQuality_t.EEG_CQ_GOOD: temp++; Cq[i] = 4; break; } //--------------------- } numOfGoodContacts = temp; //EdkDll.EE_SignalStrength_t signalStrength = es.GetWirelessSignalStatus(); Int32 chargeLevel = 0; Int32 maxChargeLevel = 0; es.GetBatteryChargeLevel(out chargeLevel, out maxChargeLevel); EdkDll.EE_SignalStrength_t signalStrength = es.GetWirelessSignalStatus(); if (signalStrength == EdkDll.EE_SignalStrength_t.NO_SIGNAL) { for (Int32 i = 0; i < numCqChan; ++i) { Cq[i] = 0; } } }
private static void engine_EmoEngineEmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { EmoState emoState = e.emoState; int numContactQualityChannels = emoState.GetNumContactQualityChannels(); EdkDll.EE_EEG_ContactQuality_t[] contactQualityFromAllChannels = emoState.GetContactQualityFromAllChannels(); EmoEngineInst.nChan = numContactQualityChannels; EdkDll.EE_SignalStrength_t wirelessSignalStatus = emoState.GetWirelessSignalStatus(); int num = 0; if (wirelessSignalStatus != EdkDll.EE_SignalStrength_t.NO_SIGNAL) { for (int i = 0; i < numContactQualityChannels; i++) { if (contactQualityFromAllChannels[i] != emoState.GetContactQuality(i)) { throw new Exception(); } switch (contactQualityFromAllChannels[i]) { case EdkDll.EE_EEG_ContactQuality_t.EEG_CQ_NO_SIGNAL: EmoEngineInst.Cq[i] = 0; break; case EdkDll.EE_EEG_ContactQuality_t.EEG_CQ_VERY_BAD: EmoEngineInst.Cq[i] = 1; break; case EdkDll.EE_EEG_ContactQuality_t.EEG_CQ_POOR: EmoEngineInst.Cq[i] = 2; break; case EdkDll.EE_EEG_ContactQuality_t.EEG_CQ_FAIR: EmoEngineInst.Cq[i] = 3; break; case EdkDll.EE_EEG_ContactQuality_t.EEG_CQ_GOOD: num++; EmoEngineInst.Cq[i] = 4; break; } } } else { for (int j = 0; j < numContactQualityChannels; j++) { EmoEngineInst.Cq[j] = 0; } } EmoEngineInst.numOfGoodContacts = num; int num2 = 0; int num3 = 0; EmoEngineInst.signalStrength = emoState.GetWirelessSignalStatus(); emoState.GetBatteryChargeLevel(out num2, out num3); }
public void engine_EmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { EmoState es = e.emoState; Console.WriteLine("Emostate updated: {0}", e.emoState); es.GetBatteryChargeLevel(out _batterChargeLevel, out _maxBatterChargeLevel); _eventModel.BatteryStatus = _batterChargeLevel; _eventModel.WifiStatus = es.GetWirelessSignalStatus(); _eventModel.SessionStatus = es.GetTimeFromStart(); _eventModel.ContactQuality = es.GetContactQualityFromAllChannels(); }
protected void EmoEngineEmoStateUpdatedCB(object sender, EmoStateUpdatedEventArgs e) { EmoState es = e.emoState; //Update connexion status lock (syncLock) { mEmoState = es; mIsHeadsetOn = es.GetHeadsetOn() != 0; mCQ = es.GetContactQualityFromAllChannels(); mSignalStrength = es.GetWirelessSignalStatus(); es.GetBatteryChargeLevel(out mBatteryCharge, out mBatteryMaxCharge); mTimeFromStart = es.GetTimeFromStart(); } }
void engine_EmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { EmoState es = e.emoState; //Console.WriteLine("User has lower face expression : " + es.ExpressivGetLowerFaceAction().ToString()+ " of strength " + es.ExpressivGetLowerFaceActionPower().ToString() ); Int32 numCqChan = es.GetNumContactQualityChannels(); EdkDll.EE_EEG_ContactQuality_t[] cq = es.GetContactQualityFromAllChannels(); for (Int32 i = 0; i < numCqChan; ++i) { if (cq[i] != es.GetContactQuality(i)) { throw new Exception(); } } #region declare Contact Quality to store in datastructure ContactQuality contact = new ContactQuality() { CMS = (double)cq[0], DRL = (double)cq[1], AF4 = (double)cq[16], F8 = (double)cq[15], F4 = (double)cq[14], FC6 = (double)cq[13], T8 = (double)cq[12], P8 = (double)cq[11], O2 = (double)cq[10], O1 = (double)cq[9], P7 = (double)cq[8], T7 = (double)cq[7], FC5 = (double)cq[6], F3 = (double)cq[5], F7 = (double)cq[4], AF3 = (double)cq[3], date = DateTime.Now }; #endregion scForm.updateContactQuality(contact); scForm.textChange(); CQCollector.Add(contact); }
void engine_EmoStateUpdated(object sender, EmoStateUpdatedEventArgs e) { EmoState es = e.emoState; // Console.WriteLine("User has lower face expression : " + es.ExpressivGetLowerFaceAction().ToString()+ " of strength " + es.ExpressivGetLowerFaceActionPower().ToString() ); Int32 numCqChan = es.GetNumContactQualityChannels(); EdkDll.EE_EEG_ContactQuality_t[] cq = es.GetContactQualityFromAllChannels(); for (Int32 i = 0; i < numCqChan; ++i) { if (cq[i] != es.GetContactQuality(i)) { throw new Exception(); } } for (int i = 0; i < cq.Length; ++i) { // Console.WriteLine("{0},", cq[i]); // engineLog.Write("{0},", cq[i]); } }