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






/// <summary>
/// Configures the clock output.
/// </summary>
/// <remarks>
/// 
/// </remarks>
/// <returns>
///	
/// </returns>
/// <param name="Frequency">
///	Module clock output frequency.
/// </param>
/// <param name="Slot">
///	Slot number.
/// </param>
/// <param name="Voltage">
///	Voltage (in Volts).
/// </param>
HRESULT Agilent34950A::IAgilent34950AOutputClock_Configure(double Frequency, long Slot, double Voltage)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}

/// <summary>
///	Sets or gets the module clock output frequency.
/// </summary>
/// <remarks>
///	The clock frequency can range from 0.1Hz to 20MHz.  The default is 1kHz.
/// </remarks>
/// <param name="Slot">
///	Slot number.
/// </param>
HRESULT Agilent34950A::IAgilent34950AOutputClock_get_Frequency(long Slot, double* val)
{
	HRESULT hr = S_OK;

	hr = InstrQueryCommand(val);

	return hr;
}

/// <summary>
///	Sets or gets the module clock output frequency.
/// </summary>
/// <remarks>
///	The clock frequency can range from 0.1Hz to 20MHz.  The default is 1kHz.
/// </remarks>
/// <param name="Slot">
///	Slot number.
/// </param>
HRESULT Agilent34950A::IAgilent34950AOutputClock_put_Frequency(long Slot, double val)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}

/// <summary>
///	Enables (ON) or disables (default; OFF) the clock output.
/// </summary>
/// <remarks>
///	In disabled mode the clock line drives 0V on the output.
/// </remarks>
/// <param name="Slot">
///	Slot number.
/// </param>
HRESULT Agilent34950A::IAgilent34950AOutputClock_get_State(long Slot, VARIANT_BOOL* val)
{
	HRESULT hr = S_OK;

	hr = InstrQueryCommandBool(val);

	return hr;
}

/// <summary>
///	Enables (ON) or disables (default; OFF) the clock output.
/// </summary>
/// <remarks>
///	In disabled mode the clock line drives 0V on the output.
/// </remarks>
/// <param name="Slot">
///	Slot number.
/// </param>
HRESULT Agilent34950A::IAgilent34950AOutputClock_put_State(long Slot, VARIANT_BOOL val)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}


/// <summary>
///	Sets or gets the voltage level.
/// </summary>
/// <remarks>
///	
/// </remarks>
/// <param name="Slot">
///	Slot number.
/// </param>
HRESULT Agilent34950A::IAgilent34950AOutputClock_get_Level(long Slot, double* val)
{
	HRESULT hr = S_OK;

	hr = InstrQueryCommand(val);

	return hr;
}

/// <summary>
///	Sets or gets the voltage level.
/// </summary>
/// <remarks>
///	
/// </remarks>
/// <param name="Slot">
///	Slot number.
/// </param>
HRESULT Agilent34950A::IAgilent34950AOutputClock_put_Level(long Slot, double val)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}
