舵机标定引出

This commit is contained in:
hm
2021-04-25 17:10:46 +08:00
parent d4ed81df9b
commit 8989edfee1
9 changed files with 654 additions and 209 deletions
+53 -19
View File
@@ -891,15 +891,34 @@ void MainWindow::updateDlink(float rssi, uint64_t bitrate)
}
void MainWindow::setServoOffset(QVariant la,QVariant ra,
QVariant le,QVariant re,
QVariant ru)
void MainWindow::setServoOffset(QVariant dirla, QVariant dirra, QVariant dirle, QVariant dirre, QVariant dirru,
QVariant maxla, QVariant maxra, QVariant maxle, QVariant maxre, QVariant maxru,
QVariant scalela, QVariant scalera, QVariant scalele, QVariant scalere, QVariant scaleru,
QVariant la, QVariant ra,QVariant le, QVariant re,QVariant ru)
{
m_la = la.toDouble();
m_ra = ra.toDouble();
m_le = le.toDouble();
m_re = re.toDouble();
m_ru = ru.toDouble();
dir_la = dirla;
dir_ra = dirra;
dir_le = dirle;
dir_re = dirre;
dir_ru = dirru;
max_la = maxla;
max_ra = maxra;
max_le = maxle;
max_re = maxre;
max_ru = maxru;
scale_la = scalela;
scale_ra = scalera;
scale_le = scalele;
scale_re = scalere;
scale_ru = scaleru;
bias_la = la;
bias_ra = ra;
bias_le = le;
bias_re = re;
bias_ru = ru;
}
// 16~20Hz左右 运行频率可能太高
@@ -1587,16 +1606,18 @@ void MainWindow::updateUI()//事件驱动式更新数据
statusui->setState(11,QString::number(-dlink->mavlinknode->vehicle.global_position_int.vz * 10e-3,'f',1),tr(" "));
statusui->setServo(1,QString::number( ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo14_raw)/32767.0 * 35.0 / 1.12 - m_la,'f',2),
QString::number( ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo4_raw) /32767.0 * 35.0 / 1.12 - m_la,'f',2));
statusui->setServo(2,QString::number(-((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo11_raw)/32767.0 * 35.0 / 1.117 - m_ra,'f',2),
QString::number(-((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo5_raw) /32767.0 * 35.0 / 1.117 - m_ra,'f',2));
statusui->setServo(3,QString::number(-((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo15_raw)/32767.0 * 25.0 - m_le,'f',2),
QString::number(-((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo1_raw) /32767.0 * 25.0 - m_le,'f',2));
statusui->setServo(4,QString::number( ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo12_raw)/32767.0 * 25.0 - m_re,'f',2),
QString::number( ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo2_raw) /32767.0 * 25.0 - m_re,'f',2));
statusui->setServo(5,QString::number(-((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo13_raw)/32767.0 * 25.0 - m_ru,'f',2),
QString::number(-((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo3_raw) /32767.0 * 25.0 - m_ru,'f',2));
statusui->setServo(1,QString::number(dir_la.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo14_raw)/32767.0 * max_la.toDouble()/scale_la.toDouble() - bias_la.toDouble(),'f',2),
QString::number(dir_la.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo4_raw) /32767.0 * max_la.toDouble()/scale_la.toDouble() - bias_la.toDouble(),'f',2));
statusui->setServo(2,QString::number(dir_ra.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo11_raw)/32767.0 * max_ra.toDouble()/scale_ra.toDouble() - bias_ra.toDouble(),'f',2),
QString::number(dir_ra.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo5_raw) /32767.0 * max_ra.toDouble()/scale_ra.toDouble() - bias_ra.toDouble(),'f',2));
statusui->setServo(3,QString::number(dir_le.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo15_raw)/32767.0 * max_le.toDouble()/scale_le.toDouble() - bias_le.toDouble(),'f',2),
QString::number(dir_le.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo1_raw) /32767.0 * max_le.toDouble()/scale_le.toDouble() - bias_le.toDouble(),'f',2));
statusui->setServo(4,QString::number(dir_re.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo12_raw)/32767.0 * max_re.toDouble()/scale_re.toDouble() - bias_re.toDouble(),'f',2),
QString::number(dir_re.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo2_raw) /32767.0 * max_re.toDouble()/scale_re.toDouble() - bias_re.toDouble(),'f',2));
statusui->setServo(5,QString::number(dir_ru.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo13_raw)/32767.0 * max_ru.toDouble()/scale_ru.toDouble() - bias_ru.toDouble(),'f',2),
QString::number(dir_ru.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo3_raw) /32767.0 * max_ru.toDouble()/scale_ru.toDouble() - bias_ru.toDouble(),'f',2));
/*
@@ -1724,6 +1745,19 @@ void MainWindow::updateUI()//事件驱动式更新数据
toolsui->diagram->setServo(1,QString::number(dir_la.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo14_raw)/32767.0 * max_la.toDouble()/scale_la.toDouble() - bias_la.toDouble(),'f',2),
QString::number(dir_la.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo4_raw) /32767.0 * max_la.toDouble()/scale_la.toDouble() - bias_la.toDouble(),'f',2));
toolsui->diagram->setServo(2,QString::number(dir_ra.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo11_raw)/32767.0 * max_ra.toDouble()/scale_ra.toDouble() - bias_ra.toDouble(),'f',2),
QString::number(dir_ra.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo5_raw) /32767.0 * max_ra.toDouble()/scale_ra.toDouble() - bias_ra.toDouble(),'f',2));
toolsui->diagram->setServo(3,QString::number(dir_le.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo15_raw)/32767.0 * max_le.toDouble()/scale_le.toDouble() - bias_le.toDouble(),'f',2),
QString::number(dir_le.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo1_raw) /32767.0 * max_le.toDouble()/scale_le.toDouble() - bias_le.toDouble(),'f',2));
toolsui->diagram->setServo(4,QString::number(dir_re.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo12_raw)/32767.0 * max_re.toDouble()/scale_re.toDouble() - bias_re.toDouble(),'f',2),
QString::number(dir_re.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo2_raw) /32767.0 * max_re.toDouble()/scale_re.toDouble() - bias_re.toDouble(),'f',2));
toolsui->diagram->setServo(5,QString::number(dir_ru.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo13_raw)/32767.0 * max_ru.toDouble()/scale_ru.toDouble() - bias_ru.toDouble(),'f',2),
QString::number(dir_ru.toInt() * ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo3_raw) /32767.0 * max_ru.toDouble()/scale_ru.toDouble() - bias_ru.toDouble(),'f',2));
/*
toolsui->diagram->setServo(1,QString::number( ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo14_raw)/32767.0 * 35.0 / 1.12 - m_la,'f',2),
QString::number( ((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo4_raw)/32767.0 * 35.0 / 1.12 - m_la,'f',2));
toolsui->diagram->setServo(2,QString::number(-((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo11_raw)/32767.0 * 35.0 / 1.117 - m_ra,'f',2),
@@ -1735,7 +1769,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
toolsui->diagram->setServo(5,QString::number(-((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo13_raw)/32767.0 * 25.0 - m_ru,'f',2),
QString::number(-((int16_t)dlink->mavlinknode->vehicle.servo_output_raw.servo3_raw)/32767.0 * 25.0 - m_ru,'f',2));
*/
QString Fix;
switch (dlink->mavlinknode->vehicle.gps_raw_int.fix_type) {