Skip to content

Commit

Permalink
Merge pull request mavlink#695 from Susurrus/time_fix
Browse files Browse the repository at this point in the history
Refactored QGC::groundTime*() functions to be simpler.
  • Loading branch information
LorenzMeier committed Jun 10, 2014
2 parents 8714e12 + ada0f07 commit f79ecee
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 17 deletions.
18 changes: 3 additions & 15 deletions src/QGC.cc
Original file line number Diff line number Diff line change
Expand Up @@ -30,29 +30,17 @@ namespace QGC

quint64 groundTimeUsecs()
{
QDateTime time = QDateTime::currentDateTime();
time = time.toUTC();
/* Return seconds and milliseconds, in milliseconds unit */
quint64 microseconds = time.toTime_t() * static_cast<quint64>(1000000);
return static_cast<quint64>(microseconds + (time.time().msec()*1000));
return groundTimeMilliseconds() * 1000;
}

quint64 groundTimeMilliseconds()
{
QDateTime time = QDateTime::currentDateTime();
time = time.toUTC();
/* Return seconds and milliseconds, in milliseconds unit */
quint64 seconds = time.toTime_t() * static_cast<quint64>(1000);
return static_cast<quint64>(seconds + (time.time().msec()));
return static_cast<quint64>(QDateTime::currentMSecsSinceEpoch());
}

qreal groundTimeSeconds()
{
QDateTime time = QDateTime::currentDateTime();
time = time.toUTC();
/* Return time in seconds unit */
quint64 seconds = time.toTime_t();
return static_cast<qreal>(seconds + (time.time().msec() / 1000.0));
return static_cast<qreal>(groundTimeMilliseconds()) / 1000.0f;
}

float limitAngleToPMPIf(float angle)
Expand Down
10 changes: 8 additions & 2 deletions src/QGC.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,17 @@ const QColor colorDarkYellow(180, 180, 0);
const QColor colorBackground("#050508");
const QColor colorBlack(0, 0, 0);

/** @brief Get the current ground time in microseconds */
/**
* @brief Get the current ground time in microseconds.
* @note This does not have microsecond precision, it is limited to millisecond precision.
*/
quint64 groundTimeUsecs();
/** @brief Get the current ground time in milliseconds */
quint64 groundTimeMilliseconds();
/** @brief Get the current ground time in seconds */
/**
* @brief Get the current ground time in fractional seconds
* @note Precision is limited to milliseconds.
*/
qreal groundTimeSeconds();
/** @brief Returns the angle limited to -pi - pi */
float limitAngleToPMPIf(float angle);
Expand Down

0 comments on commit f79ecee

Please sign in to comment.