Automatic commit. Tue Oct 16 00:00:03 WST 2012
[matches/honours.git] / research / TCS / interface.py
index 7b3c0e1..771ab3c 100755 (executable)
@@ -36,7 +36,7 @@ calibrate = {
 
 # TODO: Adjust aqcuisition parameters here
 aquire = { "DAC_Sweep" : "0.0 + 50.0*int(step)", # DAC Sweep value (t is in STEPS, not seconds!)
-       "ADC_Averages" : 200,
+       "ADC_Averages" : 100,
        #"ADC_Vi" : 5, # ADC channel to read back Vi (set by DAC) through
        #"ADC_Is" : 4, # ADC channel to read back Is through
        #"ADC_Ie" : 4, # ADC channel to read back Ie through
@@ -62,13 +62,17 @@ ser = serial.Serial(
 #Using an ordered dictionary, so results will be determined (or prompted for) in this order.
 # Put things that are being changed a lot near the top of the list.
 parameters = odict.odict([
-       #("Chamber Pressure" , None), # Chamber pressure now automatically determined
+       ("Chamber Pressure" , None), # Chamber pressure now automatically determined
+       ("Focus Voltage" , None),
+       ("Deflection Voltage" , None),
+       ("Accelerating Voltage" , None),
        ("Venault Voltage" , None),
+
        ("Title" , None),
        ("Comment" , None),
-       ("Accelerating Voltage" , None),
-       ("Focus Voltage" , None),
-       ("Deflection Voltage" , None),
+       ("602 Scale" , None),
+       
+       
        ("Initial Voltage" , None),
        ("Heating Current" , None),
        ("Heating Voltage (across filament)" , None),
@@ -76,15 +80,15 @@ parameters = odict.odict([
        #("610B Zero" , None),
        ("602 Zero" , None),
        #("610B Scale" , None),
-       ("602 Scale" , None),
+       
        ("602 0.1 Battery" , None),
        ("602 0.03 Battery" , None),
        ("602 0.01 Battery" , None),
        ("602 0.003 Battery" , None),
        ("602 0.001 Battery" , None), 
-       ("ADC Regulator" , None),
        ("Sample", None),
        ("Sample Angle", None),
+       ("ADC Regulator" , None),
        ("Data" , None),
        ("Parameters last checked", None)
 ])
@@ -96,9 +100,15 @@ def getDate():
        return str(datetime.datetime.now()).split(" ")[0]
 
 def getPressure():
-       return 0.0
-       p = subprocess.Popen("./pressure/get_pressure.sh", stdout=subprocess.PIPE)
-       return float(p.stdout.readline().strip(" \r\n\t"))
+       
+       try:
+               p = subprocess.Popen("./pressure/get_pressure.sh", stdout=subprocess.PIPE)
+               #p = subprocess.Popen("./this_program_does_not_exist.sh", stdout=subprocess.PIPE)
+               #result = float("a")
+               result = float(p.stdout.readline().strip(" \r\n\t"))
+       except:
+               return 0.0
+       return result
        
 
 # Used for when I press Control-C to stop things
@@ -219,13 +229,25 @@ def main():
        # Experiment
        # TODO: Modify data to record here
        sweep = 1
-       #for i in range(0,5):
-       while True:
+       for i in range(0,1):
+       #while True:
                os.system("mkdir -p " + getDate())
                record_data([5], getDate()+"/"+str(getTime())+".dat", None, 4001)
+
+               try:
+                       pass
+                       #os.system("echo \"Sweep number " + str(sweep) + " completed\" | festival --tts")
+               except:
+                       pass
                sweep += 1
        #setDAC(500)
 
+       try:
+               os.system("echo \"Experiment complete\" | festival --tts")
+       except:
+               pass
+       
+
 def checkList():
        try:
                input_file = log_open(getDate()+"/checklist", "r")
@@ -262,7 +284,7 @@ def checkList():
                                continue
                        if item == "Chamber Pressure":
                                #sys.stdout.write("\""+str(item)+"\" = " + str(parameters[item]) + " - get new pressure... ")
-                               #parameters[item] = getPressure()
+                               parameters[item] = getPressure()
                                #sys.stdout.write(str(parameters[item]) + "\n")
                                continue
 
@@ -300,7 +322,7 @@ def record_data(ADC_channels, output, pollTime = None, dac_max = None):
        for out in output:
                out.write("# Parameters:\n")
 
-       #parameters["Chamber Pressure"] = getPressure() # Update chamber pressure
+       parameters["Chamber Pressure"] = getPressure() # Update chamber pressure
 
        for field in parameters:
                for out in output:
@@ -376,7 +398,7 @@ def record_data(ADC_channels, output, pollTime = None, dac_max = None):
                #gnuplot("set xrange [0:4000]")
                gnuplot("set xlabel \"DAC (counts)\"")
                gnuplot("set ylabel \"Sample Current (ADC counts)\"")
-               gnuplot.plot(Gnuplot.Data(data, title="t = "+str(measure_time), with_="lp", using="2:3"))
+               gnuplot.plot(Gnuplot.Data(data, title="t = "+str(measure_time), with_="lp", using="1:3"))
        for out in output:              
                if out != sys.stdout:
                        log_close(out)

UCC git Repository :: git.ucc.asn.au