openbci-archive / -deprecated-openbci_processing Goto Github PK
View Code? Open in Web Editor NEWRepository containing the latest OpenBCI Processing GUI.
License: MIT License
Repository containing the latest OpenBCI Processing GUI.
License: MIT License
See my comments to #30, which introduced this binary.
This commit:
added a new version of gwoptics.jar file, which does not work on Mac OS X. The version of Java bundled with OS X version of Processing is too old to read this jarfile, it has classes compiled for Java 1.8.
Note: It does not matter what version of Java is installed in OS X itself, Processing for Mac OS X bundles an internal Java version.
I don't know what this commit supposed to fix, but it broke this app for Mac OS X completely, it does not even run.
Hi, this may sound stupid but the repository openbci_processing and openbci_gui are very confusing. I guess this one is obsolete, but the descriptions says "Repository containing the latest OpenBCI Processing GUI." I think you should change the description and add a line in the readme to redirect people to https://github.com/OpenBCI/OpenBCI_GUI.
Here's all I changed to log the system time:
Inside dataFiles.pde:
public void writeRawData_dataPacket(DataPacket_ADS1299 data, float scale_to_uV, float scale_for_aux) {
if (output != null) {
writeTime();
output.print(Integer.toString(data.sampleIndex));
writeValues(data.values,scale_to_uV);
writeValues(data.auxValues,scale_for_aux);
output.println(); rowsWritten++;
//output.flush();
}
}
private void writeTime() {
output.print(String.format("%d", System.currentTimeMillis()));
output.print(", ");
}
Thanks very much for all the help!
I have a Docs related issue which I cannot file, so sorry for spamming here.
Cheers, Mark
Hi,
I'd love to be able to use OpenBCI hardware from any JVM language, library, app, etc ...
As processing is a built on the Java language, I tried to extract the communication part out of OpenBCI_Processing to make an independant library, but as the communication code is deeply mixed inside the UI code, it's a very complicated task, and I think I miss a few steps to initialize my hardware correctly.
So can anyone help me to understand the basic steps needed to initialize a communication with the OpenBCI hardware and receive data from it while relying on the existing code ?
Then I'll be happy to build a Java lib around that code and contribute it to the OpenBCI project.
Thanks
I'm getting an error about processing.core.PVector.normalize
. this function is not being found.
@taolin1992, do you have this same problem? I see it with both the https://github.com/OpenBCI/OpenBCI_Processing_3 and the v3.0
branch.
java.lang.RuntimeException: java.lang.NoSuchMethodError: processing.core.PVector.normalize()V
at processing.opengl.PSurfaceJOGL$2.run(PSurfaceJOGL.java:370)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: processing.core.PVector.normalize()V
at org.gwoptics.graphics.graph2D.Axis2D.setAxesDirection(Unknown Source)
at org.gwoptics.graphics.graph2D.Graph2D.<init>(Unknown Source)
at OpenBCI_GUI$Gui_Manager.<init>(OpenBCI_GUI.java:3329)
at OpenBCI_GUI.initializeGUI(OpenBCI_GUI.java:411)
at OpenBCI_GUI.initSystem(OpenBCI_GUI.java:335)
at OpenBCI_GUI$ControlPanel.CPmouseReleased(OpenBCI_GUI.java:2472)
at OpenBCI_GUI.mouseReleased(OpenBCI_GUI.java:1018)
at processing.core.PApplet.mouseReleased(PApplet.java:2773)
at processing.core.PApplet.handleMouseEvent(PApplet.java:2682)
at processing.core.PApplet.dequeueEvents(PApplet.java:2596)
at processing.core.PApplet.handleDraw(PApplet.java:2407)
at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:654)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:691)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:673)
at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:442)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1277)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1131)
at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:680)
at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:77)
at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:451)
at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Following the tutorial, I copied the library folders from downloaded files into my own processing library folder, then it still prompted that I missed the library controlP5. Then I tried the Sketch -> Import Library and it worked for me.
I'm not sure if I'm the only one with this, hope it could be helpful for someone else :)
We should have a standardized EEG export format. EDF is a standard format, but the only issue is that is stored in 16bit resolution versus the original 24bit.
only 8 channels show up when in 16chan mode & playback mode...
The stand-alone GUI application writes logs into a directory from which it is run. This generates errors when GUI is installed in a directory where user has no writing rights to.
It should write to user's data directory instead.
You should modify line 142 and 146 as follows, add reader argument:
if (row == 0 && header) {
setColumnTitles(tsv ? PApplet.split(line, '\t') : splitLineCSV(line, reader));
header = false;
}
else {
setRow(row, tsv ? PApplet.split(line, '\t') : splitLineCSV(line, reader));
row++;
}
To duplicate:
-- START
Immediate solutions:
RST
button on the boardProposed Solutions:
Tried copying the libraries as per tutorial suggested but still having problems in recognizing functions related to those libraries, tried updating and also tried previous versions for libraries and processing itself, any help will b appreciated.
Ok so turning Channel 1 - lead-off impedance signal injecting ('z101Z') produces the proper impedance we should be seeing of 4.86 kOhm (+/- 20% of 6nA) with external 2.2kOhm series resistor and internal 2.2kOhm series resistor:
https://www.dropbox.com/s/3zwph81rg6z67io/Screenshot%202016-02-29%2007.57.13.png?dl=0
Then turning channel 2 [-] on ('z201Z') produces NO system other internal test signals:
https://www.dropbox.com/s/qase0x8du8zmlpa/Screenshot%202016-02-29%2007.59.42.png?dl=0
Then turning channel 3 [-] on ('z301Z') things get weird:
https://www.dropbox.com/s/noskayouy88cxry/Screenshot%202016-02-29%2008.01.24.png?dl=0
--- The voltage on channel 1 and 2 are the same at 29.6uVrms
--- The voltage on channel 2 increases by 2*9uVrms to 29.6uVrms
--- The voltage on channel 1, 3, 4, 5, 6, 7, 8 increases by 9uVrms
Then turning channel 4 [-] on ('z401Z'):
https://www.dropbox.com/s/t6m97cyei63eete/Screenshot%202016-02-29%2008.06.17.png?dl=0
--- The voltage on channel 1, 2, and 3 are the same at ~39uVrms
--- The voltage on channel 3 increases by 2*9uVrms to 39uVrms
--- The voltage on channel 4, 5, 6, 7, 8 increase by 9uVrms
The pattern continues all the way to turning channel 8 on:
https://www.dropbox.com/s/05wczobqirgcabj/Screenshot%202016-02-29%2008.12.00.png?dl=0
https://www.dropbox.com/s/fmooe38crukutel/Screenshot%202016-02-29%2008.12.09.png?dl=0
https://www.dropbox.com/s/ltnn4wpduskzd49/Screenshot%202016-02-29%2008.12.20.png?dl=0
https://www.dropbox.com/s/a8xeidrrq52gt5p/Screenshot%202016-02-29%2008.12.31.png?dl=0
And then to turn them off, I MUST turn them off consecutively starting from channel 1 going to channel 8, i cannot turn them off starting from channel 8 and working down.
working in linux, where and in witch file i can add lines of code like this(pseudo-code):
if (value >= lowerAverage && value <= upperAverage){
serial.write('You're `moving?);`
}
where, for example, the serial is an arduino and the values are in uC?
We should also apply the filter setting to the time-frequency plots
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.