添加状态颜色

This commit is contained in:
hm
2021-06-03 23:01:25 +08:00
parent 0010e2055b
commit 98b0de243d
31 changed files with 2367 additions and 55 deletions
+58 -21
View File
@@ -26,22 +26,22 @@ StatusUI::StatusUI(QWidget *parent) :
StateGroup *communication = new StateGroup(id_count++,this);
install(mode,0,"飞行模式",0);
install(base,0,"攻角[°]",0);
install(base,0,"侧滑角[°]",0);
install(base,0,"滚转角[°]",0);
install(base,0,"俯仰角[°]",0);
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},{90,StateWidget::state::red}});
install(base,0,"侧滑角[°]",0,QMap<QVariant, StateWidget::state>{{-20,StateWidget::state::red},{20,StateWidget::state::green},{90,StateWidget::state::red}});
install(base,0,"滚转角[°]",0,QMap<QVariant, StateWidget::state>{{-45,StateWidget::state::red},{45,StateWidget::state::green},{90,StateWidget::state::red}});
install(base,0,"俯仰角[°]",0,QMap<QVariant, StateWidget::state>{{-20,StateWidget::state::red},{20,StateWidget::state::green},{90,StateWidget::state::red}});
install(base,0,"航迹角[°]",0);
install(base,0,"海拔[m]",0);
install(base,0,"表速[m/s]",0);
install(base,0,"真空速[m/s]",0);
install(base,0,"地速[m/s]",0);
install(base,0,"马赫数[Ma]",0);
install(base,0,"爬升率[m/s]",0);
install(base,0,"表速[m/s]",0,QMap<QVariant, StateWidget::state>{{100,StateWidget::state::red},{700,StateWidget::state::green}});
install(base,0,"真空速[m/s]",0,QMap<QVariant, StateWidget::state>{{100,StateWidget::state::red},{700,StateWidget::state::green}});
install(base,0,"地速[m/s]",0,QMap<QVariant, StateWidget::state>{{100,StateWidget::state::red},{700,StateWidget::state::green}});
install(base,0,"马赫数[Ma]",0,QMap<QVariant, StateWidget::state>{{0.3,StateWidget::state::red},{0.8,StateWidget::state::green},{2,StateWidget::state::orange}});
install(base,0,"爬升率[m/s]",0,QMap<QVariant, StateWidget::state>{{-30,StateWidget::state::red},{30,StateWidget::state::green},{100,StateWidget::state::orange}});
install(actuator,0,"左缝翼[°]",0);
install(actuator,0,"右缝翼[°]",0);
install(actuator,0,"左翼尖[°]",0);
install(actuator,0,"右翼尖[°]",0);
install(actuator,0,"左副翼[°]",0);
@@ -49,33 +49,63 @@ StatusUI::StatusUI(QWidget *parent) :
install(actuator,0,"左襟翼[°]",0);
install(actuator,0,"右襟翼[°]",0);
install(e_fly,0,"位置状态",0);
install(e_fly,0,"位置状态",0,QMap<QVariant, StateWidget::state>{{"无效",StateWidget::state::red},{"有效",StateWidget::state::green}});
//install(e_fly,0,"高度状态",0);
//install(e_fly,0,"加速度状态",0);
install(e_fly,0,"姿态状态",0);
install(e_fly,0,"姿态状态",0,QMap<QVariant, StateWidget::state>{{"无效",StateWidget::state::red},{"有效",StateWidget::state::green}});
//install(e_fly,0,"角速度状态",0);
//install(e_fly,0,"时间状态",0);
//install(e_fly,0,"航迹角",0);
//install(e_fly,0,"天向加速度",0);
//install(e_fly,0,"偏航加速度",0);
install(e_fly,0,"工作状态",0);
install(e_fly,0,"导航模式",0);
install(e_fly,0,"工作状态",0,
QMap<QVariant, StateWidget::state>{{"准备",StateWidget::state::gray},
{"对准中",StateWidget::state::orange},
{"导航",StateWidget::state::green},
{"对准失败",StateWidget::state::red},
{"未知参数",StateWidget::state::red}});
install(e_fly,0,"导航模式",0,
QMap<QVariant, StateWidget::state>{{"N/A",StateWidget::state::gray},
{"INS/大气",StateWidget::state::orange},
{"INS/DGPS",StateWidget::state::green},
{"INS/GNSS",StateWidget::state::green},
{"GNSS",StateWidget::state::orange},
{"未知参数",StateWidget::state::red}});
//install(e_fly,0,"主惯导",0);
//install(e_fly,0,"IMU状态",0);
//install(e_fly,0,"DGPS状态",0);
install(state,0,"投放状态",0);
install(state,0,"投放状态",0,
QMap<QVariant, StateWidget::state>{{"锁定|锁定",StateWidget::state::green},
{"锁定|投放",StateWidget::state::orange},
{"投放|锁定",StateWidget::state::orange},
{"投放|投放",StateWidget::state::red}});
//install(state,0,"脱离状态2",0);
install(state,0,"火箭状态",0);
install(state,0,"火箭状态",0,
QMap<QVariant, StateWidget::state>{{"保险|工作",StateWidget::state::orange},
{"保险|上锁",StateWidget::state::green},
{"解除|工作",StateWidget::state::red},
{"解除|上锁",StateWidget::state::orange}});
install(state,0,"加速度采集",0);
//install(state,0,"开伞状态",0);
install(battery,0,"飞控电压[V]",0);
install(battery,0,"舵机电压[V]",0);
install(battery,0,"飞控电压[V]",0,
QMap<QVariant, StateWidget::state>{{"23",StateWidget::state::red},
{"24",StateWidget::state::orange},
{"50",StateWidget::state::green}});
install(battery,0,"舵机电压[V]",0,
QMap<QVariant, StateWidget::state>{{"46",StateWidget::state::red},
{"48",StateWidget::state::orange},
{"80",StateWidget::state::green}});
install(communication,0,"信号[%]",0);
install(communication,0,"信号[%]",0,
QMap<QVariant, StateWidget::state>{{"50",StateWidget::state::red},
{"80",StateWidget::state::orange},
{"100",StateWidget::state::green}});
install(communication,0,"接收[B/s]",0);
install(communication,0,"发送[B/s]",0);
@@ -217,7 +247,14 @@ bool StatusUI::addGroup(int index)
return flag;
}
void StatusUI::install(StateGroup *group,int flag, QString name, QVariant value,QMap<QVariant,StateWidget::state> stats)
{
StateWidget *w = new StateWidget(flag,name,value,StateWidget::state::gray,group->count());
w->setStats(stats);
group->addItem(w);
}
void StatusUI::install(StateGroup *group,int flag, QString name, QVariant value)
{