示例#1
0
文件: time.cpp 项目: Juppit/Arduino
int clock_gettime(clockid_t unused, struct timespec *tp)
{
    (void) unused;
    uint64_t m = micros64();
    tp->tv_sec = m / 1000000;
    tp->tv_nsec = (m % 1000000) * 1000;
    return 0;
}
示例#2
0
文件: time.cpp 项目: Juppit/Arduino
int _gettimeofday_r(struct _reent* unused, struct timeval *tp, void *tzp)
{
    (void) unused;
    (void) tzp;
    if (tp)
    {
        if (!timeshift64_is_set)
            tune_timeshift64(sntp_get_current_timestamp() * 1000000ULL);
        uint64_t currentTime_us = timeshift64 + micros64();
        tp->tv_sec = currentTime_us / 1000000ULL;
        tp->tv_usec = currentTime_us % 1000000ULL;
    }
    return 0;
}
示例#3
0
/*
  main program
 */
int main(int argc, const char *argv[])
{
    sock.set_broadcast();

    printf("Starting DSP code\n");
    send_storage();
        
    ardupilot_start();
    while (true) {
        uint64_t now = micros64();
        if (now - last_get_storage_us > 1000*1000) {
            printf("tick t=%.6f\n", now*1.0e-6f);
            ardupilot_heartbeat();
            get_storage();
            last_get_storage_us = now;
        }
        socket_check();
        usleep(5000);
    }
}
示例#4
0
uint32_t micros()
{
    return micros64() & 0xFFFFFFFF;
}
示例#5
0
uint64_t millis64()
{
    return micros64() / 1000;
}
示例#6
0
/**********************************************************************
name :
function : 
**********************************************************************/
uint32_t micros( void )
{
	return micros64();
}
示例#7
0
文件: time.cpp 项目: Juppit/Arduino
void tune_timeshift64 (uint64_t now_us)
{
     timeshift64 = now_us - micros64();
     timeshift64_is_set = true;
}