Ganglion - Raspberry Pi Compatibility

slowlettuceslowlettuce United States
edited November 2018 in Ganglion
Here's the skinny: I'm trying to use a Ganglion board to collect EEG data to ultimately modulate an LED ring as a mood light for raves n such. Is it possible to bypass the need for a bulky computer and use a Raspberry Pi as the intermediary for this setup?

Comments

  • wjcroftwjcroft Mount Shasta, CA
    Slow, hi.

    Previous Raspberry owners have been able to use Cyton, because the Cyton dongle just plugs into the Pi usb port.

    It's possible the built in Bluetooth Low Energy on the Pi may be compatible with Ganglion. But if not, the BLED112 dongle on a usb port should work. However this assumes you are using the OpenBCI_GUI. I don't believe OpenBCI_Python yet can interface with BLED112.

    Raspberry Pi is inexpensive, you can just buy or borrow one and try some tests.

    Regards,

    William

  • slowlettuceslowlettuce United States
    Whenever I run the GUI through processing it does so without errors, but I get a blank window.

    Here's what reads when I execute the code:
    Screen Resolution: 1184 X 624
    The sketch has been automatically resized to fit the screen resolution
    Launching application from local data dir
    OpenBCI_GUI: hubStart: OS Detected: Linux
    hubStart: java.lang.RuntimeException: Exception while attempting /home/pi/Downloads/OpenBCI_GUI-master/OpenBCI_GUI/data/OpenBCIHub
    Welcome to the Processing-based OpenBCI GUI!
    For more information about how to work with this code base, please visit: http://docs.openbci.com/OpenBCI Software/
    Local Version: 402, Latest Version: 402
    GUI is up to date!
    Graphics & GUI Library: ControlP5 2.2.6 infos, comments, questions at http://www.sojamo.de/libraries/controlP5
    java.lang.RuntimeException: Waited 5000ms for: <17f67d8, 1b88b87>[count 1, qsz 1, owner <main-FPSAWTAnimator#00-Timer0>] - <main-FPSAWTAnimator#00-Timer0-FPSAWTAnimator#00-Timer1>
    at processing.opengl.PSurfaceJOGL$2.run(PSurfaceJOGL.java:410)
    at java.lang.Thread.run(Thread.java:748)
  • wjcroftwjcroft Mount Shasta, CA
    Blank screen issues with Processing / OpenBCI_GUI, are usually due to some mismatch between OpenGL, and the base hardware / drivers. The usual recommendation is to look around on the web for up to date OpenGL drivers for your platform.

  • slowlettuceslowlettuce United States
    OpenGL is up to date/activated and I'm still running into a blank frame.

    Now there's a new slew of code
    Screen Resolution: 1280 X 720
    MESA-LOADER: failed to retrieve device information
    MESA-LOADER: failed to retrieve device information
    MESA-LOADER: failed to retrieve device information
    libGL error: MESA-LOADER: failed to retrieve device information
    MESA-LOADER: failed to retrieve device information
    MESA-LOADER: failed to retrieve device information
    libGL error: MESA-LOADER: failed to retrieve device information
    MESA-LOADER: failed to retrieve device information
    MESA-LOADER: failed to retrieve device information
    Launching application from local data dir
    OpenBCI_GUI: hubStart: OS Detected: Linux
    hubStart: java.lang.RuntimeException: Exception while attempting /home/pi/sketchbook/OpenBCI_GUI/data/OpenBCIHub
    Welcome to the Processing-based OpenBCI GUI!
    For more information about how to work with this code base, please visit: http://docs.openbci.com/OpenBCI Software/
    Local Version: 402, Latest Version: 402
    GUI is up to date!
    Graphics & GUI Library: ControlP5 2.2.6 infos, comments, questions at http://www.sojamo.de/libraries/controlP5
    RunnableTask.run(): A caught exception occured on thread main-Display-.x11_:0.0-1-EDT-1: RunnableTask[enqueued true[executed false, flushed false], tTotal 1 ms, tExec 0 ms, tQueue 1 ms, attachment null, throwable java.lang.RuntimeException: Waited 5000ms for: <17bcf7c, 1bc2ce3>[count 2, qsz 0, owner <main-FPSAWTAnimator#00-Timer0>] - <main-Display-.x11_:0.0-1-EDT-1>]
    java.lang.RuntimeException: Waited 5000ms for: <17bcf7c, 1bc2ce3>[count 2, qsz 0, owner <main-FPSAWTAnimator#00-Timer0>] - <main-Display-.x11_:0.0-1-EDT-1>
    at jogamp.common.util.locks.RecursiveLockImpl01Unfairish.lock(RecursiveLockImpl01Unfairish.java:198)
    at jogamp.newt.WindowImpl$ResizableAction.run(WindowImpl.java:2118)
    at jogamp.newt.DisplayImpl.runOnEDTIfAvail(DisplayImpl.java:450)
    at jogamp.newt.WindowImpl.runOnEDTIfAvail(WindowImpl.java:2782)
    at jogamp.newt.WindowImpl.setResizable(WindowImpl.java:2154)
    at com.jogamp.newt.opengl.GLWindow.setResizable(GLWindow.java:370)
    at processing.opengl.PSurfaceJOGL$5.run(PSurfaceJOGL.java:452)
    at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:127)
    at jogamp.newt.DefaultEDTUtil$NEDT.run(DefaultEDTUtil.java:375)
    DefaultEDT.run(): Caught exception occured on thread main-Display-.x11_:0.0-1-EDT-1: RunnableTask[enqueued false[executed true, flushed false], tTotal 5011 ms, tExec 5010 ms, tQueue 1 ms, attachment null, throwable java.lang.RuntimeException: Waited 5000ms for: <17bcf7c, 1bc2ce3>[count 2, qsz 0, owner <main-FPSAWTAnimator#00-Timer0>] - <main-Display-.x11_:0.0-1-EDT-1>]
    java.lang.RuntimeException: Waited 5000ms for: <17bcf7c, 1bc2ce3>[count 2, qsz 0, owner <main-FPSAWTAnimator#00-Timer0>] - <main-Display-.x11_:0.0-1-EDT-1>
    at jogamp.common.util.locks.RecursiveLockImpl01Unfairish.lock(RecursiveLockImpl01Unfairish.java:198)
    at jogamp.newt.WindowImpl$ResizableAction.run(WindowImpl.java:2118)
    at jogamp.newt.DisplayImpl.runOnEDTIfAvail(DisplayImpl.java:450)
    at jogamp.newt.WindowImpl.runOnEDTIfAvail(WindowImpl.java:2782)
    at jogamp.newt.WindowImpl.setResizable(WindowImpl.java:2154)
    at com.jogamp.newt.opengl.GLWindow.setResizable(GLWindow.java:370)
    at processing.opengl.PSurfaceJOGL$5.run(PSurfaceJOGL.java:452)
    at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:127)
    at jogamp.newt.DefaultEDTUtil$NEDT.run(DefaultEDTUtil.java:375)
    java.lang.RuntimeException: Waited 5000ms for: <17bcf7c, 1bc2ce3>[count 2, qsz 1, owner <main-FPSAWTAnimator#00-Timer0>] - <main-FPSAWTAnimator#00-Timer0-FPSAWTAnimator#00-Timer1>
    at processing.opengl.PSurfaceJOGL$2.run(PSurfaceJOGL.java:410)
    at java.lang.Thread.run(Thread.java:748)
  • wjcroftwjcroft Mount Shasta, CA
    I still suggest searching around on Google / Raspberry forums for tips on how to use Processing + OpenGL with the Pi. All of these error messages look OpenGL related.

    Try a simplest possible OpenGL test program, that will eliminate the OpenBCI aspects. It's also possible that one of the libraries that the GUI uses, such as controlP5, interacts in a bad way with OpenGL on the Pi. Hence, try searching on those combinations.

    Have you tried running as root? 



    I assume you've tried running directly from Processing vs. the standalone.



    "...the openGL driver doesn't seem to be able to configure the video output to as many combinations of resolutions and frame rates as the standard driver, so some monitors fail to produce a display if the video doesn't match a supported resolution and frame rate. ..."

    Test programs,



Sign In or Register to comment.