完善发动机界面,修正参数读取时ID溢出问题

This commit is contained in:
hm
2020-11-19 11:39:28 +08:00
parent 75130e0fe1
commit efae22bddc
25 changed files with 2739 additions and 1732 deletions
+305 -2
View File
@@ -8,7 +8,7 @@ StatusUI::StatusUI(QWidget *parent) :
ui->setupUi(this);
//load qss
QFile file(":/qss/PowerSystem.qss");
QFile file(":/qss/StatusUI.qss");
file.open(QFile::ReadOnly);
QTextStream filetext(&file);
QString stylesheet = filetext.readAll();
@@ -109,6 +109,86 @@ StatusUI::StatusUI(QWidget *parent) :
ui->label_rate_real->setFixedSize(w,h);
//====================================
setColor(ui->label_ax1,state::inital);
setColor(ui->label_ay1,state::inital);
setColor(ui->label_az1,state::inital);
setColor(ui->label_gx1,state::inital);
setColor(ui->label_gy1,state::inital);
setColor(ui->label_gz1,state::inital);
setColor(ui->label_rol1,state::inital);
setColor(ui->label_pit1,state::inital);
setColor(ui->label_yaw1,state::inital);
setColor(ui->label_lat1,state::inital);
setColor(ui->label_lng1,state::inital);
setColor(ui->label_alt1,state::inital);
setColor(ui->label_gs1,state::inital);
setColor(ui->label_cos1,state::inital);
setColor(ui->label_sta1,state::inital);
setColor(ui->label_fix1,state::inital);
//=====================================
setColor(ui->label_ax2,state::inital);
setColor(ui->label_ay2,state::inital);
setColor(ui->label_az2,state::inital);
setColor(ui->label_gx2,state::inital);
setColor(ui->label_gy2,state::inital);
setColor(ui->label_gz2,state::inital);
setColor(ui->label_rol2,state::inital);
setColor(ui->label_pit2,state::inital);
setColor(ui->label_yaw2,state::inital);
setColor(ui->label_lat2,state::inital);
setColor(ui->label_lng2,state::inital);
setColor(ui->label_alt2,state::inital);
setColor(ui->label_gs2,state::inital);
setColor(ui->label_cos2,state::inital);
setColor(ui->label_sta2,state::inital);
setColor(ui->label_fix2,state::inital);
//=====================================
setColor(ui->label_atteck_1,state::inital);
setColor(ui->label_slide_1,state::inital);
setColor(ui->label_tas_1,state::inital);
setColor(ui->label_Ma_1,state::inital);
setColor( ui->label_ps_1,state::inital);
setColor(ui->label_qBar_1,state::inital);
//===================================
setColor(ui->label_atteck_2,state::inital);
setColor(ui->label_slide_2,state::inital);
setColor(ui->label_tas_2,state::inital);
setColor(ui->label_Ma_2,state::inital);
setColor(ui->label_ps_2,state::inital);
setColor(ui->label_qBar_2,state::inital);
//==================================
setColor(ui->label_roll_real,state::inital);
setColor(ui->label_roll_meas,state::inital);
setColor(ui->label_pitch_real,state::inital);
setColor(ui->label_pitch_meas,state::inital);
setColor(ui->label_heading_real,state::inital);
setColor(ui->label_heading_meas,state::inital);
setColor(ui->label_yaw_real,state::inital);
setColor(ui->label_dis_real,state::inital);
setColor(ui->label_alt_real,state::inital);
setColor(ui->label_as_real,state::inital);
setColor(ui->label_rate_real,state::inital);
}
StatusUI::~StatusUI()
@@ -136,10 +216,30 @@ void StatusUI::setState(uint32_t pos,QVariant real,QVariant meas)
case 1:
ui->label_roll_real->setText(real.toString());
ui->label_roll_meas->setText(meas.toString());
if(qAbs(real.toFloat()) >= 90)
{
setColor(ui->label_roll_real,state::failure);
}
else
{
setColor(ui->label_roll_real,state::inital);
}
break;
case 2:
ui->label_pitch_real->setText(real.toString());
ui->label_pitch_meas->setText(meas.toString());
if(qAbs(real.toFloat()) >= 40)
{
setColor(ui->label_pitch_real,state::failure);
}
else
{
setColor(ui->label_pitch_real,state::inital);
}
break;
case 3:
ui->label_heading_real->setText(real.toString());
@@ -152,6 +252,17 @@ void StatusUI::setState(uint32_t pos,QVariant real,QVariant meas)
case 5:
ui->label_dis_real->setText(real.toString());
ui->label_dis_meas->setText(meas.toString());
if(qAbs(real.toFloat()) >= 10000)
{
setColor(ui->label_dis_real,state::failure);
}
else
{
setColor(ui->label_dis_real,state::inital);
}
break;
case 6:
ui->label_alt_real->setText(real.toString());
@@ -160,11 +271,31 @@ void StatusUI::setState(uint32_t pos,QVariant real,QVariant meas)
case 7:
ui->label_as_real->setText(real.toString());
ui->label_as_meas->setText(meas.toString());
break;
if(qAbs(real.toFloat()) <= 90)
{
setColor(ui->label_as_real,state::failure);
}
else
{
setColor(ui->label_as_real,state::inital);
}
break;
case 8:
ui->label_rate_real->setText(real.toString());
ui->label_rate_meas->setText(meas.toString());
if(real.toFloat() < -70)
{
setColor(ui->label_rate_real,state::failure);
}
else
{
setColor(ui->label_rate_real,state::inital);
}
break;
}
}
@@ -253,18 +384,71 @@ void StatusUI::setEngine(uint32_t pos,QVariant value)
break;
case 2:
ui->label_rpm->setText(value.toString());
if(qAbs(value.toFloat()) >= 46000)
{
setColor(ui->label_rpm,state::failure);
}
else
{
setColor(ui->label_rpm,state::inital);
}
break;
case 3:
ui->label_temp1->setText(value.toString());
if(qAbs(value.toFloat()) >= 150)
{
setColor(ui->label_temp1,state::failure);
}
else
{
setColor(ui->label_temp1,state::inital);
}
break;
case 4:
ui->label_temp2->setText(value.toString());
if(qAbs(value.toFloat()) >= 150)
{
setColor(ui->label_temp2,state::failure);
}
else
{
setColor(ui->label_temp2,state::inital);
}
break;
case 5:
ui->label_FuelLeft->setText(value.toString());
if(qAbs(value.toFloat()) <= 10)
{
setColor(ui->label_FuelLeft,state::failure);
}
else
{
setColor(ui->label_FuelLeft,state::inital);
}
break;
case 6:
ui->label_fuelPressure->setText(value.toString());
if((value.toFloat() <= 10)||(value.toFloat() >= 80))
{
setColor(ui->label_fuelPressure,state::failure);
}
else
{
setColor(ui->label_fuelPressure,state::inital);
}
break;
}
}
@@ -274,18 +458,69 @@ void StatusUI::setBattery(uint32_t pos,QVariant value)
switch (pos) {
case 1:
ui->label_28v->setText(value.toString());
if(qAbs(value.toFloat()) <= 23)
{
setColor(ui->label_28V_percent,state::failure);
setColor(ui->label_28v,state::failure);
}
else if(qAbs(value.toFloat()) <= 25)
{
setColor(ui->label_28V_percent,state::warning);
setColor(ui->label_28v,state::warning);
}
else
{
setColor(ui->label_28V_percent,state::inital);
setColor(ui->label_28v,state::inital);
}
break;
case 2:
ui->label_28V_A->setText(value.toString());
if(qAbs(value.toFloat()) >= 10)
{
setColor(ui->label_28V_A,state::failure);
}
else
{
setColor(ui->label_28V_A,state::inital);
}
break;
case 3:
ui->label_28V_percent->setText(value.toString());
break;
case 4:
ui->label_56v->setText(value.toString());
if(qAbs(value.toFloat()) <= 46)
{
setColor(ui->label_56V_percent,state::failure);
setColor(ui->label_56v,state::failure);
}
else if(qAbs(value.toFloat()) <= 50)
{
setColor(ui->label_56V_percent,state::warning);
setColor(ui->label_56v,state::warning);
}
else
{
setColor(ui->label_56V_percent,state::inital);
setColor(ui->label_56v,state::inital);
}
break;
case 5:
ui->label_56V_A->setText(value.toString());
if(qAbs(value.toFloat()) >= 10)
{
setColor(ui->label_56V_A,state::failure);
}
else
{
setColor(ui->label_56V_A,state::inital);
}
break;
case 6:
ui->label_56V_percent->setText(value.toString());
@@ -298,9 +533,29 @@ void StatusUI::setDlink(uint32_t pos,QVariant value)
switch (pos) {
case 1:
ui->label_ssr->setText(value.toString());
if(qAbs(value.toFloat()) <= 50)
{
setColor(ui->label_ssr,state::failure);
}
else
{
setColor(ui->label_ssr,state::inital);
}
break;
case 2:
ui->label_ssp->setText(value.toString());
if(qAbs(value.toFloat()) <= 500)
{
setColor(ui->label_ssp,state::failure);
}
else
{
setColor(ui->label_ssp,state::inital);
}
break;
}
}
@@ -391,9 +646,33 @@ void StatusUI::setGPS1(uint32_t pos,QVariant value)
break;
case 6:
ui->label_sta1->setText(value.toString());
if(qAbs(value.toFloat()) <= 7)
{
setColor(ui->label_sta1,state::failure);
}
else
{
setColor(ui->label_sta1,state::inital);
}
break;
case 7:
ui->label_fix1->setText(value.toString());
if(value.toString() == tr("未定位"))
{
setColor(ui->label_fix1,state::failure);
}
else if(value.toString() == tr("2D"))
{
setColor(ui->label_fix1,state::warning);
}
else
{
setColor(ui->label_fix1,state::inital);
}
break;
}
}
@@ -419,9 +698,33 @@ void StatusUI::setGPS2(uint32_t pos,QVariant value)
break;
case 6:
ui->label_sta2->setText(value.toString());
if(qAbs(value.toFloat()) <= 7)
{
setColor(ui->label_sta2,state::failure);
}
else
{
setColor(ui->label_sta2,state::inital);
}
break;
case 7:
ui->label_fix2->setText(value.toString());
if(value.toString() == tr("未定位"))
{
setColor(ui->label_fix2,state::failure);
}
else if(value.toString() == tr("2D"))
{
setColor(ui->label_fix2,state::warning);
}
else
{
setColor(ui->label_fix2,state::inital);
}
break;
}
}