namespace QFDT_Components;

public class WCN39xx_TxRxParams
{
	public ChainOriention curOrient { get; set; }

	public string phyRFMode { get; set; }

	public string phyId { get; set; }

	public string txMode { get; set; }

	public string txCH1 { get; set; }

	public string txCH2 { get; set; }

	public string tpcm { get; set; }

	public string txPower0 { get; set; }

	public string gainIdx { get; set; }

	public string dacGain { get; set; }

	public string paConfig { get; set; }

	public string antenna { get; set; }

	public string dataRate { get; set; }

	public string htMode { get; set; }

	public string chain { get; set; }

	public string txPacketSize { get; set; }

	public string shortGuard { get; set; }

	public string dutyCycle { get; set; }

	public string numPackets { get; set; }

	public string txPattern { get; set; }

	public string scrambler { get; set; }

	public string agg { get; set; }

	public string aifsn { get; set; }

	public string broadcast { get; set; }

	public string flags { get; set; }

	public string dlSigGenPwr { get; set; }

	public void defaultValue()
	{
		curOrient = ChainOriention.Tx;
		phyRFMode = "0";
		phyId = "0";
		txMode = WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.txModeList, "Cont. Tx TX99");
		txCH1 = WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.channelNumbers, "1(2412)");
		txCH2 = WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.channelNumbers, "1(2412)");
		tpcm = WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.txPwrCtrlList, "TxPowerForce_CLPC");
		txPower0 = "20";
		dacGain = "0";
		gainIdx = "9";
		paConfig = "0";
		antenna = "0";
		dataRate = WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.TxRateOFDMLegacy, "RATE_6Mbps");
		htMode = WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.htModeList, "No HT");
		chain = WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.TxChainList, "Chain0");
		txPacketSize = "1500";
		shortGuard = "0";
		dutyCycle = "10";
		numPackets = "0";
		txPattern = WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.TxPatternList, "ZEROS");
		scrambler = WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.scrambler, "On");
		agg = "1";
		aifsn = "1";
		broadcast = WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.broadcastList, "Unicast");
		flags = 24u.ToString();
		dlSigGenPwr = "-60";
	}

	public bool IsEqual(object comparedObj)
	{
		if (comparedObj != null)
		{
			WCN39xx_TxRxParams wCN39xx_TxRxParams = comparedObj as WCN39xx_TxRxParams;
			if (curOrient == wCN39xx_TxRxParams.curOrient && phyRFMode == wCN39xx_TxRxParams.phyRFMode && phyId == wCN39xx_TxRxParams.phyId && txMode == wCN39xx_TxRxParams.txMode && txCH1 == wCN39xx_TxRxParams.txCH1 && txCH2 == wCN39xx_TxRxParams.txCH2 && antenna == wCN39xx_TxRxParams.antenna && dataRate == wCN39xx_TxRxParams.dataRate && htMode == wCN39xx_TxRxParams.htMode && chain == wCN39xx_TxRxParams.chain && txPacketSize == wCN39xx_TxRxParams.txPacketSize && shortGuard == wCN39xx_TxRxParams.shortGuard && dutyCycle == wCN39xx_TxRxParams.dutyCycle && numPackets == wCN39xx_TxRxParams.numPackets && txPattern == wCN39xx_TxRxParams.txPattern && scrambler == wCN39xx_TxRxParams.scrambler && agg == wCN39xx_TxRxParams.agg && aifsn == wCN39xx_TxRxParams.aifsn && broadcast == wCN39xx_TxRxParams.broadcast && flags == wCN39xx_TxRxParams.flags && dlSigGenPwr == wCN39xx_TxRxParams.dlSigGenPwr && tpcm == wCN39xx_TxRxParams.tpcm)
			{
				if (tpcm == WCN39XXStatic.getRealValueAcFromShowContent(WCN39XXStatic.txPwrCtrlList, "TxPowerForce_CLPC"))
				{
					if (txPower0 == wCN39xx_TxRxParams.txPower0)
					{
						return true;
					}
				}
				else if (gainIdx == wCN39xx_TxRxParams.gainIdx && dacGain == wCN39xx_TxRxParams.dacGain && paConfig == wCN39xx_TxRxParams.paConfig)
				{
					return true;
				}
			}
		}
		return false;
	}
}
