// =====================================================================
//  $Id: TRs232cKeithley2700Module.cc,v 1.5 2003/10/06 17:02:40 goiwai Exp $
//  $Name: CLDAQ-1-11-00 $
//  $Log: TRs232cKeithley2700Module.cc,v $
//  Revision 1.5  2003/10/06 17:02:40  goiwai
//  *** empty log message ***
//
//  Revision 1.4  2003/07/30 16:19:10  goiwai
//  ファイルにコミットログをつけることにしました.
//
// =====================================================================
#include "TRs232cKeithley2700Module.hh"

TRs232cKeithley2700Module::TRs232cKeithley2700Module( const Tstring devfile, Tint nchannel )
  : TRs232cModule( devfile, nchannel )
{;}

TRs232cKeithley2700Module::TRs232cKeithley2700Module( Tint nchannel, Tstring devfile )
  : TRs232cModule( nchannel, devfile )
{;}

TRs232cKeithley2700Module::TRs232cKeithley2700Module( const TRs232cKeithley2700Module& right )
  : TRs232cModule( right )
{;}

TRs232cKeithley2700Module::~TRs232cKeithley2700Module()
{;}

Tvoid TRs232cKeithley2700Module::defineClearMethod( Tint channel )
{
  //エラーキューをクリアする
  Write( "*CLS" );
  return;
}

Tvoid TRs232cKeithley2700Module::defineUpdateMethod( Tint channel )
{
  Clear();
  return;
}

Tvoid TRs232cKeithley2700Module::defineInitializeMethod( Tint channel )
{
  //デフォルト設定に戻す
  Write( "*RST" );

  //BEEP OFF
  //Write( ":SYST:BEEP OFF" );

  //センサの種類を定義シングルクオートでかこまねばならない
  Write( ":SENS:FUNC 'RES'" );

  //積分速度をPLC単位で設定
  //Write( ":SENS:RES:NPLC 1" );

  //積分速度を秒単位で設定
  //Write( ":SENS:RES:APER 1" );

  //レンジ切替え
  //Write( "SENS:RES:RANG 120e6" );

  //精度選択
  //Write( "SENS:RES:DIG 5" );

  //AUTOレンジON
  Write( "SENS:RES:RANG:AUTO ON" );

  //データ要素指定
  Write( ":FORM:ELEM READ" );

  return;
}

Tvoid TRs232cKeithley2700Module::defineReadMethod( Tint channel )
{
  Write( ":READ?" );
  return;
}

Tbool TRs232cKeithley2700Module::modifyData( const Tstring& accept, Tdouble& databuf ) const
{
  databuf = strtod( accept.c_str(), 0 );
  return Ttrue;
}
