сделал получение параметров через api, немного подредачил фронт
This commit is contained in:
@@ -1,26 +1,73 @@
|
||||
#include "terminal_api_driver.h"
|
||||
#include "terminal_api/ControlProtoCInterface.h"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
api_driver::ApiDriver::ApiDriver() {
|
||||
CP_Login("admin", "pass", &sid, &access);
|
||||
}
|
||||
|
||||
static bool DriverCP_GetLevelDemod(TSID sid, const char* param) {
|
||||
double variable_dbl = 0;
|
||||
CP_GetLevelDemod(sid, param, &variable_dbl);
|
||||
return variable_dbl == 0;
|
||||
}
|
||||
|
||||
static bool DriverCP_GetGain(TSID sid, const char* param) {
|
||||
double variable_dbl = 0;
|
||||
CP_GetGain(sid, param, &variable_dbl);
|
||||
return variable_dbl == 0;
|
||||
}
|
||||
|
||||
static const char* boolAsStr(bool value) {
|
||||
return value ? "true" : "false";
|
||||
}
|
||||
|
||||
std::string api_driver::ApiDriver::loadTerminalState() {
|
||||
std::stringstream result;
|
||||
result << "{";
|
||||
|
||||
return R"({"rxState":0,"txState":0,"testState":0})";
|
||||
}
|
||||
result << "\"txState\":" << boolAsStr(DriverCP_GetGain(sid, "TXPWD"));
|
||||
|
||||
std::string api_driver::ApiDriver::loadTxStatistics() {
|
||||
return R"("{"error":"no impl"}")";
|
||||
}
|
||||
const auto sym_sync_lock = DriverCP_GetLevelDemod(sid, "sym_sync_lock"); // захват символьной
|
||||
const auto freq_search_lock = DriverCP_GetLevelDemod(sid, "freq_lock"); // Захват поиска по частоте
|
||||
const auto afc_lock = DriverCP_GetLevelDemod(sid, "afc_lock"); // захват ФАПЧ
|
||||
const auto pkt_sync = DriverCP_GetLevelDemod(sid, "pkt_sync"); // захват пакетной синхронизации
|
||||
const auto receive_active = sym_sync_lock && freq_search_lock && afc_lock && pkt_sync;
|
||||
|
||||
std::string api_driver::ApiDriver::loadRxStatistics() {
|
||||
return R"("{"error":"no impl"}")";
|
||||
result << ",\"rxState\":" << boolAsStr(receive_active);
|
||||
result << ",\"rx.sym_sync_lock\":" << boolAsStr(sym_sync_lock);
|
||||
result << ",\"rx.freq_search_lock\":" << boolAsStr(freq_search_lock);
|
||||
result << ",\"rx.afc_lock\":" << boolAsStr(afc_lock);
|
||||
result << ",\"rx.pkt_sync\":" << boolAsStr(pkt_sync);
|
||||
|
||||
result << "}";
|
||||
|
||||
// return R"({"rxState":0,"txState":0,"testState":0})";
|
||||
return result.str();
|
||||
}
|
||||
|
||||
std::string api_driver::ApiDriver::loadDeviceStatistics() {
|
||||
return R"("{"error":"no impl"}")";
|
||||
std::stringstream result;
|
||||
result << "{";
|
||||
|
||||
result << "\"txState\":" << boolAsStr(DriverCP_GetGain(sid, "TXPWD"));
|
||||
|
||||
const auto sym_sync_lock = DriverCP_GetLevelDemod(sid, "sym_sync_lock"); // захват символьной
|
||||
const auto freq_search_lock = DriverCP_GetLevelDemod(sid, "freq_lock"); // Захват поиска по частоте
|
||||
const auto afc_lock = DriverCP_GetLevelDemod(sid, "afc_lock"); // захват ФАПЧ
|
||||
const auto pkt_sync = DriverCP_GetLevelDemod(sid, "pkt_sync"); // захват пакетной синхронизации
|
||||
const auto receive_active = sym_sync_lock && freq_search_lock && afc_lock && pkt_sync;
|
||||
|
||||
result << ",\"rxState\":" << boolAsStr(receive_active);
|
||||
result << ",\"rx.sym_sync_lock\":" << boolAsStr(sym_sync_lock);
|
||||
result << ",\"rx.freq_search_lock\":" << boolAsStr(freq_search_lock);
|
||||
result << ",\"rx.afc_lock\":" << boolAsStr(afc_lock);
|
||||
result << ",\"rx.pkt_sync\":" << boolAsStr(pkt_sync);
|
||||
|
||||
result << "}";
|
||||
|
||||
// return R"({"rxState":0,"txState":0,"testState":0})";
|
||||
return result.str();
|
||||
}
|
||||
|
||||
api_driver::ApiDriver::~ApiDriver() = default;
|
||||
|
Reference in New Issue
Block a user