コード例 #1
0
ファイル: drvNi1014.c プロジェクト: A2-Collaboration/epics
static void initAuxmrWait() {
    epicsTimeStamp stime,etime;
    double elapsedTime = 0.0;
    int ntimes = 1;
    static int nloops = 1000000;
    double totalLoops;

    while(elapsedTime<1.0) {
        int i;
        ntimes *= 2;
        epicsTimeGetCurrent(&stime);
        for(i=0; i<ntimes; i++) wasteTime(nloops);
        epicsTimeGetCurrent(&etime);
        elapsedTime = epicsTimeDiffInSeconds(&etime,&stime);
    }
    totalLoops = ((double)ntimes) * ((double)nloops);
    nloopsPerMicrosecond = (totalLoops/elapsedTime)/1e6 + .99;
    if(ni1014Debug) {
        printf("totalLoops %f elapsedTime %f nloopsPerMicrosecond %ld\n",
             totalLoops,elapsedTime,nloopsPerMicrosecond);
        epicsTimeGetCurrent(&stime);
        microSecondDelay(1000000);
        epicsTimeGetCurrent(&etime);
        elapsedTime = epicsTimeDiffInSeconds(&etime,&stime);
        printf("elapsedTime %f\n",elapsedTime);
    }
}
コード例 #2
0
ファイル: wasteTime.hpp プロジェクト: DISTORTEC/distortos
void wasteTime(const std::chrono::time_point<TickClock, Duration> timePoint)
{
	wasteTime(std::chrono::time_point_cast<TickClock::duration>(timePoint));
}
コード例 #3
0
ファイル: wasteTime.hpp プロジェクト: DISTORTEC/distortos
void wasteTime(const std::chrono::duration<Rep, Period> duration)
{
	wasteTime(std::chrono::duration_cast<TickClock::duration>(duration));
}