добавил запись настроек BucLnb
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "../dependencies/control_system/common/protocol_commands.h"
|
||||
|
||||
typedef boost::property_tree::ptree::path_type json_path;
|
||||
|
||||
/**
|
||||
* Этот демон нужен для того, чтобы получать статистику из API, а так же корректно сохранять настройки
|
||||
@@ -205,6 +206,22 @@ public:
|
||||
json = this->qosClassesJson;
|
||||
}
|
||||
|
||||
void setStrringsRxTx(bool readback = true) {}
|
||||
void setStrringsCinc(bool readback = true) {}
|
||||
|
||||
void setStrringsBucLnb(const buc_lnb_settings& bucLnb, bool readback = true) {
|
||||
std::lock_guard lock(this->cpApiMutex);
|
||||
buc_lnb_settings tmp = bucLnb;
|
||||
CP_SetBUC_LNB_settings(this->sid, tmp);
|
||||
if (readback) {
|
||||
CP_GetBUC_LNB_settings(this->sid, tmp);
|
||||
{
|
||||
std::lock_guard lock2{this->settingsMutex};
|
||||
this->bucLnbSettings = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void setQosSettings(bool enabled, const std::string& str, bool readback = true) {
|
||||
std::lock_guard lock(this->cpApiMutex);
|
||||
CP_SetQoSSettings(this->sid, str, enabled);
|
||||
@@ -473,7 +490,43 @@ std::string api_driver::ApiDriver::loadSettings() const {
|
||||
return result.str();
|
||||
}
|
||||
|
||||
api_driver::ApiDriver::~ApiDriver() = default;
|
||||
void api_driver::ApiDriver::setRxTxSettings(boost::property_tree::ptree &pt) {
|
||||
}
|
||||
|
||||
void api_driver::ApiDriver::setCincSettings(boost::property_tree::ptree &pt) {
|
||||
}
|
||||
|
||||
void api_driver::ApiDriver::setBucLnbSettings(boost::property_tree::ptree &pt) {
|
||||
buc_lnb_settings s{};
|
||||
|
||||
auto tmp = pt.get<int>(json_path("lnb.powering", '/'));
|
||||
switch (tmp) {
|
||||
case 13: s.lnb = voltage_lnb::_13V; break;
|
||||
case 18: s.lnb = voltage_lnb::_18V; break;
|
||||
case 24: s.lnb = voltage_lnb::_24V; break;
|
||||
case 0:
|
||||
default:
|
||||
s.lnb = voltage_lnb::DISABLE;
|
||||
}
|
||||
s.is_ref_10MHz_lnb = pt.get<bool>(json_path("lnb.refClk10M", '/'));
|
||||
|
||||
tmp = pt.get<int>(json_path("buc.powering", '/'));
|
||||
switch (tmp) {
|
||||
case 24: s.buc = voltage_buc::_24V; break;
|
||||
case 48: s.buc = voltage_buc::_48V; break;
|
||||
case 0:
|
||||
default:
|
||||
s.lnb = voltage_lnb::DISABLE;
|
||||
}
|
||||
// { "lnb": {"powering": 0} }
|
||||
|
||||
s.is_ref_10MHz_buc = pt.get<bool>(json_path("buc.refClk10M", '/'));
|
||||
|
||||
s.is_ref_10MHz_output = pt.get<bool>(json_path("serviceSettings.refClk10M", '/'));
|
||||
s.is_save_current_state = pt.get<bool>(json_path("serviceSettings.autoStart", '/'));
|
||||
|
||||
this->daemon->setStrringsBucLnb(s);
|
||||
}
|
||||
|
||||
void api_driver::ApiDriver::setQosSettings(boost::property_tree::ptree &pt) {
|
||||
bool enabled = pt.get<bool>("en");
|
||||
@@ -490,3 +543,5 @@ bool api_driver::ApiDriver::getIsCinC() const {
|
||||
daemon->getSettings(&s, nullptr, nullptr, nullptr, nullptr);
|
||||
return s.is_cinc;
|
||||
}
|
||||
|
||||
api_driver::ApiDriver::~ApiDriver() = default;
|
||||
|
Reference in New Issue
Block a user