Go to the documentation of this file.
15 #ifdef OS_STACK_MONITORING
16 #undef OS_STACK_MONITORING
18 #ifdef OS_CONFIG_TASK_BEGIN
19 #undef OS_CONFIG_TASK_BEGIN
21 #ifdef OS_CONFIG_TASK_DEF
22 #undef OS_CONFIG_TASK_DEF
24 #ifdef OS_CONFIG_TASK_END
25 #undef OS_CONFIG_TASK_END
27 #ifdef OS_CONFIG_INT_BEGIN
28 #undef OS_CONFIG_INT_BEGIN
30 #ifdef OS_CONFIG_INT_DEF
31 #undef OS_CONFIG_INT_DEF
33 #ifdef OS_CONFIG_INT_END
34 #undef OS_CONFIG_INT_END
36 #ifdef OS_CONFIG_RESOURCE_BEGIN
37 #undef OS_CONFIG_RESOURCE_BEGIN
39 #ifdef OS_CONFIG_RESOURCE_DEF
40 #undef OS_CONFIG_RESOURCE_DEF
42 #ifdef OS_CONFIG_RESOURCE_END
43 #undef OS_CONFIG_RESOURCE_END
45 #ifdef OS_CONFIG_INTERNAL_RESOURCE_BEGIN
46 #undef OS_CONFIG_INTERNAL_RESOURCE_BEGIN
48 #ifdef OS_CONFIG_INTERNAL_RESOURCE_DEF
49 #undef OS_CONFIG_INTERNAL_RESOURCE_DEF
51 #ifdef OS_CONFIG_INTERNAL_RESOURCE_END
52 #undef OS_CONFIG_INTERNAL_RESOURCE_END
54 #ifdef OS_CONFIG_COUNTER_BEGIN
55 #undef OS_CONFIG_COUNTER_BEGIN
57 #ifdef OS_CONFIG_COUNTER_DEF
58 #undef OS_CONFIG_COUNTER_DEF
60 #ifdef OS_CONFIG_COUNTER_END
61 #undef OS_CONFIG_COUNTER_END
63 #ifdef OS_CONFIG_ALARM_BEGIN
64 #undef OS_CONFIG_ALARM_BEGIN
66 #ifdef OS_CONFIG_ALARM_DEF
67 #undef OS_CONFIG_ALARM_DEF
69 #ifdef OS_CONFIG_ALARM_END
70 #undef OS_CONFIG_ALARM_END
72 #ifdef OS_CONFIG_ALARM_CALLBACK
73 #undef OS_CONFIG_ALARM_CALLBACK
75 #ifdef OS_CONFIG_SCHEDULE_TABLE_BEGIN
76 #undef OS_CONFIG_SCHEDULE_TABLE_BEGIN
78 #ifdef OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN
79 #undef OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN
81 #ifdef OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_BEGIN
82 #undef OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_BEGIN
84 #ifdef OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_BEGIN
85 #undef OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_BEGIN
87 #ifdef OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_BEGIN
88 #undef OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_BEGIN
90 #ifdef OS_CONFIG_SCHEDULE_TABLE_TASK_ACTION_DEF
91 #undef OS_CONFIG_SCHEDULE_TABLE_TASK_ACTION_DEF
93 #ifdef OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_END
94 #undef OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_END
96 #ifdef OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_BEGIN
97 #undef OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_BEGIN
99 #ifdef OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTION_DEF
100 #undef OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTION_DEF
102 #ifdef OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_END
103 #undef OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_END
105 #ifdef OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_END
106 #undef OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_END
108 #ifdef OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_END
109 #undef OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_END
111 #ifdef OS_CONFIG_SCHEDULE_TABLE_DEF_END
112 #undef OS_CONFIG_SCHEDULE_TABLE_DEF_END
114 #ifdef OS_CONFIG_SCHEDULE_TABLE_END
115 #undef OS_CONFIG_SCHEDULE_TABLE_END
117 #ifdef OS_CONFIG_SYSTEM_STACK
118 #undef OS_CONFIG_SYSTEM_STACK
129 #define OS_CONFIG_HOOK_STARTUP
136 #define OS_CONFIG_HOOK_SHUTDOWN
144 #define OS_CONFIG_HOOK_PRE_TASK
152 #define OS_CONFIG_HOOK_POST_TASK
164 #define OS_CONFIG_HOOK_ERROR
172 #define OS_CONFIG_HOOK_PROTECTION
180 #define OS_CONFIG_EXTENDED
195 #define OS_CONFIG_MAX_ERROR_PARAM
223 #define OS_CONFIG_STACK_MONITORING
232 #define OS_CONFIG_SYSTEM_STACK(Size)
237 #define OS_CONFIG_TASK_BEGIN
257 #define OS_CONFIG_TASK_DEF(Name, Prio, StackSize, NumberOfActivations, Autostart, TaskType, TaskSchedule, Res, Events)
262 #define OS_CONFIG_TASK_END
272 #define OS_CONFIG_INT_BEGIN
290 #define OS_CONFIG_INT_DEF(Name, Prio)
295 #define OS_CONFIG_INT_END
300 #define OS_CONFIG_RESOURCE_BEGIN
308 #define OS_CONFIG_RESOURCE_DEF(Name, Prio)
313 #define OS_CONFIG_RESOURCE_END
318 #define RESOURCE_COUNT
323 #define OS_CONFIG_INTERNAL_RESOURCE_BEGIN
331 #define OS_CONFIG_INTERNAL_RESOURCE_DEF(Name, Prio)
336 #define OS_CONFIG_INTERNAL_RESOURCE_END
341 #define OS_CONFIG_COUNTER_BEGIN
353 #define OS_CONFIG_COUNTER_DEF(Name, MaxAllowedValue, MinCycle, TicksPerBase, Type, SecondsPerTick)
358 #define OS_CONFIG_COUNTER_END
363 #define COUNTER_COUNT
368 #define OS_CONFIG_ALARM_BEGIN
392 #define OS_CONFIG_ALARM_DEF(Name, Base, AutoStart, Event, Type, Action, Expiration, Cycle)
397 #define OS_CONFIG_ALARM_END
412 #define OS_CONFIG_ALARM_CALLBACK(Name)
417 #define OS_CONFIG_SCHEDULE_TABLE_BEGIN
428 #define OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(Name, Counter, AutoStart, Cyclic, FinalDelay)
443 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_BEGIN(NumExpiryPoints)
458 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_BEGIN(Offset, NumTaskActions, NumEventActions)
468 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_BEGIN
478 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTION_DEF(Task)
486 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_END
496 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_BEGIN
504 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTION_DEF(Task, Event)
512 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_END
520 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_END
528 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_END
536 #define OS_CONFIG_SCHEDULE_TABLE_DEF_END
541 #define OS_CONFIG_SCHEDULE_TABLE_END
547 #ifdef OS_CONFIG_GEN_ENUM
549 #define OS_CONFIG_SYSTEM_STACK(Size)
551 #define OS_CONFIG_TASK_BEGIN enum tasks_e {
552 #define OS_CONFIG_TASK_DEF(Name, Prio, StackSize, NumberOfActivations, \
553 Autostart, TaskType, TaskSchedule, Res, Events) Name,
554 #define OS_CONFIG_TASK_END INVALID_TASK};
556 #define TASK_COUNT INVALID_TASK
558 #define OS_CONFIG_INT_BEGIN
559 #define OS_CONFIG_INT_DEF(Name, Prio)
560 #define OS_CONFIG_INT_END
562 #define OS_CONFIG_RESOURCE_BEGIN enum resources_e {
563 #define OS_CONFIG_RESOURCE_DEF(Name, Prio) Name,
564 #define OS_CONFIG_RESOURCE_END INVALID_RESOURCE};
566 #define RESOURCE_COUNT INVALID_RESOURCE
568 #define OS_CONFIG_INTERNAL_RESOURCE_BEGIN
569 #define OS_CONFIG_INTERNAL_RESOURCE_DEF(Name, Prio)
570 #define OS_CONFIG_INTERNAL_RESOURCE_END
572 #define OS_CONFIG_COUNTER_BEGIN enum counters_e { \
574 #define OS_CONFIG_COUNTER_DEF(Name, MaxAllowedValue, MinCycle, \
575 TicksPerBase, Type, SecondsPerTick) Name,
576 #define OS_CONFIG_COUNTER_END INVALID_COUNTER};
578 #define COUNTER_COUNT INVALID_COUNTER
580 #define OS_CONFIG_ALARM_BEGIN enum alarm_e {
581 #define OS_CONFIG_ALARM_DEF(Name, Base, AutoStart, Event, Type, \
582 Action, Expiration, Cycle) Name,
583 #define OS_CONFIG_ALARM_END INVALID_ALARM};
585 #define ALARM_COUNT INVALID_ALARM
587 #define OS_CONFIG_ALARM_CALLBACK(Name)
589 #define OS_CONFIG_SCHEDULE_TABLE_BEGIN enum scheduleTables_e {
590 #define OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(Name, Counter, AutoStart, \
591 Cyclic, FinalDelay) Name,
592 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_BEGIN(NumExpiryPoints)
593 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_BEGIN(Offset, NumTaskActions, \
595 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_BEGIN
596 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTION_DEF(Task)
597 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_END
598 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_BEGIN
599 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTION_DEF(Task, Event)
600 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_END
601 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_END
602 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_END
603 #define OS_CONFIG_SCHEDULE_TABLE_DEF_END
604 #define OS_CONFIG_SCHEDULE_TABLE_END INVALID_SCHEDULETABLE};
606 #define SCHEDULETABLE_COUNT INVALID_SCHEDULETABLE
611 #ifdef OS_CONFIG_GEN_FUNC_DECL
613 #define OS_CONFIG_SYSTEM_STACK(Size)
615 #define OS_CONFIG_TASK_BEGIN
616 #define OS_CONFIG_TASK_DEF(Name, Prio, StackSize, NumberOfActivations, \
617 Autostart, TaskType, TaskSchedule, Res, Events) TASK(Name);
618 #define OS_CONFIG_TASK_END
620 #define OS_CONFIG_INT_BEGIN
621 #define OS_CONFIG_INT_DEF(Name, Prio) extern void Func ## Name(void);
622 #define OS_CONFIG_INT_END
624 #define OS_CONFIG_RESOURCE_BEGIN
625 #define OS_CONFIG_RESOURCE_DEF(Name, Prio)
626 #define OS_CONFIG_RESOURCE_END
628 #define OS_CONFIG_INTERNAL_RESOURCE_BEGIN
629 #define OS_CONFIG_INTERNAL_RESOURCE_DEF(Name, Prio)
630 #define OS_CONFIG_INTERNAL_RESOURCE_END
632 #define OS_CONFIG_COUNTER_BEGIN
633 #define OS_CONFIG_COUNTER_DEF(Name, MaxAllowedValue, MinCycle, \
634 TicksPerBase, Type, SecondsPerTick)
635 #define OS_CONFIG_COUNTER_END
637 #define OS_CONFIG_ALARM_BEGIN
638 #define OS_CONFIG_ALARM_DEF(Name, Base, AutoStart, Event, Type, \
639 Action, Expiration, Cycle)
640 #define OS_CONFIG_ALARM_END
642 #define OS_CONFIG_ALARM_CALLBACK(Name) extern void Name(void);
644 #define OS_CONFIG_SCHEDULE_TABLE_BEGIN
645 #define OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(Name, Counter, AutoStart, \
647 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_BEGIN(NumExpiryPoints)
648 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_BEGIN(Offset, NumTaskActions, \
650 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_BEGIN
651 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTION_DEF(Task)
652 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_END
653 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_BEGIN
654 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTION_DEF(Task, Event)
655 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_END
656 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_END
657 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_END
658 #define OS_CONFIG_SCHEDULE_TABLE_DEF_END
659 #define OS_CONFIG_SCHEDULE_TABLE_END
664 #ifdef OS_CONFIG_GEN_FUNC
666 #define OS_CONFIG_SYSTEM_STACK(Size)
668 #define OS_CONFIG_TASK_BEGIN
669 #define OS_CONFIG_TASK_DEF(Name, Prio, StackSize, NumberOfActivations, \
670 Autostart, TaskType, TaskSchedule, Res, Events)
671 #define OS_CONFIG_TASK_END
673 #define OS_CONFIG_INT_BEGIN
674 #define OS_CONFIG_INT_DEF(Name, Prio) ISR(Name, ISR_NAKED) { \
676 OS_SystemStack[0] = 0xBE; \
677 SP = (uint16_t) OS_SystemStackPtr; \
680 if (currentTask == INVALID_TASK || Prio == 0 \
681 || Prio > TCB_Cfg[currentTask]->curPrio) \
683 if (OS_SystemStack[0] != 0xBE) \
684 OS_ProtectionHookInternal(E_OS_STACKFAULT); \
688 asm volatile("reti"); \
690 #define OS_CONFIG_INT_END
692 #define OS_CONFIG_RESOURCE_BEGIN
693 #define OS_CONFIG_RESOURCE_DEF(Name, Prio)
694 #define OS_CONFIG_RESOURCE_END
696 #define OS_CONFIG_INTERNAL_RESOURCE_BEGIN
697 #define OS_CONFIG_INTERNAL_RESOURCE_DEF(Name, Prio)
698 #define OS_CONFIG_INTERNAL_RESOURCE_END
700 #define OS_CONFIG_COUNTER_BEGIN
701 #define OS_CONFIG_COUNTER_DEF(Name, MaxAllowedValue, MinCycle, \
702 TicksPerBase, Type, SecondsPerTick)
703 #define OS_CONFIG_COUNTER_END
705 #define OS_CONFIG_ALARM_BEGIN
706 #define OS_CONFIG_ALARM_DEF(Name, Base, AutoStart, Event, Type, \
707 Action, Expiration, Cycle)
708 #define OS_CONFIG_ALARM_END
710 #define OS_CONFIG_ALARM_CALLBACK(Name)
712 #define OS_CONFIG_SCHEDULE_TABLE_BEGIN
713 #define OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(Name, Counter, AutoStart, \
715 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_BEGIN(NumExpiryPoints)
716 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_BEGIN(Offset, NumTaskActions, \
718 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_BEGIN
719 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTION_DEF(Task)
720 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_END
721 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_BEGIN
722 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTION_DEF(Task, Event)
723 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_END
724 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_END
725 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_END
726 #define OS_CONFIG_SCHEDULE_TABLE_DEF_END
727 #define OS_CONFIG_SCHEDULE_TABLE_END
732 #ifdef OS_CONFIG_GEN_DATA_STRUCT
734 #if defined (OS_CONFIG_STACK_MONITORING) && OS_CONFIG_STACK_MONITORING >= 2
735 #define OS_STACK_MONITORING_MARKER_SIZE 1
737 #define OS_STACK_MONITORING_MARKER_SIZE 0
740 #define OS_CONFIG_SYSTEM_STACK(Size) uint8_t OS_SystemStack[Size + 1]; \
741 uint8_t* const OS_SystemStackPtr = OS_SystemStack + sizeof(OS_SystemStack) - 1;
743 #define OS_CONFIG_TASK_BEGIN
744 #define OS_CONFIG_TASK_DEF(Name, Prio, StackSize, NumberOfActivations, \
745 Autostart, TaskType, TaskSchedule, Res, Events) uint8_t Task##Name##_stack[StackSize + OS_STACK_MONITORING_MARKER_SIZE]; \
746 volatile struct task_s Task##Name##_s = { \
747 .stack = ((uint8_t* const) &Task##Name##_stack) + OS_STACK_MONITORING_MARKER_SIZE, \
748 .stackSize = StackSize, \
750 .numberOfActivations = NumberOfActivations, \
751 .autostart = Autostart, \
752 .taskType = TaskType, \
753 .taskSchedule = TaskSchedule, \
754 .taskFxn = PTASK(Name), \
755 .context = Task##Name##_stack + StackSize - 1 + OS_STACK_MONITORING_MARKER_SIZE, \
757 .curState = SUSPENDED, \
758 .resourceQueue = NULL, \
759 .internalResource = &IntResource##Res##_s, \
762 #define OS_CONFIG_TASK_END
764 #define OS_CONFIG_INT_BEGIN
765 #define OS_CONFIG_INT_DEF(Name, Prio)
766 #define OS_CONFIG_INT_END
768 #define OS_CONFIG_RESOURCE_BEGIN
769 #define OS_CONFIG_RESOURCE_DEF(Name, Prio) volatile struct resource_s Resource##Name##_s = { \
774 #define OS_CONFIG_RESOURCE_END
776 #define OS_CONFIG_INTERNAL_RESOURCE_BEGIN volatile struct internalResource_s IntResourceNULL_s;
777 #define OS_CONFIG_INTERNAL_RESOURCE_DEF(Name, Prio) volatile struct internalResource_s IntResource##Name##_s = { \
781 #define OS_CONFIG_INTERNAL_RESOURCE_END
783 #define OS_CONFIG_COUNTER_BEGIN volatile struct counter_s CounterSYSTEM_COUNTER_s = { \
784 .maxallowedvalue = UINT32_MAX, \
786 .ticksperbase = 57, \
788 .secondspertick = 0.017778, \
791 #define OS_CONFIG_COUNTER_DEF(Name, MaxAllowedValue, MinCycle, \
792 TicksPerBase, Type, SecondsPerTick) volatile struct counter_s Counter##Name##_s = { \
793 .maxallowedvalue = MaxAllowedValue, \
794 .mincycle = MinCycle, \
795 .ticksperbase = TicksPerBase, \
797 .secondspertick = SecondsPerTick, \
800 #define OS_CONFIG_COUNTER_END
802 #define OS_CONFIG_ALARM_BEGIN
803 #define OS_CONFIG_ALARM_DEF(Name, Base, AutoStart, Event, Type, \
804 Action, Expiration, Cycle) volatile struct alarm_s Alarm##Name##_s = { \
805 .alarmBase = &Counter##Base##_s, \
807 .actionType = Type, \
808 .action.action = (void*) Action, \
809 .running = AutoStart, \
810 .expiration = Expiration, \
813 #define OS_CONFIG_ALARM_END
815 #define OS_CONFIG_ALARM_CALLBACK(Name)
817 #define OS_CONFIG_SCHEDULE_TABLE_BEGIN
818 #define OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(Name, Counter, AutoStart, \
819 Cyclic, FinalDelay) struct scheduleTable_s ScheduleTable##Name##_s = { \
820 .counter = Counter, \
821 .autoStart = AutoStart, \
823 .finalDelay = FinalDelay, \
824 .currentState = SCHEDULETABLE_STOPPED, \
825 .next = INVALID_SCHEDULETABLE,
826 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_BEGIN(NumExpiryPoints) .numExpiryPoints = NumExpiryPoints, \
827 .expiryPointList = (struct scheduleTableExpiryPoint_s[]) {
828 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_BEGIN(Offset, NumTaskActions, \
829 NumEventActions) { .offset = Offset, \
830 .numTaskActions = NumTaskActions, \
831 .numEventActions = NumEventActions,
832 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_BEGIN .taskActionList = (struct scheduleTableExpiryActionTask_s[]) {
833 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTION_DEF(Task) { .task = Task },
834 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_END },
835 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_BEGIN .eventActionList = (struct scheduleTableExpiryActionEvent_s[]) {
836 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTION_DEF(Task, Event) { .task = Task, .event = Event },
837 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_END },
838 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_END },
839 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_END },
840 #define OS_CONFIG_SCHEDULE_TABLE_DEF_END };
841 #define OS_CONFIG_SCHEDULE_TABLE_END
846 #ifdef OS_CONFIG_GEN_TCB
848 #define OS_CONFIG_SYSTEM_STACK(Size)
850 #define OS_CONFIG_TASK_BEGIN volatile struct task_s* TCB_Cfg[TASK_COUNT] = {
851 #define OS_CONFIG_TASK_DEF(Name, Prio, StackSize, NumberOfActivations, \
852 Autostart, TaskType, TaskSchedule, Res, Events) &Task##Name##_s,
853 #define OS_CONFIG_TASK_END };
855 #define OS_CONFIG_INT_BEGIN
856 #define OS_CONFIG_INT_DEF(Name, Prio)
857 #define OS_CONFIG_INT_END
859 #define OS_CONFIG_RESOURCE_BEGIN volatile struct resource_s* Res_Cfg[RESOURCE_COUNT] = {
860 #define OS_CONFIG_RESOURCE_DEF(Name, Prio) &Resource##Name##_s,
861 #define OS_CONFIG_RESOURCE_END };
863 #define OS_CONFIG_INTERNAL_RESOURCE_BEGIN
864 #define OS_CONFIG_INTERNAL_RESOURCE_DEF(Name, Prio)
865 #define OS_CONFIG_INTERNAL_RESOURCE_END
867 #define OS_CONFIG_COUNTER_BEGIN volatile struct counter_s* Counter_Cfg[COUNTER_COUNT] = { \
868 &CounterSYSTEM_COUNTER_s,
869 #define OS_CONFIG_COUNTER_DEF(Name, MaxAllowedValue, MinCycle, \
870 TicksPerBase, Type, SecondsPerTick) &Counter##Name##_s,
871 #define OS_CONFIG_COUNTER_END };
873 #define OS_CONFIG_ALARM_BEGIN volatile struct alarm_s* Alarm_Cfg[ALARM_COUNT] = {
874 #define OS_CONFIG_ALARM_DEF(Name, Base, AutoStart, Event, Type, \
875 Action, Expiration, Cycle) &Alarm##Name##_s,
876 #define OS_CONFIG_ALARM_END };
878 #define OS_CONFIG_ALARM_CALLBACK(Name)
880 #define OS_CONFIG_SCHEDULE_TABLE_BEGIN struct scheduleTable_s* ScheduleTable_Cfg[SCHEDULETABLE_COUNT] = {
881 #define OS_CONFIG_SCHEDULE_TABLE_DEF_BEGIN(Name, Counter, AutoStart, \
882 Cyclic, FinalDelay) &ScheduleTable##Name##_s,
883 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_BEGIN(NumExpiryPoints)
884 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_BEGIN(Offset, NumTaskActions, \
886 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_BEGIN
887 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTION_DEF(Task)
888 #define OS_CONFIG_SCHEDULE_TABLE_TASK_ACTIONS_END
889 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_BEGIN
890 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTION_DEF(Task, Event)
891 #define OS_CONFIG_SCHEDULE_TABLE_EVENT_ACTIONS_END
892 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINT_DEF_END
893 #define OS_CONFIG_SCHEDULE_TABLE_EXPIRY_POINTS_END
894 #define OS_CONFIG_SCHEDULE_TABLE_DEF_END
895 #define OS_CONFIG_SCHEDULE_TABLE_END };
901 #ifdef OS_CONFIG_GEN_ENUM
902 #undef OS_CONFIG_GEN_ENUM
904 #ifdef OS_CONFIG_GEN_FUNC_DECL
905 #undef OS_CONFIG_GEN_FUNC_DECL
907 #ifdef OS_CONFIG_GEN_DATA_STRUCT
908 #undef OS_CONFIG_GEN_DATA_STRUCT
910 #ifdef OS_CONFIG_GEN_TCB
911 #undef OS_CONFIG_GEN_TCB