9 , _chan(getParameterFact(_vehicle->
id(), QStringLiteral("SLNK_RADIO_CHAN")))
10 , _rate(getParameterFact(_vehicle->
id(), QStringLiteral("SLNK_RADIO_RATE")))
11 , _addr1(getParameterFact(_vehicle->
id(), QStringLiteral("SLNK_RADIO_ADDR1")))
12 , _addr2(getParameterFact(_vehicle->
id(), QStringLiteral("SLNK_RADIO_ADDR2")))
16 (void) connect(_chan, &
Fact::valueChanged,
this, &SyslinkComponentController::_channelChanged);
17 (void) connect(_rate, &
Fact::valueChanged,
this, &SyslinkComponentController::_rateChanged);
18 (void) connect(_addr1, &
Fact::valueChanged,
this, &SyslinkComponentController::_addressChanged);
19 (void) connect(_addr2, &
Fact::valueChanged,
this, &SyslinkComponentController::_addressChanged);
22SyslinkComponentController::~SyslinkComponentController()
27int SyslinkComponentController::radioChannel()
const
29 return _chan->rawValue().toUInt();
32void SyslinkComponentController::setRadioChannel(
int num)
const
34 _chan->setRawValue(QVariant(num));
37QString SyslinkComponentController::radioAddress()
const
39 const uint32_t val_uh = _addr1->rawValue().toUInt();
40 const uint32_t val_lh = _addr2->rawValue().toUInt();
41 const uint64_t val = ((
static_cast<uint64_t
>(val_uh)) << 32) |
static_cast<uint64_t
>(val_lh);
43 return QString::number(val, 16);
46void SyslinkComponentController::setRadioAddress(
const QString &str)
const
48 const uint64_t val = str.toULongLong(0, 16);
49 const uint32_t val_uh = val >> 32;
50 const uint32_t val_lh = val & 0xFFFFFFFF;
52 _addr1->setRawValue(QVariant(val_uh));
53 _addr2->setRawValue(QVariant(val_lh));
56int SyslinkComponentController::radioRate()
const
58 return _rate->rawValue().toInt();
61void SyslinkComponentController::setRadioRate(
int idx)
const
63 if ((idx >= 0) && (idx <= 2) && (idx != radioRate())) {
64 _rate->setRawValue(idx);
68void SyslinkComponentController::resetDefaults()
const
70 _chan->setRawValue(_chan->rawDefaultValue());
71 _rate->setRawValue(_rate->rawDefaultValue());
72 _addr1->setRawValue(_addr1->rawDefaultValue());
73 _addr2->setRawValue(_addr2->rawDefaultValue());
#define QGC_LOGGING_CATEGORY(name, categoryStr)
Used for handling missing Facts from C++ code.
void valueChanged(const QVariant &value)
This signal is only meant for use by the QT property system. It should not be connected to by client ...