File: /home/oboss/Users/gec/sources/Demonstrator/Payload/payload-parameters.ads

1     --% Compilation Unit: Payload.Parameters
2     --
3     --% Category: Package Declaration
4     --
5     --% Release:  $Name:  $
6     --
7     --% Version:  $Revision: 2.1 $
8     --
9     --% Author:   $Author: gec $
10     --
11     --% Revision Log:
12     --    $Log: payload-parameters.ads,v $
13     --    Revision 2.1  2004/02/13 16:16:47  gec
14     --    Merged results of Demonstrator development on to main OBOSS trunk.
15     --
16     --    Revision 1.1.2.1  2004/01/26 10:14:00  gec
17     --    Partial update of payload application process according to Demonstrator specification. Applicable for integration testing.
18     --
19     --    Revision 2.1  2003/10/21 13:07:33  gec
20     --    Eliminated comments referring to Alsys compiler.
21     --
22     --    Revision 2.0  2003/04/04 08:50:41  gec
23     --    Initial release of source files serving as baseline for OBOSS-III
24     --+    project.
25     --
26     --    Revision 1.1.1.1  2003/04/04 08:13:07  gec
27     --    Imported using TkCVS
28     --
29     --
30     --
31     --% Project: OBOSS
32     --
33     --% Copyright (C) 2003 by Terma A/S
34     --  Proprietary and intellectual rights of Terma A/S, Denmark,
35     --  are involved in the subject-matter of this material and
36     --  all manufacturing, reproduction, use, disclosure, and
37     --  sales rights pertaining to such subject-matter are
38     --  expressly reserved. This material is submitted for a
39     --  specific purpose as agreed, and the recipient by
40     --  accepting this material agrees that this material will
41     --  not be used, copied, or reproduced in whole or in part
42     --  nor its contents revealed in any manner or to any person,
43     --  except to meet the purpose for which it was submitted and
44     --  subject to the terms of the agreement.
45     --
46     --% Target Dependencies:
47     --    None
48     --% Compiler Dependencies:
49     --    None
50     
51     --~-----------------------------------------------------------------------------
52     
53     with Mission_Parameters;
54     with Application_Process_Parameters;
55     with Parameter_Representation;
56     with Task_Priority_Control;
57     with Ada_Task_Configuration;
58     with Packet_Store_Types;
59     package Payload.Parameters is
60     
61        --% Library Package:
62        --    Collection of parameters associated to Payload application process.
63        --    This is the primary starting point for adaptation of the application
64        --+    process.
65        --% Active Tasks:
66        -->   None
67        --% Passive Tasks:
68        -->   None
69     
70        -- Application process ID associated to Payload application process.
71        Application_ID :
72           constant Mission_Parameters.APID := Mission_Parameters.Payload;
73     
74        --~--------------------------------------------------------------------------
75     
76        package TC_Dispathing is
77     
78           --% Package:
79           --    Parameters related to dispatching of telecommands internally in the
80           --+    application process
81     
82           -- Priority and stack size of dispatcher task distributing received
83           --+    telecommands to proper service.
84           TC_Task_Priority :
85              constant Task_Priority_Control.Active_Task_Priority :=
86                       Ada_Task_Configuration.Payload_TC_Task_Priority;
87           TC_Task_Stack_Size : constant := 8_000;
88     
89           -- Priority of critical region protecting queue of telecommands destined
90           --+    at Power Conditioning System application process.
91           TC_Buffer_Priority :
92              constant Task_Priority_Control.Passive_Task_Priority :=
93                       Ada_Task_Configuration.Payload_TC_Buffer_Priority;
94           -- Size of queue of telecommands destined at Power Conditioning System
95           --+    application process.
96           TC_Buffer_Size :
97              constant Natural :=
98                       Application_Process_Parameters.The_Parameters
99                             (Application_ID).Packet_Queue_Size;
100     
101        end TC_Dispathing;
102     
103        --~--------------------------------------------------------------------------
104     
105        package TC_Interpreters is
106     
107           --% Package:
108           --    Parameters common to the telecommand interpreters in the
109           --+    appplication process
110           --% Active Tasks:
111           -->   None
112           --% Passive Tasks:
113           -->   None
114     
115           -- Priority of critical region protecting queue of telecomamnds to be
116           --+    executed.
117           Telecommand_Buffer_Priority :
118              constant Task_Priority_Control.Passive_Task_Priority :=
119                       Ada_Task_Configuration.Payload_Telecommand_Buffer_Priority;
120           -- Length of telecommand buffer in which telecommands are queued up for
121           --+    execution.
122           Telecommand_Buffer_Size : constant := 2;
123           -- Invariant applicable to telecommand buffer parameters
124           pragma Assert
125                 (Telecommand_Buffer_Priority >
126                  Payload.Parameters.TC_Dispathing.TC_Task_Priority);
127     
128           Telecommand_Interpreter_Priority :
129              constant Task_Priority_Control.Active_Task_Priority :=
130                       Ada_Task_Configuration.
131                          Payload_Telecommand_Interpreter_Priority;
132           -- Invariant applicable to telecommand interpreter parameters
133           pragma Assert
134                 (Telecommand_Buffer_Priority > Telecommand_Interpreter_Priority);
135     
136        end TC_Interpreters;
137     
138        --~--------------------------------------------------------------------------
139     
140        package Interfaces is
141     
142           --% Package:
143           -- Collection of constants related to Power Conditioning System
144           --+    interfaces.
145     
146           Simulator_Region_Prority :
147              constant Task_Priority_Control.Passive_Task_Priority :=
148                       Ada_Task_Configuration.PDU_Simulator_Region_Prority;
149     
150        end Interfaces;
151     
152        --~--------------------------------------------------------------------------
153     
154        package Storage_Selection is
155     
156           --% Package:
157           --    Various parameters applicable to the storage selection definiton
158           --+    service.
159           --% Active Tasks:
160           -->   None
161           --% Passive Tasks:
162           -->   None
163     
164           -- Maximum number of store IDs for which storage selections are to be
165           --+    applied.
166           Max_Store_IDs : constant Packet_Store_Types.Count_Type := 2;
167     
168           -- Stack size of sporadic task performing TC packet execution as a
169           --+    response to calls to Handle_TC_Packet
170           Interpreter_Stack_Size : constant := 15_000;
171     
172        end Storage_Selection;
173     
174        --~--------------------------------------------------------------------------
175     
176        package Housekeeping_And_Diagnostics is
177     
178           --% Package:
179           -- Collection of constants related to Housekeeping & Diagnostics service
180           --+    (service type 3).
181     
182           -- Maximum number of Structure-IDs to be defined at the same time.
183           Max_SIDs : constant := 8;
184           -- Maximum total number of Simply-Commutated parameters in a given
185           --+    HK/Diag report.
186           Max_Simple_Params : constant := 44;
187           -- Maximum total number of sampling events to be active at any one time.
188           Max_Sampling_Events : constant := Max_SIDs * Max_Simple_Params;
189           -- Maximum total number of Super-Commutated parameters in a given HK/Diag
190           --+    report.
191           Max_Super_Params : constant := 0;
192           -- Maximum number of repetitions for Super-Commutated parameters in a
193           --+    given HK/Diag report.
194           Max_Super_Reps : constant := 0;
195           -- Maximum number parameter collections to be performed during
196           --+    HK_Diag_Period
197           Max_No_Of_Checks_In_HK_Diag_Period : constant := Max_Simple_Params;
198           -- Period by which any parameters due for collection will be collected.
199           Period : constant := 1;
200           -- Priority and stack size of cyclic object performing parameter
201           --+    collection
202           Event_Task_Priority :
203              constant Task_Priority_Control.Active_Task_Priority :=
204                       Ada_Task_Configuration.Payload_HK_Diag_Event_Task_Priority;
205           Event_Task_Size     : constant := 30_000;
206           -- Priority of protected object implementing buffering of telecommands
207           --+    destined at the Housekeeping & Diagnostics service.
208           -- Priority of protected object implementing timeline of collection
209           --+    events
210           Event_List_Priority :
211              constant Task_Priority_Control.Passive_Task_Priority :=
212                       Ada_Task_Configuration.Payload_HK_Diag_Event_List_Priority;
213           -- Priority assigned to critical region protecting report definitions.
214           Report_Definition_Priority :
215              constant Task_Priority_Control.Passive_Task_Priority :=
216                       Ada_Task_Configuration.
217                          Payload_HK_Diag_Report_Definition_Priority;
218           -- Stack size for sporadic task responsible for execution of telecommand
219           --+    service requests
220           Telecommand_Interpreter_Stack_Size : constant := 30_000;
221     
222        end Housekeeping_And_Diagnostics;
223     
224        --~--------------------------------------------------------------------------
225     
226        package Function_Management is
227     
228           --% Package:
229           -- Collection of constants related to Function Management service
230           --+    (service type 8).
231     
232           -- Stack size of sporadic task performing telecommand execution of
233           --+    Function Management telecommands.
234           Telecommand_Interpreter_Stack_Size : constant := 30_000;
235     
236        end Function_Management;
237     
238        --~--------------------------------------------------------------------------
239     
240        package Science_Data is
241     
242           --% Package:
243           -- Collection of constants related to Science Data service (service type
244           --+    128).
245     
246           Science_Collector_Priority :
247              constant Task_Priority_Control.Active_Task_Priority :=
248                       Ada_Task_Configuration.Science_Collector_Priority;
249           Science_Collector_Stack_Size : constant := 30_000;
250           Science_Generation_Period    : constant := 500; -- Milliseconds
251           -- Application process serving as destination for generated science data
252           --+    telemetry
253           Telemetry_Destination :
254              constant Mission_Parameters.APID := Mission_Parameters.Ground;
255     
256        end Science_Data;
257     
258        --~--------------------------------------------------------------------------
259     
260     end Payload.parameters;
261     
262     --~-----------------------------------------------------------------------------
263