using System.Text;

namespace QCRPG.TSL.FMHCI.Packets;

public static class CommandOpcodeInfo
{
	public static CommandOpcodeEnum ValueToCommandOpcode(uint value)
	{
		return value switch
		{
			0u => CommandOpcodeEnum.NOP, 
			19457u => CommandOpcodeEnum.ENABLE_RECEIVER, 
			19458u => CommandOpcodeEnum.DISABLE_RECEIVER, 
			19459u => CommandOpcodeEnum.GET_RECEIVER_CONFIGURATION, 
			19460u => CommandOpcodeEnum.SET_RECEIVER_CONFIGURATION, 
			19461u => CommandOpcodeEnum.SET_MUTE_MODE, 
			19462u => CommandOpcodeEnum.SET_STEREO_MODE, 
			19463u => CommandOpcodeEnum.SET_ANTENNA, 
			19464u => CommandOpcodeEnum.SET_SIGNAL_THRESHOLD, 
			19465u => CommandOpcodeEnum.GET_SIGNAL_THRESHOLD, 
			19466u => CommandOpcodeEnum.GET_STATION_PARAMETERS, 
			19467u => CommandOpcodeEnum.GET_PROGRAM_SERVICE, 
			19468u => CommandOpcodeEnum.GET_RADIO_TEXT, 
			19469u => CommandOpcodeEnum.GET_ALTERNATIVE_RADIO_FREQUENCY_LIST, 
			19470u => CommandOpcodeEnum.SEARCH_STATIONS, 
			19471u => CommandOpcodeEnum.SEARCH_RDS_STATIONS, 
			19472u => CommandOpcodeEnum.SEARCH_STATION_LIST, 
			19473u => CommandOpcodeEnum.CANCEL_SEARCH, 
			19474u => CommandOpcodeEnum.RDS_GROUPS, 
			19475u => CommandOpcodeEnum.RDS_GROUP_PROCESSING, 
			19476u => CommandOpcodeEnum.ENABLE_WAN_AVOIDANCE_CONTROL, 
			19477u => CommandOpcodeEnum.ENABLE_NOTCH_CONTROL, 
			19478u => CommandOpcodeEnum.ASYNC_EVENT_CONTROL, 
			19479u => CommandOpcodeEnum.SET_CHANNEL_DETECTION_THRESHOLDS, 
			19480u => CommandOpcodeEnum.GET_CHANNEL_DETECTION_THRESHOLDS, 
			19481u => CommandOpcodeEnum.SET_SOFT_MUTE, 
			19482u => CommandOpcodeEnum.GET_SOFT_MUTE, 
			19483u => CommandOpcodeEnum.SET_BLEND, 
			19484u => CommandOpcodeEnum.GET_BLEND, 
			19485u => CommandOpcodeEnum.SET_HI_LO_INJECTION, 
			19486u => CommandOpcodeEnum.GET_HI_LO_INJECTION, 
			19487u => CommandOpcodeEnum.LOW_PASS_FILTER_CONTROL, 
			20481u => CommandOpcodeEnum.ENABLE_TRANSMITTER, 
			20482u => CommandOpcodeEnum.DISABLE_TRANSMITTER, 
			20483u => CommandOpcodeEnum.GET_TRANSMITTER_CONFIGURATION, 
			20484u => CommandOpcodeEnum.SET_TRANSMITTER_CONFIGURATION, 
			20485u => CommandOpcodeEnum.TX_RDS_RAW_GROUPS, 
			20486u => CommandOpcodeEnum.TX_GROUP_CONTROL, 
			20487u => CommandOpcodeEnum.TX_GET_BUFFER_SIZE, 
			20488u => CommandOpcodeEnum.TX_RADIO_TEXT, 
			20489u => CommandOpcodeEnum.TX_PROGRAM_SERVICE, 
			21505u => CommandOpcodeEnum.TUNE_STATION, 
			21506u => CommandOpcodeEnum.DEFAULT_DATA_READ, 
			21507u => CommandOpcodeEnum.DEFAULT_DATA_WRITE, 
			21508u => CommandOpcodeEnum.RESET, 
			21509u => CommandOpcodeEnum.FEATURES_LIST, 
			21510u => CommandOpcodeEnum.DO_CALIBRATION, 
			21511u => CommandOpcodeEnum.SET_CALIBRATION_DATA, 
			21512u => CommandOpcodeEnum.SET_SPUR_FILTERING_TABLE, 
			21513u => CommandOpcodeEnum.GET_SPUR_FILTERING_ENTRY, 
			22529u => CommandOpcodeEnum.READ_GROUP_COUNTERS, 
			22530u => CommandOpcodeEnum.READ_EXT_GROUP_COUNTERS, 
			23553u => CommandOpcodeEnum.POKE, 
			23554u => CommandOpcodeEnum.PEEK, 
			23555u => CommandOpcodeEnum.TX_TEST, 
			23556u => CommandOpcodeEnum.RX_TEST, 
			23557u => CommandOpcodeEnum.CHIP_TEST_VCO_BIST, 
			23558u => CommandOpcodeEnum.CHIP_TEST_PROCESS_CALIBRATION, 
			23559u => CommandOpcodeEnum.CHIP_TEST_RSB_CALIBRATION, 
			23560u => CommandOpcodeEnum.CHIP_TEST_DC_CALIBRATION, 
			23561u => CommandOpcodeEnum.GPIO_CONFIGURATION, 
			23562u => CommandOpcodeEnum.TONE_CONFIGURATION, 
			23563u => CommandOpcodeEnum.TUNE, 
			64514u => CommandOpcodeEnum.PEEK_DATA, 
			64515u => CommandOpcodeEnum.POKE_DATA, 
			_ => value switch
			{
				64515u => CommandOpcodeEnum.MULTI_POKE_DATA, 
				64516u => CommandOpcodeEnum.SSBI_PEEK_REGISTER, 
				64517u => CommandOpcodeEnum.SSBI_POKE_REGISTER, 
				64519u => CommandOpcodeEnum.GET_STATIONS_INTERNAL_DEBUG_PARAMETERS, 
				64520u => CommandOpcodeEnum.SET_INTERNAL_TONE_GENERATOR, 
				64521u => CommandOpcodeEnum.PIN_CONNECTIVITY_TEST, 
				64522u => CommandOpcodeEnum.SET_LOG_CONFIGURATION, 
				64523u => CommandOpcodeEnum.GET_LOG_CONFIGURATION, 
				64524u => CommandOpcodeEnum.GET_DEMOD_INPUT_DATA, 
				64525u => CommandOpcodeEnum.SET_GET_RESET_AGC, 
				_ => CommandOpcodeEnum.InvalidCommandOpcodeValue, 
			}, 
		};
	}

	public static uint CommandOpcodeToValue(CommandOpcodeEnum enumItem)
	{
		return enumItem switch
		{
			CommandOpcodeEnum.NOP => 0u, 
			CommandOpcodeEnum.ENABLE_RECEIVER => 19457u, 
			CommandOpcodeEnum.DISABLE_RECEIVER => 19458u, 
			CommandOpcodeEnum.GET_RECEIVER_CONFIGURATION => 19459u, 
			CommandOpcodeEnum.SET_RECEIVER_CONFIGURATION => 19460u, 
			CommandOpcodeEnum.SET_MUTE_MODE => 19461u, 
			CommandOpcodeEnum.SET_STEREO_MODE => 19462u, 
			CommandOpcodeEnum.SET_ANTENNA => 19463u, 
			CommandOpcodeEnum.SET_SIGNAL_THRESHOLD => 19464u, 
			CommandOpcodeEnum.GET_SIGNAL_THRESHOLD => 19465u, 
			CommandOpcodeEnum.GET_STATION_PARAMETERS => 19466u, 
			CommandOpcodeEnum.GET_PROGRAM_SERVICE => 19467u, 
			CommandOpcodeEnum.GET_RADIO_TEXT => 19468u, 
			CommandOpcodeEnum.GET_ALTERNATIVE_RADIO_FREQUENCY_LIST => 19469u, 
			CommandOpcodeEnum.SEARCH_STATIONS => 19470u, 
			CommandOpcodeEnum.SEARCH_RDS_STATIONS => 19471u, 
			CommandOpcodeEnum.SEARCH_STATION_LIST => 19472u, 
			CommandOpcodeEnum.CANCEL_SEARCH => 19473u, 
			CommandOpcodeEnum.RDS_GROUPS => 19474u, 
			CommandOpcodeEnum.RDS_GROUP_PROCESSING => 19475u, 
			CommandOpcodeEnum.ENABLE_WAN_AVOIDANCE_CONTROL => 19476u, 
			CommandOpcodeEnum.ENABLE_NOTCH_CONTROL => 19477u, 
			CommandOpcodeEnum.ASYNC_EVENT_CONTROL => 19478u, 
			CommandOpcodeEnum.SET_CHANNEL_DETECTION_THRESHOLDS => 19479u, 
			CommandOpcodeEnum.GET_CHANNEL_DETECTION_THRESHOLDS => 19480u, 
			CommandOpcodeEnum.SET_SOFT_MUTE => 19481u, 
			CommandOpcodeEnum.GET_SOFT_MUTE => 19482u, 
			CommandOpcodeEnum.SET_BLEND => 19483u, 
			CommandOpcodeEnum.GET_BLEND => 19484u, 
			CommandOpcodeEnum.SET_HI_LO_INJECTION => 19485u, 
			CommandOpcodeEnum.GET_HI_LO_INJECTION => 19486u, 
			CommandOpcodeEnum.LOW_PASS_FILTER_CONTROL => 19487u, 
			CommandOpcodeEnum.ENABLE_TRANSMITTER => 20481u, 
			CommandOpcodeEnum.DISABLE_TRANSMITTER => 20482u, 
			CommandOpcodeEnum.GET_TRANSMITTER_CONFIGURATION => 20483u, 
			CommandOpcodeEnum.SET_TRANSMITTER_CONFIGURATION => 20484u, 
			CommandOpcodeEnum.TX_RDS_RAW_GROUPS => 20485u, 
			CommandOpcodeEnum.TX_GROUP_CONTROL => 20486u, 
			CommandOpcodeEnum.TX_GET_BUFFER_SIZE => 20487u, 
			CommandOpcodeEnum.TX_RADIO_TEXT => 20488u, 
			CommandOpcodeEnum.TX_PROGRAM_SERVICE => 20489u, 
			CommandOpcodeEnum.TUNE_STATION => 21505u, 
			CommandOpcodeEnum.DEFAULT_DATA_READ => 21506u, 
			CommandOpcodeEnum.DEFAULT_DATA_WRITE => 21507u, 
			CommandOpcodeEnum.RESET => 21508u, 
			CommandOpcodeEnum.FEATURES_LIST => 21509u, 
			CommandOpcodeEnum.DO_CALIBRATION => 21510u, 
			CommandOpcodeEnum.SET_CALIBRATION_DATA => 21511u, 
			CommandOpcodeEnum.SET_SPUR_FILTERING_TABLE => 21512u, 
			CommandOpcodeEnum.GET_SPUR_FILTERING_ENTRY => 21513u, 
			CommandOpcodeEnum.READ_GROUP_COUNTERS => 22529u, 
			CommandOpcodeEnum.READ_EXT_GROUP_COUNTERS => 22530u, 
			CommandOpcodeEnum.POKE => 23553u, 
			CommandOpcodeEnum.PEEK => 23554u, 
			CommandOpcodeEnum.TX_TEST => 23555u, 
			CommandOpcodeEnum.RX_TEST => 23556u, 
			CommandOpcodeEnum.CHIP_TEST_VCO_BIST => 23557u, 
			CommandOpcodeEnum.CHIP_TEST_PROCESS_CALIBRATION => 23558u, 
			CommandOpcodeEnum.CHIP_TEST_RSB_CALIBRATION => 23559u, 
			CommandOpcodeEnum.CHIP_TEST_DC_CALIBRATION => 23560u, 
			CommandOpcodeEnum.GPIO_CONFIGURATION => 23561u, 
			CommandOpcodeEnum.TONE_CONFIGURATION => 23562u, 
			CommandOpcodeEnum.TUNE => 23563u, 
			CommandOpcodeEnum.PEEK_DATA => 64514u, 
			CommandOpcodeEnum.POKE_DATA => 64515u, 
			CommandOpcodeEnum.MULTI_POKE_DATA => 64515u, 
			CommandOpcodeEnum.SSBI_PEEK_REGISTER => 64516u, 
			CommandOpcodeEnum.SSBI_POKE_REGISTER => 64517u, 
			CommandOpcodeEnum.GET_STATIONS_INTERNAL_DEBUG_PARAMETERS => 64519u, 
			CommandOpcodeEnum.SET_INTERNAL_TONE_GENERATOR => 64520u, 
			CommandOpcodeEnum.PIN_CONNECTIVITY_TEST => 64521u, 
			CommandOpcodeEnum.SET_LOG_CONFIGURATION => 64522u, 
			CommandOpcodeEnum.GET_LOG_CONFIGURATION => 64523u, 
			CommandOpcodeEnum.GET_DEMOD_INPUT_DATA => 64524u, 
			CommandOpcodeEnum.SET_GET_RESET_AGC => 64525u, 
			_ => uint.MaxValue, 
		};
	}

	public static string CommandOpcodeToString(CommandOpcodeEnum enumItem)
	{
		return enumItem switch
		{
			CommandOpcodeEnum.NOP => "NOP", 
			CommandOpcodeEnum.ENABLE_RECEIVER => "ENABLE_RECEIVER", 
			CommandOpcodeEnum.DISABLE_RECEIVER => "DISABLE_RECEIVER", 
			CommandOpcodeEnum.GET_RECEIVER_CONFIGURATION => "GET_RECEIVER_CONFIGURATION", 
			CommandOpcodeEnum.SET_RECEIVER_CONFIGURATION => "SET_RECEIVER_CONFIGURATION", 
			CommandOpcodeEnum.SET_MUTE_MODE => "SET_MUTE_MODE", 
			CommandOpcodeEnum.SET_STEREO_MODE => "SET_STEREO_MODE", 
			CommandOpcodeEnum.SET_ANTENNA => "SET_ANTENNA", 
			CommandOpcodeEnum.SET_SIGNAL_THRESHOLD => "SET_SIGNAL_THRESHOLD", 
			CommandOpcodeEnum.GET_SIGNAL_THRESHOLD => "GET_SIGNAL_THRESHOLD", 
			CommandOpcodeEnum.GET_STATION_PARAMETERS => "GET_STATION_PARAMETERS", 
			CommandOpcodeEnum.GET_PROGRAM_SERVICE => "GET_PROGRAM_SERVICE", 
			CommandOpcodeEnum.GET_RADIO_TEXT => "GET_RADIO_TEXT", 
			CommandOpcodeEnum.GET_ALTERNATIVE_RADIO_FREQUENCY_LIST => "GET_ALTERNATIVE_RADIO_FREQUENCY_LIST", 
			CommandOpcodeEnum.SEARCH_STATIONS => "SEARCH_STATIONS", 
			CommandOpcodeEnum.SEARCH_RDS_STATIONS => "SEARCH_RDS_STATIONS", 
			CommandOpcodeEnum.SEARCH_STATION_LIST => "SEARCH_STATION_LIST", 
			CommandOpcodeEnum.CANCEL_SEARCH => "CANCEL_SEARCH", 
			CommandOpcodeEnum.RDS_GROUPS => "RDS_GROUPS", 
			CommandOpcodeEnum.RDS_GROUP_PROCESSING => "RDS_GROUP_PROCESSING", 
			CommandOpcodeEnum.ENABLE_WAN_AVOIDANCE_CONTROL => "ENABLE_WAN_AVOIDANCE_CONTROL", 
			CommandOpcodeEnum.ENABLE_NOTCH_CONTROL => "ENABLE_NOTCH_CONTROL", 
			CommandOpcodeEnum.ASYNC_EVENT_CONTROL => "ASYNC_EVENT_CONTROL", 
			CommandOpcodeEnum.SET_CHANNEL_DETECTION_THRESHOLDS => "SET_CHANNEL_DETECTION_THRESHOLDS", 
			CommandOpcodeEnum.GET_CHANNEL_DETECTION_THRESHOLDS => "GET_CHANNEL_DETECTION_THRESHOLDS", 
			CommandOpcodeEnum.SET_SOFT_MUTE => "SET_SOFT_MUTE", 
			CommandOpcodeEnum.GET_SOFT_MUTE => "GET_SOFT_MUTE", 
			CommandOpcodeEnum.SET_BLEND => "SET_BLEND", 
			CommandOpcodeEnum.GET_BLEND => "GET_BLEND", 
			CommandOpcodeEnum.SET_HI_LO_INJECTION => "SET_HI_LO_INJECTION", 
			CommandOpcodeEnum.GET_HI_LO_INJECTION => "GET_HI_LO_INJECTION", 
			CommandOpcodeEnum.LOW_PASS_FILTER_CONTROL => "LOW_PASS_FILTER_CONTROL", 
			CommandOpcodeEnum.ENABLE_TRANSMITTER => "ENABLE_TRANSMITTER", 
			CommandOpcodeEnum.DISABLE_TRANSMITTER => "DISABLE_TRANSMITTER", 
			CommandOpcodeEnum.GET_TRANSMITTER_CONFIGURATION => "GET_TRANSMITTER_CONFIGURATION", 
			CommandOpcodeEnum.SET_TRANSMITTER_CONFIGURATION => "SET_TRANSMITTER_CONFIGURATION", 
			CommandOpcodeEnum.TX_RDS_RAW_GROUPS => "TX_RDS_RAW_GROUPS", 
			CommandOpcodeEnum.TX_GROUP_CONTROL => "TX_GROUP_CONTROL", 
			CommandOpcodeEnum.TX_GET_BUFFER_SIZE => "TX_GET_BUFFER_SIZE", 
			CommandOpcodeEnum.TX_RADIO_TEXT => "TX_RADIO_TEXT", 
			CommandOpcodeEnum.TX_PROGRAM_SERVICE => "TX_PROGRAM_SERVICE", 
			CommandOpcodeEnum.TUNE_STATION => "TUNE_STATION", 
			CommandOpcodeEnum.DEFAULT_DATA_READ => "DEFAULT_DATA_READ", 
			CommandOpcodeEnum.DEFAULT_DATA_WRITE => "DEFAULT_DATA_WRITE", 
			CommandOpcodeEnum.RESET => "RESET", 
			CommandOpcodeEnum.FEATURES_LIST => "FEATURES_LIST", 
			CommandOpcodeEnum.DO_CALIBRATION => "DO_CALIBRATION", 
			CommandOpcodeEnum.SET_CALIBRATION_DATA => "SET_CALIBRATION_DATA", 
			CommandOpcodeEnum.SET_SPUR_FILTERING_TABLE => "SET_SPUR_FILTERING_TABLE", 
			CommandOpcodeEnum.GET_SPUR_FILTERING_ENTRY => "GET_SPUR_FILTERING_ENTRY", 
			CommandOpcodeEnum.READ_GROUP_COUNTERS => "READ_GROUP_COUNTERS", 
			CommandOpcodeEnum.READ_EXT_GROUP_COUNTERS => "READ_EXT_GROUP_COUNTERS", 
			CommandOpcodeEnum.POKE => "POKE", 
			CommandOpcodeEnum.PEEK => "PEEK", 
			CommandOpcodeEnum.TX_TEST => "TX_TEST", 
			CommandOpcodeEnum.RX_TEST => "RX_TEST", 
			CommandOpcodeEnum.CHIP_TEST_VCO_BIST => "CHIP_TEST_VCO_BIST", 
			CommandOpcodeEnum.CHIP_TEST_PROCESS_CALIBRATION => "CHIP_TEST_PROCESS_CALIBRATION", 
			CommandOpcodeEnum.CHIP_TEST_RSB_CALIBRATION => "CHIP_TEST_RSB_CALIBRATION", 
			CommandOpcodeEnum.CHIP_TEST_DC_CALIBRATION => "CHIP_TEST_DC_CALIBRATION", 
			CommandOpcodeEnum.GPIO_CONFIGURATION => "GPIO_CONFIGURATION", 
			CommandOpcodeEnum.TONE_CONFIGURATION => "TONE_CONFIGURATION", 
			CommandOpcodeEnum.TUNE => "TUNE", 
			CommandOpcodeEnum.PEEK_DATA => "PEEK_DATA", 
			CommandOpcodeEnum.POKE_DATA => "POKE_DATA", 
			CommandOpcodeEnum.MULTI_POKE_DATA => "MULTI_POKE_DATA", 
			CommandOpcodeEnum.SSBI_PEEK_REGISTER => "SSBI_PEEK_REGISTER", 
			CommandOpcodeEnum.SSBI_POKE_REGISTER => "SSBI_POKE_REGISTER", 
			CommandOpcodeEnum.GET_STATIONS_INTERNAL_DEBUG_PARAMETERS => "GET_STATIONS_INTERNAL_DEBUG_PARAMETERS", 
			CommandOpcodeEnum.SET_INTERNAL_TONE_GENERATOR => "SET_INTERNAL_TONE_GENERATOR", 
			CommandOpcodeEnum.PIN_CONNECTIVITY_TEST => "PIN_CONNECTIVITY_TEST", 
			CommandOpcodeEnum.SET_LOG_CONFIGURATION => "SET_LOG_CONFIGURATION", 
			CommandOpcodeEnum.GET_LOG_CONFIGURATION => "GET_LOG_CONFIGURATION", 
			CommandOpcodeEnum.GET_DEMOD_INPUT_DATA => "GET_DEMOD_INPUT_DATA", 
			CommandOpcodeEnum.SET_GET_RESET_AGC => "Set Get Reset AGC", 
			_ => "Invalid CommandOpcode Value", 
		};
	}

	public static string CommandOpcodeToDescription()
	{
		StringBuilder stringBuilder = new StringBuilder();
		stringBuilder.AppendLine("0x0 = NOP");
		stringBuilder.AppendLine("0x4C01 = ENABLE_RECEIVER");
		stringBuilder.AppendLine("0x4C02 = DISABLE_RECEIVER");
		stringBuilder.AppendLine("0x4C03 = GET_RECEIVER_CONFIGURATION");
		stringBuilder.AppendLine("0x4C04 = SET_RECEIVER_CONFIGURATION");
		stringBuilder.AppendLine("0x4C05 = SET_MUTE_MODE");
		stringBuilder.AppendLine("0x4C06 = SET_STEREO_MODE");
		stringBuilder.AppendLine("0x4C07 = SET_ANTENNA");
		stringBuilder.AppendLine("0x4C08 = SET_SIGNAL_THRESHOLD");
		stringBuilder.AppendLine("0x4C09 = GET_SIGNAL_THRESHOLD");
		stringBuilder.AppendLine("0x4C0A = GET_STATION_PARAMETERS");
		stringBuilder.AppendLine("0x4C0B = GET_PROGRAM_SERVICE");
		stringBuilder.AppendLine("0x4C0C = GET_RADIO_TEXT");
		stringBuilder.AppendLine("0x4C0D = GET_ALTERNATIVE_RADIO_FREQUENCY_LIST");
		stringBuilder.AppendLine("0x4C0E = SEARCH_STATIONS");
		stringBuilder.AppendLine("0x4C0F = SEARCH_RDS_STATIONS");
		stringBuilder.AppendLine("0x4C10 = SEARCH_STATION_LIST");
		stringBuilder.AppendLine("0x4C11 = CANCEL_SEARCH");
		stringBuilder.AppendLine("0x4C12 = RDS_GROUPS");
		stringBuilder.AppendLine("0x4C13 = RDS_GROUP_PROCESSING");
		stringBuilder.AppendLine("0x4C14 = ENABLE_WAN_AVOIDANCE_CONTROL");
		stringBuilder.AppendLine("0x4C15 = ENABLE_NOTCH_CONTROL");
		stringBuilder.AppendLine("0x4C16 = ASYNC_EVENT_CONTROL");
		stringBuilder.AppendLine("0x4C17 = SET_CHANNEL_DETECTION_THRESHOLDS");
		stringBuilder.AppendLine("0x4C18 = GET_CHANNEL_DETECTION_THRESHOLDS");
		stringBuilder.AppendLine("0x4C19 = SET_SOFT_MUTE");
		stringBuilder.AppendLine("0x4C1A = GET_SOFT_MUTE");
		stringBuilder.AppendLine("0x4C1B = SET_BLEND");
		stringBuilder.AppendLine("0x4C1C = GET_BLEND");
		stringBuilder.AppendLine("0x4C1D = SET_HI_LO_INJECTION");
		stringBuilder.AppendLine("0x4C1E = GET_HI_LO_INJECTION");
		stringBuilder.AppendLine("0x4C1F = LOW_PASS_FILTER_CONTROL");
		stringBuilder.AppendLine("0x5001 = ENABLE_TRANSMITTER");
		stringBuilder.AppendLine("0x5002 = DISABLE_TRANSMITTER");
		stringBuilder.AppendLine("0x5003 = GET_TRANSMITTER_CONFIGURATION");
		stringBuilder.AppendLine("0x5004 = SET_TRANSMITTER_CONFIGURATION");
		stringBuilder.AppendLine("0x5005 = TX_RDS_RAW_GROUPS");
		stringBuilder.AppendLine("0x5006 = TX_GROUP_CONTROL");
		stringBuilder.AppendLine("0x5007 = TX_GET_BUFFER_SIZE");
		stringBuilder.AppendLine("0x5008 = TX_RADIO_TEXT");
		stringBuilder.AppendLine("0x5009 = TX_PROGRAM_SERVICE");
		stringBuilder.AppendLine("0x5401 = TUNE_STATION");
		stringBuilder.AppendLine("0x5402 = DEFAULT_DATA_READ");
		stringBuilder.AppendLine("0x5403 = DEFAULT_DATA_WRITE");
		stringBuilder.AppendLine("0x5404 = RESET");
		stringBuilder.AppendLine("0x5405 = FEATURES_LIST");
		stringBuilder.AppendLine("0x5406 = DO_CALIBRATION");
		stringBuilder.AppendLine("0x5407 = SET_CALIBRATION_DATA");
		stringBuilder.AppendLine("0x5408 = SET_SPUR_FILTERING_TABLE");
		stringBuilder.AppendLine("0x5409 = GET_SPUR_FILTERING_ENTRY");
		stringBuilder.AppendLine("0x5801 = READ_GROUP_COUNTERS");
		stringBuilder.AppendLine("0x5802 = READ_EXT_GROUP_COUNTERS");
		stringBuilder.AppendLine("0x5C01 = POKE");
		stringBuilder.AppendLine("0x5C02 = PEEK");
		stringBuilder.AppendLine("0x5C03 = TX_TEST");
		stringBuilder.AppendLine("0x5C04 = RX_TEST");
		stringBuilder.AppendLine("0x5C05 = CHIP_TEST_VCO_BIST");
		stringBuilder.AppendLine("0x5C06 = CHIP_TEST_PROCESS_CALIBRATION");
		stringBuilder.AppendLine("0x5C07 = CHIP_TEST_RSB_CALIBRATION");
		stringBuilder.AppendLine("0x5C08 = CHIP_TEST_DC_CALIBRATION");
		stringBuilder.AppendLine("0x5C09 = GPIO_CONFIGURATION");
		stringBuilder.AppendLine("0x5C0A = TONE_CONFIGURATION");
		stringBuilder.AppendLine("0x5C0B = TUNE");
		stringBuilder.AppendLine("0xFC02 = PEEK_DATA");
		stringBuilder.AppendLine("0xFC03 = POKE_DATA");
		stringBuilder.AppendLine("0xFC03 = MULTI_POKE_DATA");
		stringBuilder.AppendLine("0xFC04 = SSBI_PEEK_REGISTER");
		stringBuilder.AppendLine("0xFC05 = SSBI_POKE_REGISTER");
		stringBuilder.AppendLine("0xFC07 = GET_STATIONS_INTERNAL_DEBUG_PARAMETERS");
		stringBuilder.AppendLine("0xFC08 = SET_INTERNAL_TONE_GENERATOR");
		stringBuilder.AppendLine("0xFC09 = PIN_CONNECTIVITY_TEST");
		stringBuilder.AppendLine("0xFC0A = SET_LOG_CONFIGURATION");
		stringBuilder.AppendLine("0xFC0B = GET_LOG_CONFIGURATION");
		stringBuilder.AppendLine("0xFC0C = GET_DEMOD_INPUT_DATA");
		stringBuilder.AppendLine("0xFC0D = Set Get Reset AGC");
		return stringBuilder.ToString();
	}
}
