компилируемая версия для модема, ее нельзя собрать на компе из-за различий в библиотеке boost::asio

This commit is contained in:
2025-01-15 17:43:39 +03:00
parent e313027759
commit 90c02eb63a
13 changed files with 29 additions and 4019 deletions

View File

@@ -880,28 +880,28 @@ std::string api_driver::ApiDriver::loadSettings() const {
result << ",\"txBaudrate\":" << modSettings.baudrate;
result << ",\"txRolloff\":" << static_cast<int>(modSettings.rollof * 100);
#ifdef MODEM_IS_SCPC
result << ",\"txGoldan\":" << static_cast<int>(modSettings.qold_seq_is_active);
result << ",\"txGoldan\":" << static_cast<int>(modSettings.gold_seq_is_active);
#endif
result << ",\"txAttenuation\":"; writeDouble(result, modSettings.attenuation);
#ifdef MODEM_IS_SCPC
result << ",\n\"isCinC\":" << boolAsStr(modSettings.is_cinc);
result << ",\n\"dvbServicePacketPeriod\":" << acmSettings.period_pack;
result << ",\"dvbIsAcm\":" << boolAsStr(acmSettings.enable);
result << ",\n\"dvbServicePacketPeriod\":" << acmSettings.period_pack_acm;
result << ",\"dvbIsAcm\":" << boolAsStr(acmSettings.enable_acm);
result << ",\"txFrameSizeNormal\":" << boolAsStr((modSettings.modcod_tx & 2) == 0);
result << R"(,"dvbCcmModulation":")" << extractModcodModulation(modSettings.modcod_tx) << "\"";
result << R"(,"dvbCcmSpeed":")" << extractModcodSpeed(modSettings.modcod_tx) << "\"";
result << R"(,"dvbAcmMinModulation":")" << extractModcodModulation(acmSettings.min_modcod) << "\"";
result << R"(,"dvbAcmMinSpeed":")" << extractModcodSpeed(acmSettings.min_modcod) << "\"";
result << R"(,"dvbAcmMaxModulation":")" << extractModcodModulation(acmSettings.max_modcod) << "\"";
result << R"(,"dvbAcmMaxSpeed":")" << extractModcodSpeed(acmSettings.max_modcod) << "\"";
result << ",\"dvbSnrReserve\":"; writeDouble(result, acmSettings.snr_treashold_acm);
result << R"(,"dvbAcmMinModulation":")" << extractModcodModulation(acmSettings.min_modcod_acm) << "\"";
result << R"(,"dvbAcmMinSpeed":")" << extractModcodSpeed(acmSettings.min_modcod_acm) << "\"";
result << R"(,"dvbAcmMaxModulation":")" << extractModcodModulation(acmSettings.max_modcod_acm) << "\"";
result << R"(,"dvbAcmMaxSpeed":")" << extractModcodSpeed(acmSettings.max_modcod_acm) << "\"";
result << ",\"dvbSnrReserve\":"; writeDouble(result, acmSettings.snr_threashold_acm);
result << ",\n\"aupcEn\":" << boolAsStr(acmSettings.enable_auto_atten);
result << ",\"aupcMinAttenuation\":"; writeDouble(result, acmSettings.min_attenuation);
result << ",\"aupcMaxAttenuation\":"; writeDouble(result, acmSettings.max_attenuation);
result << ",\"aupcRequiredSnr\":"; writeDouble(result, acmSettings.snr_treashold);
result << ",\n\"aupcEn\":" << boolAsStr(acmSettings.enable_aupc);
result << ",\"aupcMinAttenuation\":"; writeDouble(result, acmSettings.min_attenuation_aupc);
result << ",\"aupcMaxAttenuation\":"; writeDouble(result, acmSettings.max_attenuation_aupc);
result << ",\"aupcRequiredSnr\":"; writeDouble(result, acmSettings.snr_threashold_aupc);
result << ",\n\"cincIsPositional\":" << boolAsStr(!dpdiSettings.is_delay_window);
result << ",\"cincSearchBandwidth\":" << dpdiSettings.freq_offset; // полоса поиска в кГц
@@ -919,7 +919,7 @@ std::string api_driver::ApiDriver::loadSettings() const {
result << ",\"rxBaudrate\":" << demodSettings.baudrate;
result << ",\"rxRolloff\":" << static_cast<int>(demodSettings.rollof * 100);
#ifdef MODEM_IS_SCPC
result << ",\"txGoldan\":" << static_cast<int>(demodSettings.qold_seq_is_active);
result << ",\"txGoldan\":" << static_cast<int>(demodSettings.gold_seq_is_active);
#endif
// BUC LNB
@@ -1022,7 +1022,7 @@ void api_driver::ApiDriver::setRxTxSettings(boost::property_tree::ptree &pt) {
mod.baudrate = pt.get<uint32_t>("txBaudrate");
mod.rollof = pt.get<int>("txRolloff") / 100.0;
#ifdef MODEM_IS_SCPC
mod.qold_seq_is_active = pt.get<bool>("txGoldan");
mod.gold_seq_is_active = pt.get<bool>("txGoldan");
#endif
mod.attenuation = pt.get<double>("txAttenuation");
@@ -1039,20 +1039,20 @@ void api_driver::ApiDriver::setRxTxSettings(boost::property_tree::ptree &pt) {
demod.baudrate = pt.get<uint32_t>("rxBaudrate");
demod.rollof = pt.get<int>("rxRolloff") / 100.0;
#ifdef MODEM_IS_SCPC
demod.qold_seq_is_active = pt.get<bool>("rxGoldan");
demod.gold_seq_is_active = pt.get<bool>("rxGoldan");
#endif
#ifdef MODEM_IS_SCPC
// ACM
acm.period_pack = pt.get<uint32_t>("dvbServicePacketPeriod");
acm.enable = pt.get<bool>("rxAgcEn");
acm.min_modcod = buildModcodFromPt(pt, "dvbAcmMin", acmIsShortFrame);
acm.max_modcod = buildModcodFromPt(pt, "dvbAcmMax", acmIsShortFrame);
acm.snr_treashold_acm = pt.get<double>("dvbSnrReserve"); // запас ОСШ
acm.enable_auto_atten = pt.get<bool>(json_path("aupcEn", '/'));
acm.min_attenuation = pt.get<int>("aupcMinAttenuation");
acm.max_attenuation = pt.get<int>("aupcMaxAttenuation");
acm.snr_treashold = pt.get<double>("aupcRequiredSnr");
acm.period_pack_acm = pt.get<uint32_t>("dvbServicePacketPeriod");
acm.enable_acm = pt.get<bool>("rxAgcEn");
acm.min_modcod_acm = buildModcodFromPt(pt, "dvbAcmMin", acmIsShortFrame);
acm.max_modcod_acm = buildModcodFromPt(pt, "dvbAcmMax", acmIsShortFrame);
acm.snr_threashold_acm = pt.get<double>("dvbSnrReserve"); // запас ОСШ
acm.enable_aupc = pt.get<bool>(json_path("aupcEn", '/'));
acm.min_attenuation_aupc = pt.get<int>("aupcMinAttenuation");
acm.max_attenuation_aupc = pt.get<int>("aupcMaxAttenuation");
acm.snr_threashold_aupc= pt.get<double>("aupcRequiredSnr");
daemon->setSettingsRxTx(mod, demod, acm);
#else