сделал получение параметров через api, немного подредачил фронт

This commit is contained in:
2024-10-30 18:00:48 +03:00
parent 9037c6b329
commit e8eeee3755
5 changed files with 268 additions and 55 deletions

View File

@@ -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;