mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2026-06-27 14:03:15 -04:00
Initial commit: Antenna support, Enhanced Settings menu, Enhanced SDR device dialog
This commit is contained in:
@@ -39,6 +39,14 @@ long DeviceConfig::getSampleRate() {
|
||||
return sampleRate.load();
|
||||
}
|
||||
|
||||
void DeviceConfig::setAntennaName(const std::string& name) {
|
||||
antennaName = name;
|
||||
}
|
||||
|
||||
const std::string& DeviceConfig::getAntennaName() {
|
||||
return antennaName;
|
||||
}
|
||||
|
||||
void DeviceConfig::setAGCMode(bool agcMode) {
|
||||
this->agcMode.store(agcMode);
|
||||
}
|
||||
@@ -81,7 +89,9 @@ std::string DeviceConfig::getDeviceName() {
|
||||
}
|
||||
|
||||
void DeviceConfig::save(DataNode *node) {
|
||||
|
||||
std::lock_guard < std::mutex > lock(busy_lock);
|
||||
|
||||
*node->newChild("id") = deviceId;
|
||||
*node->newChild("name") = deviceName;
|
||||
*node->newChild("ppm") = ppm.load();
|
||||
@@ -89,6 +99,10 @@ void DeviceConfig::save(DataNode *node) {
|
||||
*node->newChild("sample_rate") = sampleRate.load();
|
||||
*node->newChild("agc_mode") = agcMode.load()?1:0;
|
||||
|
||||
if (!antennaName.empty()) {
|
||||
*node->newChild("antenna") = antennaName;
|
||||
}
|
||||
|
||||
if (streamOpts.size()) {
|
||||
DataNode *streamOptsNode = node->newChild("streamOpts");
|
||||
for (ConfigSettings::const_iterator opt_i = streamOpts.begin(); opt_i != streamOpts.end(); opt_i++) {
|
||||
@@ -149,6 +163,12 @@ void DeviceConfig::load(DataNode *node) {
|
||||
sample_rate_node->element()->get(sampleRateValue);
|
||||
setSampleRate(sampleRateValue);
|
||||
}
|
||||
if (node->hasAnother("antenna")) {
|
||||
DataNode *antenna_node = node->getNext("antenna");
|
||||
std::string antennaNameValue;
|
||||
antenna_node->element()->get(antennaNameValue);
|
||||
setAntennaName(antennaNameValue);
|
||||
}
|
||||
if (node->hasAnother("streamOpts")) {
|
||||
DataNode *streamOptsNode = node->getNext("streamOpts");
|
||||
for (int i = 0, iMax = streamOptsNode->numChildren(); i<iMax; i++) {
|
||||
|
||||
Reference in New Issue
Block a user