13#ifndef CMSIS_PLUS_RTOS_OS_TIMER_H_
14#define CMSIS_PLUS_RTOS_OS_TIMER_H_
18#if defined(__cplusplus)
22#if defined(OS_USE_OS_APP_CONFIG_H)
23#include <cmsis-plus/os-app-config.h>
30#pragma GCC diagnostic push
32#pragma clang diagnostic ignored "-Wc++98-compat"
33#pragma clang diagnostic ignored "-Wdocumentation-unknown-command"
44#pragma GCC diagnostic push
46#pragma clang diagnostic ignored "-Wpadded"
47#elif defined(__GNUC__)
48#pragma GCC diagnostic ignored "-Wpadded"
288 operator= (
const timer&) =
delete;
290 operator= (
timer&&) =
delete;
387#if !defined(OS_USE_RTOS_PORT_TIMER)
390 internal_interrupt_service_routine (
void);
416#if !defined(OS_USE_RTOS_PORT_TIMER)
417 clock* clock_ =
nullptr;
423#if defined(OS_USE_RTOS_PORT_TIMER)
424 friend class port::timer;
425 os_timer_port_data_t port_;
443#pragma GCC diagnostic pop
496#pragma GCC diagnostic pop
Base class for attributes.
Base class for named system objects.
const char * name(void) const
Get object name.
Double linked list node, with time stamp and timer.
Periodic timer attributes.
attributes_periodic & operator=(const attributes_periodic &)=default
attributes_periodic(const attributes_periodic &)=default
~attributes_periodic()=default
Destruct the periodic timer attributes object instance.
constexpr attributes_periodic()
Construct periodic timer attributes object instance.
attributes_periodic(attributes_periodic &&)=default
type_t tm_type
Timer type attribute.
constexpr attributes()
Construct a timer attributes object instance.
attributes & operator=(const attributes &)=default
attributes(attributes &&)=default
~attributes()=default
Destruct the timer attributes object instance.
attributes(const attributes &)=default
User single-shot or periodic timer.
bool operator==(const timer &rhs) const
Compare timers.
~timer()
Destruct the timer object instance.
static const attributes once_initializer
Default one shot timer initialiser.
result_t stop(void)
Stop the timer.
result_t start(clock::duration_t period)
Start or restart the timer.
port::clock::duration_t duration_t
Type of variables holding clock durations.
void * func_args_t
Timer call back function arguments.
void(*)(func_args_t args) func_t
Entry point of a timer call back function.
uint8_t type_t
Type of of variables holding timer run types.
uint8_t state_t
Type of of variables holding timer states.
static const attributes_periodic periodic_initializer
Default periodic timer initialiser.
uint32_t result_t
Type of values returned by RTOS functions.
@ periodic
Run periodically.
@ undefined
Used to catch uninitialised threads.