Exemple #1
0
        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();
        }
Exemple #2
0
    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);
    }
Exemple #3
0
    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;
            }
        }
    }
Exemple #4
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();
            }
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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]);
            }
        }