def start_eeg_signal_experiment(ctx, srv_addrs, rq_message): client = OBCIClient(srv_addrs, ctx) # server_req_socket = ctx.socket(zmq.REQ) # for addr in srv_addrs: # server_req_socket.connect(addr) amp_params = {} amp_params.update(rq_message.amplifier_params['additional_params']) del rq_message.amplifier_params['additional_params'] amp_params.update(rq_message.amplifier_params) par_list = ['--peer', 'amplifier'] for par, val in amp_params.iteritems(): par_list += ['-p', par, unicode(val)] overwrites = peer_cmd.peer_overwrites_pack(par_list) result = client.launch(rq_message.launch_file, None, rq_message.name, overwrites) LOGGER.info("START EEG signal! return to: " + rq_message.client_push_address) mtool = OBCIMessageTool(message_templates) to_client = ctx.socket(zmq.PUSH) to_client.connect(rq_message.client_push_address) if result is None: send_msg(to_client, mtool.fill_msg("rq_error", err_code="launch_failed", details="No response from server or experiment")) else: send_msg(to_client, result.raw()) LOGGER.info("sent eeg launch result" + str(result)[:500] ) time.sleep(0.1)
def get_launch_args(self): d = dict(launch_file=self.launch_file, name=self.name) args = ['--ovr'] if self.overwrites: for peer_id in self.overwrites: args.append('--peer') args.append(peer_id) for arg in self.overwrites[peer_id]: args += ['-p', arg, self.exp_config.param_value(peer_id, arg)] pack = peer_cmd.peer_overwrites_pack(args) d['overwrites'] = pack print "overwrites pack!!!!!!!!!!!!!!!!!!!!! ", pack return d
def get_launch_args(self): d = dict(launch_file=self.launch_file, name=self.name) args = ['--ovr'] if self.overwrites: for peer_id in self.overwrites: args.append('--peer') args.append(peer_id) for arg in self.overwrites[peer_id]: args += ['-p', arg, self.exp_config.param_value(peer_id, arg)] pack = peer_cmd.peer_overwrites_pack(args) d['overwrites'] = pack print "overwrites pack!!!!!!!!!!!!!!!!!!!!! ", pack return d
def cmd_launch(args): launch_f = os.path.abspath(args.launch_file) overwrites = args.ovr if overwrites: pack = peer_cmd.peer_overwrites_pack(overwrites) print pack else: pack = None client = client_server_prep(start_srv=False) if not client: sys.exit(1) response = client.launch(launch_f, args.sandbox_dir, args.name, pack) disp.view(response)
def cmd_morph(args): launch_f = os.path.abspath(args.launch_file) overwrites = args.ovr if overwrites: pack = peer_cmd.peer_overwrites_pack(overwrites) print pack else: pack = None client = client_server_prep() if not client: sys.exit(1) print args.leave_on response = client.morph(args.experiment, launch_f, args.name, pack, args.leave_on) disp.view(response)
def cmd_launch(args): launch_f = os.path.abspath(args.launch_file) overwrites = args.ovr if overwrites: pack = peer_cmd.peer_overwrites_pack(overwrites) print pack else: pack = None client = client_server_prep(start_srv=False) if not client: sys.exit(1) response = client.launch(launch_f, args.sandbox_dir, args.name, pack) disp.view(response)
def cmd_morph(args): launch_f = os.path.abspath(args.launch_file) overwrites = args.ovr if overwrites: pack = peer_cmd.peer_overwrites_pack(overwrites) print pack else: pack = None client = client_server_prep() if not client: sys.exit(1) print args.leave_on response = client.morph(args.experiment, launch_f, args.name, pack, args.leave_on) disp.view(response)
def start_eeg_signal_experiment(ctx, srv_addrs, rq_message): client = OBCIClient(srv_addrs, ctx) # server_req_socket = ctx.socket(zmq.REQ) # for addr in srv_addrs: # server_req_socket.connect(addr) amp_params = {} amp_params.update(rq_message.amplifier_params['additional_params']) del rq_message.amplifier_params['additional_params'] amp_params.update(rq_message.amplifier_params) par_list = ['--peer', 'amplifier'] for par, val in amp_params.iteritems(): par_list += ['-p', par, unicode(val)] for par, val in CONFIG_DEFAULTS.iteritems(): if par not in par_list: par_list += ['-p', par, unicode(val)] overwrites = peer_cmd.peer_overwrites_pack(par_list) result = client.launch(rq_message.launch_file, None, rq_message.name, overwrites) LOGGER.info("START EEG signal! return to: " + rq_message.client_push_address) mtool = OBCIMessageTool(message_templates) to_client = ctx.socket(zmq.PUSH) to_client.connect(rq_message.client_push_address) if result is None or result.type == 'no_data': send_msg( to_client, mtool.fill_msg("rq_error", err_code="launch_failed", details="No response from server or experiment")) else: send_msg(to_client, result.raw()) LOGGER.info("sent eeg launch result" + str(result)[:500]) time.sleep(0.1)