AutosarOS
AlarmTypes.h
Go to the documentation of this file.
1 
15 #ifndef ALARMTYPES_H_
16 #define ALARMTYPES_H_
17 
18 #include "EventTypes.h"
19 #include "OCB.h"
20 
29 #define ALARMCALLBACK(Name) extern void Name(void)
30 
34 typedef void (*pAlarmCallback)(void);
35 
39 typedef volatile struct counter_s AlarmBaseType;
40 
45 
49 typedef enum alarm_e AlarmType;
50 
59 };
60 
64 struct alarm_s {
67  const enum alarmActionType_e actionType;
68  union {
69  const void* action;
70  const TaskType task;
74  } action;
75  bool running;
79 };
80 
81 #endif /* ALARMTYPES_H_ */
alarm_s::running
bool running
Whether or not the alarm is currently running.
Definition: AlarmTypes.h:75
TaskType
enum tasks_e TaskType
Type for task reference.
Definition: TaskTypes.h:29
ALARM_ACTION_COUNTER
@ ALARM_ACTION_COUNTER
Alarm increments counter on expiration.
Definition: AlarmTypes.h:58
EventMaskType
uint8_t EventMaskType
Data type of the event mask.
Definition: EventTypes.h:21
AlarmBaseType
volatile struct counter_s AlarmBaseType
Type for alarm base.
Definition: AlarmTypes.h:39
alarm_s::cycle
TickType cycle
Relative value used for cyclic alarm (zero for oneshot alarm)
Definition: AlarmTypes.h:78
alarm_s::counter
const CounterType counter
Counter to increment if type is ALARM_ACTION_COUNTER.
Definition: AlarmTypes.h:73
alarm_s::alarmBase
const AlarmBaseRefType alarmBase
Reference to counter used as alarm base.
Definition: AlarmTypes.h:65
alarm_s::task
const TaskType task
Task to activate if type is ALARM_ACTION_TASK or to set event for if type is ALARM_ACTION_EVENT.
Definition: AlarmTypes.h:70
TickType
uint64_t TickType
Data type of counter values.
Definition: CounterTypes.h:21
AlarmType
enum alarm_e AlarmType
Type for alarm reference.
Definition: AlarmTypes.h:49
EventTypes.h
Types used for events.
alarm_s::expiration
TickType expiration
Absolute expiration value.
Definition: AlarmTypes.h:76
CounterType
enum counters_e CounterType
Type for counter reference.
Definition: CounterTypes.h:33
alarm_s::event
const EventMaskType event
Event to set if type is ALARM_ACTION_EVENT.
Definition: AlarmTypes.h:66
ALARM_ACTION_CALLBACK
@ ALARM_ACTION_CALLBACK
Alarm calls callback on expiration.
Definition: AlarmTypes.h:57
alarm_s::callback
const pAlarmCallback callback
Callback to execute if type is ALARM_ACTION_CALLBACK.
Definition: AlarmTypes.h:72
ALARM_ACTION_TASK
@ ALARM_ACTION_TASK
Alarm activates task on expiration.
Definition: AlarmTypes.h:55
counter_s
Data structure for counter.
Definition: CounterTypes.h:46
alarmActionType_e
alarmActionType_e
Alarm action type.
Definition: AlarmTypes.h:54
alarm_s
Data structure for alarm.
Definition: AlarmTypes.h:64
alarm_s::actionType
enum alarmActionType_e actionType
Type of the alarm.
Definition: AlarmTypes.h:67
alarm_s::action
const void * action
Untyped value to be used during configuration.
Definition: AlarmTypes.h:69
AlarmBaseRefType
AlarmBaseType * AlarmBaseRefType
Reference for alarm base.
Definition: AlarmTypes.h:44
ALARM_ACTION_EVENT
@ ALARM_ACTION_EVENT
Alarm sets event on expiration.
Definition: AlarmTypes.h:56
OCB.h
Operating System Control Block.
pAlarmCallback
void(* pAlarmCallback)(void)
Alarm callback type.
Definition: AlarmTypes.h:34