mirror of
https://github.com/ETLCPP/etl.git
synced 2026-06-16 00:46:03 +08:00
102 lines
1.3 KiB
Markdown
102 lines
1.3 KiB
Markdown
---
|
|
title: "timer"
|
|
---
|
|
|
|
{{< callout type="info">}}
|
|
Header: `timer.h`
|
|
{{< /callout >}}
|
|
|
|
|
|
Contains definitions common to timers.
|
|
|
|
## timer
|
|
```cpp
|
|
struct timer
|
|
{
|
|
// Timer modes.
|
|
struct mode
|
|
{
|
|
enum
|
|
{
|
|
SINGLE_SHOT = false,
|
|
REPEATING = true
|
|
};
|
|
|
|
typedef bool type;
|
|
};
|
|
|
|
// Timer start status.
|
|
struct start
|
|
{
|
|
enum
|
|
{
|
|
DELAYED = false,
|
|
IMMEDIATE = true
|
|
};
|
|
|
|
typedef bool type;
|
|
};
|
|
|
|
// Timer id.
|
|
struct id
|
|
{
|
|
enum
|
|
{
|
|
NO_TIMER = 255
|
|
};
|
|
|
|
typedef uint_least8_t type;
|
|
};
|
|
|
|
// Timer state.
|
|
struct state
|
|
{
|
|
enum
|
|
{
|
|
INACTIVE = 0xFFFFFFFF
|
|
};
|
|
};
|
|
};
|
|
```
|
|
|
|
### mode
|
|
**Types**
|
|
`type`
|
|
The type for timer mode.
|
|
Defined as `bool`.
|
|
|
|
**Constants**
|
|
`SINGLE_SHOT`
|
|
The timer expires once and then stops.
|
|
|
|
`REPEATING`
|
|
The timer is restarted after every timeout.
|
|
|
|
### start
|
|
**Types**
|
|
`type`
|
|
The type for timer start mode.
|
|
Defined as `bool`.
|
|
|
|
**Constants**
|
|
`IMMEDIATE`
|
|
- *Single Shot*
|
|
The timer is triggered on the next tick. The normal timeout does not occur.
|
|
|
|
- *Repeating*
|
|
The timer is triggered on the next tick and then on subsequent timeouts.
|
|
|
|
`DELAYED`
|
|
The timer is triggered on the timeout.
|
|
|
|
### id
|
|
**Types**
|
|
`type`
|
|
The type for timer identifiers.
|
|
Defined as `uint_least8_t`.
|
|
|
|
**Constants**
|
|
`NO_TIMER`
|
|
The id of an unregistered timer.
|
|
|