Files
gcs-nf/App/ToolsUI/LandingGear_AJ500/landinggear.cpp
T

233 lines
7.6 KiB
C++
Raw Normal View History

2022-07-16 23:54:47 +08:00
#include "landinggear.h"
#include "ui_landinggear.h"
landinggear::landinggear(QWidget *parent)
: ToolsWidget(parent)
, ui(new Ui::landinggear)
{
ui->setupUi(this);
//load qss
QFile file(":/qss/LandingGear.qss");
file.open(QFile::ReadOnly);
QTextStream filetext(&file);
QString stylesheet = filetext.readAll();
this->setStyleSheet(stylesheet);
file.close();
2022-07-23 10:59:04 +08:00
setColor(ui->checkBox,state::inital);
setColor(ui->checkBox_2,state::inital);
setColor(ui->checkBox_3,state::inital);
setColor(ui->checkBox_4,state::inital);
setColor(ui->checkBox_5,state::inital);
setColor(ui->checkBox_6,state::inital);
setColor(ui->checkBox_7,state::inital);
setColor(ui->checkBox_8,state::inital);
setColor(ui->checkBox_9,state::inital);
setColor(ui->checkBox_10,state::inital);
setColor(ui->checkBox_11,state::inital);
setColor(ui->checkBox_12,state::inital);
setColor(ui->checkBox_13,state::inital);
setColor(ui->checkBox_14,state::inital);
setColor(ui->checkBox_15,state::inital);
setColor(ui->checkBox_16,state::inital);
setColor(ui->checkBox_17,state::inital);
setColor(ui->checkBox_18,state::inital);
setColor(ui->checkBox_19,state::inital);
setColor(ui->checkBox_20,state::inital);
setColor(ui->checkBox_21,state::inital);
setColor(ui->checkBox_22,state::inital);
setColor(ui->checkBox_23,state::inital);
setColor(ui->checkBox_24,state::inital);
2022-07-16 23:54:47 +08:00
timer = new QTimer(this);
timer->setInterval(20);//100Hz
/*
connect(timer,&QTimer::timeout,
this,&landinggear::timerOut);
*/
}
landinggear::~landinggear()
{
delete ui;
}
void landinggear::timerOut(void)
{
uint8_t byte[4] = {0};
2022-07-23 10:59:04 +08:00
2022-07-16 23:54:47 +08:00
}
void landinggear::recieveData(const int &id, const QByteArray &data)
{
//return;
if(id == 0)
{
Parse *parse = new Parse;
connect(this,&landinggear::parseData,
parse,&Parse::parseData);
connect(parse,&Parse::gear_Info,
this,&landinggear::gear_Info);
connect(parse,&Parse::actuator_info,
this,&landinggear::actuator_info);
connect(parse,&Parse::actuator1_info,
this,&landinggear::actuator1_info);
connect(parse,&Parse::actuator2_info,
this,&landinggear::actuator2_info);
QThreadPool::globalInstance()->start(parse);
emit parseData(id,data);
}
else if(id == 1)
{
Parse *parse = new Parse;
connect(this,&landinggear::parseData,
parse,&Parse::parseData);
connect(parse,&Parse::actuator_info,
this,&landinggear::actuator_info);
connect(parse,&Parse::actuator1_info,
this,&landinggear::actuator1_info);
connect(parse,&Parse::actuator2_info,
this,&landinggear::actuator2_info);
QThreadPool::globalInstance()->start(parse);
emit parseData(id,data);
2022-07-23 10:59:04 +08:00
}
2022-07-16 23:54:47 +08:00
}
void landinggear::gear_Info(Parse::_gear info)
{
2022-07-23 10:59:04 +08:00
setColor(ui->checkBox, (info.SW[0])?(state::success):(state::inital));//ok
setColor(ui->checkBox_2,(info.SW[1])?(state::success):(state::inital));//no
setColor(ui->checkBox_3,(info.SW[2])?(state::success):(state::inital));
setColor(ui->checkBox_4,(info.SW[3])?(state::success):(state::inital));
setColor(ui->checkBox_5,(info.SW[4])?(state::success):(state::inital));
setColor(ui->checkBox_6,(info.SW[5])?(state::success):(state::inital));//ok
setColor(ui->checkBox_7,(info.SW[6])?(state::success):(state::inital));
setColor(ui->checkBox_8,(info.SW[7])?(state::success):(state::inital));
setColor(ui->checkBox_9, (info.SW[8])?(state::success):(state::inital));
setColor(ui->checkBox_10,(info.SW[9])?(state::success):(state::inital));
setColor(ui->checkBox_11,(info.SW[10])?(state::success):(state::inital));//ok
setColor(ui->checkBox_12,(info.SW[11])?(state::success):(state::inital));
setColor(ui->checkBox_13,(info.SW[12])?(state::success):(state::inital));
setColor(ui->checkBox_14,(info.SW[13])?(state::success):(state::inital));
setColor(ui->checkBox_15,(info.SW[14])?(state::success):(state::inital));
setColor(ui->checkBox_16,(info.SW[15])?(state::success):(state::inital));
setColor(ui->checkBox_17,(info.SW[16])?(state::success):(state::inital));
setColor(ui->checkBox_18,(info.SW[17])?(state::success):(state::inital));
setColor(ui->checkBox_19,(info.SW[18])?(state::success):(state::inital));
setColor(ui->checkBox_20,(info.SW[19])?(state::success):(state::inital));
setColor(ui->checkBox_21,(info.SW[20])?(state::success):(state::inital));
setColor(ui->checkBox_22,(info.SW[21])?(state::success):(state::inital));
setColor(ui->checkBox_23,(info.SW[22])?(state::success):(state::inital));
setColor(ui->checkBox_24,(info.SW[23])?(state::success):(state::inital));
2022-07-16 23:54:47 +08:00
ui->lineEdit_p1->setText(QString::number(info.LeftPressure,'f',3));
ui->lineEdit_p2->setText(QString::number(info.RightPressure,'f',3));
ui->lineEdit_p3->setText(QString::number(info.AirPressure,'f',3));
ui->lineEdit_rpm1->setText(QString::number(info.LeftWheel,'f',0));
ui->lineEdit_rpm2->setText(QString::number(info.RightPressure,'f',0));
ui->lineEdit_rpm3->setText(QString::number(info.rpm3,'f',0));
ui->lineEdit_rpm4->setText(QString::number(info.rpm4,'f',0));
ui->lineEdit_rpm5->setText(QString::number(info.fuel,'f',0));
ui->label_cpuload->setText(QString::number(info.cpu_load) + "us");
}
void landinggear::setDO(void)
{
QObject *obj = sender();
if(obj)
{
QCheckBox *ckb = qobject_cast<QCheckBox *>(obj);
if(ckb)
{
2022-07-23 10:59:04 +08:00
setColor(ckb, (ckb->isChecked())?(state::success):(state::inital));
2022-07-16 23:54:47 +08:00
}
}
}
void landinggear::actuator_info(Parse::_actuator info)
{
ui->label_0_type->setText(QString::number(info.type,16).toUpper());
ui->label_0_id->setText(QString::number(info.id,16).toUpper());
ui->label_0_wheel->setText(QString::number(info.wheel));
ui->label_0_trans_left->setText(QString::number(info.left_trans));
ui->label_0_trans_right->setText(QString::number(info.right_trans));
ui->label_0_status->setText(QString::number(info.status));
ui->label_0_current->setText(QString::number(info.current,'f',1));
ui->label_0_temp->setText(QString::number(info.temp));
}
void landinggear::actuator1_info(Parse::_actuator1 info)
{
ui->label_1_type->setText(QString::number(info.type,16).toUpper());
ui->label_1_id->setText(QString::number(info.id,16).toUpper());
ui->label_1_ail_left->setText(QString::number(info.left_ail));
ui->label_1_ail_right->setText(QString::number(info.right_ail));
ui->label_1_rud_left->setText(QString::number(info.left_rud));
ui->label_1_rud_right->setText(QString::number(info.right_rud));
ui->label_1_status->setText(QString::number(info.status));
ui->label_1_current->setText(QString::number(info.current,'f',1));
ui->label_1_temp->setText(QString::number(info.temp));
}
void landinggear::actuator2_info(Parse::_actuator2 info)
{
ui->label_2_type->setText(QString::number(info.type,16).toUpper());
ui->label_2_id->setText(QString::number(info.id,16).toUpper());
ui->label_2_ele_left->setText(QString::number(info.left_ele));
ui->label_2_ele_right->setText(QString::number(info.right_ele));
ui->label_2_brake_left->setText(QString::number(info.left_brake));
ui->label_2_brake_right->setText(QString::number(info.right_brake));
ui->label_2_status->setText(QString::number(info.status));
ui->label_2_current->setText(QString::number(info.current,'f',1));
ui->label_2_temp->setText(QString::number(info.temp));
}