修正平尾拟合系数,V尾拟合系数

This commit is contained in:
hm
2022-12-06 18:27:39 +08:00
parent f7539c4d31
commit 846978ffd2
5 changed files with 50 additions and 38 deletions
+5 -5
View File
@@ -257,11 +257,11 @@ void StateWidget::setLineValue(double value)
double percent = value / m_max;
percent = qAbs(percent);
qDebug() << "value: " << value;
qDebug() << "m_max: " << m_max;
qDebug() << "percent: " << percent;
value_line.resize(label->width() / 2 * percent, 3); //设置线的宽度
qDebug() << u8"线的宽度:" << value_line.width();
//qDebug() << "value: " << value;
//qDebug() << "m_max: " << m_max;
//qDebug() << "percent: " << percent;
value_line.resize(label->width() / 2 * percent, 8); //设置线的宽度
//qDebug() << u8"线的宽度:" << value_line.width();
if(value > 0)
{
value_line.move(label->pos().x() + label->width() / 2, label->pos().y() + label->height());
+17 -17
View File
@@ -31,15 +31,15 @@ StatusUI::StatusUI(QWidget *parent) :
//install(mode,0,"飞行模式",0,QMap<QVariant, StateWidget::state>{{"待机",StateWidget::state::gray},{"手动",StateWidget::state::orange},{"自主",StateWidget::state::green}});
install(base,0,"攻角[°]",0,QMap<QVariant, StateWidget::state>{{-20,StateWidget::state::red},{20,StateWidget::state::green}});
install(base,0,"侧滑角[°]",0,QMap<QVariant, StateWidget::state>{{-20,StateWidget::state::red},{20,StateWidget::state::green}});
install(base,0,"攻角[°]",0,QMap<QVariant, StateWidget::state>{{-8,StateWidget::state::red},{8,StateWidget::state::green}});
install(base,0,"侧滑角[°]",0,QMap<QVariant, StateWidget::state>{{-5,StateWidget::state::red},{5,StateWidget::state::green}});
install(base,0,"滚转角[°]",0,QMap<QVariant, StateWidget::state>{{-45,StateWidget::state::red},{45,StateWidget::state::green}});
install(base,0,"俯仰角[°]",0,QMap<QVariant, StateWidget::state>{{-20,StateWidget::state::red},{20,StateWidget::state::green}});
install(base,0,"爬升角[°]",0,QMap<QVariant, StateWidget::state>{{-45.0,StateWidget::state::red},{45,StateWidget::state::green}});
install(base,0,"海拔[m]",0,QMap<QVariant, StateWidget::state>{{970,StateWidget::state::red},{1800,StateWidget::state::orange},{999000,StateWidget::state::green}});
install(base,0,"表速[m/s]",0,QMap<QVariant, StateWidget::state>{{65,StateWidget::state::red},{160,StateWidget::state::green}});
install(base,0,"真空速[m/s]",0,QMap<QVariant, StateWidget::state>{{50,StateWidget::state::red},{700,StateWidget::state::green}});
install(base,0,"地速[m/s]",0,QMap<QVariant, StateWidget::state>{{50,StateWidget::state::red},{700,StateWidget::state::green}});
install(base,0,"真空速[m/s]",0,QMap<QVariant, StateWidget::state>{{50,StateWidget::state::red},{160,StateWidget::state::green}});
install(base,0,"地速[m/s]",0,QMap<QVariant, StateWidget::state>{{50,StateWidget::state::red},{160,StateWidget::state::green}});
install(base,0,"马赫数[Ma]",0,QMap<QVariant, StateWidget::state>{{0.15,StateWidget::state::red},{0.8,StateWidget::state::green},{2,StateWidget::state::orange}});
//install(base,0,"爬升率[m/s]",0,QMap<QVariant, StateWidget::state>{{-80,StateWidget::state::red},{100,StateWidget::state::green},{500,StateWidget::state::orange}});
@@ -76,14 +76,15 @@ StatusUI::StatusUI(QWidget *parent) :
install(state,2,"转速[r/min]",0,
QMap<QVariant, StateWidget::state>{{18000,StateWidget::state::red},
{20000,StateWidget::state::orange},
{50000,StateWidget::state::green}});
{30000,StateWidget::state::green}});
install(state,2,"进气总温[℃]",0,
QMap<QVariant, StateWidget::state>{{-60,StateWidget::state::orange},
{90,StateWidget::state::green}});
QMap<QVariant, StateWidget::state>{{-55,StateWidget::state::red},
{-35,StateWidget::state::orange},
{85,StateWidget::state::green}});
install(state,2,"P2[MPa]",0,
QMap<QVariant, StateWidget::state>{{0,StateWidget::state::red},
{0.1,StateWidget::state::orange},
{6,StateWidget::state::green}});
{0.6,StateWidget::state::green}});
install(state,2,"伺服电流[mA]",0,
QMap<QVariant, StateWidget::state>{{0,StateWidget::state::red},
{10,StateWidget::state::orange},
@@ -97,7 +98,6 @@ StatusUI::StatusUI(QWidget *parent) :
{10000,StateWidget::state::red}});
install(state,0,"滑油压力[kPa]",0,
QMap<QVariant, StateWidget::state>{{100,StateWidget::state::red},
{100,StateWidget::state::orange},
{10000,StateWidget::state::green}});
install(state,0,"燃油流量[kg/m]",0,
QMap<QVariant, StateWidget::state>{{0.2,StateWidget::state::red},
@@ -107,12 +107,12 @@ StatusUI::StatusUI(QWidget *parent) :
install(state,0,"采集剩余油量[kg]",0,
QMap<QVariant, StateWidget::state>{{20,StateWidget::state::red},
{40,StateWidget::state::orange},
{800,StateWidget::state::green}});
{85,StateWidget::state::green}});
install(state,0,"模型剩余油量[kg]",0,
QMap<QVariant, StateWidget::state>{{20,StateWidget::state::red},
{40,StateWidget::state::orange},
{800,StateWidget::state::green}});
{85,StateWidget::state::green}});
install(state,0,"油量使用值",0,QMap<QVariant, StateWidget::state>{{"使用采集油量",StateWidget::state::orange},{"使用模型油量",StateWidget::state::green}});
@@ -123,12 +123,12 @@ StatusUI::StatusUI(QWidget *parent) :
install(battery,0,"汇流条电压[V]",0,
QMap<QVariant, StateWidget::state>{{23,StateWidget::state::red},
{24,StateWidget::state::orange},
{50,StateWidget::state::green}});
{60,StateWidget::state::green}});
install(battery,0,"蓄电池电压[V]",0,
QMap<QVariant, StateWidget::state>{{23,StateWidget::state::red},
{24,StateWidget::state::orange},
{50,StateWidget::state::green}});
{60,StateWidget::state::green}});
install(battery,0,"蓄电池电流[A]",0,
QMap<QVariant, StateWidget::state>{{0,StateWidget::state::gray},
@@ -139,7 +139,7 @@ StatusUI::StatusUI(QWidget *parent) :
install(battery,0,"主电源电压[V]",0,
QMap<QVariant, StateWidget::state>{{23,StateWidget::state::red},
{24,StateWidget::state::orange},
{50,StateWidget::state::green}});
{60,StateWidget::state::green}});
install(battery,0,"主电源电流[A]",0,
QMap<QVariant, StateWidget::state>{{0,StateWidget::state::gray},
@@ -179,7 +179,7 @@ StatusUI::StatusUI(QWidget *parent) :
{1,StateWidget::state::orange}});
install(battery,0,"起落架气压[MPa]",0,
QMap<QVariant, StateWidget::state>{{0,StateWidget::state::red},
{3,StateWidget::state::red},
{2,StateWidget::state::red},
{5,StateWidget::state::orange},
{15,StateWidget::state::green}});
/*
@@ -198,11 +198,11 @@ StatusUI::StatusUI(QWidget *parent) :
install(communication,0,"接收[B/s]",0,
QMap<QVariant, StateWidget::state>{{500,StateWidget::state::red},
{800,StateWidget::state::orange},
{3000,StateWidget::state::green}});
{4000,StateWidget::state::green}});
install(communication,0,"发送[B/s]",0,
QMap<QVariant, StateWidget::state>{{5,StateWidget::state::red},
{10,StateWidget::state::orange},
{3000,StateWidget::state::green}});
{4000,StateWidget::state::green}});
install(statu2,0,"地速指令[m/s]",0,
+5 -4
View File
@@ -1414,16 +1414,17 @@ void MainWindow::update_servo_output_raw(int sysid,mavlink_servo_output_raw_t se
if(sysid == 1)
{
ste_fix = {+1E-09,-9E-08,-0.0207,+5.1113};
vtl_fix = {+7E-10,-2E-06,+0.0176,+37.866};
vtr_fix = {+7E-10,-2E-06,+0.0176,+37.809};
vtl_fix = {+3E-10,-2E-06,+0.0185,+37.603};
vtr_fix = {+3E-10,-2E-06,+0.0185,+37.813};
dal_fix = {-3E-09,-3E-06,-0.0343,+0.2415};
dar_fix = {-2E-09,-2E-06,-0.0340,+0.0294};
drl_fix = {-3E-09,-9E-07,-0.0334,-0.0413};
drr_fix = {+3E-09,+1E-06,+0.0334,+0.0183};
del_fix = {-1E-09,+2E-07,-0.0263,+0.3685};
der_fix = {-1E-09,+3E-07,-0.0264,+0.9127};
del_fix = {-1E-09,+1E-08,-0.0264,+0.07};
der_fix = {-9E-10,+3E-07,-0.0265,+0.925};
dspl_fix = {+5E-10,+9E-08,+0.0203,+37.976};
dspr_fix = {+6E-10,+1E-07,+0.0205,+38.138};
}
+20 -11
View File
@@ -52,6 +52,9 @@ MavLinkNode::MavLinkNode(QObject *parent) : ThreadTemplet(parent)
startuptime = current;
mavlogFileName = QString("./log/Tlog/GCS%1.tlog").arg(current.toString("yyyyMMddHHmmss"));
plogFileName = QString("./log/Tlog/GCS%1.plog").arg(current.toString("yyyyMMddHHmmss"));
mavLogFile = new QFile(mavlogFileName);
mavLogFile->open(QIODevice::WriteOnly);
@@ -564,28 +567,31 @@ void MavLinkNode::LogTimerOut(void)
*/
}
bool MavLinkNode::setLogData(mavlink_message_t msg)
bool MavLinkNode::setLogData(QString name,uint8_t type,mavlink_message_t msg)
{
uint8_t buff[MAVLINK_MAX_PACKET_LEN+sizeof(quint64)];
quint64 currentTimestamp = ((quint64)QDateTime::currentMSecsSinceEpoch()) * 1000;
qToBigEndian(currentTimestamp, buff);
uint16_t len = mavlink_msg_to_send_buffer(buff+sizeof(quint64), &msg);
if (mavLogFile)
QFile file(name);
if(file.open(QIODevice::Append))
{
auto size = Packer2_pack(&packer,1,buff,len+sizeof(quint64));
uint8_t buff[MAVLINK_MAX_PACKET_LEN+sizeof(quint64)];
qToLittleEndian(type, buff);
quint64 currentTimestamp = (quint64)QDateTime::currentMSecsSinceEpoch();
qToLittleEndian(currentTimestamp, buff+1);
uint16_t len = mavlink_msg_to_send_buffer(buff+1+sizeof(quint64), &msg);
auto size = Packer2_pack(&packer,1,buff,len+1+sizeof(quint64));
QByteArray data;
data.clear();
data.append((const char *)packer.buff,size);
QDataStream stream(mavLogFile);
QDataStream stream(&file);
stream << data;
return mavLogFile->flush();
file.flush();
file.close();
}
return false;
}
@@ -664,6 +670,9 @@ void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram)
}
setLogData(plogFileName,0,msg);
count++;
if(msg.sysid < 250) //过滤地面站发过来的数据
{
+3 -1
View File
@@ -273,7 +273,7 @@ private slots:
void timer_1s_Out(void);
bool setLogData(mavlink_message_t msg);
bool setLogData(QString name, uint8_t type, mavlink_message_t msg);
//解析
void Mavlinkparse(quint32 src,QByteArray datagram);
@@ -320,6 +320,8 @@ protected:
QString mavlogFileName;
QFile *mavLogFile = NULL;
QString plogFileName;
QTimer *logTimer = nullptr;
Parser2_t parser;