|
|
|
@ -24,6 +24,8 @@ RadioCalibrationWindow::RadioCalibrationWindow(QWidget *parent) :
@@ -24,6 +24,8 @@ RadioCalibrationWindow::RadioCalibrationWindow(QWidget *parent) :
|
|
|
|
|
throttle = new CurveCalibrator(tr("Throttle")); |
|
|
|
|
grid->addWidget(throttle, 1, 2, 1, 2); |
|
|
|
|
|
|
|
|
|
/* Buttons for loading/transmitting calibration data */ |
|
|
|
|
QHBoxLayout *hbox = new QHBoxLayout(); |
|
|
|
|
this->setLayout(grid); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -56,3 +58,79 @@ void RadioCalibrationWindow::setChannel(int ch, float raw, float normalized)
@@ -56,3 +58,79 @@ void RadioCalibrationWindow::setChannel(int ch, float raw, float normalized)
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
** RadioCalibrationData Function Definitions ** |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
RadioCalibrationWindow::RadioCalibrationData::RadioCalibrationData(RadioCalibrationWindow *parent) |
|
|
|
|
:parent(parent) |
|
|
|
|
{ |
|
|
|
|
data = new QVector<QVector<float> >(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
RadioCalibrationWindow::RadioCalibrationData::RadioCalibrationData(const QVector<float> &aileron, |
|
|
|
|
const QVector<float> &elevator, |
|
|
|
|
const QVector<float> &rudder, |
|
|
|
|
const QVector<float> &gyro, |
|
|
|
|
const QVector<float> &pitch, |
|
|
|
|
const QVector<float> &throttle, |
|
|
|
|
RadioCalibrationWindow *parent) |
|
|
|
|
:parent(parent) |
|
|
|
|
{ |
|
|
|
|
data = new QVector<QVector<float> >(); |
|
|
|
|
(*data) << aileron |
|
|
|
|
<< elevator |
|
|
|
|
<< rudder |
|
|
|
|
<< gyro |
|
|
|
|
<< pitch |
|
|
|
|
<< throttle; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
RadioCalibrationWindow::RadioCalibrationData::RadioCalibrationData(RadioCalibrationData &other) |
|
|
|
|
:parent(other.parent) |
|
|
|
|
{ |
|
|
|
|
data = new QVector<QVector<float> >(*other.data); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void RadioCalibrationWindow::RadioCalibrationData::saveFile() |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void RadioCalibrationWindow::RadioCalibrationData::loadFile() |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void RadioCalibrationWindow::RadioCalibrationData::send() |
|
|
|
|
{
|
|
|
|
|
#ifdef MAVLINK_ENABLE_UALBERTA_MESSAGES |
|
|
|
|
UAS *uas = dynamic_cast<UAS>(UASManager::instance()->getUASForId(uasId)); |
|
|
|
|
if (uas) |
|
|
|
|
{ |
|
|
|
|
qDebug()<< "we have a uas"; |
|
|
|
|
mavlink_message_t msg; |
|
|
|
|
mavlink_msg_radio_calibration_pack(uasId, 0, &msg, |
|
|
|
|
(*data)[AILERON].constData(), |
|
|
|
|
(*data)[ELEVATOR].constData(), |
|
|
|
|
(*data)[RUDDER].constData(), |
|
|
|
|
(*data)[GYRO].constData(), |
|
|
|
|
(*data)[PITCH].constData(), |
|
|
|
|
(*data)[THROTTLE].constData()); |
|
|
|
|
uas.sendMessage(msg); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void RadioCalibrationWindow::RadioCalibrationData::receive() |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void RadioCalibrationWindow::RadioCalibrationData::setUASId(int id) |
|
|
|
|
{ |
|
|
|
|
this->uasID = id; |
|
|
|
|
} |
|
|
|
|