private Color getColor(EdkDll.IEE_EEG_ContactQuality_t node)
    {
        Color returnButt;

        switch (node)
        {
        case EdkDll.IEE_EEG_ContactQuality_t.IEEG_CQ_NO_SIGNAL:
            returnButt = new Color(Color.black.r, Color.black.g, Color.black.b, 1f);
            break;

        case EdkDll.IEE_EEG_ContactQuality_t.IEEG_CQ_VERY_BAD:
            returnButt = new Color(Color.red.r, Color.red.g, Color.red.b, 1f);
            break;

        case EdkDll.IEE_EEG_ContactQuality_t.IEEG_CQ_POOR:
            returnButt = new Color(1.0F, 0.5F, 0.0F, 1f);
            break;

        case EdkDll.IEE_EEG_ContactQuality_t.IEEG_CQ_FAIR:
            returnButt = new Color(Color.yellow.r, Color.yellow.g, Color.yellow.b, 1f);
            break;

        case EdkDll.IEE_EEG_ContactQuality_t.IEEG_CQ_GOOD:
            returnButt = new Color(Color.green.r, Color.green.g, Color.green.b, 1f);
            break;

        default:
            returnButt = new Color(Color.black.r, Color.black.g, Color.black.b, 1f);
            break;
        }
        return(returnButt);
    }
 public void test()
 {
     EdkDll.IEE_EEG_ContactQuality_t[] contacts = new EdkDll.IEE_EEG_ContactQuality_t[17];
     for (int i = 0; i < 17; i++)
     {
         contacts[i] = (EdkDll.IEE_EEG_ContactQuality_t)((current + i) % 5);
     }
     current++;
     setColor(contacts);
 }
    EdkDll.IEE_EEG_ContactQuality_t[] getContactQuality(EmoState state)
    {
        EdkDll.IEE_EEG_ContactQuality_t[] cq;
        if (headsetType == HeadsetType.Epoc)
        {
            //epoc contact quality
            cq = new EdkDll.IEE_EEG_ContactQuality_t[16];

            cq[0]  = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_AF3);
            cq[1]  = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_AF4);
            cq[2]  = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_F3);
            cq[3]  = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_F4);
            cq[4]  = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_F7);
            cq[5]  = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_F8);
            cq[6]  = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_FC5);
            cq[7]  = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_FC6);
            cq[8]  = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_O1);
            cq[9]  = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_O2);
            cq[10] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_P7);
            cq[11] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_P8);
            cq[12] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_T7);
            cq[13] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_T8);
            cq[14] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_CMS);
            cq[15] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_DRL);
            return(cq);
        }

        //insight contact quality
        cq    = new EdkDll.IEE_EEG_ContactQuality_t[6];
        cq[0] = EdkDll.IEE_EEG_ContactQuality_t.IEEG_CQ_VERY_BAD;
        cq[1] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_AF3);
        cq[2] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_T7);
        cq[3] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_O1);
        cq[4] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_T8);
        cq[5] = state.GetContactQuality((int)EdkDll.IEE_InputChannels_t.IEE_CHAN_AF4);
        for (int i = 1; i < cq.Length; i++)
        {
            if (cq[i] > EdkDll.IEE_EEG_ContactQuality_t.IEEG_CQ_VERY_BAD)
            {
                cq[0] = EdkDll.IEE_EEG_ContactQuality_t.IEEG_CQ_GOOD;
                break;
            }
        }
        return(cq);
    }