AutosarOS
/github/workspace/AutosarOS/AppCfg.h
Go to the documentation of this file.
1 
16 #include "CfgGenMacros.h"
17 
18 #if defined(EXTERNAL_CONFIG)
19 #include EXTERNAL_CONFIG
20 #else /* defined(EXTERNAL_CONFIG) */
21 
22 #define OS_CONFIG_HOOK_STARTUP true
23 #define OS_CONFIG_HOOK_SHUTDOWN true
24 #define OS_CONFIG_HOOK_PRE_TASK true
25 #define OS_CONFIG_HOOK_POST_TASK true
26 #define OS_CONFIG_HOOK_ERROR true
27 #define OS_CONFIG_HOOK_PROTECTION false
28 
29 #define OS_CONFIG_EXTENDED true
30 
31 #define OS_CONFIG_MAX_ERROR_PARAM 3
32 
33 #define OS_CONFIG_STACK_MONITORING 3
34 
35 // Custom macro for enabling simulator specific code
36 #define OS_CONFIG_SIM false
37 
42 
44 
46  OS_CONFIG_TASK_DEF(Idle, 0, 256, 1, AUTOSTART, BASIC, PREEMPTIVE, NULL, 0b00)
47  OS_CONFIG_TASK_DEF(T1, 4, 256, 1, AUTOSTART, BASIC, PREEMPTIVE, NULL, 0b00)
48  OS_CONFIG_TASK_DEF(T2, 7, 256, 1, AUTOSTART, BASIC, PREEMPTIVE, IntRes1, 0b00)
49  OS_CONFIG_TASK_DEF(T3, 9, 256, 1, NO_AUTOSTART, EXTENDED, NON_PREEMPTIVE, NULL, 0b01)
50  OS_CONFIG_TASK_DEF(T4, 10, 256, 3, NO_AUTOSTART, BASIC, NON_PREEMPTIVE, NULL, 0b00)
51  OS_CONFIG_TASK_DEF(T5, 5, 256, 2, NO_AUTOSTART, BASIC, NON_PREEMPTIVE, NULL, 0b00)
52  OS_CONFIG_TASK_DEF(T6, 7, 256, 2, NO_AUTOSTART, BASIC, PREEMPTIVE, IntRes1, 0b00)
53  OS_CONFIG_TASK_DEF(T7, 10, 256, 1, NO_AUTOSTART, EXTENDED, PREEMPTIVE, NULL, 0b11)
54  OS_CONFIG_TASK_DEF(T8, 15, 256, 1, NO_AUTOSTART, EXTENDED, PREEMPTIVE, NULL, 0b11)
55  OS_CONFIG_TASK_DEF(T9, 15, 256, 1, NO_AUTOSTART, EXTENDED, PREEMPTIVE, NULL, 0b11)
56  OS_CONFIG_TASK_DEF(T10, 11, 256, 1, AUTOSTART, EXTENDED, PREEMPTIVE, NULL, 0b11)
57  OS_CONFIG_TASK_DEF(T11, 12, 256, 1, AUTOSTART, EXTENDED, PREEMPTIVE, NULL, 0b01)
59 
61  OS_CONFIG_INT_DEF(INT0_vect, 20)
62  OS_CONFIG_INT_DEF(INT1_vect, 20)
63  OS_CONFIG_INT_DEF(TIMER1_COMPA_vect, 32)
64 
65 #if defined (OS_CONFIG_SIM) && OS_CONFIG_SIM == true
66  OS_CONFIG_INT_DEF(TIMER2_OVF_vect, 0)
67 #endif /* defined (OS_CONFIG_SIM) && OS_CONFIG_SIM == true */
68 
70 
72  OS_CONFIG_RESOURCE_DEF(Res1, 8)
73  OS_CONFIG_RESOURCE_DEF(Res2, 8)
74  OS_CONFIG_RESOURCE_DEF(Res3, 8)
75  OS_CONFIG_RESOURCE_DEF(Res4, 6)
77 
79  OS_CONFIG_COUNTER_DEF(C1, 10, 1, 10, SOFTWARE, 1)
80  OS_CONFIG_COUNTER_DEF(C2, 90, 5, 1, SOFTWARE, 1)
81  OS_CONFIG_COUNTER_DEF(C3, 15, 1, 1, SOFTWARE, 1)
82  OS_CONFIG_COUNTER_DEF(C4, 10, 1, 1, SOFTWARE, 1)
83  OS_CONFIG_COUNTER_DEF(C5, 20, 1, 1, SOFTWARE, 1)
84  OS_CONFIG_COUNTER_DEF(C6, 20, 1, 1, SOFTWARE, 1)
85  OS_CONFIG_COUNTER_DEF(C7, 20, 1, 1, SOFTWARE, 1)
86  OS_CONFIG_COUNTER_DEF(C8, 20, 1, 1, SOFTWARE, 1)
88 
90 
92  OS_CONFIG_ALARM_DEF(Alarm1, C3, true, 0b01, ALARM_ACTION_EVENT, T7, 1, 1)
93  OS_CONFIG_ALARM_DEF(Alarm2, C2, true, 0b00, ALARM_ACTION_TASK, T7, 30, 60)
94  OS_CONFIG_ALARM_DEF(Alarm3, C2, false, 0b00, ALARM_ACTION_COUNTER, C3, 0, 0)
95  OS_CONFIG_ALARM_DEF(Alarm4, C2, true, 0b00, ALARM_ACTION_CALLBACK, AlarmCb, 6, 12)
96  OS_CONFIG_ALARM_DEF(Alarm5, SYSTEM_COUNTER, true, 0b00, ALARM_ACTION_COUNTER, C4, 570, 570)
97  OS_CONFIG_ALARM_DEF(Alarm6, SYSTEM_COUNTER, true, 0b00, ALARM_ACTION_TASK, T7, 285, 570)
98  OS_CONFIG_ALARM_DEF(Alarm7, SYSTEM_COUNTER, true, 0b00, ALARM_ACTION_CALLBACK, AlarmCb, 2568, 5130)
99  OS_CONFIG_ALARM_DEF(Alarm8, SYSTEM_COUNTER, false, 0b10, ALARM_ACTION_EVENT, T7, 0, 0)
100  OS_CONFIG_ALARM_DEF(Alarm9, C1, false, 0b10, ALARM_ACTION_TASK, T7, 0, 0)
101  OS_CONFIG_ALARM_DEF(Alarm10,SYSTEM_COUNTER, true, 0b00, ALARM_ACTION_COUNTER, C5, 513, 513)
103 
105  /* Schedule table ST1 */
106  OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(ST1, C5, true, true, 3)
108  /* Expiry point at 0 */
119  /* Expiry point at 5 */
125  /* Expiry point at 10 */
133 
134  /* Schedule table ST2 */
135  OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(ST2, C5, false, false, 3)
137  /* Expiry point at 0 */
143  /* Expiry point at 5 */
151 
152  /* Schedule table ST3 */
153  OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(ST3, C5, false, false, 5)
155  /* Expiry point at 1 */
161  /* Expiry point at 3 */
169 
170  /* Schedule table ST4 */
171  OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(ST4, SYSTEM_COUNTER, false, false, 5)
173  /* Expiry point at 0 */
179  /* Expiry point at 50 */
187 
188  /* Schedule table ST5 */
189  OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(ST5, C6, false, false, 3)
191  /* Expiry point at 0 */
197  /* Expiry point at 5 */
205 
206  /* Schedule table ST6 */
207  OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(ST6, C7, false, false, 3)
209  /* Expiry point at 0 */
215  /* Expiry point at 5 */
223 
224  /* Schedule table ST7 */
225  OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(ST7, SYSTEM_COUNTER, false, false, 1000)
227  /* Expiry point at 10 */
235 
236  /* Schedule table ST8 */
237  OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(ST8, SYSTEM_COUNTER, true, false, 1000)
239  /* Expiry point at 10 */
247 
248  /* Schedule table ST9 */
249  OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(ST9, SYSTEM_COUNTER, false, false, 1000)
251  /* Expiry point at 10 */
259 
260  /* Schedule table ST10 */
261  OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(ST10, C8, false, false, 0)
263  /* Expiry point at 0 */
272 
273 #endif /* defined(EXTERNAL_CONFIG) */
ALARM_ACTION_COUNTER
@ ALARM_ACTION_COUNTER
Alarm increments counter on expiration.
Definition: AlarmTypes.h:58
OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_END
#define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_END
Ending of expiry point definition.
Definition: CfgGenMacros.h:520
OS_CONFIG_ALARM_END
#define OS_CONFIG_ALARM_END
End of alarm definitions.
Definition: CfgGenMacros.h:397
OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_BEGIN
#define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_BEGIN
Beginning of event actions definitions.
Definition: CfgGenMacros.h:496
OS_CONFIG_ALARM_CALLBACK
OS_CONFIG_INTERNAL_RESOURCE_BEGIN OS_CONFIG_INTERNAL_RESOURCE_END OS_CONFIG_TASK_BEGIN OS_CONFIG_TASK_END OS_CONFIG_INT_BEGIN OS_CONFIG_INT_END OS_CONFIG_RESOURCE_BEGIN OS_CONFIG_RESOURCE_END OS_CONFIG_COUNTER_BEGIN OS_CONFIG_COUNTER_END OS_CONFIG_ALARM_CALLBACK(AlarmCb)
EXTENDED
@ EXTENDED
The task is a extended task.
Definition: TaskTypes.h:43
OS_CONFIG_RESOURCE_END
#define OS_CONFIG_RESOURCE_END
End of resource definitions.
Definition: CfgGenMacros.h:313
OS_CONFIG_INT_END
#define OS_CONFIG_INT_END
Ending of interrupt definitions.
Definition: CfgGenMacros.h:295
OS_CONFIG_TASK_END
#define OS_CONFIG_TASK_END
Ending of task definitions.
Definition: CfgGenMacros.h:262
SOFTWARE
@ SOFTWARE
Counter is implemented in software.
Definition: CounterTypes.h:40
PREEMPTIVE
@ PREEMPTIVE
The task may be preempted by another task.
Definition: TaskTypes.h:50
OS_CONFIG_INTERNAL_RESOURCE_BEGIN
#define OS_CONFIG_INTERNAL_RESOURCE_BEGIN
Beginning of internal resource definitions.
Definition: CfgGenMacros.h:323
OS_CONFIG_SCHEDULE_TABLE_BEGIN
#define OS_CONFIG_SCHEDULE_TABLE_BEGIN
Beginning of schedule tables definitions.
Definition: CfgGenMacros.h:417
OS_CONFIG_INTERNAL_RESOURCE_END
#define OS_CONFIG_INTERNAL_RESOURCE_END
End of internal resource definitions.
Definition: CfgGenMacros.h:336
ALARM_ACTION_CALLBACK
@ ALARM_ACTION_CALLBACK
Alarm calls callback on expiration.
Definition: AlarmTypes.h:57
OS_CONFIG_COUNTER_END
#define OS_CONFIG_COUNTER_END
End of counter definitions.
Definition: CfgGenMacros.h:358
OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN
#define OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(Name, Counter, AutoStart, Cyclic, FinalDelay)
Beginning schedule table definition.
Definition: CfgGenMacros.h:428
OS_CONFIG_COUNTER_BEGIN
#define OS_CONFIG_COUNTER_BEGIN
Begin of counter definitions.
Definition: CfgGenMacros.h:341
AUTOSTART
@ AUTOSTART
Autostart task.
Definition: TaskTypes.h:77
OS_CONFIG_ALARM_DEF
#define OS_CONFIG_ALARM_DEF(Name, Base, AutoStart, Event, Type, Action, Expiration, Cycle)
Alarm definition.
Definition: CfgGenMacros.h:392
OS_CONFIG_ALARM_BEGIN
#define OS_CONFIG_ALARM_BEGIN
Begin of alarm definitions.
Definition: CfgGenMacros.h:368
OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_END
#define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_END
Ending of expiry points definitions.
Definition: CfgGenMacros.h:528
ALARM_ACTION_TASK
@ ALARM_ACTION_TASK
Alarm activates task on expiration.
Definition: AlarmTypes.h:55
OS_CONFIG_COUNTER_DEF
#define OS_CONFIG_COUNTER_DEF(Name, MaxAllowedValue, MinCycle, TicksPerBase, Type, SecondsPerTick)
Counter definition.
Definition: CfgGenMacros.h:353
OS_CONFIG_SYSTEM_STACK
#define OS_CONFIG_SYSTEM_STACK(Size)
Specify size of system stack.
Definition: CfgGenMacros.h:232
OS_CONFIG_INTERNAL_RESOURCE_DEF
#define OS_CONFIG_INTERNAL_RESOURCE_DEF(Name, Prio)
Internal resource definition.
Definition: CfgGenMacros.h:331
OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_END
#define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_END
Ending of task actions definitions.
Definition: CfgGenMacros.h:486
BASIC
@ BASIC
The task is a basic task, thus unable to wait on an event.
Definition: TaskTypes.h:42
CfgGenMacros.h
Macros used for generation of system.
OS_CONFIG_SCHEDULE_TABLE_DEF_END
#define OS_CONFIG_SCHEDULE_TABLE_DEF_END
Ending of schedule table definition.
Definition: CfgGenMacros.h:536
OS_CONFIG_TASK_BEGIN
#define OS_CONFIG_TASK_BEGIN
Beginning of task definitions.
Definition: CfgGenMacros.h:237
OS_CONFIG_RESOURCE_DEF
#define OS_CONFIG_RESOURCE_DEF(Name, Prio)
Resource definition.
Definition: CfgGenMacros.h:308
OS_CONFIG_SCHEDULE_TABLE_END
#define OS_CONFIG_SCHEDULE_TABLE_END
End of schedule table definitions.
Definition: CfgGenMacros.h:541
NON_PREEMPTIVE
@ NON_PREEMPTIVE
The task may not be preempted.
Definition: TaskTypes.h:51
OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_END
#define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_END
Ending of event actions definitions.
Definition: CfgGenMacros.h:512
OS_CONFIG_RESOURCE_BEGIN
#define OS_CONFIG_RESOURCE_BEGIN
Beginning of resource definitions.
Definition: CfgGenMacros.h:300
ALARM_ACTION_EVENT
@ ALARM_ACTION_EVENT
Alarm sets event on expiration.
Definition: AlarmTypes.h:56
OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_BEGIN
#define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_BEGIN(NumExpiryPoints)
Beginning of expiry points definition.
Definition: CfgGenMacros.h:443
NO_AUTOSTART
@ NO_AUTOSTART
Do not autostart task.
Definition: TaskTypes.h:76
OS_CONFIG_INT_BEGIN
#define OS_CONFIG_INT_BEGIN
Beginning of interrupt definitions.
Definition: CfgGenMacros.h:272
OS_CONFIG_INT_DEF
#define OS_CONFIG_INT_DEF(Name, Prio)
Interrupt definition.
Definition: CfgGenMacros.h:290
OS_CONFIG_SCHEDULE_TABLE_TASK_ACTION_DEF
#define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTION_DEF(Task)
Definition of task action.
Definition: CfgGenMacros.h:478
OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_BEGIN
#define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_BEGIN
Beginning of task actions definitions.
Definition: CfgGenMacros.h:468
OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_BEGIN
#define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_BEGIN(Offset, NumTaskActions, NumEventActions)
Beginning of expiry point definition.
Definition: CfgGenMacros.h:458
OS_CONFIG_TASK_DEF
#define OS_CONFIG_TASK_DEF(Name, Prio, StackSize, NumberOfActivations, Autostart, TaskType, TaskSchedule, Res, Events)
Task definition.
Definition: CfgGenMacros.h:257
OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTION_DEF
#define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTION_DEF(Task, Event)
Definition of event action.
Definition: CfgGenMacros.h:504