HAL_VRBRAIN: added millis64() and micros64()

This commit is contained in:
Andrew Tridgell 2014-08-20 08:01:44 +10:00
parent 1241da466b
commit 071323a736
2 changed files with 16 additions and 4 deletions

View File

@ -76,14 +76,24 @@ void VRBRAINScheduler::init(void *unused)
pthread_create(&_io_thread_ctx, &thread_attr, (pthread_startroutine_t)&VRBRAIN::VRBRAINScheduler::_io_thread, this);
}
uint32_t VRBRAINScheduler::micros()
uint64_t VRBRAINScheduler::micros64()
{
return (uint32_t)(hrt_absolute_time() - _sketch_start_time);
return hrt_absolute_time() - _sketch_start_time;
}
uint32_t VRBRAINScheduler::millis()
uint64_t VRBRAINScheduler::millis64()
{
return hrt_absolute_time() / 1000;
return micros64() / 1000;
}
uint32_t VRBRAINScheduler::micros()
{
return micros64() & 0xFFFFFFFF;
}
uint32_t VRBRAINScheduler::millis()
{
return millis64() & 0xFFFFFFFF;
}
/**

View File

@ -29,6 +29,8 @@ public:
void delay(uint16_t ms);
uint32_t millis();
uint32_t micros();
uint64_t millis64();
uint64_t micros64();
void delay_microseconds(uint16_t us);
void register_delay_callback(AP_HAL::Proc, uint16_t min_time_ms);
void register_timer_process(AP_HAL::MemberProc);