参数接收显示完成

This commit is contained in:
hm
2020-03-24 20:12:29 +08:00
parent 9770442bcd
commit 663e6487c3
2 changed files with 47 additions and 70 deletions
@@ -17,25 +17,8 @@ ParameterInspector::ParameterInspector(QWidget *parent) :
QStringList header;
header << tr("Name");
header << tr("Value");
header << tr("Type");
ui->treeWidget->setHeaderLabels(header);
//uasTopLevelItems = new QList< QTreeWidgetItem* >;
//结构为
/*
* QTreeWidgetItem 设置为vehicle %1
* QTreeWidgetItem list 添加所有的param
* vehicle set children as list 把所有的list作为孩子设置到vehicle
* ui add top item
*
**/
QTimer::singleShot(1000,this,SLOT(mReflush()));
}
@@ -52,11 +35,7 @@ void ParameterInspector::mReflush()
ui->progressBar->setValue(currentpersent);
//if(currentpersent == ui->progressBar->maximum())
refreshView();
//qDebug() << "reflush the view";
}
@@ -199,7 +178,7 @@ void ParameterInspector::refreshView()//来一个参数更新一次
//这个设备已经存在
paramFound = true;
//更新该参数
Item->setData(1,Qt::DisplayRole,param.param_value);
Item->setData(1,Qt::DisplayRole,param_value(param));
widgetitems.insert(param.param_index,Item);
}
}
@@ -209,7 +188,7 @@ void ParameterInspector::refreshView()//来一个参数更新一次
//没有找到,新建一个组
QTreeWidgetItem* paraItem = new QTreeWidgetItem();
paraItem->setData(0,Qt::DisplayRole,param_id(param.param_id));
paraItem->setData(1,Qt::DisplayRole,param.param_value);
paraItem->setData(1,Qt::DisplayRole,param_value(param));
widgetitems.insert(param.param_index,paraItem);
}
}
@@ -247,63 +226,61 @@ void ParameterInspector::refreshView()//来一个参数更新一次
}
void ParameterInspector::param_value(mavlink_param_value_t param)
QVariant ParameterInspector::param_value(mavlink_param_value_t param)
{
QVariant value;
switch (param.param_type)
{
case MAV_PARAM_TYPE_REAL64:
{
((double *)&param.param_value)[0];
props[param_count].val_ptr.d = &((double *)da[idx])[j];
props[param_count].typ = MAV_PARAM_TYPE_REAL64;
}
break;
case MAV_PARAM_TYPE_REAL32:
{
float *s = &((float *)da[idx])[j];
props[param_count].val_ptr.s = s;
props[param_count].typ = MAV_PARAM_TYPE_REAL32;
}
break;
case MAV_PARAM_TYPE_INT8:
{
props[param_count].val_ptr.b = &((int8_t *)da[idx])[j];
props[param_count].typ = MAV_PARAM_TYPE_INT8;
}
break;
case MAV_PARAM_TYPE_INT16:
{
props[param_count].val_ptr.h = &((int16_t *)da[idx])[j];
props[param_count].typ = MAV_PARAM_TYPE_INT16;
}
break;
case MAV_PARAM_TYPE_INT32:
{
props[param_count].val_ptr.i = &((int32_t *)da[idx])[j];
props[param_count].typ = MAV_PARAM_TYPE_INT32;
}
break;
case MAV_PARAM_TYPE_UINT8:
{
props[param_count].val_ptr.B = &((uint8_t *)da[idx])[j];
props[param_count].typ = MAV_PARAM_TYPE_UINT8;
}
break;
value = ((uint8_t *)&param.param_value)[0];
}break;
case MAV_PARAM_TYPE_INT8:
{
value = ((int8_t *)&param.param_value)[0];
}break;
case MAV_PARAM_TYPE_UINT16:
{
props[param_count].val_ptr.H = &((uint16_t *)da[idx])[j];
props[param_count].typ = MAV_PARAM_TYPE_UINT16;
}
break;
value = ((uint16_t *)&param.param_value)[0];
}break;
case MAV_PARAM_TYPE_INT16:
{
value = ((int16_t *)&param.param_value)[0];
}break;
case MAV_PARAM_TYPE_UINT32:
{
props[param_count].val_ptr.I = &((uint32_t *)da[idx])[j];
props[param_count].typ = MAV_PARAM_TYPE_UINT32;
}
break;
value = ((uint32_t *)&param.param_value)[0];
}break;
case MAV_PARAM_TYPE_INT32:
{
value = ((int32_t *)&param.param_value)[0];
}break;
case MAV_PARAM_TYPE_UINT64:
{
value = ((uint64_t *)&param.param_value)[0];
}break;
case MAV_PARAM_TYPE_INT64:
{
value = ((int64_t *)&param.param_value)[0];
}break;
case MAV_PARAM_TYPE_REAL32:
{
value = ((float *)&param.param_value)[0];
}break;
case MAV_PARAM_TYPE_REAL64:
{
value = ((double *)&param.param_value)[0];
}break;
default:
{
value = ((int32_t *)&param.param_value)[0];
qDebug() << "Unsupported type " << param.param_type;
}break;
}
return value;
}
@@ -141,7 +141,7 @@ private slots:
void on_clearButton_clicked();
void param_value(mavlink_param_value_t param);
QVariant param_value(mavlink_param_value_t param);
char* param_id(char *id);