<string>Loiter radius. Negative for counter-clockwise</string>
</property>
<property name="statusTip">
<string>Loiter radius</string>
<string>Loiter radius. Negative for counter-clockwise</string>
</property>
<property name="suffix">
<string> m</string>
</property>
<property name="minimum">
<double>0.050000000000000</double>
<double>-5000.000000000000000</double>
</property>
<property name="maximum">
<double>5000.000000000000000</double>
@ -519,11 +519,10 @@ where to accept this waypoint as reached</string>
@@ -519,11 +519,10 @@ where to accept this waypoint as reached</string>
</sizepolicy>
</property>
<property name="toolTip">
<string>Rotaty wing and ground vehicles only:
Time to stay at this position before advancing</string>
<string>Time to stay/loiter at this position before advancing</string>
</property>
<property name="statusTip">
<string>Rotaty wing and ground vehicles only: Time to stay at this position before advancing</string>
<string>Time to stay/loiter at this position before advancing</string>
</property>
<property name="suffix">
<string> s</string>
@ -595,7 +594,33 @@ Time to stay at this position before advancing</string>
@@ -595,7 +594,33 @@ Time to stay at this position before advancing</string>
//This is a slot receiving signals from QCheckBox m_ui->current. The state given here is whatever the user has clicked and not the true "current" value onboard.
m_ui->displayBar->setText(QString("Go to <b>(</b>lat <b>%1<sup>o</sup></b>, lon <b>%2<sup>o</sup></b>, alt <b>%3)</b> and loiter there indefinitely (clockwise); rad: %4").arg(wp->getX(),0,'f',7).arg(wp->getY(),0,'f',7).arg(wp->getZ(),0,'f',2).arg(wp->getParam3()));
}
else
{
m_ui->displayBar->setText(QString("Go to <b>(</b>lat <b>%1<sup>o</sup></b>, lon <b>%2<sup>o</sup></b>, alt <b>%3)</b> and loiter there indefinitely (counter-clockwise); rad: %4").arg(wp->getX(),0,'f',7).arg(wp->getY(),0,'f',7).arg(wp->getZ(),0,'f',2).arg(-wp->getParam3()));
}
break;
}
caseMAV_FRAME_LOCAL_NED:
default:
{
if(wp->getParam3()>=0)
{
m_ui->displayBar->setText(QString("Go to <b>(%1, %2, %3)</b> and loiter there indefinitely (clockwise); rad: %4").arg(wp->getX(),0,'f',2).arg(wp->getY(),0,'f',2).arg(wp->getZ(),0,'f',2).arg(wp->getParam3()));
}
else
{
m_ui->displayBar->setText(QString("Go to <b>(%1, %2, %3)</b> and loiter there indefinitely (counter-clockwise); rad: %4").arg(wp->getX(),0,'f',2).arg(wp->getY(),0,'f',2).arg(wp->getZ(),0,'f',2).arg(-wp->getParam3()));
}
break;
}
}//end Frame switch
break;
}
caseMAV_CMD_NAV_LOITER_TURNS:
{
switch(wp->getFrame())
{
caseMAV_FRAME_GLOBAL_RELATIVE_ALT:
caseMAV_FRAME_GLOBAL:
{
if(wp->getParam3()>=0)
{
m_ui->displayBar->setText(QString("Go to <b>(</b>lat <b>%1<sup>o</sup></b>, lon <b>%2<sup>o</sup></b>, alt <b>%3)</b> and loiter there for %5 turns (clockwise); rad: %4").arg(wp->getX(),0,'f',7).arg(wp->getY(),0,'f',7).arg(wp->getZ(),0,'f',2).arg(wp->getParam3()).arg(wp->getParam1()));
}
else
{
m_ui->displayBar->setText(QString("Go to <b>(</b>lat <b>%1<sup>o</sup></b>, lon <b>%2<sup>o</sup></b>, alt <b>%3)</b> and loiter there for %5 turns (counter-clockwise); rad: %4").arg(wp->getX(),0,'f',7).arg(wp->getY(),0,'f',7).arg(wp->getZ(),0,'f',2).arg(-wp->getParam3()).arg(wp->getParam1()));
}
break;
}
caseMAV_FRAME_LOCAL_NED:
default:
{
if(wp->getParam3()>=0)
{
m_ui->displayBar->setText(QString("Go to <b>(%1, %2, %3)</b> and loiter there for %5 turns (clockwise); rad: %4").arg(wp->getX(),0,'f',2).arg(wp->getY(),0,'f',2).arg(wp->getZ(),0,'f',2).arg(wp->getParam3()).arg(wp->getParam1()));
}
else
{
m_ui->displayBar->setText(QString("Go to <b>(%1, %2, %3)</b> and loiter there for %5 turns (counter-clockwise); rad: %4").arg(wp->getX(),0,'f',2).arg(wp->getY(),0,'f',2).arg(wp->getZ(),0,'f',2).arg(-wp->getParam3()).arg(wp->getParam1()));
}
break;
}
}//end Frame switch
break;
}
caseMAV_CMD_NAV_LOITER_TIME:
{
switch(wp->getFrame())
{
caseMAV_FRAME_GLOBAL_RELATIVE_ALT:
caseMAV_FRAME_GLOBAL:
{
if(wp->getParam3()>=0)
{
m_ui->displayBar->setText(QString("Go to <b>(</b>lat <b>%1<sup>o</sup></b>, lon <b>%2<sup>o</sup></b>, alt <b>%3)</b> and loiter there for %5s (clockwise); rad: %4").arg(wp->getX(),0,'f',7).arg(wp->getY(),0,'f',7).arg(wp->getZ(),0,'f',2).arg(wp->getParam3()).arg(wp->getParam1()));
}
else
{
m_ui->displayBar->setText(QString("Go to <b>(</b>lat <b>%1<sup>o</sup></b>, lon <b>%2<sup>o</sup></b>, alt <b>%3)</b> and loiter there for %5s (counter-clockwise); rad: %4").arg(wp->getX(),0,'f',7).arg(wp->getY(),0,'f',7).arg(wp->getZ(),0,'f',2).arg(-wp->getParam3()).arg(wp->getParam1()));
}
break;
}
caseMAV_FRAME_LOCAL_NED:
default:
{
if(wp->getParam3()>=0)
{
m_ui->displayBar->setText(QString("Go to <b>(%1, %2, %3)</b> and loiter there for %5s (clockwise); rad: %4").arg(wp->getX(),0,'f',2).arg(wp->getY(),0,'f',2).arg(wp->getZ(),0,'f',2).arg(wp->getParam3()).arg(wp->getParam1()));
}
else
{
m_ui->displayBar->setText(QString("Go to <b>(%1, %2, %3)</b> and loiter there for %5s (counter-clockwise); rad: %4").arg(wp->getX(),0,'f',2).arg(wp->getY(),0,'f',2).arg(wp->getZ(),0,'f',2).arg(-wp->getParam3()).arg(wp->getParam1()));
}
break;
}
}//end Frame switch
break;
}
caseMAV_CMD_NAV_RETURN_TO_LAUNCH:
{
m_ui->displayBar->setText(QString("Return to launch location"));
@ -96,6 +96,421 @@ margin-top: 1ex; /* leave space at the top for the title */
@@ -96,6 +96,421 @@ margin-top: 1ex; /* leave space at the top for the title */