Skip to content

openbci-archive/OpenBCI_C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenBCI_C

C driver for OpenBCI boards.

This is very immature. More work has occured in the nodejs driver. See https://github.com/OpenBCI/OpenBCI_NodeJS

Community Built Library

This library is not maintained by OpenBCI, but everyone is welcome to work on it in any capacity. Just send a pull request and we'll merge it. Try not to break anything! :)

Building

If building from git, automake and autoconf are required to create the configure script.

./autogen.sh

Then:

./configure
make

Running

./test

In order to communicate with the board, you currently must echo directly to the board. For example...
echo -n 'b' > /dev/ttyUSB0 to start streaming
echo -n 's' > /dev/ttyUSB0 to stop streaming

Any other character can be sent, however only certain characters will do things to the board. Check out http://docs.openbci.com/software/01-OpenBCI_SDK for more info.

##To-Do

  • Redefine the packet structure to be more user friendly, including string data and names for accelerometer data
  • Clean up streaming code to be simpler and more flexible
  • Provide all functions of board
    • Enumerate functions here
  • Fix Address Boundary Error
  • Error handling (what is meant here?)
  • Implement tests
  • Implementations with: Python, Labstreaminglayer, Matlab, Java/Processing

##Known Bugs

  • Stock board does not reset properly on start and may occasionally begin streaming in a corrupt manner. Library does not detect this.