OS X: Add missing time calls

This commit is contained in:
Lorenz Meier
2015-09-11 21:48:06 +02:00
parent 1b1adf3835
commit 0f98a7c141
3 changed files with 39 additions and 0 deletions
@@ -48,6 +48,7 @@
#include "systemlib/param/param.h"
#include "hrt_work.h"
#include <drivers/drv_hrt.h>
#include "px4_time.h"
extern pthread_t _shell_task_id;
@@ -55,8 +56,26 @@ __BEGIN_DECLS
long PX4_TICKS_PER_SEC = sysconf(_SC_CLK_TCK);
#ifdef __PX4_DARWIN
extern void hrt_init(void);
int px4_clock_gettime(clockid_t clk_id, struct timespec *tp)
{
uint64_t currtime = hrt_absolute_time();
tp->tv_sec = currtime / (1000 * 1000);
tp->tv_nsec = (currtime - (currtime * 1000 * 1000)) * 1000;
return 0;
}
int px4_clock_settime(clockid_t clk_id, struct timespec *tp)
{
/* do nothing right now */
}
#endif
__END_DECLS
namespace px4
+6
View File
@@ -80,6 +80,12 @@ typedef int px4_task_t;
#error "No target OS defined"
#endif
#if defined (__PX4_LINUX) || defined(__PX4_NUTTX)
#include <sys/prctl.h>
#else
#define prctl(_action, _string, _pid)
#endif
typedef int px4_task_t;
typedef struct {
+14
View File
@@ -8,6 +8,20 @@
#define px4_clock_gettime clock_gettime
#define px4_clock_settime clock_settime
#elif defined(__PX4_DARWIN)
__BEGIN_DECLS
#define clockid_t unsigned
#define CLOCK_REALTIME 0
int px4_clock_gettime(clockid_t clk_id, struct timespec *tp);
int px4_clock_settime(clockid_t clk_id, struct timespec *tp);
__EXPORT unsigned int sleep(unsigned int sec);
__END_DECLS
#elif defined(__PX4_QURT)
#include <sys/timespec.h>