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.10, 0.11, 0.39, 0.40, 2.0], L = [0.0, 0.0, 150000.0, 150000.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, 1.10, 1.11, 1.39, 1.40, 2.0], L = [0.0, 0.0, 150000.0, 150000.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 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 point2pointForce(self,  checked):
        if (checked) :
            print 'checked'
#            pipeInData_bic = gen_ramp(T = [0.0, 0.01, 0.02,  0.22, 0.23, 2.0], L = [0.0, 0.0, 480000.0, 480000.0, 0.0, 0.0], FILT = False)
#            pipeInData_bic = gen_sin(F = 1.0, AMP = 480000.0,  BIAS = 0.0,  T = 2.0) # was 150000 for CN_general
            b=0.77
#            pipeInData_bic = gen_ramp(T = [0.0, b+0.01, b+0.02,  b+0.23, b+0.24, b+0.43,  b+0.44,  b+0.54,  b+0.55,  2.0], L = [0.0, 0.0, 460000.0, 460000.0, 50000.0, 50000.0,  80000.0,  80000.0, 0.0,  0.0], FILT = False) # dont change: healthy, b=0.77
            pipeInData_bic = gen_ramp(T = [0.0, b+0.01, b+0.02,  b+0.23, b+0.24, b+0.43,  b+0.44,  b+0.64,  b+0.65,  2.0], L = [0.0, 0.0, 520000.0, 520000.0, 70000.0, 70000.0,  140000.0,  140000.0, 0.0,  0.0], FILT = False)
            
            pipeInDataBic=[]
            for i in xrange(0,  2048):
                pipeInDataBic.append(max(0.0,  pipeInData_bic[i]))
            
            
            
#            pipeIndata_tri = gen_ramp(T = [0.0, 0.21, 0.22, 0.52, 0.53, 2.0], L = [0.0, 0.0, 480000.0, 480000.0, 0.0, 0.0], FILT = False)
#            pipeIndata_tri = -gen_sin(F = 1.0,  AMP = 480000.0,  BIAS = 0.0,  T = 2.0)
            
#            pipeIndata_tri = gen_ramp(T = [0.0, 0.21, 0.22, 0.52, 0.53, 2.0], L = [0.0, 0.0, 480000.0, 480000.0, 0.0, 0.0], FILT = False)
            a=0.01
#            pipeIndata_tri = gen_ramp(T = [0.0, a+0.18, a+0.19, a+0.38, a+0.39, a+0.50,  a+0.51,  a+0.74,  a+0.75,   2.0], L = [0.0, 0.0, 360000.0, 360000.0, 50000.0, 50000.0,  30000.0,  30000.0,  0.0,  0.0], FILT = False) # don't change: healthy: a=0.01
            pipeIndata_tri = gen_ramp(T = [0.0, a+0.18, a+0.19, a+0.38, a+0.39, a+0.50,  a+0.51,  a+1.75,  a+1.76,  2.0], L = [0.0, 0.0, 470000.0, 470000.0, 60000.0, 60000.0,  50000.0,  50000.0,  0.0,  0.0], FILT = False) # don't change: healthy: a=0.01
            
            
            pipeInDataTri=[]
            for i in xrange(0,  2048):
                pipeInDataTri.append(max(0.0,  pipeIndata_tri[i]))

            xem_cortical_bic.SendPipe(pipeInDataBic)
            xem_cortical_tri.SendPipe(pipeInDataTri)
##            
            xem_cortical_tri.SendButton(True, BUTTON_RESET_SIM) #  
            xem_cortical_bic.SendButton(True, BUTTON_RESET_SIM) # 
 
            xem_cortical_tri.SendButton(False, BUTTON_RESET_SIM) # 
            xem_cortical_bic.SendButton(False, BUTTON_RESET_SIM) # 
    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)
Exemple #6
0
    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)
Exemple #7
0
    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.11, 0.65, 0.66, 16.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.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.3, 1.1, 1.2,1.3, 2.0], L = [0.8, 0.8, 1.4, 0.8, 0.8, 1.4,  0.8,  0.8], FILT = False) # 100ms rise
#            pipeInData = gen_ramp(T = [0.0, 0.1, 0.11, 0.12, 1.1, 1.11,1.12, 2.0], L = [0.8, 0.8, 1.4, 0.8, 0.8, 1.4,  0.8,  0.8], FILT = False) # 10ms rise
#            pipeInData = gen_ramp(T = [0.0, 0.1, 0.2, 0.3, 1.1, 1.2, 1.25,  1.3, 2.0], L = [0.8, 0.8, 1.4, 0.8, 0.8, 1.4,  1.4,  0.8,  0.8], FILT = False)
            
            pipeInData, self.gamma_dyn, self.gamma_sta = self.gen_from_file()
            self.individualWireIn('gamma_sta', float(self.gamma_sta))
            self.individualWireIn('gamma_dyn', float(self.gamma_dyn))
            """ 
            up_pulse, dummy = gen_jerk(xi=1.0,  xf = 1.5,  T = 0.05)
            down_pulse, dummy = gen_jerk(xi=1.5,  xf=1.0,  T=0.05)
            flat_tail = np.array([1.0]*np.floor((1.0-0.1)*1024 + 1))
            pipeInData = np.hstack((up_pulse, down_pulse, flat_tail, up_pulse, down_pulse, flat_tail))
            print len(pipeInData)
            """
#            pipeInData = np.append(p1, flat_tail)
            print pipeInData
            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_sin(F = 1.0, AMP = 0.15,  BIAS = 1.15,  T = 2.0) 
            pipeInData = gen_ramp(T = [0.0, 0.1, 0.3, 0.8, 0.9, 2.0], L = [1.0, 1.0, 1.30, 1.30, 1.0,  1.0], FILT = False)
#            pipeInData = gen_ramp(T = [0.0, 0.1, 0.11, 0.51, 0.52, 1.0, 1.1, 1.11,  1.51, 1.52, 2.0], L = [0.7, 0.7, 1.5, 1.5, 0.7, 0.7, 0.7, 1.5, 1.5, 0.7, 0.7], FILT = False)  # one second repeat
#            pipeInData = gen_ramp(T = [0.0, 0.1, 0.11, 0.51, 0.52, 1.0, 2.0], L = [0.7, 0.7, 1.5, 1.5, 0.7, 0.7, 0.7], FILT = False) # two second repeat

#            pipeInData = gen_ramp(T = [0.0, 0.1, 0.101, 0.121, 0.122, 1.0, 1.1, 1.101,  1.121, 1.122, 2.0], L = [0.8, 0.8, 1.5, 1.5, 0.8, 0.8, 0.8, 1.5, 1.5, 0.8, 0.8], FILT = False)   # 20ms pulse for LLSR
          
 
        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.4,  BIAS = 1.0,  T = 2.0) 
            self.j1List=[]
            self.j2List=[]
            self.j3List=[]
            self.j4List=[]
            self.j5List=[]
            self.j6List=[]

#            for line in open('/home/eric/Dropbox/MATLAB/WonJoon_code/matlab_wjsohn/posAllData.txt',  "r").readlines():
#                j1 ,  j2,  j3,  j4,  j5,  j6= line.split('\t')
#                j1 = float(j1)
#                j2 = float(j2)
#                print type(j1)
#                print j1
#                self.j1List.append(j1)   #
#                self.j2List.append(j2)   #
#                self.j3List.append(j3)   #
#                self.j4List.append(j4)   #
#                self.j5List.append(j5)   #
#                self.j6List.append(j6)   #
#
            for line in open('/home/eric/nerf_verilog_eric/source/py/1125_resampled/expt_rampnhold.gd_160.gs_160.rep_5.dev_fpga_resampled.txt',  "r").readlines(): 
                j1, j2 = line.split('\n')
#                j1 = line.splitlines()
                
                j1 = float(j1)
                print type(j1)
                print j1
                
                self.j1List.append(j1)   #
              
            
#            print self.j1List
            
            pipeInData_bf = gen_wave(L=self.j1List,  FILT = False)
            pipeInData = [x for x in pipeInData_bf]


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