Code Monkey home page Code Monkey logo

openbci_gui's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openbci_gui's Issues

Improved Interactivity

  • Right now the dropdown menus are frustrating ... we need to figure out some hover and mouse tracking action to have menus auto-close
  • Hover suggestions/explanations over buttons ... for people that don't know what various things mean! (thanks for the idea, Andrea) ... this could be a but attribute ... String helpText = "xyz" ... if helpText != "" ... then show helpText after ~1 second
  • Query screen size before setting default x, y of window ... to prevent initial GUI from being larger than display resolution
  • Have all buttons activate on mouseReleased() as opposed to mousePressed()

Tracking: Ganglion Frontend

Bug Fixes

  • FFT widget only goes to 100Hz max
  • Cannot change the file name for a new output file. (can't type in text box)

New features

  • Impedance check button
  • No ganglion found error message

Updated Widget Organization System

An overhaul of the entire widget system

  • Drop down for widget layout
  • Within each widget, turn upper left button into dropdown to select the widget for this container.
  • Backend code to add/remove widgets if container quantity changes

Bug: Radio configure utility

Just tried using the utility and noticed:

  • Help tip popups show up behind the control panel and become unreadable
  • No disconnect button, when i tried to go back to the control panel to connect, I got was not able to because the util was still connected to the serial port.
  • No feedback that the board is attempting to connect

New Feature: OpenBCI 32 bit Firmware Additions

  • Get channel # — tells you channel number of your host/device pair
  • Set channel # — sets host and device, if device present. In case of failure to change, reverts back to original
  • set channel override — only sets the host... use this in case of not knowing device channel # ...
  • set channel override LOOP — loop host through channels until it makes contact with device
  • Set poll time — in case you're running into programming issues / code to radios (Serial-related timing)... FAST / MEDIUM / SLOW / OTHER ___
  • Parsing soft reset message for firmware v2 — GUI needs to work with V1 & V2 firmware

Widget: Impedance

  • Four channels
  • Text feedback of impedance value
  • Visual feedback of impedance value (Green, Yellow, Red...)

Clean up repo

  • Remove all files that are not needed.
  • Organize​ PDE files
  • Rename all widgets to W_Xyz.pde

Tracking: Ganglion Backend Integration

New Features

  • Building ganglion code as a binary. See electron
  • Launching binary from processing. See processing's launch()
  • Node process status checks
  • Impedance checking
  • Show no ganglion's found message in control panel
  • Pass channel changing messages to node

Bug Fixes

  • Going back to the control panel should disconnect the Ganglion BLE inside the node process, but not stop the node process.
  • FFT widget only goes to 100Hz max

Playback Mode needs networking option

I can see that there are a few lines referencing
netowrkingBoxPlayback
This would be super handy for developing on the receiving end and troubleshooting without having to be streaming live data.

More playback control

A feature request is extended playback control, such as the ability to start the file from the beginning while still in the GUI, viewing data. When playing back files, I would often want to start at the beginning to re-examine the data I've seen so far; however, the GUI currently only allows for pause ("Stop data stream") and resume ("Start data stream"). The only way to start from the beginning is to exit the system and then restart the system. It would be great to have a "Reset"/"Start from beginning" option in data view mode.

Other options could be "jump back 5 seconds" to re-examine particular moments in the playback. Or set a marker to be able to start from (e.g. play back the data from timepoint 1:30).

Reset sampleCounter to 0 to avoid false missed packets

BDF Working

Verify BDF output is working for both Ganglion and OpenBCI 32 Bit board

  • Pass through scale to BDF
  • Switch file ending to BDF
  • Switch file name to BDF

Widget: EMG Responsiveness

Improve the overall responsiveness of the EMG widget

  • Backend
  • Sliders
  • Stop circles from leaving window
  • Fix config window

Resizing the window will reset some button texts and values

Resizing the window during data streaming will reset the text to "start data streaming", which is supposed to be "stop data streaming" still.

Resizing will also reset both texts and values of "Vert Scale(uV)", "Vert Scale(Log)", "Polarity" and "Max Freq". It would be better if they remain the same after resizing, as the rest of the buttons do.

Before resizing:
screen shot 2016-07-18 at 5 12 31 pm

After resizing: (buttons in red are those that reset after resizing)
screen shot 2016-07-18 at 5 12 40 pm copy

Widget: New Time Series Plot

New time series plot

Ganglion Mode

  • Remove Ohm when in Ganglion mode
  • Remove "hardware settings" from time series plot in Ganglion mode

Playback mode

  • Indicator of current place in time
  • Located on bottom of time series plot
  • Total time and slider like watching a youtube video

Widget: Montage (previously head plot)

  • Ultracortex presets
  • Mulitple channels
  • 10-20 labeling
  • Drag and drop channel number to 10-20 position
  • Drag and drop reference adn ground
  • Impedance testing visual feedback

Clean Up Control Panel

  • Add "Tutorial" Button that links to Youtube tutorial for getting started via control panel
  • Fix spacing and make sure radio utility doesn't have any bugs
  • radio config/utility has the "SET CHANNEL" list created by default ... it needs to be turned on/off so as not to appear during loading sequence ... it could also be a mode conditional that needs to be updated

Code Reorganization

  • move all button.isMouseHere() interactivity from interactivity.pde into respective isMouseHere() functions of parent objects ... ex: topNav.stopButton.isMouseHere() should be in the isMouseHere() function of the topNav instance.

Final stuff for prod

  • Weird signal for ganglion second time device is used in same session
  • Kill hub at start up
  • GUI crash Cyton error when board is off
  • Clear BLE list on refresh click
  • Ganglion not writing accelerometer data
  • Electron not able to reconnect to board if it lost power with a connection on.
  • Kill spikes #90

"Playback" automatically selects 8 channel view

I noticed that when playing back a 16 channel recording on the GUI, it automatically sets the GUI to read the first 8 channels of the data only. This could only be changed to the 16 channel version of the GUI when first selecting "Live (from OpenBCI)", selecting 16 channels, then clicking "Playback (from file)" and starting the system from there. This is unintuitive, since the option of "Channel Count" looks like it refers to the "Live" data source mode, but not to the "Playback" mode.

In short - the "Channel Count" option should also appear at the "Playback (from file)" panel, or have the program automatically detect that there are 16 channels (columns) of data being read.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.