コード例 #1
0
ファイル: PondControl.py プロジェクト: chuhoaianh/test-repo
    def Pond_GoToTemp_Button_Click(self, event):  
        global SetTemp, SlewInput, GetTempThreadPause, GetTempThreadAlreadyPaused;  
        
        GetTempThreadPause = True;  #Pause GetTempThread        
        print GetTempThreadPause;
        
        while(GetTempThreadAlreadyPaused == False):
            #print GetTempThreadAlreadyPaused;
            pass;
        GetTempThreadAlreadyPaused = False; #Reset the thread pause
                    
        SetTemp = int(self.InputTemp_Text.GetValue());
        SetSlew = int(self.SlewInput1_Text.GetValue());
        LowRange = SetTemp - 1;
        HighRange = SetTemp + 1;
        
        #time.sleep(0.01);
        #a_pond.fastSeek([LowRange,HighRange], returnImmediate=True)
        
        if (SetSlew == 0):
            a_pond.fastSeek([LowRange,HighRange], returnImmediate=True);
            SeekMode = "Fast mode"
            self.GetParent().SetStatusText = "Seek Mode: " + SeekMode;
        else:
            a_pond.slewSeek([LowRange,HighRange], SlewInput, returnImmediate=True);
            SeekMode = "Fast mode"
            self.GetParent().SetStatusText("Seek Mode: " + SeekMode);

        #self.SlewInput_Text.SetValue(str(SlewInput));                
        self.Log += "Set Temp = " + str(SetTemp) + "\n";
        self.Log_Text.SetValue(self.Log);        
        GetTempThreadPause = False; #Resume GetTempThread
コード例 #2
0
ファイル: PondControl.py プロジェクト: chuhoaianh/test-repo
def CycleFunction(self,TempInput, SlewInput):
    global CurrentTemp, SetTemp, CycleThreadStop, choice;
    a_pond.getTemperature();
    print "-- Cycle Thread get temp...";
    print str(math.floor(CurrentTemp));
    print str(math.floor(TempInput));
    
    if(SlewInput != 0):
        a_pond.slewSeek([TempInput - 1, TempInput + 1], SlewInput, True);        
    else:
        a_pond.fastSeek([TempInput - 1, TempInput + 1], returnImmediate=True);
    
    #In case if the current temp =24.9487...C, just return and stay for dwel time and go to the next set point
    #it will be very slow to put 24.646C to 25C      
    
    if(math.fabs(float(CurrentTemp) - TempInput) < 0.2):
        return;
    
    choice = "TempDisplay";
    
    if(math.fabs(CurrentTemp - TempInput) < 0.5):
        pass
        
    #while (math.floor(CurrentTemp)!=math.floor(TempInput)):  
    while (math.fabs(CurrentTemp - TempInput) > 0.2):             
        try:
            print "CycleThreadStop = " + str(CycleThreadStop);
            if(CycleThreadStop == False):
                CurrentTemp = a_pond.getTemperature(3);
                Display_line1 = "RAMP SP= " + str(SetTemp) + " DEG C \n";
                Display_line2 = " STAGE = " + str(CurrentTemp) + " DEG C";
                choice = "TempDisplay";                    
                evt = UpdateDisplayEvent(DisplayEventType, -1); #initialize update display event
                evt.UpdateText(Display_line1 + Display_line2);  #update display event
                wx.PostEvent(self.output_window, evt);          #After the event trigger,
                        
                time.sleep(1);  
            else:
                return;  
        except:
            print "Can not get measure"
            trace = traceback.format_exc()
            print trace
            return;