From 02c306ee90387b1423755d905edfbc3a309eaaad Mon Sep 17 00:00:00 2001 From: Mike Date: Sat, 1 Jan 2000 00:16:01 +0900 Subject: Set output on for wide-PW cal of wide-PW models, because terminations can load TRIG and distort cal --- device-functions.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'device-functions.c') diff --git a/device-functions.c b/device-functions.c index 02162cf..1ed0cac 100644 --- a/device-functions.c +++ b/device-functions.c @@ -2182,13 +2182,22 @@ int Set_Cal_Nom(int channel,int calibration_point_number,int parameter, float *n return OK; } - /* For timing parameters, turn off output and error-checking, and change prf/pw, + /* For most timing parameters, turn off output and error-checking, and change prf/pw, except for voltage-controlled delay (2CHPP, for example). For ampl/os parameters, and voltage-controlled delay, use existing timing and output state, and use error-checking */ if (reset_state) { Main_Rst(); - Set_Output_State(true_channel,output_off); + + /* keep output on for wide-pw cal, because the effect of multiple 50 Ohm terminations + can affect the timing */ + if ((parameter == pwl_pw_values) && + (nominal_val > 100e-6) && + (globals.Flash.max_pw[channel] > 100e-6)) { + Set_Output_State(true_channel,output_on); + } else { + Set_Output_State(true_channel,output_off); + } Main_update_shift_registers(); bus_setpin(PW_ENABLE, 1); /* enable PW circuit (but output relay still off) */ } -- cgit