private void connectButton_Click(object sender, EventArgs e) { string user = UsernameTextBox.Text.Trim(); string pass = PasswordTextBox.Text.Trim(); string profile = ProfileTextBox.Text.Trim(); ConnectionLabel.Text = "Connecting..."; device = new EPOCEmotivDevice(user, pass, profile); bool connected = true; string error = ""; device.OnConnectAttempted += (c, em) => { connected = c; error = em; }; device.Connect(); if (connected) { ConnectionLabel.Text = "Device connected"; } else { MessageBox.Show("Unable to connect device: " + error, "Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error); device = null; ConnectionLabel.Text = "Failed to connect device. Try again"; } }
protected void deviceSetup(int a) { if (Start_Screen.username == null) { device = new RandomEmotivDevice(); //DisplayManager.PopUpVirtualUnityDevice(); Start_Screen.profile = "Testing"; } else if (Start_Screen.username != null) { device = new EPOCEmotivDevice(Start_Screen.username, Start_Screen.password, Start_Screen.profile); } }
protected override IEmotivDevice CreateDevice() { if (DeviceInstance == null) { DeviceInstance = base.CreateDevice(); bool suc = false; DeviceInstance.OnConnectAttempted += (b, m) => { suc = b; }; DeviceInstance.Connect(); if (suc == false) { throw new NullEmotivDeviceException(); } } return(DeviceInstance); }
/// <summary> /// Creates a reader with a target command, interval, and threshhold to report average accuracry per interval /// </summary> /// <param name="device"></param> /// <param name="target"></param> /// <param name="intervalMs"></param> /// <param name="threshHold"></param> public EmotivAnalyticReader(IEmotivDevice device, EmotivCommandType target, long intervalMs, float threshHold) : this(device) { this.TargetCommand = target; this.Interval = intervalMs; this.ThreshHold = threshHold; IntervalTimer = new Timer(intervalMs); IntervalTimer.AutoReset = true; //reset list and enables 'ReadingState' to return a value IntervalTimer.Elapsed += (o, e) => { //unlock loop in 'ReadingState' ShouldReturn = true; }; //trigger the timer OnStart += () => { IntervalTimer.Enabled = true; }; }
/// <summary> /// Creates device either to random or Epoc device and insures connectivity. /// Call 'OnSuccess' when connection suceesd. /// </summary> public void Connect() { try { if (IsRandom) { Device = new RandomEmotivDevice(); } else { Device = new EPOCEmotivDevice(Username.text, Password.text, Profile.text); } string error = ""; bool suc = true; Device.OnConnectAttempted += (b, m) => { error = m; suc = b; }; Device.Connect(); if (suc) { title.text = "Connected!"; OnSucuess.Invoke(); } else { title.text = error; } } catch (Exception e) { title.text = e.ToString(); Crashlytics.RecordCustomException("Device Connection Exception", "thrown exception", e.StackTrace); } }
/// <summary> /// Creates and attaches Timemline to reader /// </summary> /// <param name="Device"></param> /// <param name="Reader"></param> public override void Setup(IEmotivDevice Device, IEmotivReader Reader) { Timeline = new Timeline <IEmotivState>(); Reader.OnRead += e => Timeline.Register(e); }
/// <summary> /// Connect a device on a thread /// </summary> /// <param name="device"></param> public EmotivDeviceConnector(IEmotivDevice device) { Device = device; ConnectingThread = new Thread(device.Connect); }
/// <summary> /// Sets up device from creation. /// <see cref="CreateDevice"/> /// </summary> public override void Setup() { Content = CreateDevice(); }
/// <summary> /// Default /// </summary> /// <param name="device"></param> private EmotivAnalyticReader(IEmotivDevice device) : base(device) { ShouldReturn = false; }
private void ConnectionLabel_Click(object sender, EventArgs e) { device = new RandomEmotivDevice(); ConnectionLabel.Text = "Random Device Connected!"; }
/// <summary> /// Creates device /// </summary> /// <param name="device"></param> /// <returns></returns> protected abstract IEmotivReader CreateReader(IEmotivDevice device);
/// <summary> /// Sets up created device /// </summary> /// <see cref="CreateReader(IEmotivDevice)"/> /// <param name="device"></param> public override void SetUp(IEmotivDevice device) { Content = CreateReader(device); }
public EmotivReader(IEmotivDevice device) : base(device) { }
public void Start() { LoginWindow.OnLoginedIn += (d) => DeviceInstance = d; }
public BasicEmotivReader(IEmotivDevice device, bool ShouldReadNull = true) : base(device) { this.ShouldReadNull = ShouldReadNull; }
/// <summary> /// Sets up a reader. /// </summary> /// <param name="device"></param> public abstract void SetUp(IEmotivDevice device);
/// <summary> /// Sets up interpretation. /// </summary> /// <param name="Device"></param> /// <param name="Reader"></param> public abstract void Setup(IEmotivDevice Device, IEmotivReader Reader);
/// <summary> /// Create device /// </summary> /// <param name="device"></param> /// <returns></returns> protected override IEmotivReader CreateReader(IEmotivDevice device) { return(new BasicEmotivReader(device, AllowNull)); }