mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-05-24 11:12:27 -04:00
SimplePTT GPIO and commands: GUI implementation
This commit is contained in:
parent
aa911e9026
commit
c50c9753f6
@ -16,6 +16,7 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QFileDialog>
|
||||||
|
|
||||||
#include "feature/featureuiset.h"
|
#include "feature/featureuiset.h"
|
||||||
#include "gui/basicfeaturesettingsdialog.h"
|
#include "gui/basicfeaturesettingsdialog.h"
|
||||||
@ -226,6 +227,18 @@ void SimplePTTGUI::displaySettings()
|
|||||||
ui->voxLevel->setValue(m_settings.m_voxLevel);
|
ui->voxLevel->setValue(m_settings.m_voxLevel);
|
||||||
ui->voxLevelText->setText(tr("%1").arg(m_settings.m_voxLevel));
|
ui->voxLevelText->setText(tr("%1").arg(m_settings.m_voxLevel));
|
||||||
ui->voxHold->setValue(m_settings.m_voxHold);
|
ui->voxHold->setValue(m_settings.m_voxHold);
|
||||||
|
ui->commandRxTxEnable->setChecked(m_settings.m_rx2txCommandEnable);
|
||||||
|
ui->commandTxRxEnable->setChecked(m_settings.m_tx2rxCommandEnable);
|
||||||
|
ui->gpioRxTxControlEnable->setChecked(m_settings.m_rx2txGPIOEnable);
|
||||||
|
ui->gpioTxRxControlEnable->setChecked(m_settings.m_tx2rxGPIOEnable);
|
||||||
|
ui->gpioTxControl->setChecked(m_settings.m_gpioControl == SimplePTTSettings::GPIOTx);
|
||||||
|
ui->gpioRxControl->setChecked(m_settings.m_gpioControl == SimplePTTSettings::GPIORx);
|
||||||
|
ui->gpioRxTxMask->setText(QString("%1").arg((m_settings.m_rx2txGPIOMask % 256), 2, 16, QChar('0')).toUpper());
|
||||||
|
ui->gpioRxTxValue->setText(QString("%1").arg((m_settings.m_rx2txGPIOValues % 256), 2, 16, QChar('0')).toUpper());
|
||||||
|
ui->gpioTxRxMask->setText(QString("%1").arg((m_settings.m_tx2rxGPIOMask % 256), 2, 16, QChar('0')).toUpper());
|
||||||
|
ui->gpioTxRxValue->setText(QString("%1").arg((m_settings.m_tx2rxGPIOValues % 256), 2, 16, QChar('0')).toUpper());
|
||||||
|
ui->commandRxTx->setText(m_settings.m_rx2txCommand);
|
||||||
|
ui->commandTxRx->setText(m_settings.m_tx2rxCommand);
|
||||||
blockApplySettings(false);
|
blockApplySettings(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -442,6 +455,155 @@ void SimplePTTGUI::on_voxHold_valueChanged(int value)
|
|||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_commandRxTxEnable_toggled(bool checked)
|
||||||
|
{
|
||||||
|
m_settings.m_rx2txCommandEnable = checked;
|
||||||
|
m_settingsKeys.append("rx2txCommandEnable");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_commandTxRxEnable_toggled(bool checked)
|
||||||
|
{
|
||||||
|
m_settings.m_tx2rxCommandEnable = checked;
|
||||||
|
m_settingsKeys.append("tx2rxCommandEnable");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_commandRxTxFileDialog_clicked()
|
||||||
|
{
|
||||||
|
QString commandFileName = ui->commandRxTx->text();
|
||||||
|
QFileInfo commandFileInfo(commandFileName);
|
||||||
|
QString commandFolderName = commandFileInfo.baseName();
|
||||||
|
QFileInfo commandDirInfo(commandFolderName);
|
||||||
|
QString dirStr;
|
||||||
|
|
||||||
|
if (commandFileInfo.exists()) {
|
||||||
|
dirStr = commandFileName;
|
||||||
|
} else if (commandDirInfo.exists()) {
|
||||||
|
dirStr = commandFolderName;
|
||||||
|
} else {
|
||||||
|
dirStr = ".";
|
||||||
|
}
|
||||||
|
|
||||||
|
QString fileName = QFileDialog::getOpenFileName(
|
||||||
|
this,
|
||||||
|
tr("Select command"),
|
||||||
|
dirStr,
|
||||||
|
tr("All (*);;Python (*.py);;Shell (*.sh *.bat);;Binary (*.bin *.exe)"), 0, QFileDialog::DontUseNativeDialog);
|
||||||
|
|
||||||
|
if (fileName != "")
|
||||||
|
{
|
||||||
|
ui->commandRxTx->setText(fileName);
|
||||||
|
m_settings.m_rx2txCommand = fileName;
|
||||||
|
m_settingsKeys.append("rx2txCommand");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_commandTxRxFileDialog_clicked()
|
||||||
|
{
|
||||||
|
QString commandFileName = ui->commandTxRx->text();
|
||||||
|
QFileInfo commandFileInfo(commandFileName);
|
||||||
|
QString commandFolderName = commandFileInfo.baseName();
|
||||||
|
QFileInfo commandDirInfo(commandFolderName);
|
||||||
|
QString dirStr;
|
||||||
|
|
||||||
|
if (commandFileInfo.exists()) {
|
||||||
|
dirStr = commandFileName;
|
||||||
|
} else if (commandDirInfo.exists()) {
|
||||||
|
dirStr = commandFolderName;
|
||||||
|
} else {
|
||||||
|
dirStr = ".";
|
||||||
|
}
|
||||||
|
|
||||||
|
QString fileName = QFileDialog::getOpenFileName(
|
||||||
|
this,
|
||||||
|
tr("Select command"),
|
||||||
|
dirStr,
|
||||||
|
tr("All (*);;Python (*.py);;Shell (*.sh *.bat);;Binary (*.bin *.exe)"), 0, QFileDialog::DontUseNativeDialog);
|
||||||
|
|
||||||
|
if (fileName != "")
|
||||||
|
{
|
||||||
|
ui->commandTxRx->setText(fileName);
|
||||||
|
m_settings.m_tx2rxCommand = fileName;
|
||||||
|
m_settingsKeys.append("tx2rxCommand");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_gpioRxTxControlEnable_toggled(bool checked)
|
||||||
|
{
|
||||||
|
m_settings.m_rx2txGPIOEnable = checked;
|
||||||
|
m_settingsKeys.append("rx2txGPIOEnable");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_gpioTxRxControlEnable_toggled(bool checked)
|
||||||
|
{
|
||||||
|
m_settings.m_tx2rxGPIOEnable = checked;
|
||||||
|
m_settingsKeys.append("tx2rxGPIOEnable");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_gpioRxTxMask_editingFinished()
|
||||||
|
{
|
||||||
|
bool ok;
|
||||||
|
int mask = ui->gpioRxTxMask->text().toInt(&ok, 16);
|
||||||
|
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
m_settings.m_rx2txGPIOMask = mask;
|
||||||
|
m_settingsKeys.append("rx2txGPIOMask");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_gpioRxTxValue_editingFinished()
|
||||||
|
{
|
||||||
|
bool ok;
|
||||||
|
int values = ui->gpioRxTxValue->text().toInt(&ok, 16);
|
||||||
|
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
m_settings.m_rx2txGPIOValues = values;
|
||||||
|
m_settingsKeys.append("rx2txGPIOValues");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_gpioTxRxMask_editingFinished()
|
||||||
|
{
|
||||||
|
bool ok;
|
||||||
|
int mask = ui->gpioTxRxMask->text().toInt(&ok, 16);
|
||||||
|
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
m_settings.m_tx2rxGPIOMask = mask;
|
||||||
|
m_settingsKeys.append("tx2rxGPIOMask");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_gpioTxRxValue_editingFinished()
|
||||||
|
{
|
||||||
|
bool ok;
|
||||||
|
int values = ui->gpioTxRxValue->text().toInt(&ok, 16);
|
||||||
|
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
m_settings.m_tx2rxGPIOValues = values;
|
||||||
|
m_settingsKeys.append("tx2rxGPIOValues");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SimplePTTGUI::on_gpioControl_clicked()
|
||||||
|
{
|
||||||
|
m_settings.m_gpioControl = ui->gpioRxControl->isChecked() ? SimplePTTSettings::GPIORx : SimplePTTSettings::GPIOTx;
|
||||||
|
m_settingsKeys.append("gpioControl");
|
||||||
|
applySettings();
|
||||||
|
}
|
||||||
|
|
||||||
void SimplePTTGUI::updateStatus()
|
void SimplePTTGUI::updateStatus()
|
||||||
{
|
{
|
||||||
int state = m_simplePTT->getState();
|
int state = m_simplePTT->getState();
|
||||||
@ -528,4 +690,16 @@ void SimplePTTGUI::makeUIConnections()
|
|||||||
QObject::connect(ui->voxEnable, &QCheckBox::clicked, this, &SimplePTTGUI::on_voxEnable_clicked);
|
QObject::connect(ui->voxEnable, &QCheckBox::clicked, this, &SimplePTTGUI::on_voxEnable_clicked);
|
||||||
QObject::connect(ui->voxLevel, &QDial::valueChanged, this, &SimplePTTGUI::on_voxLevel_valueChanged);
|
QObject::connect(ui->voxLevel, &QDial::valueChanged, this, &SimplePTTGUI::on_voxLevel_valueChanged);
|
||||||
QObject::connect(ui->voxHold, qOverload<int>(&QSpinBox::valueChanged), this, &SimplePTTGUI::on_voxHold_valueChanged);
|
QObject::connect(ui->voxHold, qOverload<int>(&QSpinBox::valueChanged), this, &SimplePTTGUI::on_voxHold_valueChanged);
|
||||||
|
QObject::connect(ui->commandRxTxEnable, &ButtonSwitch::toggled, this, &SimplePTTGUI::on_commandRxTxEnable_toggled);
|
||||||
|
QObject::connect(ui->commandTxRxEnable, &ButtonSwitch::toggled, this, &SimplePTTGUI::on_commandTxRxEnable_toggled);
|
||||||
|
QObject::connect(ui->commandRxTxFileDialog, &QPushButton::clicked, this, &SimplePTTGUI::on_commandRxTxFileDialog_clicked);
|
||||||
|
QObject::connect(ui->commandTxRxFileDialog, &QPushButton::clicked, this, &SimplePTTGUI::on_commandTxRxFileDialog_clicked);
|
||||||
|
QObject::connect(ui->gpioRxTxControlEnable, &ButtonSwitch::toggled, this, &SimplePTTGUI::on_gpioRxTxControlEnable_toggled);
|
||||||
|
QObject::connect(ui->gpioTxRxControlEnable, &ButtonSwitch::toggled, this, &SimplePTTGUI::on_gpioTxRxControlEnable_toggled);
|
||||||
|
QObject::connect(ui->gpioRxTxMask, &QLineEdit::editingFinished, this, &SimplePTTGUI::on_gpioRxTxMask_editingFinished);
|
||||||
|
QObject::connect(ui->gpioRxTxValue, &QLineEdit::editingFinished, this, &SimplePTTGUI::on_gpioRxTxValue_editingFinished);
|
||||||
|
QObject::connect(ui->gpioTxRxMask, &QLineEdit::editingFinished, this, &SimplePTTGUI::on_gpioTxRxMask_editingFinished);
|
||||||
|
QObject::connect(ui->gpioTxRxValue, &QLineEdit::editingFinished, this, &SimplePTTGUI::on_gpioTxRxValue_editingFinished);
|
||||||
|
QObject::connect(ui->gpioRxControl, &QRadioButton::clicked, this, &SimplePTTGUI::on_gpioControl_clicked);
|
||||||
|
QObject::connect(ui->gpioTxControl, &QRadioButton::clicked, this, &SimplePTTGUI::on_gpioControl_clicked);
|
||||||
}
|
}
|
||||||
|
@ -91,6 +91,18 @@ private slots:
|
|||||||
void on_voxEnable_clicked(bool checked);
|
void on_voxEnable_clicked(bool checked);
|
||||||
void on_voxLevel_valueChanged(int value);
|
void on_voxLevel_valueChanged(int value);
|
||||||
void on_voxHold_valueChanged(int value);
|
void on_voxHold_valueChanged(int value);
|
||||||
|
void on_commandRxTxEnable_toggled(bool checked);
|
||||||
|
void on_commandTxRxEnable_toggled(bool checked);
|
||||||
|
void on_commandRxTxFileDialog_clicked();
|
||||||
|
void on_commandTxRxFileDialog_clicked();
|
||||||
|
void on_gpioRxTxControlEnable_toggled(bool checked);
|
||||||
|
void on_gpioTxRxControlEnable_toggled(bool checked);
|
||||||
|
void on_gpioRxTxMask_editingFinished();
|
||||||
|
void on_gpioRxTxValue_editingFinished();
|
||||||
|
void on_gpioTxRxMask_editingFinished();
|
||||||
|
void on_gpioTxRxValue_editingFinished();
|
||||||
|
void on_gpioControl_clicked();
|
||||||
|
|
||||||
void updateStatus();
|
void updateStatus();
|
||||||
void audioSelect(const QPoint& p);
|
void audioSelect(const QPoint& p);
|
||||||
};
|
};
|
||||||
|
@ -448,6 +448,9 @@
|
|||||||
<layout class="QHBoxLayout" name="commandRxTxLayout">
|
<layout class="QHBoxLayout" name="commandRxTxLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="ButtonSwitch" name="commandRxTxEnable">
|
<widget class="ButtonSwitch" name="commandRxTxEnable">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Enable/Disable Rx to Tx command</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Rx-Tx Cmd</string>
|
<string>Rx-Tx Cmd</string>
|
||||||
</property>
|
</property>
|
||||||
@ -495,6 +498,9 @@
|
|||||||
<layout class="QHBoxLayout" name="commandTxRxLayout">
|
<layout class="QHBoxLayout" name="commandTxRxLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="ButtonSwitch" name="commandTxRxEnable">
|
<widget class="ButtonSwitch" name="commandTxRxEnable">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Enable/Disable Tx to Rx command</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Tx-Rx Cmd</string>
|
<string>Tx-Rx Cmd</string>
|
||||||
</property>
|
</property>
|
||||||
@ -541,7 +547,10 @@
|
|||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="gpioRxTxLayout">
|
<layout class="QHBoxLayout" name="gpioRxTxLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="ButtonSwitch" name="gpioRxControlEnable">
|
<widget class="ButtonSwitch" name="gpioRxTxControlEnable">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Enable/Disable Rx to Tx GPIO</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Rx-Tx GPIO</string>
|
<string>Rx-Tx GPIO</string>
|
||||||
</property>
|
</property>
|
||||||
@ -565,6 +574,9 @@
|
|||||||
<height>16777215</height>
|
<height>16777215</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Rx to Tx GPIO mask (1 byte hex)</string>
|
||||||
|
</property>
|
||||||
<property name="inputMask">
|
<property name="inputMask">
|
||||||
<string>HH</string>
|
<string>HH</string>
|
||||||
</property>
|
</property>
|
||||||
@ -588,6 +600,9 @@
|
|||||||
<height>16777215</height>
|
<height>16777215</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Rx to Tx GPIO value (1 byte hex)</string>
|
||||||
|
</property>
|
||||||
<property name="inputMask">
|
<property name="inputMask">
|
||||||
<string>HH</string>
|
<string>HH</string>
|
||||||
</property>
|
</property>
|
||||||
@ -622,6 +637,9 @@
|
|||||||
<layout class="QHBoxLayout" name="gpioTxRxLayout">
|
<layout class="QHBoxLayout" name="gpioTxRxLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="ButtonSwitch" name="gpioTxRxControlEnable">
|
<widget class="ButtonSwitch" name="gpioTxRxControlEnable">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Enable/Disable Tx to Rx GPIO</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Tx-Rx GPIO</string>
|
<string>Tx-Rx GPIO</string>
|
||||||
</property>
|
</property>
|
||||||
@ -629,6 +647,9 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="gpioTxRxMaskLabel">
|
<widget class="QLabel" name="gpioTxRxMaskLabel">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Tx to Rx GPIO mask (1 byte hex)</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Mask</string>
|
<string>Mask</string>
|
||||||
</property>
|
</property>
|
||||||
@ -653,7 +674,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="gpioTxRxValueLabel">
|
<widget class="QLabel" name="gpioTxRxValueLabel">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string/>
|
<string>Tx to Rx GPIO value (1 byte hex)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Val</string>
|
<string>Val</string>
|
||||||
|
@ -214,21 +214,33 @@ void SimplePTTSettings::applySettings(const QStringList& settingsKeys, const Sim
|
|||||||
if (settingsKeys.contains("gpioControl")) {
|
if (settingsKeys.contains("gpioControl")) {
|
||||||
m_gpioControl = settings.m_gpioControl;
|
m_gpioControl = settings.m_gpioControl;
|
||||||
}
|
}
|
||||||
|
if (settingsKeys.contains("rx2txGPIOEnable")) {
|
||||||
|
m_rx2txGPIOMask = settings.m_rx2txGPIOEnable;
|
||||||
|
}
|
||||||
if (settingsKeys.contains("rx2txGPIOMask")) {
|
if (settingsKeys.contains("rx2txGPIOMask")) {
|
||||||
m_rx2txGPIOMask = settings.m_rx2txGPIOMask;
|
m_rx2txGPIOMask = settings.m_rx2txGPIOMask;
|
||||||
}
|
}
|
||||||
if (settingsKeys.contains("rx2txGPIOValues")) {
|
if (settingsKeys.contains("rx2txGPIOValues")) {
|
||||||
m_rx2txGPIOValues = settings.m_rx2txGPIOValues;
|
m_rx2txGPIOValues = settings.m_rx2txGPIOValues;
|
||||||
}
|
}
|
||||||
|
if (settingsKeys.contains("rx2txCommandEnable")) {
|
||||||
|
m_rx2txCommand = settings.m_rx2txCommandEnable;
|
||||||
|
}
|
||||||
if (settingsKeys.contains("rx2txCommand")) {
|
if (settingsKeys.contains("rx2txCommand")) {
|
||||||
m_rx2txCommand = settings.m_rx2txCommand;
|
m_rx2txCommand = settings.m_rx2txCommand;
|
||||||
}
|
}
|
||||||
|
if (settingsKeys.contains("tx2rxGPIOEnable")) {
|
||||||
|
m_tx2rxGPIOMask = settings.m_tx2rxGPIOEnable;
|
||||||
|
}
|
||||||
if (settingsKeys.contains("tx2rxGPIOMask")) {
|
if (settingsKeys.contains("tx2rxGPIOMask")) {
|
||||||
m_tx2rxGPIOMask = settings.m_tx2rxGPIOMask;
|
m_tx2rxGPIOMask = settings.m_tx2rxGPIOMask;
|
||||||
}
|
}
|
||||||
if (settingsKeys.contains("tx2rxGPIOValues")) {
|
if (settingsKeys.contains("tx2rxGPIOValues")) {
|
||||||
m_tx2rxGPIOValues = settings.m_tx2rxGPIOValues;
|
m_tx2rxGPIOValues = settings.m_tx2rxGPIOValues;
|
||||||
}
|
}
|
||||||
|
if (settingsKeys.contains("tx2rxCommandEnable")) {
|
||||||
|
m_tx2rxCommand = settings.m_tx2rxCommandEnable;
|
||||||
|
}
|
||||||
if (settingsKeys.contains("tx2rxCommand")) {
|
if (settingsKeys.contains("tx2rxCommand")) {
|
||||||
m_tx2rxCommand = settings.m_tx2rxCommand;
|
m_tx2rxCommand = settings.m_tx2rxCommand;
|
||||||
}
|
}
|
||||||
@ -283,21 +295,33 @@ QString SimplePTTSettings::getDebugString(const QStringList& settingsKeys, bool
|
|||||||
if (settingsKeys.contains("gpioControl") || force) {
|
if (settingsKeys.contains("gpioControl") || force) {
|
||||||
ostr << " m_gpioControl: " << m_gpioControl;
|
ostr << " m_gpioControl: " << m_gpioControl;
|
||||||
}
|
}
|
||||||
|
if (settingsKeys.contains("rx2txGPIOEnable") || force) {
|
||||||
|
ostr << " m_rx2txGPIOEnable: " << m_rx2txGPIOEnable;
|
||||||
|
}
|
||||||
if (settingsKeys.contains("rx2txGPIOMask") || force) {
|
if (settingsKeys.contains("rx2txGPIOMask") || force) {
|
||||||
ostr << " m_rx2txGPIOMask: " << m_rx2txGPIOMask;
|
ostr << " m_rx2txGPIOMask: " << m_rx2txGPIOMask;
|
||||||
}
|
}
|
||||||
if (settingsKeys.contains("rx2txGPIOValues") || force) {
|
if (settingsKeys.contains("rx2txGPIOValues") || force) {
|
||||||
ostr << " m_rx2txGPIOValues: " << m_rx2txGPIOValues;
|
ostr << " m_rx2txGPIOValues: " << m_rx2txGPIOValues;
|
||||||
}
|
}
|
||||||
|
if (settingsKeys.contains("rx2txCommandEnable") || force) {
|
||||||
|
ostr << " m_rx2txCommandEnable: " << m_rx2txCommandEnable;
|
||||||
|
}
|
||||||
if (settingsKeys.contains("rx2txCommand") || force) {
|
if (settingsKeys.contains("rx2txCommand") || force) {
|
||||||
ostr << " m_rx2txCommand: " << m_rx2txCommand.toStdString();
|
ostr << " m_rx2txCommand: " << m_rx2txCommand.toStdString();
|
||||||
}
|
}
|
||||||
|
if (settingsKeys.contains("tx2rxGPIOEnable") || force) {
|
||||||
|
ostr << " m_tx2rxGPIOEnable: " << m_tx2rxGPIOEnable;
|
||||||
|
}
|
||||||
if (settingsKeys.contains("tx2rxGPIOMask") || force) {
|
if (settingsKeys.contains("tx2rxGPIOMask") || force) {
|
||||||
ostr << " m_tx2rxGPIOMask: " << m_tx2rxGPIOMask;
|
ostr << " m_tx2rxGPIOMask: " << m_tx2rxGPIOMask;
|
||||||
}
|
}
|
||||||
if (settingsKeys.contains("tx2rxGPIOValues") || force) {
|
if (settingsKeys.contains("tx2rxGPIOValues") || force) {
|
||||||
ostr << " m_tx2rxGPIOValues: " << m_tx2rxGPIOValues;
|
ostr << " m_tx2rxGPIOValues: " << m_tx2rxGPIOValues;
|
||||||
}
|
}
|
||||||
|
if (settingsKeys.contains("tx2rxCommandEnable") || force) {
|
||||||
|
ostr << " m_tx2rxCommandEnable: " << m_tx2rxCommandEnable;
|
||||||
|
}
|
||||||
if (settingsKeys.contains("tx2rxCommand") || force) {
|
if (settingsKeys.contains("tx2rxCommand") || force) {
|
||||||
ostr << " m_tx2rxCommand: " << m_tx2rxCommand.toStdString();
|
ostr << " m_tx2rxCommand: " << m_tx2rxCommand.toStdString();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user