From: Dan White Date: Tue, 9 Oct 2012 20:36:14 +0000 (-0500) Subject: update X-Git-Tag: bootrom-initial-submission~74 X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=dfe4fda1fff6fe9056f45a61b1d2860ecacd919a;p=430.git update --- diff --git a/python-lib/calibrate.py b/python-lib/calibrate.py index d840061..66cfa3c 100644 --- a/python-lib/calibrate.py +++ b/python-lib/calibrate.py @@ -102,8 +102,10 @@ def secant_opt(func, x0, limits, x1scale=0.1, maxiter=50, k=1.0): #dp = k*q1*(p1 - p0)/(q1 - q0) #dp = k*sign(q1)*abs(p1-p0) - ia = find(abs(dp) > (r * 2**(-niter))) - dp.flat[ia] = sign(dp.flat[ia]) * (r * 2**(-niter)) + max_step = r * 2**(-niter + 1) + ia = find(abs(dp) > max_step) + if len(ia) > 0: print 'limiting max steps:', ia + dp.flat[ia] = sign(dp.flat[ia]) * max_step #force a +-1 step ismall = find(abs(dp) <= 1.0) @@ -157,6 +159,7 @@ def mux_a_offset(x, c): xi = int(x[0]) mux.otaA.offset = xi mux.write() + #sleep(2.0) adc.read() values = [] for i in range(N_SAMPLES): @@ -170,6 +173,7 @@ def mux_b_offset(x, c): xi = int(x[0]) mux.otaB.offset = xi mux.write() + #sleep(2.0) adc.read() values = [] for i in range(N_SAMPLES): @@ -253,6 +257,7 @@ def chain_offsets(values, converged, mux_offset): print values[0:N_CHANNELS] for i,n in enumerate(values[0]): chain.h[i].otaA.offset = int(n) + chain.h[i].otaA.fast = 1 chain.h[i].cal = 1 chain.h[i].otaA.se = 1 chain.h[i].otaA.cint = 0 @@ -260,6 +265,7 @@ def chain_offsets(values, converged, mux_offset): for i,n in enumerate(values[1]): chain.h[i].otaB.offset = int(n) + chain.h[i].otaB.fast = 1 chain.h[i].otaB.se = 1 chain.h[i].otaB.cint = 0 chain.h[i].otaB.zero = 0 @@ -299,9 +305,8 @@ import datetime as dt while True: if 1: mux.otaA.mode = mux.otaA.CAL_BUF + mux.otaA.fast = 1 mux.otaA.gain = 15 - mux.otaB.mode = mux.otaB.CAL_BUF - mux.otaB.gain = 15 mux.write() print print 'Calibrating mux otaA' @@ -315,9 +320,8 @@ while True: if 1: - mux.otaA.mode = mux.otaA.CAL_BUF - mux.otaA.gain = 15 mux.otaB.mode = mux.otaB.CAL_BUF + mux.otaB.fast = 1 mux.otaB.gain = 15 mux.write() print diff --git a/python-lib/slope-test.py b/python-lib/slope-test.py index b369a73..9722725 100644 --- a/python-lib/slope-test.py +++ b/python-lib/slope-test.py @@ -8,21 +8,42 @@ def z(): def vdiff(d): - dac.vina(vcm - d) - dac.vinb(vcm + d) + dac.vina(vos - d - vdos) + dac.vinb(vos + d + vdos) +c0 = chain.h[0] -vcm = 1.6 +mux.selA = 0 +mux.selB = 0 +mux.otaA.mode = mux.otaA.MUX_BUF +mux.otaA.fast = 1 +mux.write() + +dac.vbias_core(0.05) +dac.vbias_buf(0.05) + +c0.otaA.fast = 1 +c0.otaA.gain = 0 +c0.otaA.se = 1 +c0.otaB.se = 1 +c0.otaA.cint = 1 +c0.otaA.offset = 0 +chain.write() + + +vcm = 1.25 +vos = vcm + 0.000 +vdos = -0.02 dac.vcmi(vcm) -dac.vina(vcm) -dac.vinb(vcm) +dac.vina(vos) +dac.vinb(vos) -itime = 0.400 -htime = 0.020 +itime = 0.150 +htime = 0.050 z() -for vd in arange(-0.08, 0.08001, 0.020): +for vd in arange(-0.08, 0.08001, 0.010): print vd vdiff(vd) z()