}
# TODO: Adjust aqcuisition parameters here
-aquire = { "DAC_Sweep" : "1500",#"0.0 + 250.0*int(step/250)", # DAC Sweep value (t is in STEPS, not seconds!)
+aquire = { "DAC_Sweep" :"0",#"2750.0 + 250.0*int(step/120)", # 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
"ADC_Ie" : 4, # ADC channel to read back Ie through
- "DAC_Settle" : 2.0, # Time in seconds to wait for DAC to stabilise
+ "DAC_Settle" : 0.0, # Time in seconds to wait for DAC to stabilise
#"response_wait" : 0.2, # Time to wait in seconds between sending data and reading back
"start_date" : None
}
"Heating Current" : None,
"Heating Voltage" : None,
"Chamber Pressure" : None,
+ "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
+ "602 0.001 Battery" : None,
+ "ADC Battery" : None,
+ "ADC Regulator" : None,
+ "Title" : None,
+ "Comment" : None,
+ "Data" : None,
+
}
def getTime():
+
# Experiment
# TODO: Modify data to record here
- #sweep = 1
- record_data([4, 5], getDate()+"/"+str(getTime())+".dat", None, None, "Measure emission&sample current varying with time, constant initial energy.")
- #while True:
- # os.system("mkdir -p " + getDate())
- # record_data([4, 5], getDate()+"/"+str(getTime())+".dat", None, 1500, "ADC4 = Power supply output. Sweep " + str(sweep) + " (started on " + aquire["start_date"]+")")
- # sweep += 1
+ sweep = 1
+ while True:
+ os.system("mkdir -p " + getDate())
+ record_data([4, 5], getDate()+"/"+str(getTime())+".dat", None, 4000)
+ sweep += 1
-def checkList():
+def checkList(output_file):
+ try:
+ input_file = open(getDate()+"/checklist", "r")
+ except:
+ input_file = None
+
+ if (input_file != None):
+ for line in input_file:
+ k = line.split("=")
+ item = k[0].strip(" \r\n")
+ value = k[1].strip(" \r\n")
+ if (item in parameters):
+ parameters[item] = value
+
+ print("Checklist found. Overwrite? [Y/n]")
+ response = sys.stdin.readline().strip(" \r\n")
+ if (response == "" or response == "y" or response == "Y"):
+ input_file = None
- output = open(getDate()+"/checklist", "w", 0)
+ if (input_file == None):
+ for item in parameters:
+ sys.stdout.write("\""+str(item)+"\" = " + str(parameters[item]) + " New value?: ")
+ response = sys.stdin.readline().strip("\r\n ")
+ if (response != ""):
+ parameters[item] = response
+ sys.stdout.write("\n")
+
+
+ checklist = open(getDate()+"/checklist", "w", 0)
for item in parameters:
- sys.stdout.write("Enter value for \""+str(item)+"\": ")
- parameters[item] = sys.stdin.readline().strip("\r\n ")
- sys.stdout.write("\n")
- output.write(str(parameters[item]) + "\n")
+ checklist.write("# "+str(item) + " = " + str(parameters[item]) + "\n")
+ output_file.write("# "+str(item) + " = " + str(parameters[item]) + "\n")
-def record_data(ADC_channels, output, pollTime = None, dac_max = None, comment = None):
+
+def record_data(ADC_channels, output, pollTime = None, dac_max = None):
+
if (output != None):
output = [open(output, "w", 0), sys.stdout]
- if (comment == None):
- print("Enter a comment for the experiment.")
- comment = sys.stdin.readline().strip("\r\n ")
- output[0].write("# Comment: "+str(comment)+"\n")
+ #checkList(output[0])
else:
output = [sys.stdout]
nextDacValue = int(eval(aquire["DAC_Sweep"]))
if (nextDacValue != dacValue):
dacValue = nextDacValue
+ if (dacValue < 0):
+ break
setDAC(dacValue)
step += 1
+
+
if (dac_max != None and dacValue >= dac_max):
break