Ejemplo n.º 1
0
    def initialize_board(self, autodetect=False, port=None, daisy=None):
        print("\n-------INSTANTIATING BOARD-------")

        if autodetect:
            self.board = bci.OpenBCIBoard()
        else:
            self.board = bci.OpenBCIBoard(port=port)
        self.eeg_channels = self.board.getNbEEGChannels()
        self.aux_channels = self.board.getNbAUXChannels()
        self.sample_rate = self.board.getSampleRate()
Ejemplo n.º 2
0
    def __init__(self, port=None, ch_names=None):
        self.default_settings = OrderedDict()
        self.current_settings = OrderedDict()

        self.ch_names = ch_names if ch_names is not None else [
            "C3", "C4", "P3", "P4"
        ]

        print("\n-------INSTANTIATING BOARD-------")

        if port is None:
            self.board = bci.OpenBCIBoard()
        else:
            self.board = bci.OpenBCIBoard(port=port)

        self.n_eeg_channels = self.board.getNbEEGChannels()
        self.sample_rate = self.board.getSampleRate()

        self.init_board_settings()
Ejemplo n.º 3
0
 def find_defaults(self):
     try:
         board = bci.OpenBCIBoard(print_enable=False)
         self.port = board.port
         self.daisy = board.daisy
         self.data_channels = board.getNbEEGChannels()
         self.aux_channels = board.getNbAUXChannels()
         self.sample_rate = board.getSampleRate()
         board.disconnect()
     except Exception as e:
         print(str(e))
         print("Using default configurations")
         self.port = "--"
         self.daisy = None
         self.data_channels = 8
         self.aux_channels = 3
         self.sample_rate = 250
Ejemplo n.º 4
0
  def save_settings(self):

    self.settings = OrderedDict()
    sd_commands = [b" ", b'A', b'S', b'F',b'G',b'H',b'J',b'K',b'L']

    #Channel number
    if self.parent.daisy_entry.currentIndex() == 1:
      self.settings['Number_Channels'] = [b'c']
      channel_number = 8
    elif self.parent.daisy_entry.currentIndex() == 0:
      self.settings['Number_Channels'] = [b'C']
      channel_number = 16


    # for i in range(16):
    #   current = "channel{}".format(i+1)
    #   self.settings[current] = []
    #   self.settings[current].append(b'x')
    #   self.settings[current].append(str.encode(str(i+1)))
    #   for j,attribute in enumerate(self.channel_attributes):
    #     temp = self.channels[current][attribute.format(i+1)]
    #     if j == 1:
    #         self.settings[current].append(str(temp.currentIndex()).encode())
    #     elif j == 2:
    #       self.settings[current].append(str(temp.currentIndex()).encode())
    #     elif j == 3:
    #       self.settings[current].append(str(temp.currentIndex()).encode())
    #     elif j == 4:
    #       self.settings[current].append(str(1-temp.currentIndex()).encode())
    #     elif j == 5:
    #       self.settings[current].append(str(1-temp.currentIndex()).encode())
    #     elif j == 6:
    #       self.settings[current].append(str(temp.currentIndex()).encode())  
    #   self.settings[current].append(b'X')
    board = bci.OpenBCIBoard()
    for i in range(8):
      current = "channel{}".format(i+1)
      self.settings[current] = []
      self.settings[current].append(b'x')
      self.settings[current].append(str.encode(str(i+1)))
      
      for j,attribute in enumerate(self.channel_attributes):
        temp = self.channels[current][attribute.format(i+1)]
        if j == 1:
            self.settings[current].append(str(temp.currentIndex()).encode())
        elif j == 2:
          self.settings[current].append(str(temp.currentIndex()).encode())
        elif j == 3:
          self.settings[current].append(str(temp.currentIndex()).encode())
        elif j == 4:
          self.settings[current].append(str(1-temp.currentIndex()).encode())
        elif j == 5:
          self.settings[current].append(str(1-temp.currentIndex()).encode())
        elif j == 6:
          self.settings[current].append(str(temp.currentIndex()).encode())  
      self.settings[current].append(b'X')
      
      print(int(self.settings[current][2]))
      if int(self.settings[current][2]) == 1:
            #print("off1")
            board.set_channel((i+1),0)
      elif int(self.settings[current][2]) == 0:
            #print("on1")
            board.set_channel((i+1),1)

    sd_index = self.sd_entry.currentIndex()
    self.settings["SD_Card"] = [sd_commands[sd_index]]
    #print(self.settings["channel1"][2])

    for item in self.settings:
      if self.settings[item] != self.parent.lsl.current_settings[item]:
        self.parent.lsl.current_settings[item] = self.settings[item]
    self.close()