Merge "Replace wall time"
This commit is contained in:
commit
d519abf0c1
8 changed files with 34 additions and 38 deletions
|
@ -79,13 +79,11 @@ Return<void> GnssDebug::getDebugData(getDebugData_cb _hidl_cb)
|
||||||
data.position.bearingAccuracyDegrees =
|
data.position.bearingAccuracyDegrees =
|
||||||
reports.mLocation.bearingAccuracyDegrees;
|
reports.mLocation.bearingAccuracyDegrees;
|
||||||
|
|
||||||
timeval tv_now, tv_report;
|
struct timespec tv_now;
|
||||||
tv_report.tv_sec = reports.mLocation.mUtcReported.tv_sec;
|
clock_gettime(CLOCK_MONOTONIC, &tv_now);
|
||||||
tv_report.tv_usec = reports.mLocation.mUtcReported.tv_nsec / 1000ULL;
|
|
||||||
gettimeofday(&tv_now, NULL);
|
|
||||||
data.position.ageSeconds =
|
data.position.ageSeconds =
|
||||||
(tv_now.tv_sec - tv_report.tv_sec) +
|
(tv_now.tv_sec - reports.mLocation.mUtcReported.tv_sec) +
|
||||||
(float)((tv_now.tv_usec - tv_report.tv_usec)) / 1000000;
|
(float)((tv_now.tv_nsec - reports.mLocation.mUtcReported.tv_nsec)) / 1000000000LL;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
data.position.valid = false;
|
data.position.valid = false;
|
||||||
|
|
|
@ -70,10 +70,10 @@ public:
|
||||||
static const uint32_t maxItem = 5;
|
static const uint32_t maxItem = 5;
|
||||||
|
|
||||||
SystemStatusItemBase() {
|
SystemStatusItemBase() {
|
||||||
timeval tv;
|
struct timespec tv;
|
||||||
gettimeofday(&tv, NULL);
|
clock_gettime(CLOCK_MONOTONIC, &tv);
|
||||||
mUtcTime.tv_sec = tv.tv_sec;
|
mUtcTime.tv_sec = tv.tv_sec;
|
||||||
mUtcTime.tv_nsec = tv.tv_usec *1000ULL;
|
mUtcTime.tv_nsec = tv.tv_nsec;
|
||||||
mUtcReported = mUtcTime;
|
mUtcReported = mUtcTime;
|
||||||
};
|
};
|
||||||
virtual ~SystemStatusItemBase() { };
|
virtual ~SystemStatusItemBase() { };
|
||||||
|
|
|
@ -2268,9 +2268,9 @@ GnssAdapter::reportNmea(const char* nmea, size_t length)
|
||||||
GnssNmeaNotification nmeaNotification = {};
|
GnssNmeaNotification nmeaNotification = {};
|
||||||
nmeaNotification.size = sizeof(GnssNmeaNotification);
|
nmeaNotification.size = sizeof(GnssNmeaNotification);
|
||||||
|
|
||||||
struct timeval tv;
|
struct timespec tv;
|
||||||
gettimeofday(&tv, (struct timezone *) NULL);
|
clock_gettime(CLOCK_MONOTONIC, &tv);
|
||||||
int64_t now = tv.tv_sec * 1000LL + tv.tv_usec / 1000;
|
int64_t now = tv.tv_sec * 1000LL + tv.tv_nsec / 1000000LL;
|
||||||
nmeaNotification.timestamp = now;
|
nmeaNotification.timestamp = now;
|
||||||
nmeaNotification.nmea = nmea;
|
nmeaNotification.nmea = nmea;
|
||||||
nmeaNotification.length = length;
|
nmeaNotification.length = length;
|
||||||
|
@ -2317,14 +2317,14 @@ static void* niThreadProc(void *args)
|
||||||
NiSession* pSession = (NiSession*)args;
|
NiSession* pSession = (NiSession*)args;
|
||||||
int rc = 0; /* return code from pthread calls */
|
int rc = 0; /* return code from pthread calls */
|
||||||
|
|
||||||
struct timeval present_time;
|
struct timespec present_time;
|
||||||
struct timespec expire_time;
|
struct timespec expire_time;
|
||||||
|
|
||||||
pthread_mutex_lock(&pSession->tLock);
|
pthread_mutex_lock(&pSession->tLock);
|
||||||
/* Calculate absolute expire time */
|
/* Calculate absolute expire time */
|
||||||
gettimeofday(&present_time, NULL);
|
clock_gettime(CLOCK_MONOTONIC, &present_time);
|
||||||
expire_time.tv_sec = present_time.tv_sec + pSession->respTimeLeft;
|
expire_time.tv_sec = present_time.tv_sec + pSession->respTimeLeft;
|
||||||
expire_time.tv_nsec = present_time.tv_usec * 1000;
|
expire_time.tv_nsec = present_time.tv_nsec;
|
||||||
LOC_LOGD("%s]: time out set for abs time %ld with delay %d sec",
|
LOC_LOGD("%s]: time out set for abs time %ld with delay %d sec",
|
||||||
__func__, (long)expire_time.tv_sec, pSession->respTimeLeft);
|
__func__, (long)expire_time.tv_sec, pSession->respTimeLeft);
|
||||||
|
|
||||||
|
|
|
@ -165,15 +165,15 @@ RETURN VALUE
|
||||||
===========================================================================*/
|
===========================================================================*/
|
||||||
char *loc_get_time(char *time_string, size_t buf_size)
|
char *loc_get_time(char *time_string, size_t buf_size)
|
||||||
{
|
{
|
||||||
struct timeval now; /* sec and usec */
|
struct timespec now; /* sec and usec */
|
||||||
struct tm now_tm; /* broken-down time */
|
struct tm now_tm; /* broken-down time */
|
||||||
char hms_string[80]; /* HH:MM:SS */
|
char hms_string[80]; /* HH:MM:SS */
|
||||||
|
|
||||||
gettimeofday(&now, NULL);
|
clock_gettime(CLOCK_MONOTONIC, &now);
|
||||||
localtime_r(&now.tv_sec, &now_tm);
|
localtime_r(&now.tv_sec, &now_tm);
|
||||||
|
|
||||||
strftime(hms_string, sizeof hms_string, "%H:%M:%S", &now_tm);
|
strftime(hms_string, sizeof hms_string, "%H:%M:%S", &now_tm);
|
||||||
snprintf(time_string, buf_size, "%s.%03d", hms_string, (int) (now.tv_usec / 1000));
|
snprintf(time_string, buf_size, "%s.%03d", hms_string, (int) (now.tv_nsec / 1000000LL));
|
||||||
|
|
||||||
return time_string;
|
return time_string;
|
||||||
}
|
}
|
||||||
|
@ -224,14 +224,13 @@ SIDE EFFECTS
|
||||||
===========================================================================*/
|
===========================================================================*/
|
||||||
char * get_timestamp(char *str, unsigned long buf_size)
|
char * get_timestamp(char *str, unsigned long buf_size)
|
||||||
{
|
{
|
||||||
struct timeval tv;
|
struct timespec tv;
|
||||||
struct timezone tz;
|
|
||||||
int hh, mm, ss;
|
int hh, mm, ss;
|
||||||
gettimeofday(&tv, &tz);
|
clock_gettime(CLOCK_MONOTONIC, &tv);
|
||||||
hh = tv.tv_sec/3600%24;
|
hh = tv.tv_sec/3600%24;
|
||||||
mm = (tv.tv_sec%3600)/60;
|
mm = (tv.tv_sec%3600)/60;
|
||||||
ss = tv.tv_sec%60;
|
ss = tv.tv_sec%60;
|
||||||
snprintf(str, buf_size, "%02d:%02d:%02d.%06ld", hh, mm, ss, tv.tv_usec);
|
snprintf(str, buf_size, "%02d:%02d:%02d.%06ld", hh, mm, ss, tv.tv_nsec / 1000);
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,14 +28,15 @@
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
#include <time.h>
|
||||||
#include "platform_lib_time.h"
|
#include "platform_lib_time.h"
|
||||||
|
|
||||||
int64_t systemTime(int /*clock*/)
|
int64_t systemTime(int /*clock*/)
|
||||||
{
|
{
|
||||||
struct timeval t;
|
struct timespec t;
|
||||||
t.tv_sec = t.tv_usec = 0;
|
t.tv_sec = t.tv_nsec = 0;
|
||||||
gettimeofday(&t, NULL);
|
clock_gettime(CLOCK_MONOTONIC, &t);
|
||||||
return t.tv_sec*1000000LL + t.tv_usec;
|
return t.tv_sec*1000000LL + t.tv_nsec/1000LL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -52,14 +52,13 @@ extern "C" {
|
||||||
// LE targets with no logcat support
|
// LE targets with no logcat support
|
||||||
#define TS_PRINTF(format, x...) \
|
#define TS_PRINTF(format, x...) \
|
||||||
{ \
|
{ \
|
||||||
struct timeval tv; \
|
struct timespec tv; \
|
||||||
struct timezone tz; \
|
|
||||||
int hh, mm, ss; \
|
int hh, mm, ss; \
|
||||||
gettimeofday(&tv, &tz); \
|
clock_gettime(CLOCK_MONOTONIC, &tv); \
|
||||||
hh = tv.tv_sec/3600%24; \
|
hh = tv.tv_sec/3600%24; \
|
||||||
mm = (tv.tv_sec%3600)/60; \
|
mm = (tv.tv_sec%3600)/60; \
|
||||||
ss = tv.tv_sec%60; \
|
ss = tv.tv_sec%60; \
|
||||||
fprintf(stdout,"%02d:%02d:%02d.%06ld]" format "\n", hh, mm, ss, tv.tv_usec,##x); \
|
fprintf(stdout,"%02d:%02d:%02d.%06ld]" format "\n", hh, mm, ss, tv.tv_nsec/1000, ##x); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ALOGE(format, x...) TS_PRINTF("E/%s (%d): " format , LOG_TAG, getpid(), ##x)
|
#define ALOGE(format, x...) TS_PRINTF("E/%s (%d): " format , LOG_TAG, getpid(), ##x)
|
||||||
|
|
|
@ -30,14 +30,13 @@
|
||||||
|
|
||||||
char * get_timestamp(char *str, unsigned long buf_size)
|
char * get_timestamp(char *str, unsigned long buf_size)
|
||||||
{
|
{
|
||||||
struct timeval tv;
|
struct timespec tv;
|
||||||
struct timezone tz;
|
|
||||||
int hh, mm, ss;
|
int hh, mm, ss;
|
||||||
gettimeofday(&tv, &tz);
|
clock_gettime(CLOCK_MONOTONIC, &tv);
|
||||||
hh = tv.tv_sec/3600%24;
|
hh = tv.tv_sec/3600%24;
|
||||||
mm = (tv.tv_sec%3600)/60;
|
mm = (tv.tv_sec%3600)/60;
|
||||||
ss = tv.tv_sec%60;
|
ss = tv.tv_sec%60;
|
||||||
snprintf(str, buf_size, "%02d:%02d:%02d.%06ld", hh, mm, ss, tv.tv_usec);
|
snprintf(str, buf_size, "%02d:%02d:%02d.%06ld", hh, mm, ss, tv.tv_nsec / 1000);
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,10 +33,10 @@
|
||||||
|
|
||||||
int64_t systemTime(int /*clock*/)
|
int64_t systemTime(int /*clock*/)
|
||||||
{
|
{
|
||||||
struct timeval t;
|
struct timespec t;
|
||||||
t.tv_sec = t.tv_usec = 0;
|
t.tv_sec = t.tv_nsec = 0;
|
||||||
gettimeofday(&t, NULL);
|
clock_gettime(CLOCK_MONOTONIC, &t);
|
||||||
return t.tv_sec*1000000LL + t.tv_usec;
|
return t.tv_sec*1000000LL + t.tv_nsec/1000LL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t elapsedMicrosSinceBoot()
|
int64_t elapsedMicrosSinceBoot()
|
||||||
|
|
Loading…
Reference in a new issue