Skip to content
SuperCollider classes for communicating with Open Brain Computer Interface
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
HelpSource/Classes
examples
.gitignore
Cyton.sc
CytonSerial.sc
CytonWifi.sc
DataBuffer.sc
DataFFT.sc
DataFilter.sc
DataFilterBandpass.sc
DataFilterNotch.sc
DataRecord.sc
DataSequencer.sc
DataSmoothing.sc
Ganglion.sc
GanglionSerial.sc
GanglionWifi.sc
OpenBCI.quark
OpenBCI.sc
OpenBCIboard.sc
PlaybackData.sc
README.md
SyntheticData.sc

README.md

a Quark for SuperCollider

OpenBCI

SuperCollider classes for communicating with Open Brain Computer Interface.

The following boards are supported...

//install
Quarks.fetchDirectory
Quarks.install("OpenBCI-SuperCollider")
//recompile
OpenBCI.openHelpFile

for more info see http://openbci.com

overview

  • Cyton, CytonDaisy, Ganglion - use these SuperCollider classes if you connect to your board via bluetooth serial (the dongle). Maximum sample rate is 250Hz (Cyton) and 200Hz (Ganglion).

  • CytonWifi, CytonDaisyWifi, GanglionWifi - these SuperCollider classes require the WiFi Shield and a special firmware ( arduino sketch ) for sending OSC. Maximum sample rate for these classes is 16000Hz.

  • SyntheticData - with this class you generate synthetic test data. No hardware board needed.

  • DataFilterNotch, DataFilterBandpass, DataSmoothing, DataFFT etc - these are classes for analysing and modifying data.

troubleshooting

mac os 10.12.x and later with cyton + dongle...

if you experience freezes and sporadic updates in the stream of serial data, make sure that you are using the AppleUSBFTDI driver and not the driver from ftdichip.com. to check plug in the dongle, open terminal and type...

kextstat | grep FTDI

if it is reporting com.FTDI.driver.FTDIUSBSerialDriver (2.4.2) then unload this driver with the following terminal command...

sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver

unplug and plug in the dongle and once again run...

kextstat | grep FTDI

it should now report com.apple.driver.AppleUSBFTDI (5.0.0) and the data should come streaming in at a smooth rate and without hickups. test this with for example the file gui_example_userview_accelerometer.scd.

mac os 10.11.x and earlier with cyton + dongle... if hickups and freezes see here... http://docs.openbci.com/Tutorials/10-Mac_FTDI_Driver_Fix

changelog

  • 1.61 - bugfix, remove wifi reset argument, simplify focus widget example
  • 1.60 - file recording class, changed dataAction arguments
  • 1.53 - file playback class
  • 1.52 - focus widget
  • 1.51 - bugfix for numChannels that made most examples stop working
  • 1.50 - renamed buf, fft, lag, seq, test classes and added OpenBCIboard, bandpower widget
  • 1.40 - rewrote filters and OpenBCIfft again, bufferSize, added OpenBCIlag, fixed examples
  • 1.30 - rewrote filters and OpenBCIfft, added internal board buffer, fixed examples
  • 1.20 - added filter functionality and classes, scaling inside classes, many example fixes
  • 1.13 - ported some openbci_gui widgets, added tests, currentSampleRate, active flags
  • 1.12 - added new sequencer class, buffer class stop bugfix, fixed examples
  • 1.11 - added new buffer class
  • 1.10 - big fixes to fft, clean up examples
  • 1.02 - changed to direct ip instead of broadcast - need latest WifiShieldOSC
  • 1.01 - improved helpfile, added initAction feedback, new advanced example
  • 1.00 - big breaking rewrite and restructure of classes, added osc wifi classes

todo

  • are getRadioChannel, setRadioChannel, setRadioHostChannel, getRadioPollTime, setRadioPollTime, setRadioHostBaudRate, getRadioSystemStatus, attachWifi, removeWifi supposed to work with wifishield?
  • document all methods in Cyton, CytonDaisy and Ganglion classes
  • add a 10sec timeout on initAction
  • implement and test the different aux commands
  • finish and test Ganlion classes - both serial and wifi
  • finish and test Daisy classes - both serial and wifi
  • deal with muted channels in test and fft classes
  • DataFFT - add different fft window types
  • converter class for SD log file data
You can’t perform that action at this time.