def timeReference(self): ## pipeInData =[] self.sinewave= gen_sin(F = 10.0, AMP = 0.3, BIAS = 1.0, T = 2.0) # python only pipeInData = gen_sin(F = 10.0, AMP = 0.3, BIAS = 1.0, T = 2.0) # pipe in to fpga xem_spindle_bic.SendPipe2(pipeInData) xem_spindle_tri.SendPipe2(pipeInData)
def on_checkBox_clicked(self, checked): """ Slot documentation goes here. """ if (checked): print "waveform sine_bic fed" # pipeInData = spike_train(firing_rate = 10) #pipeInData = gen_sin(F = 0.5, AMP = 5000.0, BIAS = 5001.0, T = 2.0) # pipeInData = gen_tri(T = 2.0) pipeInData_bic = gen_sin(F = 1.0, AMP = 15000.0, BIAS = 0.0, T = 2.0) pipeInDataBic=[] for i in xrange(0, 2048): pipeInDataBic.append(max(0.0, pipeInData_bic[i])) # elif choice == "middleBoard_sine_Tri": print "waveform sine_tri fed" pipeIndata_tri = -gen_sin(F = 1.0, AMP = 15000.0, BIAS = 0.0, T = 2.0) pipeInDataTri=[] for i in xrange(0, 2048): pipeInDataTri.append(max(0.0, pipeIndata_tri[i])) self.xemList[0].SendPipe(pipeInDataBic) self.xemList[1].SendPipe(pipeInDataTri)
def on_checkBox_clicked(self, checked): """ Slot documentation goes here. """ if (checked): print "waveform sine_bic fed" # pipeInData = spike_train(firing_rate = 10) #pipeInData = gen_sin(F = 0.5, AMP = 5000.0, BIAS = 5001.0, T = 2.0) # pipeInData = gen_tri(T = 2.0) pipeInData_bic = gen_sin(F = 0.5, AMP = 50000.0, BIAS = 0.0, T = 2.0) # was 150000 for CN_general # pipeInData_bic = gen_ramp(T = [0.0, 0.01, 0.02, 0.22, 0.23, 2.0], L = [0.0, 0.0, 120000.0, 120000.0, 0.0, 0.0], FILT = False) pipeInDataBic=[] for i in xrange(0, 2048): pipeInDataBic.append(max(0.0, pipeInData_bic[i])) # elif choice == "middleBoard_sine_Tri": print "waveform sine_tri fed" pipeIndata_tri = -gen_sin(F = 0.5, AMP = 50000.0, BIAS = 0.0, T = 2.0) # pipeIndata_tri = gen_ramp(T = [0.0, 0.21, 0.22, 0.42, 0.43, 2.0], L = [0.0, 0.0, 120000.0, 120000.0, 0.0, 0.0], FILT = False) pipeInDataTri=[] for i in xrange(0, 2048): pipeInDataTri.append(max(0.0, pipeIndata_tri[i])) self.xemList[0].SendPipe(pipeInDataTri) self.xemList[1].SendPipe(pipeInDataBic)
def OnFeedChoice(self, evt): choice = evt.GetString() if choice == "Sine 1Hz": pipeInData = gen_sin(F=1.0, AMP=0.3) elif choice == "Sine 4Hz": pipeInData = gen_sin(F=2.0, AMP=0.3) elif choice == "Triangular": pipeInData = gen_tri() self.nerfModel.SendPipe(pipeInData)
def OnFeedChoice(self, evt): choice = evt.GetString() if choice == "Sine 1Hz": pipeInData = gen_sin(F = 1.0, AMP = 0.3) elif choice == "Sine 4Hz": pipeInData = gen_sin(F = 2.0, AMP = 0.3) elif choice == "Triangular": pipeInData = gen_tri() self.nerfModel.SendPipe(pipeInData)
def __init__(self, parent = None): """ Constructor """ # QDialog.__init__(self, parent, Qt.FramelessWindowHint) QDialog.__init__(self, parent) self.setupUi(self) self.nerfModel = Model() pipeInData = gen_sin(F = 1.0, AMP = 100.0, T = 2.0) self.nerfModel.SendPipe(pipeInData) self.dispView = View(None, VIEWER_REFRESH_RATE, CHIN_PARAM) self.dispView.show() self.data = [] self.isLogData = False # Create float_spin for each input channel self.ctrl_all = [] for (trig_id, name, type, value) in CHOUT_PARAM: exec interp('self.ctrl_#{name} = CtrlChannel(hostDialog=self, name=name, id=trig_id, type=type, value=value)') exec interp('self.connect(self.ctrl_#{name}.doubleSpinBox, SIGNAL("editingFinished()"), self.onNewWireIn)') exec interp('self.connect(self.ctrl_#{name}.doubleSpinBox, SIGNAL("valueChanged(double)"), self.onNewWireIn)') exec interp('self.ctrl_all.append(self.ctrl_#{name})') # Timer for pulling data, separated from timer_display self.timer = QTimer(self) self.connect(self.timer, SIGNAL("timeout()"), self.onSyncData) self.timer.start(VIEWER_REFRESH_RATE ) self.on_horizontalSlider_valueChanged(5)
def on_comboBox_activated(self, p0): """ Slot documentation goes here. """ choice = p0 if choice == "Spike Train 1Hz": # pipeInData = spike_train(firing_rate = 1) pipeInData = gen_sin(F=1.0, AMP=0.3) elif choice == "Spike Train 10Hz": # pipeInData = spike_train(firing_rate = 10) pipeInData = gen_sin(F=4.0, AMP=0.3) elif choice == "Spike Train 20Hz": pipeInData = gen_tri() # pipeInData = spike_train(firing_rate = 100) self.nerfModel.SendPipe(pipeInData)
def on_comboBox_activated(self, p0): """ Slot documentation goes here. """ choice = p0 if choice == "Spike Train 1Hz": # pipeInData = spike_train(firing_rate = 1) pipeInData = gen_sin(F = 1.0, AMP = 0.3) elif choice == "Spike Train 10Hz": # pipeInData = spike_train(firing_rate = 10) pipeInData = gen_sin(F = 4.0, AMP = 0.3) elif choice == "Spike Train 20Hz": pipeInData = gen_tri() # pipeInData = spike_train(firing_rate = 100) self.nerfModel.SendPipe(pipeInData)
def on_comboBox_activated(self, p0): """ Slot documentation goes here. """ choice = p0 if choice == "Spike Train 1Hz": # pipeInData = spike_train(firing_rate = 1) pipeInData = gen_sin(F = 1.0, AMP = 0.3) elif choice == "Spike Train 10Hz": # pipeInData = spike_train(firing_rate = 10) pipeInData = gen_sin(F = 4.0, AMP = 0.3) elif choice == "Spike Train 20Hz": # pipeInData = gen_tri() pipeInData = gen_seq(T = [0.0, 0.06, 0.07, 0.24, 0.26, 0.43, 0.44, 0.5, 0.5, 0.56, 0.57, 0.74, 0.76, 0.93, 0.94, 1.0],\ L = [0.0, 0.0, 1.0, 1.0, -1.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, -1.0, 1.0, 1.0, 0.0, 0.0], FILT = True) # pipeInData = spike_train(firing_rate = 100) self.nerfModel.SendPipe(pipeInData)
def on_comboBox_activated(self, p0): """ Slot documentation goes here. """ choice = p0 if choice == "Spike Train 1Hz": # pipeInData = spike_train(firing_rate = 1) pipeInData = gen_sin(F=1.0, AMP=0.3, BIAS=1.0, T=2.0) # pipeInData = chirping_spike_train(coeff_a = 20) elif choice == "Spike Train 10Hz": # pipeInData = spike_train(firing_rate = 100) pipeInData = gen_sin(F=4.0, AMP=0.3, BIAS=1.0, T=2.0) # pipeInData = chirping_spike_train(coeff_a = 40) elif choice == "Spike Train 20Hz": # pipeInData = gen_tri() # pipeInData = spike_train(firing_rate = 500) pipeInData = chirping_spike_train(coeff_a=60) #self.nerfModel.SendPipeInt(pipeInData) # for spike_train(), SendPipeInt, SendPipe same result. self.nerfModel.SendPipe(pipeInData)
def on_comboBox_activated(self, p0): """ Slot documentation goes here. """ choice = p0 if choice == "Spike Train 1Hz": # pipeInData = spike_train(firing_rate = 1) pipeInData = gen_sin(F = 1.0, AMP = 0.3, BIAS = 1.0) # pipeInData = chirping_spike_train(coeff_a = 20) elif choice == "Spike Train 10Hz": # pipeInData = spike_train(firing_rate = 100) pipeInData = gen_sin(F = 4.0, AMP = 0.3, BIAS = 1.57) # pipeInData = chirping_spike_train(coeff_a = 40) elif choice == "Spike Train 20Hz": # pipeInData = gen_tri() # pipeInData = spike_train(firing_rate = 500) pipeInData = chirping_spike_train(coeff_a =60) #self.nerfModel.SendPipeInt(pipeInData) # for spike_train(), SendPipeInt, SendPipe same result. self.nerfModel.SendPipe(pipeInData)
def __init__(self, parent = None): """ Constructor """ # QDialog.__init__(self, parent, Qt.FramelessWindowHint) QDialog.__init__(self, parent) self.setupUi(self) rawxem = ok.FrontPanel() #count = 2 count = rawxem.GetDeviceCount() print count self.xemList = [] BIT_FILE_LIST = [BIT_FILE, BIT_FILE2] #BIT_FILE_LIST = [BIT_FILE] for i in xrange(count): serX = rawxem.GetDeviceListSerial(i) print "serial = ", serX self.nerfModel = FpgaDevice(serX, BIT_FILE_LIST[i]) self.xemList.append(self.nerfModel) # SEND SINEWAVE ALWAYS pipeInData = gen_sin(F = 1.0, AMP = 100.0, T = 2.0) self.xemList[1].SendPipe(pipeInData) self.dispView = View(None, VIEWER_REFRESH_RATE, CHIN_PARAM) self.dispView.show() self.data = [] self.isLogData = False # Create float_spin for each input channel self.ctrl_all = [] for (trig_id, name, type, value) in CHOUT_PARAM: exec interp('self.ctrl_#{name} = CtrlChannel(hostDialog=self, name=name, id=trig_id, type=type, value=value)') exec interp('self.connect(self.ctrl_#{name}.doubleSpinBox, SIGNAL("editingFinished()"), self.onNewWireIn)') exec interp('self.connect(self.ctrl_#{name}.doubleSpinBox, SIGNAL("valueChanged(double)"), self.onNewWireIn)') exec interp('self.ctrl_all.append(self.ctrl_#{name})') # Timer for pulling data, separated from timer_display self.timer = QTimer(self) self.connect(self.timer, SIGNAL("timeout()"), self.onSyncData) self.timer.start(VIEWER_REFRESH_RATE ) self.on_horizontalSlider_valueChanged(5)
def on_comboBox_activated(self, p0): """ Slot documentation goes here. """ choice = p0 if choice == "waveform 1": # pipeInData = gen_ramp(T = [0.0, 0.1, 0.3, 1.0, 1.2, 2.0], L = [0.0, 0.0, 120000.0, 120000.0, 0.0, 0.0], FILT = False) # pipeInData = gen_ramp(T = [0.0, 0.1, 0.3, 1.0, 1.2, 2.0], L = [0.0, 0.0, 1.4, 1.4, 0.0, 0.0], FILT = False) pipeInData = gen_ramp(T = [0.0, 0.1, 0.2, 0.25, 0.3, 1.1, 1.2, 1.25, 1.3, 2.0], L = [0.8, 0.8, 1.4, 1.4, 0.8, 0.8, 1.4, 1.4, 0.8, 0.8], FILT = False) print "waveform 1 fed" # pipeInData = gen_sin(F = 1.0, AMP = 100.0, T = 2.0) elif choice == "waveform 2": print "waveform fed" # pipeInData = spike_train(firing_rate = 10) # pipeInData = gen_sin(F = 0.5, AMP = 5000.0, BIAS = 5001.0, T = 2.0) # pipeInData = gen_tri(T = 2.0) #pipeInData = gen_ramp(T = [0.0, 0.1, 0.9, 1.4, 1.9, 2.0], L = [0.5, 0.5, 1.5, 1.5, 0.5, 0.5], FILT = False) #pipeInData = gen_ramp(T = [0.0, 1.8, 2.0], L = [0.0, 30000.0, 0.0], FILT = False) #pipeInData = abs(gen_sin(F = 0.5, AMP = 17000.0, BIAS = 0.0, T = 2.0)) #big sine wave for training stdp #pipeInData[:] = [1 - x for x in pipeInData] #( 1 - pipeIndata) pipeInData = gen_rand(T=16.0, BIAS = 1500.0, AMP = 4400.0) # 16 seconds pipeInData2 = gen_rand(T=16.0, BIAS = 1500.0, AMP = 4400.0) # 16 seconds #pipeInData = gen_rand(BIAS = 3500.0, AMP = 400.0) # also works. input current bordered around threshold #pipeInData2 = gen_rand(BIAS = 3500.0, AMP = 400.0) elif choice == "waveform 3": # pipeInData = gen_tri() # pipeInData = spike_train(firing_rate = 1) print "waveform 3 fed" # pipeInData = gen_sin(F = 0.5, AMP = 0.15, BIAS = 1.15, T = 2.0) pipeInData = abs(gen_sin(F = 0.5, AMP = 17000.0, BIAS = 0.0, T = 2.0)) #big sine wave for training stdp #pipeInData = gen_ramp(T = [0.0, 0.1, 0.2, 0.8, 0.9, 2.0], L = [1.0, 1.0, 1.3, 1.3, 1.0, 1.0], FILT = False) # pipeInData = gen_ramp(T = [0.0, 0.4, 1.5, 1.55, 1.6, 2.0], L = [0, 0, 15000, 15000, 0, 0], FILT = False) # pipeInData = gen_ramp(T = [0.0, 0.2, 0.25, 1.75, 1.8, 2.0], L = [1.0, 1.0, 5000.0, 5000.0, 1.0, 1.0], FILT = False) # abrupt rise / fall # pipeInData = spike_train(firing_rate = 1000) self.nerfModel.SendPipe(pipeInData) self.nerfModel.SendPipe2(pipeInData2)
def on_comboBox_activated(self, p0): """ Slot documentation goes here. """ choice = p0 if choice == "Spike Train 1Hz": # pipeInData = spike_train(firing_rate = 1) pipeInData = gen_sin(F = 1.0, AMP = 100.0, T = 2.0) elif choice == "Spike Train 10Hz": # pipeInData = spike_train(firing_rate = 10) # pipeInData = gen_sin(F = 4.0, AMP = 0.3) pipeInData = gen_tri(T = 2.0) elif choice == "Spike Train 20Hz": # pipeInData = gen_tri() # pipeInData = gen_ramp(T = [0.0, 0.1, 0.2, 0.8, 0.9, 2.0], L = [1.0, 1.0, 1.1, 1.1, 1.0, 1.0], FILT = False) pipeInData = gen_ramp(T = [0.0, 0.1, 1.8, 1.85, 1.9, 2.0], L = [0, 0, 15000, 15000, 0, 0], FILT = False) # pipeInData = spike_train(firing_rate = 100) self.nerfModel.SendPipe(pipeInData)
def on_comboBox_activated(self, p0): """ Slot documentation goes here. """ choice = p0 if choice == "Spike Train 1Hz": # pipeInData = spike_train(firing_rate = 1) pipeInData = gen_sin(F = 1.0, AMP = 100.0, T = 2.0) elif choice == "Spike Train 10Hz": # pipeInData = spike_train(firing_rate = 10) # pipeInData = gen_sin(F = 4.0, AMP = 0.3) pipeInData = gen_tri(T = 2.0) elif choice == "Spike Train 20Hz": # pipeInData = gen_tri() pipeInData = gen_ramp(T = [0.0, 0.1, 0.2, 0.8, 0.9, 2.0], L = [1.0, 1.0, 1.3, 1.3, 1.0, 1.0], FILT = False) # pipeInData = gen_ramp(T = [0.0, 0.4, 1.5, 1.55, 1.6, 2.0], L = [0, 0, 15000, 15000, 0, 0], FILT = False) # pipeInData = gen_ramp(T = [0.0, 0.2, 0.25, 1.75, 1.8, 2.0], L = [1.0, 1.0, 5000.0, 5000.0, 1.0, 1.0], FILT = False) # abrupt rise / fall # pipeInData = spike_train(firing_rate = 1000) self.xemList[0].SendPipe(pipeInData)
def on_comboBox_activated(self, p0): """ Slot documentation goes here. """ choice = p0 if choice == "Spike Train 1Hz": # pipeInData = spike_train(firing_rate = 1) pipeInData = gen_sin(F=1.0, AMP=0.6, T=2.0) elif choice == "Spike Train 10Hz": # pipeInData = spike_train(firing_rate = 10) # pipeInData = gen_sin(F = 4.0, AMP = 0.3) pipeInData = gen_tri(T=2.0) elif choice == "Spike Train 20Hz": # pipeInData = gen_tri() pipeInData = gen_ramp(T=[0.0, 0.1, 0.2, 0.8, 0.9, 2.0], L=[1.0, 1.0, 1.1, 1.1, 1.0, 1.0], FILT=False) # pipeInData = spike_train(firing_rate = 100) self.nerfModel.SendPipe(pipeInData)