Manuals >Reference >Drivers
Print version of this Book (PDF file)
prevnext

Order in Which User-Supplied Functions are Called

Table 60 through Table 63 illustrate the following 3 essential instrument operations:

    • Rebuild (instrument list)
    • Calibrate
    • Measure

These tables are representative of a typical order of invocation. Some functions may be used more than once, particularly since Measure involves looping through different bias levels. The column Function Category indicates the location of further information about the function in What Makes up an IC-CAP Driver. Other valuable information is located in the comments for each function, provided in user_instr.hxx, user_unit.hxx, user_meas.hxx, and user_meas.cxx.

During Rebuild

During this operation, the Hardware Manager locates addresses that respond to a serial poll. At each such address, available drivers determine if they own the instrument, until 1 driver succeeds. They try in the order shown in the Instrument Library list. Note that unless find_instr() is successful, none of the ensuing functions are called.

The functions called during Rebuild (instrument list) are shown in the following table.

Table 60 Functions Called During Rebuild (instrument list)
Function Name
Function Category
get_addl_addr
Hardware Editor Operations
addl_addr_label
find_instr
units_configurable
rebuild_units or build_units
find_units
set_found
unit_count
get_unit

During Calibrate

During this operation the Measurer initiates calibration procedures for each instrument in a Setup that has calibration supported by IC-CAP.

The functions called during Calibrate are shown in the following table.

Table 61 Functions Called During Calibrate 
Function Name
Function Category
instr::find_instr
Setup Checking
unit::get_int_bias
Control and Data Acquisition Functions
unit::can_source
Checking of Inputs
unit::can_source_vs_time
Checking of Inputs
unit::can_measure_vs_time
Checking of Outputs
unit::can_measure
Checking of Outputs
unit::bias_compatible
Setup Checking
unit::check_sweep
Checking of Inputs
unit::check_sync
Checking of Inputs
instr::cal_possible
Calibration
instr::find_instr
Setup Checking
instr::do_cal
Calibration

During Measure

This operation undertakes a potentially complex series of operations on the instruments used by a Setup. The exact functions called vary, depending on whether calibration is available for particular instruments, and whether the main sweep instrument operates in an internally swept fashion, or in a stepped/spot-mode fashion (the case when the instrument option Use User Sweep is set to Yes for the main sweep instrument).

The functions called during Measure are shown in the following table (user main sweep) and Table 63 (internal main sweep).

Table 62 Functions Called During Measure (with User Main Sweep) 
Function Name
Function Category
Notes
instr::find_instr
Setup Checking
 
instr::find_units
Hardware Editor Operations
 
instr::set_found
Hardware Editor Operations
 
unit::get_int_bias
Control and Data Acquisition Functions
 
unit::can_source
Checking of Inputs
 
unit::can_source_vs_time
Checking of Inputs
 
unit::can_measure_vs_time
Checking of Outputs
 
unit::can_measure
Checking of Outputs
 
unit::bias_compatible
Setup Checking
 
instr::reset_instr_info
Initialization
 
unit::check_sweep
Checking of Inputs
 
unit::check_sync
Checking of Inputs
 
instr::reset_outptrs
Initialization
 
unit::check_out
Checking of Outputs
 
unit::can_do_second_sweep
Control and Data Acquisition Functions
 
instr::cal_possible
Calibration
 
instr::recall_n_chk_calib
Calibration
 
instr::init_instr
Initialization
 
instr::zero_supplies
Initialization
 
BEGIN BIAS LOOP
 
Loop to END BIAS LOOP
unit::set_bias
Control and Data Acquisition
 
unit::enable_output
Initialization
 
unit::set_scalar
Control and Data Acquisition
 
BEGIN USER MAIN SWEEP LOOP
 
Loop to END MAIN SWEEP
unit::wait_hold_time
Control and Data Acquisition
 
unit::set_bias
Control and Data Acquisition
 
unit::set_sync
Control and Data Acquisition
 
unit::wait_delay_time
Control and Data Acquisition
 
unit::get_data
Control and Data Acquisition
 
unit::get_scalar_data
Control and Data Acquisition
 
END MAIN SWEEP LOOP
 
 
END BIAS LOOP
 
 
instr::zero_supplies
Initialization
 
unit::fill_outds
Control and Data Acquisition
 

Table 63 Functions Called During Measure (with Internal Main Sweep) 
Function Name
Function Category
Notes
instr::find_instr
Setup Checking
 
instr::find_units
Hardware Editor Operations
 
instr::set_found
Hardware Editor Operations
 
unit::get_int_bias
Control and Data Acquisition Functions
 
unit::can_source
Checking of Inputs
 
unit::can_source_vs_time
Checking of Inputs
 
unit::can_measure_vs_time
Checking of Outputs
 
unit::can_measure
Checking of Outputs
 
unit::bias_compatible
Setup Checking
 
instr::reset_instr_info
Initialization
 
unit::check_sweep
Checking of Inputs
 
unit::check_sync
Checking of Inputs
 
instr::reset_outptrs
Initialization
 
unit::check_out
Checking of Outputs
 
unit::can_do_second_sweep
Control and Data Acquisition Functions
 
instr::cal_possible
Calibration
 
instr::recall_n_chk_calib
Calibration
 
instr::init_instr
Initialization
 
instr::zero_supplies
Initialization
 
BEGIN BIAS LOOP
 
Loop through END
BIAS LOOP below

unit::set_bias
Control and Data Acquisition
 
unit::enable_output
Initialization
 
unit::set_scalar
Control and Data Acquisition
 
unit::enable_sync
Control and Data Acquisition
 
unit::set_2_internal_sweeps
Initialization
 
unit::set_internal_sweep
Initialization
 
unit::set_bias
Control and Data Acquisition
 
unit::set_sync
Control and Data Acquisition
 
unit::trigger
Control and Data Acquisition
 
unit::wait_data_ready
Control and Data Acquisition
 
unit::get_data
Control and Data Acquisition
 
unit::get_scalar_data
Control and Data Acquisition
 
END BIAS LOOP
 
 
instr::zero_supplies
Initialization
 
unit::fill_outds
Control and Data Acquisition
 


prevnext