|
33 | 33 | #include <time.h>
|
34 | 34 |
|
35 | 35 | #include <nuttx/compiler.h>
|
| 36 | +#include <nuttx/lib/math32.h> |
36 | 37 |
|
37 | 38 | /****************************************************************************
|
38 | 39 | * Pre-processor Definitions
|
|
177 | 178 |
|
178 | 179 | /* ?SEC2TIC rounds up */
|
179 | 180 |
|
180 |
| -#define NSEC2TICK(nsec) (((nsec) + (NSEC_PER_TICK - 1)) / NSEC_PER_TICK) |
181 |
| -#define USEC2TICK(usec) (((usec) + (USEC_PER_TICK - 1)) / USEC_PER_TICK) |
| 181 | +#define NSEC2TICK(nsec) div_const_roundup(nsec, NSEC_PER_TICK) |
| 182 | +#define USEC2TICK(usec) div_const_roundup(usec, USEC_PER_TICK) |
182 | 183 |
|
183 | 184 | #if (MSEC_PER_TICK * USEC_PER_MSEC) == USEC_PER_TICK
|
184 |
| -# define MSEC2TICK(msec) (((msec) + (MSEC_PER_TICK - 1)) / MSEC_PER_TICK) |
| 185 | +# define MSEC2TICK(msec) div_const_roundup(msec, MSEC_PER_TICK) |
185 | 186 | #else
|
186 | 187 | # define MSEC2TICK(msec) USEC2TICK((msec) * USEC_PER_MSEC)
|
187 | 188 | #endif
|
|
196 | 197 | #if (MSEC_PER_TICK * USEC_PER_MSEC) == USEC_PER_TICK
|
197 | 198 | # define TICK2MSEC(tick) ((tick) * MSEC_PER_TICK)
|
198 | 199 | #else
|
199 |
| -# define TICK2MSEC(tick) (((tick) * USEC_PER_TICK) / USEC_PER_MSEC) |
| 200 | +# define TICK2MSEC(tick) div_const(((tick) * USEC_PER_TICK), USEC_PER_MSEC) |
200 | 201 | #endif
|
201 | 202 |
|
202 | 203 | /* TIC2?SEC rounds to nearest */
|
203 | 204 |
|
204 |
| -#define TICK2DSEC(tick) (((tick) + (TICK_PER_DSEC / 2)) / TICK_PER_DSEC) |
205 |
| -#define TICK2HSEC(tick) (((tick) + (TICK_PER_HSEC / 2)) / TICK_PER_HSEC) |
206 |
| -#define TICK2SEC(tick) (((tick) + (TICK_PER_SEC / 2)) / TICK_PER_SEC) |
| 205 | +#define TICK2DSEC(tick) div_const_roundnearest(tick, TICK_PER_DSEC) |
| 206 | +#define TICK2HSEC(tick) div_const_roundnearest(tick, TICK_PER_HSEC) |
| 207 | +#define TICK2SEC(tick) div_const_roundnearest(tick, TICK_PER_SEC) |
| 208 | + |
| 209 | +/* USEC2SEC */ |
| 210 | + |
| 211 | +#define USEC2SEC(usec) div_const(usec, USEC_PER_SEC) |
207 | 212 |
|
208 | 213 | #if defined(CONFIG_DEBUG_SCHED) && defined(CONFIG_SYSTEM_TIME64) && \
|
209 | 214 | !defined(CONFIG_SCHED_TICKLESS)
|
|
0 commit comments