/******************************************************************************
 *                                                                         
 *               Copyright 2004-2006 Agilent Technologies
 *               All rights reserved.
 *
 *****************************************************************************/
 
#include "stdafx.h"
#include "CoAgilent34980A.h"



/// <summary>
/// This method is used to calculate and save the DMM calibration values for the
/// present calibration step on the internal DMM.
/// </summary>
/// <remarks>
/// Before executing this method, the user must have first unsecured the instrument
/// for calibration with the calibration SetSecureState method, and input a calibration
/// value with the CalValue() method.  Before calibrating the DMM, please read the
/// Calibration Procedures section of the Agilent 34980A Service Guide.
/// </remarks>
/// <returns>
///	
/// </returns>
HRESULT Agilent34980A::IAgilent34980ADMM_PerformCalibration()
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}


/// <summary>
///	Gets the calibration count on the internal DMM.
/// </summary>
/// <remarks>
///	
/// </remarks>
HRESULT Agilent34980A::IAgilent34980ADMM_get_Count(long* Val)
{
	HRESULT hr = S_OK;

	hr = InstrQueryCommand(Val);

	return hr;
}

/// <summary>
///	Sets or gets the calibration string.
/// </summary>
/// <remarks>
///	Separate strings may be associated with either the DMM calibration, a particular
/// DAC module calibration, or a generic string may be associated with the mainframe.
///  To set any of the string values, the calibration security must be disabled
/// (see SetSecureState).  The string may be up to 40 characters in length.
/// </remarks>
HRESULT Agilent34980A::IAgilent34980ADMM_get_String(BSTR* Val)
{
	HRESULT hr = S_OK;

	hr = InstrQueryCommand(Val);

	return hr;
}

/// <summary>
///	Sets or gets the calibration string.
/// </summary>
/// <remarks>
///	Separate strings may be associated with either the DMM calibration, a particular
/// DAC module calibration, or a generic string may be associated with the mainframe.
///  To set any of the string values, the calibration security must be disabled
/// (see SetSecureState).  The string may be up to 40 characters in length.
/// </remarks>
HRESULT Agilent34980A::IAgilent34980ADMM_put_String(BSTR Val)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}

/// <summary>
///	This attribute is used to calibrate the internal DMM.
/// </summary>
/// <remarks>
///	The set of this value is used to inform the DMM of what signal value is being
/// applied to the DMM for measurement.  Before setting this attribute, the user
/// must have placed the 34980 into the calibration state by using the SecurityEnable
/// method.  Before attempting to calibrate the DMM, please read the Calibration
/// Procedures section of the Agilent 34980A Service Guide.
/// </remarks>
HRESULT Agilent34980A::IAgilent34980ADMM_get_Value(double* Val)
{
	HRESULT hr = S_OK;

	hr = InstrQueryCommand(Val);

	return hr;
}

/// <summary>
///	This attribute is used to calibrate the internal DMM.
/// </summary>
/// <remarks>
///	The set of this value is used to inform the DMM of what signal value is being
/// applied to the DMM for measurement.  Before setting this attribute, the user
/// must have placed the 34980 into the calibration state by using the SecurityEnable
/// method.  Before attempting to calibrate the DMM, please read the Calibration
/// Procedures section of the Agilent 34980A Service Guide.
/// </remarks>
HRESULT Agilent34980A::IAgilent34980ADMM_put_Value(double Val)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}
