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