// Translators.cpp // Converter #include "Translators.h" // CHIRP Generic CSV file -> CPS AnyTone Channel.csv file bool translateChirp2CPS(chirp::chirp ch, cps::cps& cps) { cps.No = ToString(ch.Location); cps.ChannelName = ch.ChannelName; cps.ReceiveFrequency = ToString(ch.Frequency); // Receive frequency cps.TransmitFrequency = ToString(ch.Offset); if (ch.Duplex == "-") cps.TransmitFrequency = ToString(ch.Frequency - ch.Offset); if (ch.Duplex == "+") cps.TransmitFrequency = ToString(ch.Frequency + ch.Offset); if (ch.Duplex == "") cps.TransmitFrequency = ToString(ch.Frequency); if (ch.Mode == "DMR") cps.ChannelType = "D-Digital"; // Case to do if (ch.Mode == "FM" || ch.Mode == "NFM") cps.ChannelType = "A-Analog"; // if (ch.Mode == "Auto") cps.ChannelType = "A+D TX A"; // "A-Analog", "D-Digital", "A+D TX A", "D+A TX D" if (ch.Power == "5.0W") cps.TransmitPower = "Mid"; // "Low", "Mid", "High", "Turbo" if (ch.Mode == "NFM") cps.BandWidth = "12.5K"; // "Band Width" -> "25K" for FM or "12.5K" for NFM if (true) cps.CTCSS_DCS_Decode = "Off"; // "CTCSS/DCS Decode" -> "Off", "CTCSS", "DCS" if (true) cps.CTCSS_DCS_Encode = "Off"; // "CTCSS/DCS Encode" -> "Off", "CTCSS", "DCS" if (true) cps.Squelch_Mode = "Carrier"; // "Squelch Mode" -> "Carrier", "CTCSS/DCS" if (ch.Tone == "Tone") cps.CTCSS_DCS_Encode = ch.cToneFreq; // 'Tone', 'TSQL', 'TSQL-R', 'DTCS', 'DTCS-R', 'Cross'-> if (ch.Tone == "TSQL") { //cps.CTCSS_DCS_Decode = ch.cToneFreq; cps.CTCSS_DCS_Encode = ch.rToneFreq; // 'Tone', 'TSQL', 'TSQL-R', 'DTCS', 'DTCS-R', 'Cross'-> cps.Squelch_Mode = "CTCSS/DCS"; } if (ch.Tone == "TSQL-R") cps.CTCSS_DCS_Decode = ch.cToneFreq; // 'Tone', 'TSQL', 'TSQL-R', 'DTCS', 'DTCS-R', 'Cross'-> if (ch.Tone == "DTCS") { //cps.CTCSS_DCS_Decode = "DCS"; cps.CTCSS_DCS_Encode = ch.rToneFreq; // 'Tone', 'TSQL', 'TSQL-R', 'DTCS', 'DTCS-R', 'Cross'-> cps.Squelch_Mode = "CTCSS/DCS"; } if (ch.Tone == "Cross") { if (ch.Tone == "Tone->")cps.CTCSS_DCS_Encode = ch.cToneFreq; if (ch.Tone == "Tone->Tone") { //cps.CTCSS_DCS_Decode = ch.cToneFreq; cps.CTCSS_DCS_Encode = ch.cToneFreq; // 'Tone', 'TSQL', 'TSQL-R', 'DTCS', 'DTCS-R', 'Cross'-> } if (ch.Tone == "->Tone") cps.CTCSS_DCS_Decode = ch.cToneFreq; if (ch.Tone == "Tone->DTCS") { //cps.CTCSS_DCS_Decode = ch.cToneFreq; cps.CTCSS_DCS_Encode = "DCS"; // 'Tone', 'TSQL', 'TSQL-R', 'DTCS', 'DTCS-R', 'Cross'-> } if (ch.Tone == "DTCS->") cps.CTCSS_DCS_Decode = "DCS"; if (ch.Tone == "DTCS->DTCSS") { //cps.CTCSS_DCS_Decode = "DCS"; cps.CTCSS_DCS_Encode = ch.rToneFreq;; // 'Tone', 'TSQL', 'TSQL-R', 'DTCS', 'DTCS-R', 'Cross'-> } if (ch.Tone == "DTCS->Tone") { //cps.CTCSS_DCS_Decode = "DCS"; cps.CTCSS_DCS_Encode = ch.cToneFreq; // 'Tone', 'TSQL', 'TSQL-R', 'DTCS', 'DTCS-R', 'Cross'-> } if (ch.Tone == "->DTCS") cps.CTCSS_DCS_Encode = "DCS"; cps.Squelch_Mode = "CTCSS/DCS"; } if (true) cps.Contact = "Contact 1"; // "Contact" -> "Contact 1" if (true) cps.ContactCallType = "Group Call"; // "Contact Call Type" -> "Group Call" if (true) cps.ContactTG_DMR_ID = "1"; // "Contact TG/DMR ID" -> "1" if (true) cps.Radio_ID = "My radio"; // "Radio ID" -> "" if (true) cps.BusyLockTXPermit = "Always"; // "Busy Lock/TX Permit" -> "Always" if (true) cps.Optional_Signal = "Off"; // "Optional Signal" -> "Off" if (true) cps.DTMF_ID = "1"; // "DTMF ID" -> "1" if (true) cps._2Tone_ID = "1"; // "2Tone ID" -> "1" if (true) cps._5Tone_ID = "1"; // "5Tone ID" -> "1" if (true) cps.PTT_ID = "Off"; // "PTT ID" -> "Off" if (true) cps.Color_Code = "1"; // "Color Code" -> "1" if (true) cps.Slot = "1"; // "Slot" -> "1" if (true) cps.Scan_List = "None"; // "Scan List" -> "None" if (true) cps.Receive_Group_List = "None"; // "Receive Group List" -> "None" if (true) cps.PTT_Prohibit = "Off"; // "PTT Prohibit" -> "Off" if (true) cps.Reverse = "Off"; // "Reverse" -> "Off" if (true) cps.Simplex_TDMA = "Off"; // "Simplex TDMA" -> "Off" if (true) cps.Slot_Suit = "Off"; // "Slot Suit" -> "Off" if (true) cps.AES_Digital_Encryption = "Normal Encryption"; // "AES Digital Encryption" -> "Normal Encryption" if (true) cps.Digital_Encryption = "Off"; // "Digital Encryption" -> "Off" if (true) cps.Call_Confirmation = "Off"; // "Call Confirmation" -> "Off" if (true) cps.Talk_Around_Simplex = "Off"; // "Talk Around(Simplex)" -> "Off" if (true) cps.Work_Alone = "Off"; // "Work Alone" -> "Off" if (true) cps.Custom_CTCSS = "251.1"; // "Custom CTCSS" -> "251.1" if (true) cps._2TONE_Decode = "0"; // "2TONE Decode" -> "0" if (true) cps.Ranging = "Off"; // "Ranging" -> "Off" if (true) cps.Through_Mode = "Off"; // "Through Mode" -> "Off" if (true) cps.APRS_RX = "Off"; // "APRS RX" -> "Off" if (true) cps.Analog_APRS_PTT_Mode = "Off"; // "Analog APRS PTT Mode" -> "Off" if (true) cps.Digital_APRS_PTT_Mode = "Off"; // "Digital APRS PTT Mode" -> "Off" if (true) cps.APRS_Report_Type = "Off"; // "APRS Report Type" -> "Off" if (true) cps.Digital_APRS_Report_Channel = "1";// "Digital APRS Report Channel" -> "1" if (true) cps.Correct_FrequencyHz = "0"; // "Correct Frequency[Hz]" -> "0" if (true) cps.SMS_Confirmation = "Off"; // "SMS Confirmation" -> "Off" if (true) cps.Exclude_channel_from_roaming = "0"; // "Exclude channel from roaming" -> "0" if (true) cps.DMR_MODE = "0"; // "DMR MODE" -> "0" if (true) cps.DataACK_Disable = "0"; // "DataACK Disable" -> "0" if (true) cps.R5toneBot = "0"; // "R5toneBot" -> "0" if (true) cps.R5ToneEot = "0"; // "R5ToneEot" -> "0" if (true) cps.Auto_Scan = "0"; // "Auto Scan" -> "0" if (true) cps.Ana_Aprs_Mute = "0"; // "Ana Aprs Mute" -> "0" if (true) cps.Send_Talker_Alias = "0"; // "Send Talker Alias" -> "0" if (true) cps.AnaAprsTxPath = "0"; // "AnaAprsTxPath" -> "0" if (true) cps.ARC4 = "0"; // "ARC4" -> "0" if (true) cps.ex_emg_kind = "0"; // "ex_emg_kind" -> "0" return true; }