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