File: /home/oboss/Users/gec/sources/Demonstrator/Power_Conditioning_System/power_conditioning_system-parameters.ads
1 --~-----------------------------------------------------------------------------
2
3 with Mission_Parameters;
4 with Application_Process_Parameters;
5 with Parameter_Representation;
6 with Task_Priority_Control;
7 with Ada_Task_Configuration;
8 with Packet_Store_Types;
9 package Power_Conditioning_System.Parameters is
10
11 --% Library Package:
12 -- Collection of parameters associated to Power Conditioning System
13 --+ application process.
14 -- This is the primary starting point for adaptation of the application
15 --+ process.
16 --% Active Tasks:
17 --> None
18 --% Passive Tasks:
19 --> None
20
21 -- Application process ID associated to Power Conditioning System
22 --+ application process.
23 Application_ID :
24 constant Mission_Parameters.APID :=
25 Mission_Parameters.Power_Conditioning_System;
26
27 --~--------------------------------------------------------------------------
28
29 package TC_Dispathing is
30
31 --% Package:
32 -- Parameters related to dispatching of telecommands internally in the
33 --+ application process
34
35 -- Priority and stack size of dispatcher task distributing received
36 --+ telecommands to proper service.
37 TC_Task_Priority :
38 constant Task_Priority_Control.Active_Task_Priority :=
39 Ada_Task_Configuration.
40 Power_Conditioning_System_TC_Task_Priority;
41 TC_Task_Stack_Size : constant := 8_000;
42
43 -- Priority of critical region protecting queue of telecommands destined
44 --+ at Power Conditioning System application process.
45 TC_Buffer_Priority :
46 constant Task_Priority_Control.Passive_Task_Priority :=
47 Ada_Task_Configuration.
48 Power_Conditioning_System_TC_Buffer_Priority;
49 -- Size of queue of telecommands destined at Power Conditioning System
50 --+ application process.
51 TC_Buffer_Size :
52 constant Natural :=
53 Application_Process_Parameters.The_Parameters
54 (Application_ID).Packet_Queue_Size;
55
56 end TC_Dispathing;
57
58 --~--------------------------------------------------------------------------
59
60 package TC_Interpreters is
61
62 --% Package:
63 -- Parameters common to the telecommand interpreters in the
64 --+ appplication process
65 --% Active Tasks:
66 --> None
67 --% Passive Tasks:
68 --> None
69
70 -- Priority of critical region protecting queue of telecomamnds to be
71 --+ executed.
72 Telecommand_Buffer_Priority :
73 constant Task_Priority_Control.Passive_Task_Priority :=
74 Ada_Task_Configuration.
75 Power_Conditioning_System_Telecommand_Buffer_Priority;
76 -- Length of telecommand buffer in which telecommands are queued up for
77 --+ execution.
78 Telecommand_Buffer_Size : constant := 50;
79 -- Invariant applicable to telecommand buffer parameters
80 pragma Assert
81 (Telecommand_Buffer_Priority >
82 Power_Conditioning_System.Parameters.TC_Dispathing.
83 TC_Task_Priority);
84
85 Telecommand_Interpreter_Priority :
86 constant Task_Priority_Control.Active_Task_Priority :=
87 Ada_Task_Configuration.
88 Power_Conditioning_System_Telecommand_Interpreter_Priority;
89 -- Invariant applicable to telecommand interpreter parameters
90 pragma Assert
91 (Telecommand_Buffer_Priority > Telecommand_Interpreter_Priority);
92
93 end TC_Interpreters;
94
95 --~--------------------------------------------------------------------------
96
97 package Interfaces is
98
99 --% Package:
100 -- Collection of constants related to Power Conditioning System
101 --+ interfaces.
102
103 Simulator_Region_Prority :
104 constant Task_Priority_Control.Passive_Task_Priority :=
105 Ada_Task_Configuration.PDU_Simulator_Region_Prority;
106
107 end Interfaces;
108
109 --~--------------------------------------------------------------------------
110
111 package Storage_Selection is
112
113 --% Package:
114 -- Various parameters applicable to the storage selection definiton
115 --+ service.
116 --% Active Tasks:
117 --> None
118 --% Passive Tasks:
119 --> None
120
121 -- Maximum number of store IDs for which storage selections are to be
122 --+ applied.
123 Max_Store_IDs : constant Packet_Store_Types.Count_Type := 2;
124
125 -- Stack size of sporadic task performing TC packet execution as a
126 --+ response to calls to Handle_TC_Packet
127 Interpreter_Stack_Size : constant := 15_000;
128
129 end Storage_Selection;
130
131 --~--------------------------------------------------------------------------
132
133 package Housekeeping_And_Diagnostics is
134
135 --% Package:
136 -- Collection of constants related to Housekeeping & Diagnostics service
137 --+ (service type 3).
138
139 -- Maximum number of Structure-IDs to be defined at the same time.
140 Max_SIDs : constant := 8;
141 -- Maximum total number of Simply-Commutated parameters in a given
142 --+ HK/Diag report.
143 Max_Simple_Params : constant := 44;
144 -- Maximum total number of sampling events to be active at any one time.
145 Max_Sampling_Events : constant := Max_SIDs * Max_Simple_Params;
146 -- Maximum total number of Super-Commutated parameters in a given HK/Diag
147 --+ report.
148 Max_Super_Params : constant := 0;
149 -- Maximum number of repetitions for Super-Commutated parameters in a
150 --+ given HK/Diag report.
151 Max_Super_Reps : constant := 0;
152 -- Maximum number parameter collections to be performed during
153 --+ HK_Diag_Period
154 Max_No_Of_Checks_In_HK_Diag_Period : constant := Max_Simple_Params;
155 -- Period by which any parameters due for collection will be collected.
156 Period : constant := 1;
157 -- Priority and stack size of cyclic object performing parameter
158 --+ collection
159 Event_Task_Priority :
160 constant Task_Priority_Control.Active_Task_Priority :=
161 Ada_Task_Configuration.
162 Power_Conditioning_System_HK_Diag_Event_Task_Priority;
163 Event_Task_Size : constant := 30_000;
164 -- Priority of protected object implementing buffering of telecommands
165 --+ destined at the Housekeeping & Diagnostics service.
166 -- Priority of protected object implementing timeline of collection
167 --+ events
168 Event_List_Priority :
169 constant Task_Priority_Control.Passive_Task_Priority :=
170 Ada_Task_Configuration.
171 Power_Conditioning_System_HK_Diag_Event_List_Priority;
172 -- Priority assigned to critical region protecting report definitions.
173 Report_Definition_Priority :
174 constant Task_Priority_Control.Passive_Task_Priority :=
175 Ada_Task_Configuration.
176 Power_Conditioning_System_HK_Diag_Report_Definition_Priority;
177 -- Stack size for sporadic task responsible for execution of telecommand
178 --+ service requests
179 Telecommand_Interpreter_Stack_Size : constant := 30_000;
180
181 end Housekeeping_And_Diagnostics;
182
183 --~--------------------------------------------------------------------------
184
185 package Monitoring is
186
187 --% Package:
188 -- Collection of constants related to on-board monitoring service
189 --+ (service type 12).
190
191 -- Maximum number of parameters that can be monitored.
192 Max_Params : constant := 4;
193 -- Maximum number total of checks that can be applied to all parameter
194 --+ being monitored.
195 Max_Checks : constant := Max_Params * 2;
196 -- Period of Cyclic task performing parameter monitoring. Unit is
197 --+ Mission_Parameters.Diag_Min_Interval.
198 Monitoring_Period : constant := 1;
199 -- Maximum number of parameters that are to be checked during one
200 --+ Monitoring_Period as defined above
201 Max_No_Of_Checks_In_Monitoring_Period : constant :=
202 Max_Params * Max_Checks;
203 -- Maximum number of out-of-limit transitions that can be reported within
204 --+ Maximum_Reporting_Delay * Mission_Parameters.Diag_Min_Interv
205 Max_No_Of_OOL_Transitions : constant :=
206 Max_No_Of_Checks_In_Monitoring_Period;
207 -- Stack size of sporadic task performing telecommand execution for
208 --+ onboard monitoring telecommands.
209 Telecommand_Interpreter_Stack_Size : constant := 30_000;
210 -- Priority of protected object implementing monitoring list.
211 Monitoring_List_Priority :
212 constant Task_Priority_Control.Passive_Task_Priority :=
213 Ada_Task_Configuration.
214 Power_Conditioning_System_Monitoring_List_Priority;
215 -- Priority of protected object implementing collection of check
216 --+ definitions.
217 Check_Definitions_Collection_Priority :
218 constant Task_Priority_Control.Passive_Task_Priority :=
219 Ada_Task_Configuration.
220 Power_Conditioning_System_Check_Definitions_Collection_Priority;
221 -- Priority of protected object implementing timeline of monitoring
222 --+ events.
223 Timeline_Priority :
224 constant Task_Priority_Control.Passive_Task_Priority :=
225 Ada_Task_Configuration.
226 Power_Conditioning_System_Monitor_Timeline_Priority;
227 -- Priority and stack size of cyclic task performing parameter
228 --+ monitoring.
229 Monitor_Task_Priority :
230 constant Task_Priority_Control.Active_Task_Priority :=
231 Ada_Task_Configuration.
232 Power_Conditioning_System_Monitor_Task_Priority;
233 Monitor_Task_Stack_Size : constant := 30_000;
234 -- Maximum time from detection of an out-of-limit event until it is
235 --+ submitted in an OOL report
236 -- The delay is expressed in units of Mission_Parameters.Diag_Min_Interv
237 Maximum_Reporting_Delay : constant := 5;
238 -- Priority of protected object implementing list of OOL transitions.
239 OOL_Transition_List_Priority :
240 constant Task_Priority_Control.Passive_Task_Priority :=
241 Ada_Task_Configuration.
242 Power_Conditioning_System_OOL_Transition_List_Priority;
243 -- Priority and stack size of cyclic task generating out-of-limit
244 --+ reports.
245 OOL_Reporter_Priority :
246 constant Task_Priority_Control.Active_Task_Priority :=
247 Ada_Task_Configuration.
248 Power_Conditioning_System_OOL_Reporter_Priority;
249 OOL_Reporter_Task_Stack_Size : constant := 30_000;
250
251 end Monitoring;
252
253 --~--------------------------------------------------------------------------
254
255 package Function_Management is
256
257 --% Package:
258 -- Collection of constants related to Function Management service
259 --+ (service type 8).
260
261 -- Stack size of sporadic task performing telecommand execution of
262 --+ Function Management telecommands.
263 Telecommand_Interpreter_Stack_Size : constant := 30_000;
264
265 end Function_Management;
266
267 --~--------------------------------------------------------------------------
268
269 end Power_Conditioning_System.parameters;
270
271 --~-----------------------------------------------------------------------------
272