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
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
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
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
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())
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()