mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-07-23 19:56:24 +08:00
DELAY(): Use rtems_counter_delay_nanoseconds()
This commit is contained in:
parent
880d9299f1
commit
556a07ca44
@ -7,11 +7,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2009, 2010 embedded brains GmbH.
|
* Copyright (c) 2009, 2015 embedded brains GmbH
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* embedded brains GmbH
|
* embedded brains GmbH
|
||||||
* Obere Lagerstr. 30
|
* Dornierstr. 4
|
||||||
* 82178 Puchheim
|
* 82178 Puchheim
|
||||||
* Germany
|
* Germany
|
||||||
* <rtems@embedded-brains.de>
|
* <rtems@embedded-brains.de>
|
||||||
@ -40,24 +40,14 @@
|
|||||||
|
|
||||||
#include <machine/rtems-bsd-kernel-space.h>
|
#include <machine/rtems-bsd-kernel-space.h>
|
||||||
|
|
||||||
#include <rtems/bsd/sys/param.h>
|
|
||||||
#include <rtems/bsd/sys/types.h>
|
#include <rtems/bsd/sys/types.h>
|
||||||
#include <sys/systm.h>
|
#include <sys/systm.h>
|
||||||
#include <sys/kernel.h>
|
#include <rtems/counter.h>
|
||||||
|
|
||||||
void
|
void
|
||||||
DELAY(int usec)
|
DELAY(int usec)
|
||||||
{
|
{
|
||||||
rtems_status_code sc = RTEMS_SUCCESSFUL;
|
uint32_t ns = 1000 * (uint32_t)usec;
|
||||||
|
BSD_ASSERT((uint32_t)usec <= UINT32_MAX / 1000);
|
||||||
/* FIXME: Integer conversion */
|
rtems_counter_delay_nanoseconds(ns);
|
||||||
rtems_interval ticks =
|
|
||||||
((rtems_interval) usec * (rtems_interval) hz) / 1000000;
|
|
||||||
|
|
||||||
if (ticks == 0) {
|
|
||||||
ticks = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
sc = rtems_task_wake_after(ticks);
|
|
||||||
BSD_ASSERT(sc == RTEMS_SUCCESSFUL);
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user