AutosarOS
ScheduleTableTypes.h
Go to the documentation of this file.
1 
15 #ifndef SCHEDULETABLETYPES_H_
16 #define SCHEDULETABLETYPES_H_
17 
18 #include "CounterTypes.h"
19 #include "TaskTypes.h"
20 #include "EventTypes.h"
21 
25 typedef enum scheduleTables_e ScheduleTableType;
26 
30 typedef enum scheduleTableState_e {
36 
41 
46  const TaskType task;
47 };
48 
53  const TaskType task;
55 };
56 
61  const TickType offset;
62  const uint8_t numTaskActions;
65  const uint8_t numEventActions;
68 };
69 
76  const uint8_t numExpiryPoints;
79  const bool autoStart;
81  const bool cyclic;
82  volatile TickType currentTick;
85 };
86 
87 #endif /* SCHEDULETABLETYPES_H_ */
TaskType
enum tasks_e TaskType
Type for task reference.
Definition: TaskTypes.h:29
EventMaskType
uint8_t EventMaskType
Data type of the event mask.
Definition: EventTypes.h:21
scheduleTableExpiryActionTask_s
Structure for task activation action.
Definition: ScheduleTableTypes.h:45
TickType
uint64_t TickType
Data type of counter values.
Definition: CounterTypes.h:21
scheduleTableExpiryPoint_s
Structure for expiry point.
Definition: ScheduleTableTypes.h:60
EventTypes.h
Types used for events.
scheduleTableExpiryPoint_s::offset
const TickType offset
Offset from schedule table start.
Definition: ScheduleTableTypes.h:61
CounterTypes.h
Types used for counter management.
scheduleTable_s::finalDelay
const TickType finalDelay
Final delay of schedule table (applied after last expiry point.
Definition: ScheduleTableTypes.h:74
CounterType
enum counters_e CounterType
Type for counter reference.
Definition: CounterTypes.h:33
scheduleTableExpiryPoint_s::taskActionList
const struct scheduleTableExpiryActionTask_s * taskActionList
List of task activation actions (may be NULL if numTaskActions equals zero)
Definition: ScheduleTableTypes.h:63
ScheduleTableType
enum scheduleTables_e ScheduleTableType
Type for schedule table reference.
Definition: ScheduleTableTypes.h:25
scheduleTable_s::cyclic
const bool cyclic
If true the schedule table is cyclic.
Definition: ScheduleTableTypes.h:81
scheduleTable_s::autoStart
const bool autoStart
If true the schedule table will be started at startup.
Definition: ScheduleTableTypes.h:79
scheduleTableState_e
scheduleTableState_e
State of schedule table.
Definition: ScheduleTableTypes.h:30
scheduleTable_s::expiryPointList
const struct scheduleTableExpiryPoint_s * expiryPointList
List of expiry points.
Definition: ScheduleTableTypes.h:77
scheduleTableExpiryPoint_s::numTaskActions
const uint8_t numTaskActions
Length of taskActionList.
Definition: ScheduleTableTypes.h:62
SCHEDULETABLE_STOPPED
@ SCHEDULETABLE_STOPPED
Schedule table is stopped.
Definition: ScheduleTableTypes.h:31
scheduleTableExpiryActionEvent_s::event
const EventMaskType event
Mask of events to set.
Definition: ScheduleTableTypes.h:54
scheduleTableExpiryActionEvent_s
Structure for event activation action.
Definition: ScheduleTableTypes.h:52
SCHEDULETABLE_NEXT
@ SCHEDULETABLE_NEXT
Schedule table is queued after another table.
Definition: ScheduleTableTypes.h:32
scheduleTableExpiryPoint_s::numEventActions
const uint8_t numEventActions
Length of eventActionList.
Definition: ScheduleTableTypes.h:65
scheduleTable_s::counter
const CounterType counter
Counter driving the schedule table.
Definition: ScheduleTableTypes.h:78
scheduleTable_s
Structure for schedule table.
Definition: ScheduleTableTypes.h:73
scheduleTable_s::currentState
volatile ScheduleTableStatusType currentState
Current state of the schedule table.
Definition: ScheduleTableTypes.h:83
ScheduleTableStatusType
enum scheduleTableState_e ScheduleTableStatusType
State of schedule table.
scheduleTableExpiryActionEvent_s::task
const TaskType task
ID of task to set events for.
Definition: ScheduleTableTypes.h:53
scheduleTable_s::numExpiryPoints
const uint8_t numExpiryPoints
Length of expiryPointList.
Definition: ScheduleTableTypes.h:76
scheduleTable_s::next
volatile ScheduleTableType next
Schedule table queued after the current one.
Definition: ScheduleTableTypes.h:84
TaskTypes.h
Types used for tasks.
scheduleTableExpiryPoint_s::eventActionList
const struct scheduleTableExpiryActionEvent_s * eventActionList
List of event activation actions (may be NULL if numEventActions equals zero)
Definition: ScheduleTableTypes.h:66
ScheduleTableStatusRefType
ScheduleTableStatusType * ScheduleTableStatusRefType
Type of status reference.
Definition: ScheduleTableTypes.h:40
SCHEDULETABLE_RUNNING
@ SCHEDULETABLE_RUNNING
Schedule table is running.
Definition: ScheduleTableTypes.h:34
scheduleTable_s::currentTick
volatile TickType currentTick
Current tick of the schedule table.
Definition: ScheduleTableTypes.h:82
SCHEDULETABLE_PRE_RUNNING
@ SCHEDULETABLE_PRE_RUNNING
Schedule table is running but not yet executing until the tick reaches zero.
Definition: ScheduleTableTypes.h:33
scheduleTableExpiryActionTask_s::task
const TaskType task
ID of task to activate.
Definition: ScheduleTableTypes.h:46