#Setup the serial connection parameters
ser = serial.Serial(
- port="/dev/ttyUSB1", # Modify as needed (note: in linux need to run `sudo chmod a+rw /dev/ttyUSBX' to set permissions)
+ port="/dev/ttyUSB0", # Modify as needed (note: in linux need to run `sudo chmod a+rw /dev/ttyUSBX' to set permissions)
# Do not change the values below here (unless AVR butterfly is reprogrammed to use different values)
baudrate=4800,
# 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),
+ ("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),
#("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)
])
return str(datetime.datetime.now()).split(" ")[0]
def getPressure():
- 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
# 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")
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
#gnuplot("set yrange [0:1023]")
#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"))
for out in output:
if out != sys.stdout: