const char* HdmiCecAnalyzerSettings::SaveSettings()
{
    SimpleArchive text_archive;

    text_archive << mCecChannel;

    return SetReturnString( text_archive.GetString() );
}
const char* AtmelSWIAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << mSDAChannel;
	text_archive << mDecodeLevel;

	return SetReturnString(text_archive.GetString());
}
const char* SWDAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << mSWDIOChannel;
	text_archive << mSWCLKChannel;

	return SetReturnString( text_archive.GetString() );
}
const char* Xlink2WAnalyzerSettings::SaveSettings()
{
    SimpleArchive text_archive;

    text_archive << chanW0;
    text_archive << chanW1;

    return SetReturnString( text_archive.GetString() );
}
const char* MDIOAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << mMdioChannel;
	text_archive << mMdcChannel;

	return SetReturnString( text_archive.GetString() );
}
const char* SPDIFAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << mInputChannel;
	text_archive << mSampleRate;

	return SetReturnString( text_archive.GetString() );
}
const char* ISO14443AnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << mInputChannel;
	text_archive << mBitRate;

	return SetReturnString( text_archive.GetString() );
}
const char* PS2KeyboardAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << mClockChannel;
	text_archive << mDataChannel;
	text_archive << mDeviceType;

	return SetReturnString( text_archive.GetString() );
}
const char *PWMAnalyzerSettings::SaveSettings()
{
    SimpleArchive text_archive;

    text_archive << mInputChannel;
    text_archive << mMinChange;
    text_archive << mAnalysisType;

    return SetReturnString(text_archive.GetString());
}
const char *SDMMCAnalyzerSettings::SaveSettings()
{
    SimpleArchive archive;

    archive << mClockChannel;
    archive << mCommandChannel;
    archive << mProtocol;
    archive << mSampleEdge;

    return SetReturnString(archive.GetString());
}
const char* QuadratureAnalyserAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << mInputChannelA;
	text_archive << mInputChannelB;
	text_archive << ticksPerRotation;
	text_archive << ticksPerFrame;

	return SetReturnString( text_archive.GetString() );
}
const char* USBAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << mDPChannel;
	text_archive << mDMChannel;
	text_archive << mSpeed;
	text_archive << mDecodeLevel;

	return SetReturnString(text_archive.GetString());
}
const char* IRAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << "IRAnalyzer";
	text_archive << mInputChannel;
	text_archive << mFrequency;
	text_archive << mSignal;

	return SetReturnString( text_archive.GetString() );
}
const char* LD110AnalyzerSettings::SaveSettings()
  {
  for(int nIndex = 0; nIndex < m_nBCDAndDigitChannelCount; nIndex++)
    {
    m_oArchive << m_oBCDChannelVector[nIndex];
    m_oArchive << m_oDigitChannelVector[nIndex];
    }

  m_oArchive << m_oGlobalClockChannel;

	return SetReturnString( m_oArchive.GetString() );
  }
const char* SDIOAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << mClockChannel;
	text_archive << mCmdChannel;
	text_archive << mDAT0Channel;
	text_archive << mDAT1Channel;
	text_archive << mDAT2Channel;
	text_archive << mDAT3Channel;
	// text_archive << mInputChannel;
	// text_archive << mBitRate;

	return SetReturnString( text_archive.GetString() );
}
const char* RC663AnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << "SaleaeRC663Analyzer";
	text_archive <<  mMosiChannel;
	text_archive <<  mMisoChannel;
	text_archive <<  mClockChannel;
	text_archive <<  mEnableChannel;
	text_archive <<  mShiftOrder;
	text_archive <<  mClockInactiveState;
	text_archive <<  mDataValidEdge;
	text_archive <<  mEnableActiveState;

	return SetReturnString( text_archive.GetString() );
}
const char* ManchesterAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << "SaleaeManchesterAnalyzer";
	text_archive << mInputChannel;
	text_archive << U32( mMode );
	text_archive << mBitRate;
	text_archive << mInverted;
	text_archive << mBitsPerTransfer;
	text_archive << U32( mShiftOrder );
	text_archive << mBitsToIgnore;
	text_archive << U32( mTolerance );

	return SetReturnString( text_archive.GetString() );
}
const char* SerialAnalyzerSettings::SaveSettings()
{
	SimpleArchive text_archive;

	text_archive << "SaleaeAsyncSerialAnalyzer";
	text_archive << mInputChannel;
	text_archive << mBitRate;
	text_archive << mBitsPerTransfer;
	text_archive << mStopBits;
	text_archive << mParity;
	text_archive << mShiftOrder;
	text_archive << mInverted;

	text_archive << mUseAutobaud;

	text_archive << mSerialMode;

	return SetReturnString( text_archive.GetString() );
}