コード例 #1
0
ファイル: acquisition.py プロジェクト: sokrat3s/OpenNFB
class OpenBCIThread(QtCore.QThread):
  newPacket = QtCore.Signal(object)
  
  def __init__(self, ttyPath = '/dev/ttyUSB0'):
    super(OpenBCIThread, self).__init__()
    
    self.board = OpenBCIBoard(ttyPath, scaled_output=False)

  def handlePacket(self, sample):
    self.newPacket.emit(sample.channel_data)
    QtGui.QApplication.instance().processEvents()
    
  def run(self):
    try:
      self.board.print_register_settings()
      self.board.start_streaming(self.handlePacket)

    # Important workaround for OSX: If the input is not kept on being read, the whole (input sub-)system freezes
    except Exception as e:
      print ("Exception", e)
      while True:
        self.board.ser.read()
コード例 #2
0
						del changather[:]
					self.sample_counter = 0

aparser = ArgumentParser()
aparser.add_argument('dongle_device')
aparser.add_argument('underlying_arduino')
args = aparser.parse_args()

load_waveform_samples()
# make flexible

board = OpenBCIBoard(port=args.dongle_device)
arduino_slave = serial.Serial(args.underlying_arduino, 9600) #replace with serial rate for underlying arduino program
#board.print_register_settings()

for c in 'svcd':
	board.ser.write(c)
	time.sleep(0.100)
time.sleep(0.100)

atexit.register(board.disconnect)

# collect the data in a separate thread
# to prevent blocking
classifying_thread = FFTBCIThread()
classifying_thread.daemon = True
classifying_thread.start()

# handle grabbing board data on main thread
board.start_streaming(handle_sample)
コード例 #3
0
#signal.signal(signal.SIGINT, signal.SIG_DFL)

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

ttyPath = '/dev/ttyUSB0'
if len(sys.argv) > 1:
  ttyPath = sys.argv[1]

last_packet = 0


def send_packet(packet):
  global last_packet

  expected = (last_packet + 1) % 256

  if packet.id != expected:
  	print 'lost packet', expected

  last_packet = packet.id


  data = json.dumps(packet.channel_data)
  sock.sendto(data.encode('utf-8'), ('localhost', 8888))
  data = struct.pack('=f', packet.channel_data[0] * 0.022351744455307063)
  sock.sendto(data, ('localhost', 9999))

board = OpenBCIBoard(ttyPath, scaled_output=False)
board.print_register_settings()
board.start_streaming(send_packet)
コード例 #4
0
from open_bci_v3 import OpenBCIBoard
import sys, signal
import socket
import json
import struct

#app = QCoreApplication(sys.argv)
#signal.signal(signal.SIGINT, signal.SIG_DFL)

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

ttyPath = '/dev/ttyUSB0'
if len(sys.argv) > 1:
    ttyPath = sys.argv[1]


def send_packet(packet):
    data = json.dumps(packet.channel_data)
    sock.sendto(data.encode('utf-8'), ('localhost', 8888))
    data = struct.pack('=f', packet.channel_data[0] * 0.022351744455307063)
    sock.sendto(data, ('localhost', 9999))


board = OpenBCIBoard(ttyPath, scaled_output=False)
board.print_register_settings()
board.start_streaming(send_packet)