conn_params = cbpy.defaultConParams() cbpy.open(parameter=conn_params) print("Creating LSL Outlet") outlet_info = pylsl.StreamInfo(name=STREAM_NAME, type=TYPE, channel_count=len(CHANNEL_NAMES), nominal_srate=pylsl.IRREGULAR_RATE, channel_format=CHAN_FORMAT, source_id=SOURCE_ID) outlet_info.desc().append_child_value("manufacturer", "Blackrock") channels = outlet_info.desc().append_child("channels") for c in CHANNEL_NAMES: channels.append_child("channel").append_child_value("label", c) outlet = pylsl.StreamOutlet(outlet_info) print("Sending timestamps...") try: start_time = pylsl.local_clock() n_samples = 0 target_isi = 1 / SYNC_RATE while True: while (pylsl.local_clock() - start_time) < (n_samples * target_isi): time.sleep(0.1/SYNC_RATE) cbpy.trial_config(reset=True, noevent=True, nocontinuous=True, nocomment=True) res, ts = cbpy.time() lsl_stamp = pylsl.local_clock() outlet.push_sample([int(ts)], timestamp=lsl_stamp) n_samples += 1 except KeyboardInterrupt: print("Terminating...") del outlet cbpy.close()
print '' n_secs = 5 loop_time = 0.1 n_itrs = int(n_secs / loop_time) for itr in range(n_itrs): t_start = time.time() print '\nitr %d of %d:' % (itr + 1, n_itrs) # print 'calling cbpy.trial_event()' # result, trial = cbpy.trial_event(reset=True) # result, nsp_time = cbpy.time() print 'calling cbpy.trial_continuous()' result, trial = cbpy.trial_continuous(reset=True) result, nsp_time = cbpy.time() for i in range(len(trial)): print '# samples:', len(trial[i][1]) print 'result:', result print 'trial:', trial print '' # print 'calling cbpy.time()' result, nsp_time = cbpy.time() print 'result:', result print 'time:', nsp_time print '' t_elapsed = time.time() - t_start if t_elapsed < loop_time:
n_secs = 20 loop_time = 0.1 n_itrs = int(n_secs / loop_time) last_nsp_time = 0 for itr in range(n_itrs): t_start = time.time() print '-' * 79 print '\nitr %d of %d:' % (itr+1, n_itrs) print '' # print 'calling cbpy.trial_event(), followed by cbpy.time()' # print '' trial_event_result, trial = cbpy.trial_event(reset=True) time_result, nsp_time = cbpy.time() n_ts = 0 for list_ in trial: for unit, unit_ts in enumerate(list_[1]['timestamps']): n_ts += len(unit_ts) data = np.zeros((n_ts, 3), dtype=np.int32) # 3 columns: timestamp, chan, unit idx = 0 for list_ in trial: chan = list_[0] - nPlay_chan_offset for unit, unit_ts in enumerate(np.array(list_[1]['timestamps'])): if len(unit_ts) > 0: for ts in unit_ts: if ts < last_nsp_time: args = (ts, chan, unit, last_nsp_time)
def time(self): if self.is_connected: res, time = cbpy.time(instance=self.instance) return time else: return None