Commit 85017a13 authored by Don Gagne's avatar Don Gagne

Fix -Werror=type-limits

parent 0422b468
...@@ -362,19 +362,27 @@ void QGCXYPlot::appendData(int uasId, const QString& curve, const QString& unit, ...@@ -362,19 +362,27 @@ void QGCXYPlot::appendData(int uasId, const QString& curve, const QString& unit,
} else } else
return; return;
if(x_valid && y_valid && (int)qAbs(y_timestamp_us - x_timestamp_us) <= max_timestamp_diff_us) { if(x_valid && y_valid) {
int removed = xycurve->appendData( QPointF(x,y) ); quint64 difference;
x_valid = false; if (y_timestamp_us < x_timestamp_us) {
y_valid = false; difference = x_timestamp_us - y_timestamp_us;
bool atMaximum = (ui->timeScrollBar->value() == ui->timeScrollBar->maximum()); } else {
if(ui->timeScrollBar->maximum() != xycurve->dataSize()) { difference = y_timestamp_us - x_timestamp_us;
ui->timeScrollBar->setMaximum(xycurve->dataSize()); }
if(atMaximum) if (difference <= max_timestamp_diff_us) {
ui->timeScrollBar->setValue(ui->timeScrollBar->maximum()); int removed = xycurve->appendData( QPointF(x,y) );
} else if(!atMaximum) { //Move the scrollbar to keep current value selected x_valid = false;
int value = qMax(ui->timeScrollBar->minimum(), ui->timeScrollBar->value() - removed); y_valid = false;
ui->timeScrollBar->setValue(value); bool atMaximum = (ui->timeScrollBar->value() == ui->timeScrollBar->maximum());
xycurve->setStartIndex(value); if(ui->timeScrollBar->maximum() != xycurve->dataSize()) {
ui->timeScrollBar->setMaximum(xycurve->dataSize());
if(atMaximum)
ui->timeScrollBar->setValue(ui->timeScrollBar->maximum());
} else if(!atMaximum) { //Move the scrollbar to keep current value selected
int value = qMax(ui->timeScrollBar->minimum(), ui->timeScrollBar->value() - removed);
ui->timeScrollBar->setValue(value);
xycurve->setStartIndex(value);
}
} }
} }
} }
......
...@@ -48,7 +48,7 @@ private: ...@@ -48,7 +48,7 @@ private:
double y; /**< Last unused value for the x-coordinate */ double y; /**< Last unused value for the x-coordinate */
quint64 y_timestamp_us; /**< Timestamp that we last recieved a value for x */ quint64 y_timestamp_us; /**< Timestamp that we last recieved a value for x */
bool y_valid; /**< Whether we have recieved an x value but so far no corresponding y value */ bool y_valid; /**< Whether we have recieved an x value but so far no corresponding y value */
int max_timestamp_diff_us; /**< Only combine x and y to a data point if the timestamp for both doesn't differ by more than this */ quint64 max_timestamp_diff_us; /**< Only combine x and y to a data point if the timestamp for both doesn't differ by more than this */
}; };
#endif // QGCXYPLOT_H #endif // QGCXYPLOT_H
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment