X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=research%2FTCS%2Finterface.py;h=a639ab12ed7831fd2f1a77dfa207e6c297ac6561;hb=66ef7590cb47f237f793079dd4689c8a2941498c;hp=7b3c0e15ea0a805622f59758c3e82067d42fdfc4;hpb=42977a93534c13419167a935c5ff9b1f1ab00019;p=matches%2Fhonours.git diff --git a/research/TCS/interface.py b/research/TCS/interface.py index 7b3c0e15..a639ab12 100755 --- a/research/TCS/interface.py +++ b/research/TCS/interface.py @@ -35,7 +35,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!) +aquire = { "DAC_Sweep" : "0.0 + 10.0*int(step)", # DAC Sweep value (t is in STEPS, not seconds!) "ADC_Averages" : 200, #"ADC_Vi" : 5, # ADC channel to read back Vi (set by DAC) through #"ADC_Is" : 4, # ADC channel to read back Is through @@ -62,13 +62,15 @@ 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 - ("Venault Voltage" , None), + ("Chamber Pressure" , None), # Chamber pressure now automatically determined + ("Deflection Voltage" , None), ("Title" , None), ("Comment" , None), + ("602 Scale" , None), + ("Venault Voltage" , None), ("Accelerating Voltage" , None), ("Focus Voltage" , None), - ("Deflection Voltage" , None), + ("Initial Voltage" , None), ("Heating Current" , None), ("Heating Voltage (across filament)" , None), @@ -76,15 +78,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 +98,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 +227,25 @@ def main(): # Experiment # TODO: Modify data to record here sweep = 1 - #for i in range(0,5): + #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 +282,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 +320,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: