ModemArgInfoList ModemFMStereo::getSettings() { ModemArgInfoList args; ModemArgInfo demphArg; demphArg.key = "demph"; demphArg.name = "De-emphasis"; demphArg.value = std::to_string(_demph); demphArg.description = "FM Stereo De-Emphasis, typically 75us in US/Canada, 50us elsewhere."; demphArg.type = ModemArgInfo::STRING; std::vector<std::string> demphOptNames; demphOptNames.push_back("None"); demphOptNames.push_back("10us"); demphOptNames.push_back("25us"); demphOptNames.push_back("32us"); demphOptNames.push_back("50us"); demphOptNames.push_back("75us"); demphArg.optionNames = demphOptNames; std::vector<std::string> demphOpts; demphOpts.push_back("0"); demphOpts.push_back("10"); demphOpts.push_back("25"); demphOpts.push_back("32"); demphOpts.push_back("50"); demphOpts.push_back("75"); demphArg.options = demphOpts; args.push_back(demphArg); return args; }
ModemArgInfoList ModemGMSK::getSettings() { ModemArgInfoList args; ModemArgInfo fdelayArg; fdelayArg.key = "fdelay"; fdelayArg.name = "Filter delay"; fdelayArg.value = std::to_string(_fdelay); fdelayArg.description = "Filter delay in samples"; fdelayArg.type = ModemArgInfo::INT; fdelayArg.units = "samples"; fdelayArg.range = ModemRange(1,128); args.push_back(fdelayArg); ModemArgInfo spsArg; spsArg.key = "sps"; spsArg.name = "Samples / symbol"; spsArg.value = std::to_string(_sps); spsArg.description = "Modem samples-per-symbol"; spsArg.type = ModemArgInfo::INT; spsArg.units = "samples/symbol"; spsArg.range = ModemRange(2,512); args.push_back(spsArg); ModemArgInfo ebfArg; ebfArg.key = "ebf"; ebfArg.name = "Excess bandwidth"; ebfArg.value = std::to_string(_ebf); ebfArg.description = "Modem excess bandwidth factor"; ebfArg.type = ModemArgInfo::FLOAT; ebfArg.range = ModemRange(0.1,0.49); args.push_back(ebfArg); return args; }
ModemArgInfoList ModemFSK::getSettings() { ModemArgInfoList args; ModemArgInfo bpsArg; bpsArg.key = "bps"; bpsArg.name = "Bits/symbol"; bpsArg.value = std::to_string(bps); bpsArg.description = "Modem bits-per-symbol"; bpsArg.type = ModemArgInfo::STRING; bpsArg.units = "bits"; std::vector<std::string> bpsOpts; bpsOpts.push_back("1"); bpsOpts.push_back("2"); bpsOpts.push_back("4"); bpsOpts.push_back("8"); bpsOpts.push_back("16"); bpsArg.options = bpsOpts; args.push_back(bpsArg); ModemArgInfo spsArg; spsArg.key = "sps"; spsArg.name = "Symbols/second"; spsArg.value = std::to_string(sps); spsArg.description = "Modem symbols-per-second"; spsArg.type = ModemArgInfo::INT; spsArg.range = ModemRange(10,115200); std::vector<std::string> spsOpts; args.push_back(spsArg); ModemArgInfo bwArg; bwArg.key = "bw"; bwArg.name = "Signal bandwidth"; bwArg.value = std::to_string(bw); bwArg.description = "Total signal bandwidth"; bwArg.type = ModemArgInfo::FLOAT; bwArg.range = ModemRange(0.1,0.49); args.push_back(bwArg); return args; }
ModemArgInfoList ModemAPSK::getSettings() { ModemArgInfoList args; ModemArgInfo consArg; consArg.key = "cons"; consArg.name = "Constellation"; consArg.description = "Modem Constellation Pattern"; consArg.value = std::to_string(cons); consArg.type = ModemArgInfo::STRING; std::vector<std::string> consOpts; consOpts.push_back("4"); consOpts.push_back("8"); consOpts.push_back("16"); consOpts.push_back("32"); consOpts.push_back("64"); consOpts.push_back("128"); consOpts.push_back("256"); consArg.options = consOpts; args.push_back(consArg); return args; }