Problem with comparison.
/Designs/Measuring_instruments/RMDS02C/SW/Host_controller/frequency_log.py |
---|
0,0 → 1,78 |
#!/usr/bin/python |
# |
# Sample of measuring and frequency correction with ACOUNTER02A |
import time |
import datetime |
import sys |
from pymlab import config |
#### Script Arguments ############################################### |
if (len(sys.argv) > 3) or (len(sys.argv) < 2): |
sys.stderr.write("Invalid number of arguments.\n") |
sys.stderr.write("Usage: %s PORT_ADDRESS [REQUIERED_MHz]\n" % (sys.argv[0], )) |
sys.exit(1) |
port = eval(sys.argv[1]) |
#### Sensor Configuration ########################################### |
cfg = config.Config( |
i2c = { |
"port": port, |
}, |
bus = [ |
{ |
"type": "i2chub", |
"address": 0x70, |
"children": [ |
{ "name":"counter", "type":"acount02", "channel": 2, }, |
{ "name":"clkgen", "type":"clkgen01", "channel": 5, }, |
], |
}, |
], |
) |
cfg.initialize() |
print "RMDS Station frequency management test software \r\n" |
fcount = cfg.get_device("counter") |
fgen = cfg.get_device("clkgen") |
time.sleep(0.5) |
frequency = fcount.get_freq() |
rfreq = fgen.get_rfreq() |
hsdiv = fgen.get_hs_div() |
n1 = fgen.get_n1_div() |
#fdco = 0 |
#fxtal = 0 |
#regs = [0, 0, 0] |
#### Data Logging ################################################### |
try: |
with open("frequency.log", "a") as f: |
while True: |
now = datetime.datetime.now() |
if (now.second == 15) or (now.second == 35) or (now.second == 55): |
frequency = fcount.get_freq() |
if (len(sys.argv) == 3): |
regs = fgen.set_freq(frequency/1e6, float(eval(sys.argv[2]))) |
now = datetime.datetime.now() |
rfreq = fgen.get_rfreq() |
hsdiv = fgen.get_hs_div() |
n1 = fgen.get_n1_div() |
fdco = (frequency/1e6) * hsdiv * n1 |
fxtal = fdco / rfreq |
sys.stdout.write("frequency: " + str(frequency) + " Hz Time: " + str(now.second)) |
sys.stdout.write(" RFREQ: " + str(rfreq) + " HSDIV: " + str(hsdiv) + " N1: " + str(n1)) |
sys.stdout.write(" fdco: " + str(fdco) + " fxtal: " + str(fxtal) + "\r") |
f.write("%d\t%s\t%.3f\n" % (time.time(), datetime.datetime.now().isoformat(), frequency)) |
sys.stdout.flush() |
time.sleep(0.9) |
except KeyboardInterrupt: |
sys.stdout.write("\r\n") |
sys.exit(0) |
f.close() |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |