логгирование ошибок API (установка параметров)

This commit is contained in:
Vladislav Ostapov 2024-11-29 15:04:38 +03:00
parent e0aacfe8aa
commit 98dcc06a6a

View File

@ -450,14 +450,14 @@ public:
#ifdef MODEM_IS_SCPC #ifdef MODEM_IS_SCPC
void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, ACM_parameters_serv_& acm, bool readback = true) { void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, ACM_parameters_serv_& acm, bool readback = true) {
std::lock_guard lock(this->cpApiMutex); std::lock_guard lock(this->cpApiMutex);
CP_SetDmaDebug(sid, "begin_save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
CP_SetModulatorSettings(this->sid, mod); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetModulatorSettings()", CP_SetModulatorSettings(this->sid, mod));
CP_SetDemodulatorSettings(this->sid, demod); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDemodulatorSettings()", CP_SetDemodulatorSettings(this->sid, demod));
CP_SetAcmParams(this->sid, acm); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetAcmParams()", CP_SetAcmParams(this->sid, acm));
if (readback) { if (readback) {
CP_GetModulatorSettings(this->sid, mod); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_GetModulatorSettings()", CP_GetModulatorSettings(this->sid, mod));
CP_GetDemodulatorSettings(this->sid, demod); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_GetDemodulatorSettings()", CP_GetDemodulatorSettings(this->sid, demod));
CP_GetAcmParams(this->sid, &acm); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_GetAcmParams()", CP_GetAcmParams(this->sid, &acm));
{ {
std::lock_guard lock2{this->settingsMutex}; std::lock_guard lock2{this->settingsMutex};
this->modSettings = mod; this->modSettings = mod;
@ -465,71 +465,71 @@ public:
this->acmSettings = acm; this->acmSettings = acm;
} }
} }
CP_SetDmaDebug(sid, "save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
} }
#else #else
void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, bool readback = true) { void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, bool readback = true) {
std::lock_guard lock(this->cpApiMutex); std::lock_guard lock(this->cpApiMutex);
CP_SetDmaDebug(sid, "begin_save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
CP_SetModulatorSettings(this->sid, mod); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetModulatorSettings()", CP_SetModulatorSettings(this->sid, mod));
CP_SetDemodulatorSettings(this->sid, demod); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDemodulatorSettings()", CP_SetDemodulatorSettings(this->sid, demod));
if (readback) { if (readback) {
CP_GetModulatorSettings(this->sid, mod); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_GetModulatorSettings()", CP_GetModulatorSettings(this->sid, mod));
CP_GetDemodulatorSettings(this->sid, demod); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_GetDemodulatorSettings()", CP_GetDemodulatorSettings(this->sid, demod));
{ {
std::lock_guard lock2{this->settingsMutex}; std::lock_guard lock2{this->settingsMutex};
this->modSettings = mod; this->modSettings = mod;
this->demodSettings = demod; this->demodSettings = demod;
} }
} }
CP_SetDmaDebug(sid, "save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
} }
#endif #endif
#ifdef MODEM_IS_SCPC #ifdef MODEM_IS_SCPC
void setSettingsCinc(DPDI_parmeters& s, bool readback = true) { void setSettingsCinc(DPDI_parmeters& s, bool readback = true) {
std::lock_guard lock(this->cpApiMutex); std::lock_guard lock(this->cpApiMutex);
CP_SetDmaDebug(sid, "begin_save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setSettingsCinc()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
CP_SetDpdiParams(sid, s); logCpApiError("api_driver::TerminalApiDaemon::setSettingsCinc()->CP_SetDpdiParams()", CP_SetDpdiParams(sid, s)));
if (readback) { if (readback) {
CP_GetDpdiParams(this->sid, &s); logCpApiError("api_driver::TerminalApiDaemon::setSettingsCinc()->CP_GetDpdiParams()", CP_GetDpdiParams(this->sid, &s));
{ {
std::lock_guard lock2{this->settingsMutex}; std::lock_guard lock2{this->settingsMutex};
this->dpdiSettings = s; this->dpdiSettings = s;
} }
} }
CP_SetDmaDebug(sid, "save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setSettingsCinc()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
} }
#endif #endif
void setSettingsBucLnb(buc_lnb_settings& bucLnb, bool readback = true) { void setSettingsBucLnb(buc_lnb_settings& bucLnb, bool readback = true) {
std::lock_guard lock(this->cpApiMutex); std::lock_guard lock(this->cpApiMutex);
CP_SetDmaDebug(sid, "begin_save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setSettingsBucLnb()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
CP_SetBUC_LNB_settings(this->sid, bucLnb); logCpApiError("api_driver::TerminalApiDaemon::setSettingsBucLnb()->CP_SetBUC_LNB_settings()", CP_SetBUC_LNB_settings(this->sid, bucLnb));
if (readback) { if (readback) {
CP_GetBUC_LNB_settings(this->sid, bucLnb); logCpApiError("api_driver::TerminalApiDaemon::setSettingsBucLnb()->CP_GetBUC_LNB_settings()", CP_GetBUC_LNB_settings(this->sid, bucLnb));
{ {
std::lock_guard lock2{this->settingsMutex}; std::lock_guard lock2{this->settingsMutex};
this->bucLnbSettings = bucLnb; this->bucLnbSettings = bucLnb;
} }
} }
CP_SetDmaDebug(sid, "save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setSettingsBucLnb()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
} }
void setQosSettings(bool enabled, const std::string& str, bool readback = true) { void setQosSettings(bool enabled, const std::string& str, bool readback = true) {
std::lock_guard lock(this->cpApiMutex); std::lock_guard lock(this->cpApiMutex);
CP_SetDmaDebug(sid, "begin_save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setQosSettings()->CP_SetDmaDebug()", CP_SetDmaDebug(sid, "begin_save_config", ""));
CP_SetQoSSettings(this->sid, str, enabled); logCpApiError("api_driver::TerminalApiDaemon::setQosSettings()->CP_SetQoSSettings()", CP_SetQoSSettings(this->sid, str, enabled));
if (readback) { if (readback) {
bool tmp1; std::string tmp2; bool tmp1; std::string tmp2;
CP_GetQoSSettings(this->sid, tmp2, tmp1); logCpApiError("api_driver::TerminalApiDaemon::setQosSettings()->CP_GetQoSSettings()", CP_GetQoSSettings(this->sid, tmp2, tmp1));
{ {
std::lock_guard lock2(this->qosSettingsMutex); std::lock_guard lock2(this->qosSettingsMutex);
this->qosEnabled = tmp1; this->qosEnabled = tmp1;
this->qosClassesJson = tmp2.empty() ? DEFAULT_QOS_CLASSES : tmp2; this->qosClassesJson = tmp2.empty() ? DEFAULT_QOS_CLASSES : tmp2;
} }
} }
CP_SetDmaDebug(sid, "save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setQosSettings()->CP_SetDmaDebug()", CP_SetDmaDebug(sid, "save_config", ""));
} }
void setNetworkSettings(TerminalNetworkSettings& s, bool readback = true) { void setNetworkSettings(TerminalNetworkSettings& s, bool readback = true) {
@ -541,13 +541,13 @@ public:
else { throw std::runtime_error("invalid mode"); } else { throw std::runtime_error("invalid mode"); }
std::lock_guard lock(this->cpApiMutex); std::lock_guard lock(this->cpApiMutex);
CP_SetDmaDebug(sid, "begin_save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
CP_SetNetwork(sid, "mode", isL2 ? "tap" : "tun"); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(mode)", CP_SetNetwork(sid, "mode", isL2 ? "tap" : "tun"));
CP_SetNetwork(sid, "addr", mang.first.c_str()); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(addr)", CP_SetNetwork(sid, "addr", mang.first.c_str()));
CP_SetNetwork(sid, "mask", mang.second.c_str()); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(mask)", CP_SetNetwork(sid, "mask", mang.second.c_str()));
CP_SetNetwork(sid, "gateway", s.managementGateway.c_str()); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(gateway)", CP_SetNetwork(sid, "gateway", s.managementGateway.c_str()));
if (!isL2) { if (!isL2) {
CP_SetNetwork(sid, "data_addr", data.first.c_str()); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(data_addr)", CP_SetNetwork(sid, "data_addr", data.first.c_str()));
// TODO маска не устанавливается, потому что в API этого нет // TODO маска не устанавливается, потому что в API этого нет
} }
// TODO MTU не устанавливается, потому что в API этого нет // TODO MTU не устанавливается, потому что в API этого нет
@ -556,15 +556,15 @@ public:
std::string tmp; std::string tmp;
s.loadDefaults(); s.loadDefaults();
s.managementIp.clear(); s.managementIp.clear();
CP_GetNetwork(sid, "addr", &s.managementIp); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(addr)", CP_GetNetwork(sid, "addr", &s.managementIp));
CP_GetNetwork(sid, "mask", &tmp); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(mask)", CP_GetNetwork(sid, "mask", &tmp));
s.managementIp += "/"; s.managementIp += "/";
s.managementIp += std::to_string(calculateSubnetMask(tmp)); s.managementIp += std::to_string(calculateSubnetMask(tmp));
CP_GetNetwork(sid, "gateway", &s.managementGateway); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(gateway)", CP_GetNetwork(sid, "gateway", &s.managementGateway));
tmp.clear(); CP_GetNetwork(sid, "mode", &tmp); tmp.clear(); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(mode)", CP_GetNetwork(sid, "mode", &tmp));
if (tmp == "tun") { if (tmp == "tun") {
s.mode = "l3"; s.mode = "l3";
CP_GetNetwork(sid, "addr_data", &s.dataIp); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(addr_data)", CP_GetNetwork(sid, "addr_data", &s.dataIp));
} else { } else {
s.mode = "l2"; s.mode = "l2";
s.dataIp = "0.0.0.0/24"; s.dataIp = "0.0.0.0/24";
@ -575,20 +575,20 @@ public:
this->networkSettings = s; this->networkSettings = s;
} }
} }
CP_SetDmaDebug(sid, "save_config", ""); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
} }
void resetPacketStatistics() { void resetPacketStatistics() {
std::string tmp; std::string tmp;
std::lock_guard lock(this->cpApiMutex); std::lock_guard lock(this->cpApiMutex);
CP_GetDmaDebug(sid, "reset_cnt_rx", &tmp); logCpApiError("api_driver::TerminalApiDaemon::resetPacketStatistics()->CP_GetDmaDebug(reset_cnt_rx)", CP_GetDmaDebug(sid, "reset_cnt_rx", &tmp));
} }
void resetDefaultSettings() { void resetDefaultSettings() {
std::lock_guard lock(this->cpApiMutex); std::lock_guard lock(this->cpApiMutex);
CP_SetDmaDebug(sid, "begin_save_config", " "); logCpApiError("api_driver::TerminalApiDaemon::resetDefaultSettings()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
CP_SetDmaDebug(sid, "default_params", ""); logCpApiError("api_driver::TerminalApiDaemon::resetDefaultSettings()->CP_SetDmaDebug(default_params)", CP_SetDmaDebug(sid, "default_params", ""));
CP_SetDmaDebug(sid, "save_config", " "); logCpApiError("api_driver::TerminalApiDaemon::resetDefaultSettings()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
} }
~TerminalApiDaemon() { ~TerminalApiDaemon() {