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



/// <summary>
/// Immediately clears the count on the specified totalizer channels
/// </summary>
/// <remarks>
/// 
/// </remarks>
/// <returns>
///	
/// </returns>
/// <param name="ChannelList">
///	For module 34952A this is channel s005.
/// </param>
HRESULT Agilent34952A::IAgilent34952ATotalize_ClearTotal(BSTR ChannelList)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}









/// <summary>
/// Configures specified channels on a 34952A module.
/// </summary>
/// <remarks>
/// 
/// </remarks>
/// <returns>
///	
/// </returns>
/// <param name="ChannelList">
///	One or more totalizer channels in the form sccc - totalizer channels only.
/// </param>
/// <param name="Type">
///	Totalize type.
/// </param>
/// <param name="Mode">
///	Totalize Threshold Mode.
/// </param>
/// <param name="Slope">
///	Totalize Slope.
/// </param>
HRESULT Agilent34952A::IAgilent34952ATotalize_Configure(BSTR ChannelList, Agilent34952ATotalizeTypeEnum Type, Agilent34952ATotalizeThresholdModeEnum Mode, Agilent34952ATotalizeSlopeEnum Slope)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}




/// <summary>
/// Reads the count on the specified totalizer channel. 
/// </summary>
/// <remarks>
/// If you have configured the count to be reset when it is read then this command will reset the count to "0" after it is read. The count is reset regardless of whether the specified channels are in a scan list or even whether a scan is in progress.
/// </remarks>
/// <returns>
///	
/// </returns>
/// <param name="ChannelList">
///	One or more totalizer channels in the form sccc - totalizer channels only.
/// </param>
HRESULT Agilent34952A::IAgilent34952ATotalize_ReadData(BSTR ChannelList, double* val)
{
	HRESULT hr = S_OK;

	hr = InstrQueryCommand(val);

	return hr;
}

/// <summary>
///	Sets or gets the threshold at which an edge is detected on the specified totalizer channels.
/// </summary>
/// <remarks>
///	
/// </remarks>
/// <param name="ChannelList">
///	One or more totalizer channels in the form sccc - totalizer channels only. 
/// </param>
HRESULT Agilent34952A::IAgilent34952ATotalize_get_Mode(BSTR ChannelList, Agilent34952ATotalizeThresholdModeEnum* val)
{
	HRESULT hr = S_OK;

	hr = InstrQueryCommandEnum(val);

	return hr;
}



/// <summary>
///	Sets or gets the threshold at which an edge is detected on the specified totalizer channels.
/// </summary>
/// <remarks>
///	
/// </remarks>
/// <param name="ChannelList">
///	One or more totalizer channels in the form sccc - totalizer channels only. 
/// </param>
HRESULT Agilent34952A::IAgilent34952ATotalize_put_Mode(BSTR ChannelList, Agilent34952ATotalizeThresholdModeEnum val)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}



/// <summary>
///	Enables or disables an automatic reset of the count on the specified totalizer channels.
/// </summary>
/// <remarks>
///	
/// </remarks>
/// <param name="ChannelList">
///	One or more totalizer channels in the form sccc - totalizer channels only. 
/// </param>
HRESULT Agilent34952A::IAgilent34952ATotalize_get_ReadType(BSTR ChannelList, Agilent34952ATotalizeTypeEnum* val)
{
	HRESULT hr = S_OK;

	hr = InstrQueryCommandEnum(val);

	return hr;
}



/// <summary>
///	Enables or disables an automatic reset of the count on the specified totalizer channels.
/// </summary>
/// <remarks>
///	
/// </remarks>
/// <param name="ChannelList">
///	One or more totalizer channels in the form sccc - totalizer channels only. 
/// </param>
HRESULT Agilent34952A::IAgilent34952ATotalize_put_ReadType(BSTR ChannelList, Agilent34952ATotalizeTypeEnum val)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}



/// <summary>
///	Sets or gets the specified totalizer channels to count on the rising edge (positive) or falling edge (negative) of the input signal.
/// </summary>
/// <remarks>
///	
/// </remarks>
/// <param name="ChannelList">
///	One or more totalizer channels in the form sccc - totalizer channels only. 
/// </param>
HRESULT Agilent34952A::IAgilent34952ATotalize_get_Slope(BSTR ChannelList, Agilent34952ATotalizeSlopeEnum* val)
{
	HRESULT hr = S_OK;

	hr = InstrQueryCommandEnum(val);

	return hr;
}



/// <summary>
///	Sets or gets the specified totalizer channels to count on the rising edge (positive) or falling edge (negative) of the input signal.
/// </summary>
/// <remarks>
///	
/// </remarks>
/// <param name="ChannelList">
///	One or more totalizer channels in the form sccc - totalizer channels only. 
/// </param>
HRESULT Agilent34952A::IAgilent34952ATotalize_put_Slope(BSTR ChannelList, Agilent34952ATotalizeSlopeEnum val)
{
	HRESULT hr = S_OK;

	hr = InstrPrintCommand();

	return hr;
}


