Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
c6ebc6b2
Commit
c6ebc6b2
authored
Aug 08, 2013
by
tstellanova
Browse files
Debug parameter list receive; remove cruft
parent
6fbc9b42
Changes
2
Show whitespace changes
Inline
Side-by-side
src/uas/UASParameterCommsMgr.cc
View file @
c6ebc6b2
...
...
@@ -99,7 +99,8 @@ void UASParameterCommsMgr::requestParameterList()
void
UASParameterCommsMgr
::
retransmissionGuardTick
()
{
if
(
transmissionActive
)
{
if
(
transmissionListMode
&&
transmissionListSizeKnown
.
isEmpty
()
)
{
if
(
transmissionListMode
)
{
if
(
transmissionListSizeKnown
.
isEmpty
()
)
{
//we are still waitin for the first parameter list response
if
(
QGC
::
groundTimeMilliseconds
()
>
this
->
listRecvTimeout
)
{
//re-request parameters
...
...
@@ -107,6 +108,7 @@ void UASParameterCommsMgr::retransmissionGuardTick()
listRecvTimeout
=
QGC
::
groundTimeMilliseconds
()
+
10000
;
mav
->
requestParameters
();
}
}
return
;
}
...
...
@@ -486,6 +488,12 @@ void UASParameterCommsMgr::receivedParameterUpdate(int uas, int compId, int para
//all parameters have been received, broadcast to UI
emit
parameterListUpToDate
();
}
else
{
qDebug
()
<<
"missCount:"
<<
missCount
<<
"missWriteCount:"
<<
missWriteCount
;
foreach
(
int
key
,
transmissionMissingPackets
.
keys
())
{
qDebug
()
<<
"Missing:"
<<
key
;
}
}
}
...
...
src/ui/QGCParamWidget.cc
View file @
c6ebc6b2
...
...
@@ -194,156 +194,6 @@ void QGCParamWidget::addComponentItem( int compId, QString compName)
}
/**
* @param uas System which has the component
* @param component id of the component
* @param parameterName human friendly name of the parameter
*/
//void QGCParamWidget::receivedParameterUpdate(int uas, int component, int paramCount, int paramId, QString parameterName, QVariant value)
//{
// updateParameterDisplay(component, parameterName, value);
// // Missing packets list has to be instantiated for all components
// if (!transmissionMissingPackets.contains(component)) {
// transmissionMissingPackets.insert(component, new QList<int>());
// }
// // List mode is different from single parameter transfers
// if (transmissionListMode) {
// // Only accept the list size once on the first packet from
// // each component
// if (!transmissionListSizeKnown.contains(component))
// {
// // Mark list size as known
// transmissionListSizeKnown.insert(component, true);
// // Mark all parameters as missing
// for (int i = 0; i < paramCount; ++i)
// {
// if (!transmissionMissingPackets.value(component)->contains(i))
// {
// transmissionMissingPackets.value(component)->append(i);
// }
// }
// // There is only one transmission timeout for all components
// // since components do not manage their transmission,
// // the longest timeout is safe for all components.
// quint64 thisTransmissionTimeout = QGC::groundTimeMilliseconds() + ((paramCount)*retransmissionTimeout);
// if (thisTransmissionTimeout > transmissionTimeout)
// {
// transmissionTimeout = thisTransmissionTimeout;
// }
// }
// // Start retransmission guard
// // or reset timer
// paramCommsMgr->setRetransmissionGuardEnabled(true); //TODO
// }
// // Mark this parameter as received in read list
// int index = transmissionMissingPackets.value(component)->indexOf(paramId);
// // If the MAV sent the parameter without request, it wont be in missing list
// if (index != -1) transmissionMissingPackets.value(component)->removeAt(index);
// bool justWritten = false;
// bool writeMismatch = false;
// //bool lastWritten = false;
// // Mark this parameter as received in write ACK list
// QMap<QString, QVariant>* map = transmissionMissingWriteAckPackets.value(component);
// if (map && map->contains(parameterName))
// {
// justWritten = true;
// QVariant newval = map->value(parameterName);
// if (map->value(parameterName) != value)
// {
// writeMismatch = true;
// }
// map->remove(parameterName);
// }
// int missCount = 0;
// foreach (int key, transmissionMissingPackets.keys())
// {
// missCount += transmissionMissingPackets.value(key)->count();
// }
// int missWriteCount = 0;
// foreach (int key, transmissionMissingWriteAckPackets.keys())
// {
// missWriteCount += transmissionMissingWriteAckPackets.value(key)->count();
// }
// if (justWritten && !writeMismatch && missWriteCount == 0)
// {
// // Just wrote one and count went to 0 - this was the last missing write parameter
// statusLabel->setText(tr("SUCCESS: WROTE ALL PARAMETERS"));
// QPalette pal = statusLabel->palette();
// pal.setColor(backgroundRole(), QGC::colorGreen);
// statusLabel->setPalette(pal);
// } else if (justWritten && !writeMismatch)
// {
// statusLabel->setText(tr("SUCCESS: Wrote %2 (#%1/%4): %3").arg(paramId+1).arg(parameterName).arg(value.toDouble()).arg(paramCount));
// QPalette pal = statusLabel->palette();
// pal.setColor(backgroundRole(), QGC::colorGreen);
// statusLabel->setPalette(pal);
// } else if (justWritten && writeMismatch)
// {
// // Mismatch, tell user
// QPalette pal = statusLabel->palette();
// pal.setColor(backgroundRole(), QGC::colorRed);
// statusLabel->setPalette(pal);
// statusLabel->setText(tr("FAILURE: Wrote %1: sent %2 != onboard %3").arg(parameterName).arg(map->value(parameterName).toDouble()).arg(value.toDouble()));
// }
// else
// {
// if (missCount > 0)
// {
// QPalette pal = statusLabel->palette();
// pal.setColor(backgroundRole(), QGC::colorOrange);
// statusLabel->setPalette(pal);
// }
// else
// {
// QPalette pal = statusLabel->palette();
// pal.setColor(backgroundRole(), QGC::colorGreen);
// statusLabel->setPalette(pal);
// }
// QString val = QString("%1").arg(value.toFloat(), 5, 'f', 1, QChar(' '));
// //statusLabel->setText(tr("OK: %1 %2 #%3/%4, %5 miss").arg(parameterName).arg(val).arg(paramId+1).arg(paramCount).arg(missCount));
// if (missCount == 0)
// {
// // Transmission done
// QTime time = QTime::currentTime();
// QString timeString = time.toString();
// statusLabel->setText(tr("All received. (updated at %1)").arg(timeString));
// }
// else
// {
// // Transmission in progress
// statusLabel->setText(tr("OK: %1 %2 (%3/%4)").arg(parameterName).arg(val).arg(paramCount-missCount).arg(paramCount));
// }
// }
// // Check if last parameter was received
// if (missCount == 0 && missWriteCount == 0)
// {
// this->transmissionActive = false;
// this->transmissionListMode = false;
// transmissionListSizeKnown.clear();
// foreach (int key, transmissionMissingPackets.keys())
// {
// transmissionMissingPackets.value(key)->clear();
// }
// // Expand visual tree
// tree->expandItem(tree->topLevelItem(0));
// }
//}
void
QGCParamWidget
::
handleParameterUpdate
(
int
componentId
,
const
QString
&
paramName
,
QVariant
value
)
{
updateParameterDisplay
(
componentId
,
paramName
,
value
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment