curses.echo() curses.endwin() aparser = ArgumentParser() aparser.add_argument('dongle_device') aparser.add_argument('-c0', type=str, default="Channel 0") aparser.add_argument('-c1', type=str, default="Channel 1") aparser.add_argument('-c2', type=str, default="Channel 2") aparser.add_argument('-c3', type=str, default="Channel 3") aparser.add_argument('-c4', type=str, default="Channel 4") aparser.add_argument('-c5', type=str, default="Channel 5") aparser.add_argument('-c6', type=str, default="Channel 6") aparser.add_argument('-c7', type=str, default="Channel 7") args = aparser.parse_args() board = OpenBCIBoard(port=args.dongle_device) for c in 'svcd': board.ser.write(c) time.sleep(0.100) time.sleep(0.100) sampletime = 1.0/board.getSampleRate() dirpath = os.path.dirname(os.path.realpath(__file__)) atexit.register(write_packets) atexit.register(board.disconnect) boardthread = threading.Thread(target=board.start_streaming, args=(label_packet, -1)) #board.start_streaming([label_packet], -1) boardthread.daemon = True boardthread.start()
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)
[curve[i].setData(a[8], a[i]) for i in range(numberofchannels)] # set the curve with this data pg.QtGui.QApplication.processEvents() # you MUST process the plot now ### MAIN PROGRAM ##### # this is a brutal infinite loop calling your realtime data plot while True: update() ### END QtApp #### pg.QtGui.QApplication.exec_() # you MUST put this at the end ################## # Read serial information related to the electrodes board = OpenBCIBoard() board.print_register_settings() numberofchannels = 8 # Montreal task levelqueue = Queue() question = Question(level=1, timer=20, levelqueue=levelqueue) # Filtering setup w = sg.firwin(256, [5, 50], pass_zero=False, fs=250, window="hann") w = np.flip( w ) # Change w0 to last position in order to multiply that last sample that came from queue # File to save recordings in time domain