}
# TODO: Adjust aqcuisition parameters here
-aquire = { "DAC_Sweep" : "1500",#"0.0 + 50.0*step", # DAC Sweep value (t is in STEPS, not seconds!)
+aquire = { "DAC_Sweep" : "2250.0 - 50.0*int(step/1000)", # 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
}
# Connect serial
ser.open()
ser.isOpen()
- print("Waiting for \"# hello\" from device...")
- while (ser.readline().strip("\r\n") != "# hello"):
- pass
+# print("Waiting for \"# hello\" from device...")
+# while (ser.readline().strip("\r\n") != "# hello"):
+# pass
#while (ser.readline().strip("\r\n ") != "#"):
# pass
time.sleep(1.0)
# 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, 2300, "Sweep " + str(sweep) + " (started on " + aquire["start_date"]+")")
- # sweep += 1
+ 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, 2300, "Measure Ie and Is .Sweep DOWN " + str(sweep) + " (started on " + aquire["start_date"]+")")
+ sweep += 1
def checkList():
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):
+
+
+ if (dac_max != None and dacValue >= dac_max):
break
measure_start = time.time()
out.write("\t"+str(dacValue))
for adc in raw_adc:
out.write("\t" + str(adc[1]) + "\t" + str(adc[2]))
- out.write("\n")
+ out.write("\n")
+
for out in output:
if out != sys.stdout: