issue building OPENBCI_GUI in Processing ?

I have zero experience with java. So, the question could be stupid.
I got the code from the git hub for OPENBCI_GUI and tried to compile and run it in processing (the IDE). I got the following error "Cannot find anything named “frame”".
I did dig into several initial/setup functions to find if the variable has been claimed. No luck.
Does anyone know how to solve this?
I am just trying to read EEG data into OPENBCI_GUI and export it somewhere else.
Thank you!!
Comments
Hello Your,
Is there some reason you need to compile yourself? Why not use the pre-compiled binaries? If you do need to build, are you following the guidelines?
https://docs.openbci.com/Software/OpenBCISoftware/GUIDocs/#running-the-openbci-gui-from-the-processing-ide
William
Thank you so much for your quick reply. I am new to this. I purchased an EEG kit with ADS1299. In other's sharing, it could be read by OPENBCI.
The reason I am trying to compile the GUI is I might need to add addition processing or analysis written by myself, and do the analysis and raw data saving at the same time. I am not familiar with OPENBCI.
I will follow the guidelines to compile the package.
Thank you again.
Hi, so to clarify, are you talking about a board such as Cyton or Ganglion that you purchased from OpenBCI? Or is this something else unrelated, you refer to as an 'EEG kit'. The GUI cannot be depended upon to support non-OpenBCI hardware.
As far as analysis / DSP digital signal processing goes -- this is much better done with external DSP libraries, packages, for some examples see,
https://docs.openbci.com/Software/CompatibleThirdPartySoftware/Matlab/
If your device is emulating OpenBCI boards, you may also be able to use BrainFlow:
https://brainflow.org/
https://brainflow.readthedocs.io/en/stable/Examples.html
It's not a board like Cyton or Ganglion. They don't have the high sampling rate I am looking for. I am planning to use the Lab Streaming Layer, which was part of the OPENBCI_GUI function, to visualize the data. I noticed in the recent version the part is gone. I installed the previous version of OPENBCI_GUI, which was not working on my MAC OS 13.5.
I am also looking into the LSL in OPENBCI, which is used to stream data to other software.
https://docs.openbci.com/Software/CompatibleThirdPartySoftware/LSL/.
Thank you very much for your suggestions on BrainFlow, I will take a closer look.
No, that is not true. LSL is still available in the Networking Widget. See documentation for that widget.
No need to install a previous version.
That repo / package is now unsupported, as the '-archive' suffix shows in the name:
https://github.com/openbci-archive/OpenBCI_LSL
You may find better support directly from the LSL group:
https://labstreaminglayer.org/#/
https://labstreaminglayer.readthedocs.io/
https://labstreaminglayer.readthedocs.io/info/supported_devices.html
Thank you so much for your detailed introduction. Please allow me to spend some time and find out if they are working for my project.
Really appreciate your help.
Just a quick update: I just tried the OPENBCI_GUI again to stream the data. I just realized my problem was I could not find the serial port in the GUI and I could not manually set it.
Do you know what serial port is appearing in /dev ? The auto-finding of the serial port likely only works for OpenBCI boards.
https://docs.openbci.com/GettingStarted/Boards/CytonGS/#2-select-serial-transfer-protocol
The /dev entry generally appears / disappears as you plug / unplug the usb serial port device. So this requires using the 'ls' command or Finder / folder view to see what is the device.
I know my port is and I could use the terminal command to steam the data from the serial port. But it looks like I won't be able to input it in the OpenBCI.
Seems to me it is very unlikely that your device is outputting the data stream in Cyton compatible format. Unless it was sold as a Cyton clone. Have you tried contacting the manufacturer directly?
They didn't mention if OPENBCI is supporting right now. It was supported, because several people used it and posted online about this. I will try to contact them to see what they would suggest.
Thank you so much for your patience. I hope my questions don't waste too much time of yours
Where was this posted? Link? Link to manufacturer?
Here's the link : https://www.crowdsupply.com/starcat/hackeeg/updates/hackeeg-and-openbci
I'm afraid you did not actually read the statement on that page:
The fork mentioned was done 4+ YEARS ago and is hugely out of date with current GUI features.
Thank you for pointing this out. I was misled by myself. I was trying to do a similar thing to stream the data, but I don't think it would be easy. I will try other approaches to figure this out. Thank you again.
Since he mentions that his device can output LSL, there are MANY other LSL compatible programs that could display your data. Such as OpenViBE, etc.
https://labstreaminglayer.readthedocs.io/info/supported_devices.html
https://labstreaminglayer.readthedocs.io/info/viewers.html
Thank you for your suggestions. I selected OPENBCI because the GUI is very friendly. I will try other LSL programs later.
Really appreciate your help.
You may still be able to use the 'fork' he made of the GUI. But since it is so badly out of date, lower your expectations. LSL input was never a feature implemented in the OpenBCI maintained GUI.
Thank you for letting me know.
By the way, could you please give me some suggestions on my original question about compiling in processing? I got the error "Cannot find anything named “frame”".
You followed the steps at?
https://docs.openbci.com/Software/OpenBCISoftware/GUIDocs/#running-the-openbci-gui-from-the-processing-ide
I did follow the guidance. I think it's more about libraries. I figured that part out. My error looks like a variable "frame" is not claimed before it's called.