添加舵机校准

This commit is contained in:
hm
2020-12-27 13:21:00 +08:00
parent e9a4732dc9
commit 21fac501e3
3 changed files with 37 additions and 45 deletions
+9 -9
View File
@@ -247,7 +247,7 @@ void StatusUI::setState(uint32_t pos, QVariant value1, QVariant value2)
case 7:
ui->label_1_cas->setText(value1.toString());
if(value1.toFloat() <= 90)
if(value1.toFloat() <= 22)
{
setColor(ui->label_1_cas,state::failure);
}
@@ -260,7 +260,7 @@ void StatusUI::setState(uint32_t pos, QVariant value1, QVariant value2)
ui->label_1_tas->setText(value1.toString());
//ui->label_2_tas->setText(value2.toString());
if(value1.toFloat() <= 100)
if(value1.toFloat() <= 22)
{
setColor(ui->label_1_tas,state::failure);
}
@@ -273,7 +273,7 @@ void StatusUI::setState(uint32_t pos, QVariant value1, QVariant value2)
case 9:
ui->label_1_gs->setText(value1.toString());
if(value1.toFloat() <= 100)
if(value1.toFloat() <= 22)
{
setColor(ui->label_1_gs,state::failure);
}
@@ -290,7 +290,7 @@ void StatusUI::setState(uint32_t pos, QVariant value1, QVariant value2)
case 11:
ui->label_1_rate->setText(value1.toString());
if(value1.toFloat() <= -50)
if(value1.toFloat() <= -10)
{
setColor(ui->label_1_rate,state::failure);
}
@@ -436,11 +436,11 @@ void StatusUI::setBattery(uint32_t pos,QVariant value1,QVariant value2)
case 1:
ui->label_28_V->setText(value1.toString());
if(qAbs(value1.toFloat()) <= 23)
if(qAbs(value1.toFloat()) <= 10.5)
{
setColor(ui->label_28_V,state::failure);
}
else if(qAbs(value1.toFloat()) <= 25)
else if(qAbs(value1.toFloat()) <= 11.4)
{
setColor(ui->label_28_V,state::warning);
}
@@ -462,11 +462,11 @@ void StatusUI::setBattery(uint32_t pos,QVariant value1,QVariant value2)
case 2:
ui->label_56_V->setText(value1.toString());
if(qAbs(value1.toFloat()) <= 46)
if(qAbs(value1.toFloat()) <= 10.5)
{
setColor(ui->label_56_V,state::failure);
}
else if(qAbs(value1.toFloat()) <= 50)
else if(qAbs(value1.toFloat()) <= 11.4)
{
setColor(ui->label_56_V,state::warning);
}
@@ -511,7 +511,7 @@ void StatusUI::setDlink(uint32_t pos,QVariant value1,QVariant value2)
ui->label_ssr->setText(value2.toString());
if(qAbs(value2.toFloat()) <= 500)
if(qAbs(value2.toFloat()) <= 200)
{
setColor(ui->label_ssr,state::failure);
}
@@ -23,6 +23,10 @@ Tools_Index2::Tools_Index2(QWidget *parent) :
ui->pushButton_Play->setFixedSize(150,50);
ui->pushButton_LastFrame->setFixedSize(150,50);
ui->pushButton_NextFrame->setFixedSize(150,50);
ui->pushButton_setPercent->setFixedSize(150,50);
ui->doubleSpinBox_setPercent->setFixedSize(150,50);
ui->comboBox_MultiSpeed->setFixedSize(150,50);
ui->label_percent->setFixedSize(150,50);
ui->comboBox_MultiSpeed->addItem("X1",1000);
+24 -36
View File
@@ -58,6 +58,16 @@ double findAngle(int pwm,QMap<double,double> table)
}
double pwm2angle(uint16_t pwm,uint16_t pwm_min,uint16_t pwm_max,double angle_min,double angle_max)
{
double angle = 0;
angle = ((double)(pwm - pwm_min))/(pwm_max - pwm_min) * (angle_max - angle_min) + angle_min;
return angle;
}
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
@@ -967,17 +977,17 @@ void MainWindow::update_servo_output_raw(mavlink_servo_output_raw_t servo)
if(servo.port == 0)
{
statusui->setServo(1,QString::number((((float)servo.servo12_raw - 2032.0)/(1216.0 - 2032.0) * ( 0.351700000 + 0.523560209) - 0.523560209) * 57.3,'f',2),0);//左副
statusui->setServo(2,QString::number((((float)servo.servo7_raw - 1145.0)/(1764.0 - 1145.0) * ( 0.349040140 + 0.523560209) - 0.523560209) * 57.3,'f',2),0);//右副
statusui->setServo(3,QString::number((((float)servo.servo13_raw - 1925.0)/(1154.0 - 1925.0) * ( 0.436300175 + 0.523560209) - 0.523560209) * 57.3,'f',2),0);//升降
statusui->setServo(4,QString::number((((float)servo.servo9_raw - 1048.0)/(2000.0 - 1048.0) * ( 0.034904014 + 0.253054101) - 0.253054101) * 57.3,'f',2),0);//平尾
statusui->setServo(5,QString::number((((float)servo.servo1_raw - 1828.0)/(1179.0 - 1828.0) * ( 0.610820244 + 0.610820244) - 0.610820244) * 57.3,'f',2),0);//方向
statusui->setServo(1,QString::number(pwm2angle(servo.servo12_raw,1000,2000,30,-30),'f',2),0);//左副
statusui->setServo(2,QString::number(pwm2angle(servo.servo7_raw,1000,2000,30,-30),'f',2),0);//右副
statusui->setServo(3,QString::number(pwm2angle(servo.servo13_raw ,1000,2000,30,-30),'f',2),0);//升降
statusui->setServo(4,QString::number(pwm2angle(servo.servo9_raw,1000,2000,30,-30),'f',2),0);//平尾
statusui->setServo(5,QString::number(pwm2angle(servo.servo1_raw,1000,2000,30,-30),'f',2),0);//方向
toolsui->diagram->setServo(1,QString::number((((float)servo.servo12_raw - 2032.0)/(1216.0 - 2032.0) * ( 0.351700000 + 0.523560209) - 0.523560209) * 57.3,'f',2),0);//左副
toolsui->diagram->setServo(2,QString::number((((float)servo.servo7_raw - 1145.0)/(1764.0 - 1145.0) * ( 0.349040140 + 0.523560209) - 0.523560209) * 57.3,'f',2),0);//右副
toolsui->diagram->setServo(3,QString::number((((float)servo.servo13_raw - 1925.0)/(1154.0 - 1925.0) * ( 0.436300175 + 0.523560209) - 0.523560209) * 57.3,'f',2),0);//升降
toolsui->diagram->setServo(4,QString::number((((float)servo.servo9_raw - 1048.0)/(2000.0 - 1048.0) * ( 0.034904014 + 0.253054101) - 0.253054101) * 57.3,'f',2),0);//平尾
toolsui->diagram->setServo(5,QString::number((((float)servo.servo1_raw - 1828.0)/(1179.0 - 1828.0) * ( 0.610820244 + 0.610820244) - 0.610820244) * 57.3,'f',2),0);//方向
toolsui->diagram->setServo(1,QString::number(pwm2angle(servo.servo12_raw,1000,2000,30,-30),'f',2),0);//左副
toolsui->diagram->setServo(2,QString::number(pwm2angle(servo.servo7_raw,1000,2000,30,-30),'f',2),0);//右副
toolsui->diagram->setServo(3,QString::number(pwm2angle(servo.servo13_raw,1000,2000,30,-30),'f',2),0);//升降
toolsui->diagram->setServo(4,QString::number(pwm2angle(servo.servo9_raw,1000,2000,30,-30),'f',2),0);//平尾
toolsui->diagram->setServo(5,QString::number(pwm2angle(servo.servo1_raw,1000,2000,30,-30),'f',2),0);//方向
}
@@ -1077,28 +1087,6 @@ void MainWindow::updateUI()//事件驱动式更新数据
QString gps_str;
gps_str.clear();
switch (dlink->mavlinknode->vehicle.gps_raw_int.fix_type) {
case 1:
gps_str.append(tr("未定位"));
break;
case 2:
case 3:
gps_str.append(tr("%1D[%2颗]").arg(dlink->mavlinknode->vehicle.gps_raw_int.fix_type).arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
case 4:
gps_str.append(tr("fix[%1颗]").arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
case 5:
gps_str.append(tr("float[%1颗]").arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
case 6:
gps_str.append(tr("float[%1颗]").arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
default:
gps_str.append(tr("%1[%2颗]").arg(dlink->mavlinknode->vehicle.gps_raw_int.fix_type).arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
}
switch (dlink->mavlinknode->vehicle.gps_raw_int.fix_type) {
case 0:
@@ -1109,16 +1097,16 @@ void MainWindow::updateUI()//事件驱动式更新数据
break;
case 2:
case 3:
gps_str.append(tr("%1D[%2]").arg(dlink->mavlinknode->vehicle.gps_raw_int.fix_type).arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
gps_str.append(tr("%1D[%2]").arg(dlink->mavlinknode->vehicle.gps_raw_int.fix_type).arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
case 4:
gps_str.append(tr("DGPS"));
gps_str.append(tr("DGPS[%1]").arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
case 5:
gps_str.append(tr("FLOAT"));
gps_str.append(tr("FLOAT[%1]").arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
case 6:
gps_str.append(tr("INT"));
gps_str.append(tr("INT[%1]").arg(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));
break;
default:
gps_str.append(tr("%1").arg(dlink->mavlinknode->vehicle.gps_raw_int.fix_type));