git.ucc.asn.au
/
matches
/
honours.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Automatic commit. Fri Sep 7 00:00:05 WST 2012
[matches/honours.git]
/
research
/
TCS
/
interface.py
diff --git
a/research/TCS/interface.py
b/research/TCS/interface.py
index
11ed9b2
..
22e04a4
100755
(executable)
--- a/
research/TCS/interface.py
+++ b/
research/TCS/interface.py
@@
-13,7
+13,9
@@
import serial
import datetime
import odict
import datetime
import odict
+import Gnuplot, Gnuplot.funcutils
+gnuplot = Gnuplot.Gnuplot()
# TODO: Insert variables for calibration purposes here.
calibrate = {
# TODO: Insert variables for calibration purposes here.
calibrate = {
@@
-32,11
+34,11
@@
calibrate = {
}
# TODO: Adjust aqcuisition parameters here
}
# TODO: Adjust aqcuisition parameters here
-aquire = { "DAC_Sweep" : "0.0 + 50.0*int(step
/60
)", # DAC Sweep value (t is in STEPS, not seconds!)
+aquire = { "DAC_Sweep" : "0.0 + 50.0*int(step)", # DAC Sweep value (t is in STEPS, not seconds!)
"ADC_Averages" : 200,
"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
+
#
"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" : 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,
"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,
@@
-45,7
+47,7
@@
aquire = { "DAC_Sweep" : "0.0 + 50.0*int(step/60)", # DAC Sweep value (t is in S
#Setup the serial connection parameters
ser = serial.Serial(
#Setup the serial connection parameters
ser = serial.Serial(
- port="/dev/ttyUSB
0
", # Modify as needed (note: in linux need to run `sudo chmod a+rw /dev/ttyUSBX' to set permissions)
+ port="/dev/ttyUSB
1
", # 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,
# Do not change the values below here (unless AVR butterfly is reprogrammed to use different values)
baudrate=4800,
@@
-64,11
+66,12
@@
parameters = odict.odict([
("Venault Voltage" , None),
("Initial Voltage" , None),
("Heating Current" , None),
("Venault Voltage" , None),
("Initial Voltage" , None),
("Heating Current" , None),
- ("Heating Voltage" , None),
+ ("Heating Voltage (across filament)" , None),
+ ("Heating Voltage (across power supply)", None),
("Chamber Pressure" , None),
("Chamber Pressure" , None),
- ("610B Zero" , None),
+
#
("610B Zero" , None),
("602 Zero" , None),
("602 Zero" , None),
- ("610B Scale" , None),
+
#
("610B Scale" , None),
("602 Scale" , None),
("602 0.1 Battery" , None),
("602 0.03 Battery" , None),
("602 Scale" , None),
("602 0.1 Battery" , None),
("602 0.03 Battery" , None),
@@
-76,6
+79,8
@@
parameters = odict.odict([
("602 0.003 Battery" , None),
("602 0.001 Battery" , None),
("ADC Regulator" , None),
("602 0.003 Battery" , None),
("602 0.001 Battery" , None),
("ADC Regulator" , None),
+ ("Sample", None),
+ ("Sample Angle", None),
("Title" , None),
("Comment" , None),
("Data" , None),
("Title" , None),
("Comment" , None),
("Data" , None),
@@
-108,7
+113,7
@@
def killed_handler(signal, frame):
reason = sys.stdin.readline().strip("\r\n ")
for out in aquire["open_files"]:
sys.stdout.write("# Closing file " + str(out) + "\n")
reason = sys.stdin.readline().strip("\r\n ")
for out in aquire["open_files"]:
sys.stdout.write("# Closing file " + str(out) + "\n")
- out.write("# Recieved KILL signal.\n# Reason: " + str(reason))
+ out.write("# Recieved KILL signal.\n# Reason: " + str(reason)
+ "\n"
)
log_close(out)
log_close(out)
@@
-203,11
+208,11
@@
def main():
# Experiment
# TODO: Modify data to record here
sweep = 1
# Experiment
# TODO: Modify data to record here
sweep = 1
-
while True
:
+
for i in range(0,1)
:
os.system("mkdir -p " + getDate())
os.system("mkdir -p " + getDate())
- record_data([
4,
5], getDate()+"/"+str(getTime())+".dat", None, 4000)
+ record_data([5], getDate()+"/"+str(getTime())+".dat", None, 4000)
sweep += 1
sweep += 1
-
+ setDAC(500)
def checkList():
try:
def checkList():
try:
@@
-233,6
+238,7
@@
def checkList():
for item in parameters:
input_file.write("# " + str(item) + " = " + str(parameters[item]) + "\n")
input_file.write("\n")
for item in parameters:
input_file.write("# " + str(item) + " = " + str(parameters[item]) + "\n")
input_file.write("\n")
+ log_close(input_file)
input_file = None
if (input_file == None):
input_file = None
if (input_file == None):
@@
-251,14
+257,17
@@
def checkList():
for item in parameters:
checklist.write("# "+str(item) + " = " + str(parameters[item]) + "\n")
#output_file.write("# "+str(item) + " = " + str(parameters[item]) + "\n")
for item in parameters:
checklist.write("# "+str(item) + " = " + str(parameters[item]) + "\n")
#output_file.write("# "+str(item) + " = " + str(parameters[item]) + "\n")
-
+ log_close(checklist)
def record_data(ADC_channels, output, pollTime = None, dac_max = None):
if (output != None):
def record_data(ADC_channels, output, pollTime = None, dac_max = None):
if (output != None):
+ gnuplot("set title \""+str(output)+"\"")
output = [log_open(output, "w"), sys.stdout]
output = [log_open(output, "w"), sys.stdout]
+
else:
else:
+ gnuplot("set title \"<No file>\"")
output = [sys.stdout]
for field in aquire:
output = [sys.stdout]
for field in aquire:
@@
-275,6
+284,10
@@
def record_data(ADC_channels, output, pollTime = None, dac_max = None):
start_time = time.time()
start_time = time.time()
+ gnuplot("set xlabel \"DAC (counts)\"")
+ gnuplot("set ylabel \"ADC (counts)\"")
+
+
for out in output:
out.write("\n")
out.write("# Experiment " + str(datetime.datetime.now()) + "\n")
for out in output:
out.write("\n")
out.write("# Experiment " + str(datetime.datetime.now()) + "\n")
@@
-287,9
+300,11
@@
def record_data(ADC_channels, output, pollTime = None, dac_max = None):
out.write("\n")
step = 0
out.write("\n")
step = 0
+ data = [] # Keep track of data for dynamic plotting
dacValue = int(eval(aquire["DAC_Sweep"]))
if (setDAC(dacValue) == False):
setDAC(dacValue)
dacValue = int(eval(aquire["DAC_Sweep"]))
if (setDAC(dacValue) == False):
setDAC(dacValue)
+ time.sleep(2.0)
while (pollTime == None or time.time() < start_time + pollTime):
if (aquire["DAC_Sweep"] != None):
nextDacValue = int(eval(aquire["DAC_Sweep"]))
while (pollTime == None or time.time() < start_time + pollTime):
if (aquire["DAC_Sweep"] != None):
nextDacValue = int(eval(aquire["DAC_Sweep"]))
@@
-321,13
+336,19
@@
def record_data(ADC_channels, output, pollTime = None, dac_max = None):
end_time = time.time()
for out in output:
end_time = time.time()
for out in output:
- out.write(str((measure_start + (end_time - measure_start)/2.0 - start_time)))
+ measure_time = measure_start + (end_time - measure_start)/2.0 - start_time
+ out.write(str(measure_time))
out.write("\t"+str(dacValue))
out.write("\t"+str(dacValue))
+ data.append([measure_time, dacValue])
+
for adc in raw_adc:
out.write("\t" + str(adc[1]) + "\t" + str(adc[2]))
for adc in raw_adc:
out.write("\t" + str(adc[1]) + "\t" + str(adc[2]))
+ data[len(data)-1].append(adc[1])
+ data[len(data)-1].append(adc[2])
out.write("\n")
out.write("\n")
-
+
+ #gnuplot.plot(Gnuplot.Data(data, title="t = "+str(measure_time), with_="lp", using="2:3"))
for out in output:
if out != sys.stdout:
log_close(out)
for out in output:
if out != sys.stdout:
log_close(out)
UCC
git Repository :: git.ucc.asn.au