125 lines
3.8 KiB
C++
125 lines
3.8 KiB
C++
#include "ServoSystem.h"
|
|
#include "ui_ServoSystem.h"
|
|
|
|
ServoSystem::ServoSystem(QWidget *parent) :
|
|
ToolsWidget(parent),
|
|
ui(new Ui::ServoSystem)
|
|
{
|
|
ui->setupUi(this);
|
|
|
|
setWindowTitle(tr("ServoSyste"));
|
|
|
|
//load qss
|
|
QFile file(":/qss/ServoSystem.qss");
|
|
file.open(QFile::ReadOnly);
|
|
QTextStream filetext(&file);
|
|
QString stylesheet = filetext.readAll();
|
|
this->setStyleSheet(stylesheet);
|
|
file.close();
|
|
|
|
//========
|
|
setColor(ui->checkBox_onBoard,state::success);
|
|
setColor(ui->checkBox_28v,state::success);
|
|
setColor(ui->checkBox_56v,state::success);
|
|
setColor(ui->checkBox_AirSpeed,state::success);
|
|
setColor(ui->checkBox_500W,state::failure);
|
|
|
|
//setColor(ui->label_LE_SBIT,state::failure);
|
|
|
|
|
|
setCheckState(6,state::failure);
|
|
setCheckState(7,state::failure);
|
|
setCheckState(8,state::failure);
|
|
setCheckState(9,state::failure);
|
|
setCheckState(10,state::failure);
|
|
setCheckState(11,state::failure);
|
|
|
|
|
|
Config *cfg = new Config();
|
|
|
|
QVariant la;
|
|
QVariant ra;
|
|
QVariant le;
|
|
QVariant re;
|
|
QVariant ru;
|
|
|
|
cfg->getServoOffset(&la,&ra,&le,&re,&ru);
|
|
|
|
|
|
m_la = la.toFloat();
|
|
m_ra = ra.toFloat();
|
|
m_le = le.toFloat();
|
|
m_re = re.toFloat();
|
|
m_ru = ru.toFloat();
|
|
|
|
}
|
|
|
|
ServoSystem::~ServoSystem()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
|
|
void ServoSystem::setBUMState(mavlink_bmustate_t *t)
|
|
{
|
|
ui->label_temp_28->setText(QString::number((int16_t)t->BAT1_low_temp_degC)+ "/" + QString::number((int16_t)t->BAT1_hi_temp_degC));
|
|
ui->label_temp_56->setText(QString::number((int16_t)t->BAT2_low_temp_degC)+ "/" + QString::number((int16_t)t->BAT2_hi_temp_degC));
|
|
|
|
ui->label_onBoard_28V_Voltage->setText(QString::number(t->BAT1_group_voltage_mv * 0.001,'f',1));
|
|
ui->label_onBoard_28V_Current->setText(QString::number((float)((int16_t)t->BAT1_group_current_dA) *0.1f,'f',1));
|
|
|
|
ui->label_onBoard_56V_Voltage->setText(QString::number(t->BAT2_group_voltage_mv * 0.001,'f',1));
|
|
ui->label_onBoard_56V_Current->setText(QString::number((float)((int16_t)t->BAT2_group_current_dA) *0.1f,'f',1));
|
|
|
|
|
|
ui->label_28V_percent->setText(QString::number((float)(t->BAT1_remain_perc *0.1f),'f',1));
|
|
ui->label_56V_percent->setText(QString::number((float)(t->BAT2_remain_perc *0.1f),'f',1));
|
|
|
|
}
|
|
|
|
void ServoSystem::setCheckState(uint32_t pos,QVariant value)
|
|
{
|
|
switch (pos) {
|
|
case 1:
|
|
setColor(ui->checkBox_onBoard,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
case 2:
|
|
setColor(ui->checkBox_28v,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
case 3:
|
|
setColor(ui->checkBox_56v,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
case 4:
|
|
setColor(ui->checkBox_AirSpeed,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
case 5:
|
|
setColor(ui->checkBox_500W,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
case 6:
|
|
setColor(ui->checkBox_5525D,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
case 7:
|
|
setColor(ui->checkBox_5803A,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
case 8:
|
|
setColor(ui->checkBox_5607A,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
case 9:
|
|
setColor(ui->checkBox_4525D,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
case 10:
|
|
setColor(ui->checkBox_atteck,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
case 11:
|
|
setColor(ui->checkBox_slide,(value.toBool())?(state::success):(state::failure));
|
|
break;
|
|
}
|
|
}
|
|
|
|
void ServoSystem::setServoState(mavlink_servo_output_raw_t t)
|
|
{
|
|
|
|
|
|
|
|
}
|