MCPcopy Create free account
hub / github.com/aethersdr/AetherSDR / applyApdSamplerStatus

Method applyApdSamplerStatus

src/models/TransmitModel.cpp:299–329  ·  view source on GitHub ↗

"apd sampler tx_ant=ANT1 selected_sampler=RX_A valid_samplers=RX_A,XVTA"

Source from the content-addressed store, hash-verified

297
298// "apd sampler tx_ant=ANT1 selected_sampler=RX_A valid_samplers=RX_A,XVTA"
299void TransmitModel::applyApdSamplerStatus(const QMap<QString, QString>& kvs)
300{
301 const QString txAnt = kvs.value("tx_ant").toUpper();
302 if (txAnt.isEmpty()) return;
303
304 ApdSampler s = m_apdSamplers.value(txAnt);
305 bool changed = false;
306
307 if (kvs.contains("valid_samplers")) {
308 QStringList ports = kvs["valid_samplers"].split(',', Qt::SkipEmptyParts);
309 QStringList avail{"INTERNAL"};
310 for (const auto& p : ports) {
311 const QString u = p.trimmed().toUpper();
312 if (!u.isEmpty() && !avail.contains(u)) avail.append(u);
313 }
314 if (s.available != avail) { s.available = avail; changed = true; }
315 }
316
317 if (kvs.contains("selected_sampler")) {
318 QString sel = kvs["selected_sampler"].toUpper();
319 // Match FlexLib: if selected_sampler isn't in the available list,
320 // fall back to INTERNAL.
321 if (!s.available.contains(sel)) sel = "INTERNAL";
322 if (s.selected != sel) { s.selected = sel; changed = true; }
323 }
324
325 if (changed) {
326 m_apdSamplers.insert(txAnt, s);
327 emit apdSamplerChanged(txAnt);
328 }
329}
330
331void TransmitModel::setApdEnabled(bool on)
332{

Calls 3

containsMethod · 0.80
valueMethod · 0.45
isEmptyMethod · 0.45