-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQGC.h
More file actions
62 lines (49 loc) · 1.52 KB
/
QGC.h
File metadata and controls
62 lines (49 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/****************************************************************************
*
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#ifndef QGC_H
#define QGC_H
#include <QDateTime>
#include <QColor>
#include <QThread>
#include "QGCConfig.h"
namespace QGC
{
/**
* @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 fractional seconds
* @note Precision is limited to milliseconds.
*/
qreal groundTimeSeconds();
/** @brief Returns the angle limited to -pi - pi */
float limitAngleToPMPIf(double angle);
/** @brief Returns the angle limited to -pi - pi */
double limitAngleToPMPId(double angle);
/** @brief Records boot time (called from main) */
void initTimer();
/** @brief Get the ground time since boot in milliseconds */
quint64 bootTimeMilliseconds();
const static int MAX_FLIGHT_TIME = 60 * 60 * 24 * 21;
class SLEEP : public QThread
{
Q_OBJECT
public:
using QThread::sleep;
using QThread::msleep;
using QThread::usleep;
};
quint32 crc32(const quint8 *src, unsigned len, unsigned state);
}
#define QGC_EVENTLOOP_DEBUG 0
#endif // QGC_H