mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-01 09:24:10 +01:00
OP-38 Output settings now done, to be validated on real HW and tested by more users. "Test" checkboxes not active yet.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1233 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
parent
14a93b4e61
commit
732b65cdaa
@ -41,6 +41,6 @@ ConfigGadget::~ConfigGadget()
|
||||
|
||||
void ConfigGadget::loadConfiguration(IUAVGadgetConfiguration* config)
|
||||
{
|
||||
|
||||
Q_UNUSED(config);
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include "configgadgetwidget.h"
|
||||
#include "ui_settingswidget.h"
|
||||
|
||||
|
||||
#include <QDebug>
|
||||
#include <QStringList>
|
||||
#include <QtGui/QWidget>
|
||||
#include <QtGui/QTextEdit>
|
||||
@ -99,12 +99,38 @@ ConfigGadgetWidget::ConfigGadgetWidget(QWidget *parent) : QWidget(parent)
|
||||
}
|
||||
}
|
||||
|
||||
connect(m_config->ch0OutMin, SIGNAL(editingFinished()), this, SLOT(setch0OutRange()));
|
||||
connect(m_config->ch1OutMin, SIGNAL(editingFinished()), this, SLOT(setch1OutRange()));
|
||||
connect(m_config->ch2OutMin, SIGNAL(editingFinished()), this, SLOT(setch2OutRange()));
|
||||
connect(m_config->ch3OutMin, SIGNAL(editingFinished()), this, SLOT(setch3OutRange()));
|
||||
connect(m_config->ch4OutMin, SIGNAL(editingFinished()), this, SLOT(setch4OutRange()));
|
||||
connect(m_config->ch5OutMin, SIGNAL(editingFinished()), this, SLOT(setch5OutRange()));
|
||||
connect(m_config->ch6OutMin, SIGNAL(editingFinished()), this, SLOT(setch6OutRange()));
|
||||
connect(m_config->ch7OutMin, SIGNAL(editingFinished()), this, SLOT(setch7OutRange()));
|
||||
|
||||
connect(m_config->ch0OutMax, SIGNAL(editingFinished()), this, SLOT(setch0OutRange()));
|
||||
connect(m_config->ch1OutMax, SIGNAL(editingFinished()), this, SLOT(setch1OutRange()));
|
||||
connect(m_config->ch2OutMax, SIGNAL(editingFinished()), this, SLOT(setch2OutRange()));
|
||||
connect(m_config->ch3OutMax, SIGNAL(editingFinished()), this, SLOT(setch3OutRange()));
|
||||
connect(m_config->ch4OutMax, SIGNAL(editingFinished()), this, SLOT(setch4OutRange()));
|
||||
connect(m_config->ch5OutMax, SIGNAL(editingFinished()), this, SLOT(setch5OutRange()));
|
||||
connect(m_config->ch6OutMax, SIGNAL(editingFinished()), this, SLOT(setch6OutRange()));
|
||||
connect(m_config->ch7OutMax, SIGNAL(editingFinished()), this, SLOT(setch7OutRange()));
|
||||
|
||||
|
||||
requestRCInputUpdate();
|
||||
requestRCOutputUpdate();
|
||||
|
||||
connect(m_config->saveRCInputToSD, SIGNAL(clicked()), this, SLOT(saveRCInputObject()));
|
||||
connect(m_config->saveRCInputToRAM, SIGNAL(clicked()), this, SLOT(sendRCInputUpdate()));
|
||||
connect(m_config->getRCInputCurrent, SIGNAL(clicked()), this, SLOT(requestRCInputUpdate()));
|
||||
|
||||
connect(m_config->saveRCOutputToSD, SIGNAL(clicked()), this, SLOT(saveRCOutputObject()));
|
||||
connect(m_config->saveRCOutputToRAM, SIGNAL(clicked()), this, SLOT(sendRCOutputUpdate()));
|
||||
connect(m_config->getRCOutputCurrent, SIGNAL(clicked()), this, SLOT(requestRCOutputUpdate()));
|
||||
|
||||
|
||||
|
||||
firstUpdate = true;
|
||||
|
||||
}
|
||||
@ -120,10 +146,280 @@ void ConfigGadgetWidget::resizeEvent(QResizeEvent *event)
|
||||
QWidget::resizeEvent(event);
|
||||
}
|
||||
|
||||
/********************************
|
||||
* Output settings
|
||||
*******************************/
|
||||
|
||||
|
||||
/**
|
||||
Request the current config from the board (RC Output)
|
||||
*/
|
||||
void ConfigGadgetWidget::requestRCOutputUpdate()
|
||||
{
|
||||
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
|
||||
|
||||
// Get the Airframe type from the system settings:
|
||||
UAVDataObject* obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("SystemSettings")));
|
||||
Q_ASSERT(obj);
|
||||
obj->requestUpdate();
|
||||
UAVObjectField *field = obj->getField(QString("AirframeType"));
|
||||
m_config->aircraftType->setCurrentIndex(m_config->aircraftType->findText(field->getValue().toString()));
|
||||
|
||||
// Reset all channel assignements:
|
||||
m_config->ch0Output->setCurrentIndex(0);
|
||||
m_config->ch1Output->setCurrentIndex(0);
|
||||
m_config->ch2Output->setCurrentIndex(0);
|
||||
m_config->ch3Output->setCurrentIndex(0);
|
||||
m_config->ch4Output->setCurrentIndex(0);
|
||||
m_config->ch5Output->setCurrentIndex(0);
|
||||
m_config->ch6Output->setCurrentIndex(0);
|
||||
m_config->ch7Output->setCurrentIndex(0);
|
||||
|
||||
// Get the channel assignements:
|
||||
obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("ActuatorSettings")));
|
||||
Q_ASSERT(obj);
|
||||
obj->requestUpdate();
|
||||
QList<UAVObjectField*> fieldList = obj->getFields();
|
||||
foreach (UAVObjectField* field, fieldList) {
|
||||
if (!field->getName().contains("Channel")) {
|
||||
assignOutputChannel(obj,field,field->getName());
|
||||
}
|
||||
}
|
||||
|
||||
// Get Output rates for both banks
|
||||
field = obj->getField(QString("ChannelUpdateFreq"));
|
||||
m_config->outputRate1->setValue(field->getValue(0).toInt());
|
||||
m_config->outputRate2->setValue(field->getValue(1).toInt());
|
||||
|
||||
// Get Channel ranges:
|
||||
field = obj->getField(QString("ChannelMin"));
|
||||
m_config->ch0OutMin->setValue(field->getValue(0).toInt());
|
||||
m_config->ch0OutSlider->setMinimum(field->getValue(0).toInt());
|
||||
m_config->ch1OutMin->setValue(field->getValue(1).toInt());
|
||||
m_config->ch1OutSlider->setMinimum(field->getValue(1).toInt());
|
||||
m_config->ch2OutMin->setValue(field->getValue(2).toInt());
|
||||
m_config->ch2OutSlider->setMinimum(field->getValue(2).toInt());
|
||||
m_config->ch3OutMin->setValue(field->getValue(3).toInt());
|
||||
m_config->ch3OutSlider->setMinimum(field->getValue(3).toInt());
|
||||
m_config->ch4OutMin->setValue(field->getValue(4).toInt());
|
||||
m_config->ch4OutSlider->setMinimum(field->getValue(4).toInt());
|
||||
m_config->ch5OutMin->setValue(field->getValue(5).toInt());
|
||||
m_config->ch5OutSlider->setMinimum(field->getValue(5).toInt());
|
||||
m_config->ch6OutMin->setValue(field->getValue(6).toInt());
|
||||
m_config->ch6OutSlider->setMinimum(field->getValue(6).toInt());
|
||||
m_config->ch7OutMin->setValue(field->getValue(7).toInt());
|
||||
m_config->ch7OutSlider->setMinimum(field->getValue(7).toInt());
|
||||
|
||||
field = obj->getField(QString("ChannelMax"));
|
||||
m_config->ch0OutMax->setValue(field->getValue(0).toInt());
|
||||
m_config->ch0OutSlider->setMaximum(field->getValue(0).toInt());
|
||||
m_config->ch1OutMax->setValue(field->getValue(1).toInt());
|
||||
m_config->ch1OutSlider->setMaximum(field->getValue(1).toInt());
|
||||
m_config->ch2OutMax->setValue(field->getValue(2).toInt());
|
||||
m_config->ch2OutSlider->setMaximum(field->getValue(2).toInt());
|
||||
m_config->ch3OutMax->setValue(field->getValue(3).toInt());
|
||||
m_config->ch3OutSlider->setMaximum(field->getValue(3).toInt());
|
||||
m_config->ch4OutMax->setValue(field->getValue(4).toInt());
|
||||
m_config->ch4OutSlider->setMaximum(field->getValue(4).toInt());
|
||||
m_config->ch5OutMax->setValue(field->getValue(5).toInt());
|
||||
m_config->ch5OutSlider->setMaximum(field->getValue(5).toInt());
|
||||
m_config->ch6OutMax->setValue(field->getValue(6).toInt());
|
||||
m_config->ch6OutSlider->setMaximum(field->getValue(6).toInt());
|
||||
m_config->ch7OutMax->setValue(field->getValue(7).toInt());
|
||||
m_config->ch7OutSlider->setMaximum(field->getValue(7).toInt());
|
||||
|
||||
field = obj->getField(QString("ChannelNeutral"));
|
||||
m_config->ch0OutSlider->setValue(field->getValue(0).toInt());
|
||||
m_config->ch1OutSlider->setValue(field->getValue(1).toInt());
|
||||
m_config->ch2OutSlider->setValue(field->getValue(2).toInt());
|
||||
m_config->ch3OutSlider->setValue(field->getValue(3).toInt());
|
||||
m_config->ch4OutSlider->setValue(field->getValue(4).toInt());
|
||||
m_config->ch5OutSlider->setValue(field->getValue(5).toInt());
|
||||
m_config->ch6OutSlider->setValue(field->getValue(6).toInt());
|
||||
m_config->ch7OutSlider->setValue(field->getValue(7).toInt());
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends the config to the board, without saving to the SD card (RC Output)
|
||||
*/
|
||||
void ConfigGadgetWidget::sendRCOutputUpdate()
|
||||
{
|
||||
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
|
||||
UAVDataObject* obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("ActuatorSettings")));
|
||||
Q_ASSERT(obj);
|
||||
|
||||
// Now send channel ranges:
|
||||
UAVObjectField * field = obj->getField(QString("ChannelMax"));
|
||||
field->setValue(m_config->ch0OutMax->value(),0);
|
||||
field->setValue(m_config->ch1OutMax->value(),1);
|
||||
field->setValue(m_config->ch2OutMax->value(),2);
|
||||
field->setValue(m_config->ch3OutMax->value(),3);
|
||||
field->setValue(m_config->ch4OutMax->value(),4);
|
||||
field->setValue(m_config->ch5OutMax->value(),5);
|
||||
field->setValue(m_config->ch6OutMax->value(),6);
|
||||
field->setValue(m_config->ch7OutMax->value(),7);
|
||||
|
||||
field = obj->getField(QString("ChannelMin"));
|
||||
field->setValue(m_config->ch0OutMin->value(),0);
|
||||
field->setValue(m_config->ch1OutMin->value(),1);
|
||||
field->setValue(m_config->ch2OutMin->value(),2);
|
||||
field->setValue(m_config->ch3OutMin->value(),3);
|
||||
field->setValue(m_config->ch4OutMin->value(),4);
|
||||
field->setValue(m_config->ch5OutMin->value(),5);
|
||||
field->setValue(m_config->ch6OutMin->value(),6);
|
||||
field->setValue(m_config->ch7OutMin->value(),7);
|
||||
|
||||
field = obj->getField(QString("ChannelNeutral"));
|
||||
field->setValue(m_config->ch0OutSlider->value(),0);
|
||||
field->setValue(m_config->ch1OutSlider->value(),1);
|
||||
field->setValue(m_config->ch2OutSlider->value(),2);
|
||||
field->setValue(m_config->ch3OutSlider->value(),3);
|
||||
field->setValue(m_config->ch4OutSlider->value(),4);
|
||||
field->setValue(m_config->ch5OutSlider->value(),5);
|
||||
field->setValue(m_config->ch6OutSlider->value(),6);
|
||||
field->setValue(m_config->ch7OutSlider->value(),7);
|
||||
|
||||
field = obj->getField(QString("ChannelUpdateFreq"));
|
||||
field->setValue(m_config->outputRate1->value(),0);
|
||||
field->setValue(m_config->outputRate2->value(),1);
|
||||
|
||||
// Set Actuator assignement for each channel:
|
||||
// Rule: if two channels have the same setting (which is wrong!) the higher channel
|
||||
// will get the setting.
|
||||
|
||||
// First, reset all channel assignements:
|
||||
QList<UAVObjectField*> fieldList = obj->getFields();
|
||||
foreach (UAVObjectField* field, fieldList) {
|
||||
// NOTE: we assume that all options in ActuatorSettings are a channel assignement
|
||||
// except for the options called "ChannelXXX"
|
||||
if (!field->getName().contains("Channel")) {
|
||||
field->setValue(field->getOptions().last());
|
||||
}
|
||||
}
|
||||
|
||||
if (m_config->ch0Output->currentIndex() != 0) {
|
||||
field = obj->getField(m_config->ch0Output->currentText());
|
||||
field->setValue(field->getOptions().at(0)); // -> This way we don't depend on channel naming convention
|
||||
}
|
||||
if (m_config->ch1Output->currentIndex() != 0) {
|
||||
field = obj->getField(m_config->ch1Output->currentText());
|
||||
field->setValue(field->getOptions().at(1)); // -> This way we don't depend on channel naming convention
|
||||
}
|
||||
if (m_config->ch2Output->currentIndex() != 0) {
|
||||
field = obj->getField(m_config->ch2Output->currentText());
|
||||
field->setValue(field->getOptions().at(2)); // -> This way we don't depend on channel naming convention
|
||||
}
|
||||
if (m_config->ch3Output->currentIndex() != 0) {
|
||||
field = obj->getField(m_config->ch3Output->currentText());
|
||||
field->setValue(field->getOptions().at(3)); // -> This way we don't depend on channel naming convention
|
||||
}
|
||||
if (m_config->ch4Output->currentIndex() != 0) {
|
||||
field = obj->getField(m_config->ch4Output->currentText());
|
||||
field->setValue(field->getOptions().at(4)); // -> This way we don't depend on channel naming convention
|
||||
}
|
||||
if (m_config->ch5Output->currentIndex() != 0) {
|
||||
field = obj->getField(m_config->ch5Output->currentText());
|
||||
field->setValue(field->getOptions().at(5)); // -> This way we don't depend on channel naming convention
|
||||
}
|
||||
if (m_config->ch6Output->currentIndex() != 0) {
|
||||
field = obj->getField(m_config->ch6Output->currentText());
|
||||
field->setValue(field->getOptions().at(6)); // -> This way we don't depend on channel naming convention
|
||||
}
|
||||
if (m_config->ch7Output->currentIndex() != 0) {
|
||||
field = obj->getField(m_config->ch7Output->currentText());
|
||||
field->setValue(field->getOptions().at(7)); // -> This way we don't depend on channel naming convention
|
||||
}
|
||||
|
||||
// ... and send to the OP Board
|
||||
obj->updated();
|
||||
|
||||
|
||||
obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("SystemSettings")));
|
||||
Q_ASSERT(obj);
|
||||
field = obj->getField(QString("AirframeType"));
|
||||
field->setValue(m_config->aircraftType->currentText());
|
||||
|
||||
// ... and send to the OP Board
|
||||
obj->updated();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Sends the config to the board and request saving into the SD card (RC Output)
|
||||
*/
|
||||
void ConfigGadgetWidget::saveRCOutputObject()
|
||||
{
|
||||
// Send update so that the latest value is saved
|
||||
sendRCOutputUpdate();
|
||||
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
|
||||
UAVDataObject* obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("ActuatorSettings")));
|
||||
Q_ASSERT(obj);
|
||||
updateObjectPersistance(ObjectPersistence::OPERATION_SAVE, obj);
|
||||
|
||||
obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("SystemSettings")));
|
||||
Q_ASSERT(obj);
|
||||
updateObjectPersistance(ObjectPersistence::OPERATION_SAVE, obj);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Sets the minimum/maximem value of the channel 0 output slider.
|
||||
Have to do it here because setMinimum is not a slot
|
||||
*/
|
||||
void ConfigGadgetWidget::setch0OutRange()
|
||||
{
|
||||
m_config->ch0OutSlider->setRange(m_config->ch0OutMin->value(),
|
||||
m_config->ch0OutMax->value());
|
||||
}
|
||||
void ConfigGadgetWidget::setch1OutRange()
|
||||
{
|
||||
m_config->ch1OutSlider->setRange(m_config->ch1OutMin->value(),
|
||||
m_config->ch1OutMax->value());
|
||||
}
|
||||
void ConfigGadgetWidget::setch2OutRange()
|
||||
{
|
||||
m_config->ch2OutSlider->setRange(m_config->ch2OutMin->value(),
|
||||
m_config->ch2OutMax->value());
|
||||
}
|
||||
void ConfigGadgetWidget::setch3OutRange()
|
||||
{
|
||||
m_config->ch3OutSlider->setRange(m_config->ch3OutMin->value(),
|
||||
m_config->ch3OutMax->value());
|
||||
}
|
||||
void ConfigGadgetWidget::setch4OutRange()
|
||||
{
|
||||
m_config->ch4OutSlider->setRange(m_config->ch4OutMin->value(),
|
||||
m_config->ch4OutMax->value());
|
||||
}
|
||||
void ConfigGadgetWidget::setch5OutRange()
|
||||
{
|
||||
m_config->ch5OutSlider->setRange(m_config->ch5OutMin->value(),
|
||||
m_config->ch5OutMax->value());
|
||||
}
|
||||
void ConfigGadgetWidget::setch6OutRange()
|
||||
{
|
||||
m_config->ch6OutSlider->setRange(m_config->ch6OutMin->value(),
|
||||
m_config->ch6OutMax->value());
|
||||
}
|
||||
void ConfigGadgetWidget::setch7OutRange()
|
||||
{
|
||||
m_config->ch7OutSlider->setRange(m_config->ch7OutMin->value(),
|
||||
m_config->ch7OutMax->value());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/********************************
|
||||
* Input settings
|
||||
*******************************/
|
||||
|
||||
|
||||
/**
|
||||
@ -263,6 +559,16 @@ void ConfigGadgetWidget::sendRCInputUpdate()
|
||||
// Set Roll/Pitch/Yaw/Etc assignement:
|
||||
// Rule: if two channels have the same setting (which is wrong!) the higher channel
|
||||
// will get the setting.
|
||||
|
||||
// First, reset all channel assignements:
|
||||
QStringList channelsList;
|
||||
channelsList << "Roll" << "Pitch" << "Yaw" << "Throttle" << "FlightMode";
|
||||
foreach (QString channel, channelsList) {
|
||||
field = obj->getField(channel);
|
||||
field->setValue(field->getOptions().last());
|
||||
}
|
||||
|
||||
// Then assign according to current GUI state:
|
||||
if (m_config->ch0Assign->currentIndex() != 0) {
|
||||
field = obj->getField(m_config->ch0Assign->currentText());
|
||||
field->setValue(field->getOptions().at(0)); // -> This way we don't depend on channel naming convention
|
||||
@ -336,7 +642,7 @@ void ConfigGadgetWidget::updateObjectPersistance(ObjectPersistence::OperationOpt
|
||||
|
||||
|
||||
/**
|
||||
* Set the dropdown option for a channel assignement
|
||||
* Set the dropdown option for a channel Input assignement
|
||||
*/
|
||||
void ConfigGadgetWidget::assignChannel(UAVDataObject *obj, UAVObjectField *field, QString str)
|
||||
{
|
||||
@ -370,6 +676,42 @@ void ConfigGadgetWidget::assignChannel(UAVDataObject *obj, UAVObjectField *field
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the dropdown option for a channel output assignement
|
||||
*/
|
||||
void ConfigGadgetWidget::assignOutputChannel(UAVDataObject *obj, UAVObjectField *field, QString str)
|
||||
{
|
||||
field = obj->getField(str);
|
||||
QStringList options = field->getOptions();
|
||||
switch (options.indexOf(field->getValue().toString())) {
|
||||
case 0:
|
||||
m_config->ch0Output->setCurrentIndex(m_config->ch0Output->findText(str));
|
||||
break;
|
||||
case 1:
|
||||
m_config->ch1Output->setCurrentIndex(m_config->ch1Output->findText(str));
|
||||
break;
|
||||
case 2:
|
||||
m_config->ch2Output->setCurrentIndex(m_config->ch2Output->findText(str));
|
||||
break;
|
||||
case 3:
|
||||
m_config->ch3Output->setCurrentIndex(m_config->ch3Output->findText(str));
|
||||
break;
|
||||
case 4:
|
||||
m_config->ch4Output->setCurrentIndex(m_config->ch4Output->findText(str));
|
||||
break;
|
||||
case 5:
|
||||
m_config->ch5Output->setCurrentIndex(m_config->ch5Output->findText(str));
|
||||
break;
|
||||
case 6:
|
||||
m_config->ch6Output->setCurrentIndex(m_config->ch6Output->findText(str));
|
||||
break;
|
||||
case 7:
|
||||
m_config->ch7Output->setCurrentIndex(m_config->ch7Output->findText(str));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Updates the slider positions and min/max values
|
||||
|
@ -54,6 +54,7 @@ private:
|
||||
void updateChannelSlider(QSlider* slider, QLabel* min, QLabel* Max, QCheckBox* rev, int value);
|
||||
void updateObjectPersistance(ObjectPersistence::OperationOptions op, UAVObject *obj);
|
||||
void assignChannel(UAVDataObject *obj, UAVObjectField *field, QString str);
|
||||
void assignOutputChannel(UAVDataObject *obj, UAVObjectField *field, QString str);
|
||||
|
||||
bool firstUpdate;
|
||||
|
||||
@ -62,7 +63,18 @@ private:
|
||||
void requestRCInputUpdate();
|
||||
void sendRCInputUpdate();
|
||||
void saveRCInputObject();
|
||||
void requestRCOutputUpdate();
|
||||
void sendRCOutputUpdate();
|
||||
void saveRCOutputObject();
|
||||
|
||||
void setch0OutRange();
|
||||
void setch1OutRange();
|
||||
void setch2OutRange();
|
||||
void setch3OutRange();
|
||||
void setch4OutRange();
|
||||
void setch5OutRange();
|
||||
void setch6OutRange();
|
||||
void setch7OutRange();
|
||||
|
||||
};
|
||||
|
||||
|
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>617</width>
|
||||
<height>349</height>
|
||||
<width>664</width>
|
||||
<height>409</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -18,12 +18,12 @@
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>601</width>
|
||||
<height>331</height>
|
||||
<width>641</width>
|
||||
<height>381</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
@ -250,8 +250,8 @@ p, li { white-space: pre-wrap; }
|
||||
<widget class="QPushButton" name="getRCInputCurrent">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>270</x>
|
||||
<y>240</y>
|
||||
<x>310</x>
|
||||
<y>310</y>
|
||||
<width>93</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
@ -413,8 +413,8 @@ p, li { white-space: pre-wrap; }
|
||||
<widget class="QPushButton" name="saveRCInputToSD">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<y>240</y>
|
||||
<x>530</x>
|
||||
<y>310</y>
|
||||
<width>93</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
@ -487,8 +487,8 @@ Applies and Saves all settings to SD</string>
|
||||
<widget class="QPushButton" name="saveRCInputToRAM">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>240</y>
|
||||
<x>420</x>
|
||||
<y>310</y>
|
||||
<width>93</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
@ -1124,7 +1124,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>10</y>
|
||||
<y>20</y>
|
||||
<width>121</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1142,7 +1142,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<y>20</y>
|
||||
<width>91</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
@ -1155,7 +1155,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>50</y>
|
||||
<y>70</y>
|
||||
<width>71</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
@ -1168,7 +1168,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>80</y>
|
||||
<y>100</y>
|
||||
<width>71</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
@ -1181,7 +1181,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>110</y>
|
||||
<y>130</y>
|
||||
<width>71</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
@ -1194,7 +1194,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>140</y>
|
||||
<y>160</y>
|
||||
<width>71</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
@ -1207,20 +1207,20 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>170</y>
|
||||
<y>190</y>
|
||||
<width>71</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Channe l4</string>
|
||||
<string>Channel 4</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="actuator5Label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>200</y>
|
||||
<y>220</y>
|
||||
<width>71</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
@ -1236,11 +1236,14 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>300</x>
|
||||
<y>50</y>
|
||||
<y>70</y>
|
||||
<width>160</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@ -1252,7 +1255,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>50</y>
|
||||
<y>70</y>
|
||||
<width>121</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1270,7 +1273,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>50</y>
|
||||
<y>70</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1280,6 +1283,9 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="ch0OutMax">
|
||||
<property name="enabled">
|
||||
@ -1288,7 +1294,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>50</y>
|
||||
<y>70</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1298,6 +1304,9 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="ch0OutTest">
|
||||
<property name="enabled">
|
||||
@ -1305,8 +1314,8 @@ Uncheck/Check to restart calibration.</string>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>530</x>
|
||||
<y>50</y>
|
||||
<x>580</x>
|
||||
<y>70</y>
|
||||
<width>61</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@ -1319,7 +1328,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>230</y>
|
||||
<y>250</y>
|
||||
<width>71</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
@ -1332,7 +1341,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>260</y>
|
||||
<y>280</y>
|
||||
<width>71</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
@ -1348,7 +1357,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>80</y>
|
||||
<y>100</y>
|
||||
<width>121</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1366,7 +1375,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>80</y>
|
||||
<y>100</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1376,6 +1385,9 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="ch1OutMin">
|
||||
<property name="enabled">
|
||||
@ -1384,7 +1396,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>80</y>
|
||||
<y>100</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1394,6 +1406,9 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSlider" name="ch1OutSlider">
|
||||
<property name="enabled">
|
||||
@ -1402,11 +1417,14 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>300</x>
|
||||
<y>80</y>
|
||||
<y>100</y>
|
||||
<width>160</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@ -1417,8 +1435,8 @@ Uncheck/Check to restart calibration.</string>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>530</x>
|
||||
<y>80</y>
|
||||
<x>580</x>
|
||||
<y>100</y>
|
||||
<width>61</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@ -1434,7 +1452,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>110</y>
|
||||
<y>130</y>
|
||||
<width>121</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1452,7 +1470,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>110</y>
|
||||
<y>130</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1462,6 +1480,9 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="ch2OutMin">
|
||||
<property name="enabled">
|
||||
@ -1470,7 +1491,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>110</y>
|
||||
<y>130</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1480,6 +1501,9 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSlider" name="ch2OutSlider">
|
||||
<property name="enabled">
|
||||
@ -1488,11 +1512,14 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>300</x>
|
||||
<y>110</y>
|
||||
<y>130</y>
|
||||
<width>160</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@ -1503,8 +1530,8 @@ Uncheck/Check to restart calibration.</string>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>530</x>
|
||||
<y>110</y>
|
||||
<x>580</x>
|
||||
<y>130</y>
|
||||
<width>61</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@ -1520,7 +1547,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>140</y>
|
||||
<y>160</y>
|
||||
<width>121</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1538,7 +1565,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>140</y>
|
||||
<y>160</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1548,6 +1575,9 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="ch3OutMin">
|
||||
<property name="enabled">
|
||||
@ -1556,7 +1586,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>140</y>
|
||||
<y>160</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1566,6 +1596,9 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSlider" name="ch3OutSlider">
|
||||
<property name="enabled">
|
||||
@ -1574,11 +1607,14 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>300</x>
|
||||
<y>140</y>
|
||||
<y>160</y>
|
||||
<width>160</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@ -1589,8 +1625,8 @@ Uncheck/Check to restart calibration.</string>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>530</x>
|
||||
<y>140</y>
|
||||
<x>580</x>
|
||||
<y>160</y>
|
||||
<width>61</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@ -1603,7 +1639,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>170</y>
|
||||
<y>190</y>
|
||||
<width>121</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1618,7 +1654,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>170</y>
|
||||
<y>190</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1628,12 +1664,15 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="ch4OutMin">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>170</y>
|
||||
<y>190</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1643,16 +1682,22 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSlider" name="ch4OutSlider">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>300</x>
|
||||
<y>170</y>
|
||||
<y>190</y>
|
||||
<width>160</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@ -1660,8 +1705,8 @@ Uncheck/Check to restart calibration.</string>
|
||||
<widget class="QCheckBox" name="ch4OutTest">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>530</x>
|
||||
<y>170</y>
|
||||
<x>580</x>
|
||||
<y>190</y>
|
||||
<width>61</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@ -1674,7 +1719,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>200</y>
|
||||
<y>220</y>
|
||||
<width>121</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1689,7 +1734,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>200</y>
|
||||
<y>220</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1699,12 +1744,15 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="ch5OutMin">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>200</y>
|
||||
<y>220</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1714,16 +1762,22 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSlider" name="ch5OutSlider">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>300</x>
|
||||
<y>200</y>
|
||||
<y>220</y>
|
||||
<width>160</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@ -1731,8 +1785,8 @@ Uncheck/Check to restart calibration.</string>
|
||||
<widget class="QCheckBox" name="ch5OutTest">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>530</x>
|
||||
<y>200</y>
|
||||
<x>580</x>
|
||||
<y>220</y>
|
||||
<width>61</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@ -1745,7 +1799,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>230</y>
|
||||
<y>250</y>
|
||||
<width>121</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1760,7 +1814,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>230</y>
|
||||
<y>250</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1770,12 +1824,15 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="ch6OutMin">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>230</y>
|
||||
<y>250</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1785,16 +1842,22 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSlider" name="ch6OutSlider">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>300</x>
|
||||
<y>230</y>
|
||||
<y>250</y>
|
||||
<width>160</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@ -1802,8 +1865,8 @@ Uncheck/Check to restart calibration.</string>
|
||||
<widget class="QCheckBox" name="ch6OutTest">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>530</x>
|
||||
<y>230</y>
|
||||
<x>580</x>
|
||||
<y>250</y>
|
||||
<width>61</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@ -1816,7 +1879,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>260</y>
|
||||
<y>280</y>
|
||||
<width>121</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1831,7 +1894,7 @@ Uncheck/Check to restart calibration.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>260</y>
|
||||
<y>280</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1841,12 +1904,15 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="ch7OutMin">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>260</y>
|
||||
<y>280</y>
|
||||
<width>55</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
@ -1856,16 +1922,22 @@ Uncheck/Check to restart calibration.</string>
|
||||
<pointsize>8</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSlider" name="ch7OutSLider">
|
||||
<widget class="QSlider" name="ch7OutSlider">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>300</x>
|
||||
<y>260</y>
|
||||
<y>280</y>
|
||||
<width>160</width>
|
||||
<height>18</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@ -1873,8 +1945,8 @@ Uncheck/Check to restart calibration.</string>
|
||||
<widget class="QCheckBox" name="ch7OutTest">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>530</x>
|
||||
<y>260</y>
|
||||
<x>580</x>
|
||||
<y>280</y>
|
||||
<width>61</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
@ -1886,8 +1958,8 @@ Uncheck/Check to restart calibration.</string>
|
||||
<widget class="QPushButton" name="saveRCOutputToSD">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<y>10</y>
|
||||
<x>530</x>
|
||||
<y>310</y>
|
||||
<width>93</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
@ -1903,8 +1975,8 @@ Applies and Saves all settings to SD</string>
|
||||
<widget class="QPushButton" name="getRCOutputCurrent">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>270</x>
|
||||
<y>10</y>
|
||||
<x>310</x>
|
||||
<y>310</y>
|
||||
<width>93</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
@ -1919,8 +1991,8 @@ Applies and Saves all settings to SD</string>
|
||||
<widget class="QPushButton" name="saveRCOutputToRAM">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>10</y>
|
||||
<x>420</x>
|
||||
<y>310</y>
|
||||
<width>93</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
@ -1933,6 +2005,191 @@ Be sure to set the Neutral position on all sliders before sending!</string>
|
||||
<string>Save to RAM</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>10</y>
|
||||
<width>291</width>
|
||||
<height>51</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<widget class="QSpinBox" name="outputRate2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>220</x>
|
||||
<y>20</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
<width>81</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Update rate:</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="outputRate1">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>120</x>
|
||||
<y>20</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>0</y>
|
||||
<width>81</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Channel 0-3</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
<y>0</y>
|
||||
<width>81</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Channel 4-7</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>520</x>
|
||||
<y>70</y>
|
||||
<width>41</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0000</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>520</x>
|
||||
<y>100</y>
|
||||
<width>41</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0000</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>520</x>
|
||||
<y>130</y>
|
||||
<width>41</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0000</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>520</x>
|
||||
<y>160</y>
|
||||
<width>41</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0000</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>520</x>
|
||||
<y>190</y>
|
||||
<width>41</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0000</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>520</x>
|
||||
<y>220</y>
|
||||
<width>41</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0000</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>520</x>
|
||||
<y>250</y>
|
||||
<width>41</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0000</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>520</x>
|
||||
<y>280</y>
|
||||
<width>41</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0000</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
@ -2041,8 +2298,8 @@ Be sure to set the Neutral position on all sliders before sending!</string>
|
||||
<slot>setNum(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>472</x>
|
||||
<y>154</y>
|
||||
<x>469</x>
|
||||
<y>171</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>462</x>
|
||||
@ -2057,8 +2314,8 @@ Be sure to set the Neutral position on all sliders before sending!</string>
|
||||
<slot>setNum(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>552</x>
|
||||
<y>137</y>
|
||||
<x>539</x>
|
||||
<y>168</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>532</x>
|
||||
@ -2173,8 +2430,8 @@ Be sure to set the Neutral position on all sliders before sending!</string>
|
||||
<y>291</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>472</x>
|
||||
<y>111</y>
|
||||
<x>469</x>
|
||||
<y>142</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
@ -2189,8 +2446,136 @@ Be sure to set the Neutral position on all sliders before sending!</string>
|
||||
<y>296</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>552</x>
|
||||
<y>162</y>
|
||||
<x>539</x>
|
||||
<y>171</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>ch0OutSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>label_6</receiver>
|
||||
<slot>setNum(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>419</x>
|
||||
<y>121</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>546</x>
|
||||
<y>120</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>ch1OutSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>label_7</receiver>
|
||||
<slot>setNum(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>377</x>
|
||||
<y>151</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>535</x>
|
||||
<y>148</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>ch2OutSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>label_8</receiver>
|
||||
<slot>setNum(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>347</x>
|
||||
<y>175</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>554</x>
|
||||
<y>179</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>ch3OutSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>label_9</receiver>
|
||||
<slot>setNum(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>348</x>
|
||||
<y>207</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>543</x>
|
||||
<y>208</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>ch4OutSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>label_10</receiver>
|
||||
<slot>setNum(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>356</x>
|
||||
<y>242</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>535</x>
|
||||
<y>242</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>ch5OutSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>label_11</receiver>
|
||||
<slot>setNum(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>318</x>
|
||||
<y>275</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>546</x>
|
||||
<y>271</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>ch6OutSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>label_12</receiver>
|
||||
<slot>setNum(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>358</x>
|
||||
<y>303</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>560</x>
|
||||
<y>302</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>ch7OutSlider</sender>
|
||||
<signal>valueChanged(int)</signal>
|
||||
<receiver>label_13</receiver>
|
||||
<slot>setNum(int)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>368</x>
|
||||
<y>325</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>560</x>
|
||||
<y>327</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
|
Loading…
Reference in New Issue
Block a user