コード例 #1
0
def get_description_from_driver():
    conf = PeerConfig('amplifier')
    conf.add_local_param('driver_executable', _AMP_EXECUTABLE)
    conf.add_local_param('samples_per_packet', '4')

    driv = DriverComm(conf, catch_signals=False)
    descr = driv.get_driver_description()
    dic = json.loads(descr)
    driv.terminate_driver()
    return dic
コード例 #2
0
def get_description_from_driver(device_path=None):
    conf = PeerConfig('amplifier')
    conf.add_local_param('driver_executable',
                         'drivers/eeg/cpp_amplifiers/gtec_amplifier')
    conf.add_local_param('samples_per_packet', '4')

    driv = DriverComm(conf, catch_signals=False)
    descr = driv.get_driver_description()
    try:
        dic = json.loads(descr)
    except ValueError, e:
        print "AMPLIFIER ", device_path, "IS PROBABLY BUSY.",
        print "Invalid channel description: ", descr
        dic = None
コード例 #3
0
    def _handle_new_peer_added(self, msg):
        # add new peer status and configuration so it is visible in GUI
        peer_id = msg.peer_id
        index = self.index_of(msg.uuid)
        if index is not None:
            exp = self.experiments[index]
            par = PeerConfigParserDict()
            conf = PeerConfig(peer_id)
            dic_conf = json.loads(msg.config)

            par.parse(dic_conf, conf)
            exp.exp_config.extend_with_peer(peer_id, msg.peer_path, conf)
            exp.status.peers_status[peer_id] = launcher_tools.PeerStatus(peer_id,
                                                                         status_name=msg.status_name)
        print msg
コード例 #4
0
ファイル: system_config.py プロジェクト: vjenissr/openbci
    def __init__(self,
                 peer_id,
                 experiment_id,
                 config=None,
                 path=None,
                 machine=None,
                 logger=None):
        self.peer_id = peer_id

        self.experiment_id = experiment_id

        self.config = PeerConfig(peer_id)
        self.path = path
        self.machine = machine
        self.public_params = []
        self.logger = logger or logging.getLogger(
            "ObciExperimentConfig.peer_id")
        self.del_after_stop = False
コード例 #5
0
ファイル: system_config.py プロジェクト: vjenissr/openbci
    def launch_data(self):
        ser = PeerConfigSerializerCmd()
        args = [self.peer_id]
        peer_parser = peer.peer_config_parser.parser("ini")
        base_config = PeerConfig(self.peer_id)
        conf_path = launcher_tools.default_config_path(self.path)
        if conf_path:

            with codecs.open(conf_path, "r", "utf8") as f:
                self.logger.info("parsing default config for peer %s, %s ",
                                 self.peer_id, conf_path)
                peer_parser.parse(f, base_config)

        ser.serialize_diff(base_config, self.config, args)

        return dict(peer_id=self.peer_id,
                    experiment_id=self.experiment_id,
                    path=self.path,
                    machine=self.machine,
                    args=args,
                    peer_type=self.peer_type())
コード例 #6
0
                v = self.driver_out_q.get_nowait()
                self.logger.info(v)
            except Empty:
                time.sleep(0.1)
        sys.exit(self.driver.returncode)


def enqueue_output(out, queue):
    for line in iter(out.readline, ''):
        queue.put(line)
    out.close()


if __name__ == "__main__":
    from obci.control.peer.peer_config import PeerConfig
    import json

    conf = PeerConfig('amplifier')
    conf.add_local_param('driver_executable',
                         'drivers/eeg/cpp_amplifiers/tmsi_amplifier')
    conf.add_local_param('samples_per_packet', '4')
    conf.add_local_param('bluetooth_device', '')
    conf.add_local_param('usb_device', '/dev/tmsi0')

    driv = DriverComm(conf)
    descr = driv.get_driver_description()
    dic = json.loads(descr)
    driv.start_sampling()
    time.sleep(3)
    driv.terminate_driver()