TickTimeout objects are used to facilitate sequential function calls with timeout parameters that need to indexed from an initial start time, and to prevent TimeTick rollover errors.
More...
#include <nbrtos.h>
|
| TickTimeout (uint32_t timeout) |
| Create and initialize the Timeout.
|
|
uint32_t | val () const |
| Get the timeout duration to be passed to a function utilizing timeout ticks.
|
|
bool | expired () const |
| Determine whether the timeout duration has elapsed.
|
|
| operator bool () const |
| Use the Timeout as a boolean (such as in a branch condition).
|
|
void | SetUntil (uint32_t when) |
| Set the TimeTick value to expire.
|
|
|
void | OSTimeWaitUntil (uint32_t systemTickValue) |
| Delay the task until the specified value of the system timer tick. The number of system ticks per second is defined by the constant: TICKS_PER_SECOND in <nburn_install>/nbrtos/include/constants.h . The default value is 20 ticks per second.
|
|
TickTimeout objects are used to facilitate sequential function calls with timeout parameters that need to indexed from an initial start time, and to prevent TimeTick rollover errors.
◆ TickTimeout()
TickTimeout::TickTimeout |
( |
uint32_t | timeout | ) |
|
|
inline |
Create and initialize the Timeout.
- Parameters
-
timeout | The maximum allowed time duration in ticks. Note: The maximum delay that can be used is INT32_MAX |
◆ expired()
bool TickTimeout::expired |
( |
| ) |
const |
|
inline |
Determine whether the timeout duration has elapsed.
- Return values
-
true | The timeout has expired |
false | The timeout has not expired |
◆ operator bool()
TickTimeout::operator bool |
( |
| ) |
const |
|
inline |
Use the Timeout as a boolean (such as in a branch condition).
Since the intention is to be used for while() loop or in a precondition check, the boolean value represents whether the duration is still valid and has not expired. As a result this is the opposite behavior of the expired()
method.
- Return values
-
true | The Timeout duration is still valid |
false | The Timeout duration is expired |
◆ SetUntil()
void TickTimeout::SetUntil |
( |
uint32_t | when | ) |
|
|
inline |
Set the TimeTick value to expire.
- Parameters
-
when | TimeTick value in which to expire |
◆ val()
uint32_t TickTimeout::val |
( |
| ) |
const |
|
inline |
Get the timeout duration to be passed to a function utilizing timeout ticks.
- Returns
- The timeout duration in TimeTicks
◆ OSTimeWaitUntil
void OSTimeWaitUntil |
( |
uint32_t | systemTickValue | ) |
|
|
friend |
Delay the task until the specified value of the system timer tick. The number of system ticks per second is defined by the constant: TICKS_PER_SECOND
in <nburn_install>/nbrtos/include/constants.h
. The default value is 20 ticks per second.
- Parameters
-
systemTickValue | The system time tick value to wait for |
uint32_t Now = TimeTick;
while(1)
{
}
friend void OSTimeWaitUntil(uint32_t systemTickValue)
Delay the task until the specified value of the system timer tick. The number of system ticks per sec...
#define TICKS_PER_SECOND
System clock ticks per second.
Definition nbrtos/include/constants.h:41
- See also
- OSChangeTaskDly(), OSTimeDly()
The documentation for this class was generated from the following file: