File: /home/oboss/Users/gec/sources/Demonstrator/Onboard_Storage/onboard_storage-parameters.ads
1 --% Compilation Unit: Onboard_Storage.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: onboard_storage-parameters.ads,v $
13 -- Revision 2.1 2004/02/13 16:16:39 gec
14 -- Merged results of Demonstrator development on to main OBOSS trunk.
15 --
16 -- Revision 1.1.2.1 2003/12/19 10:45:49 gec
17 -- Updated Onboard Storage application process according to Demonstrator Specification.
18 --
19 --
20 --% Project: OBOSS
21 --
22 --% Copyright (C) 2003 by Terma A/S
23 -- Proprietary and intellectual rights of Terma A/S, Denmark,
24 -- are involved in the subject-matter of this material and
25 -- all manufacturing, reproduction, use, disclosure, and
26 -- sales rights pertaining to such subject-matter are
27 -- expressly reserved. This material is submitted for a
28 -- specific purpose as agreed, and the recipient by
29 -- accepting this material agrees that this material will
30 -- not be used, copied, or reproduced in whole or in part
31 -- nor its contents revealed in any manner or to any person,
32 -- except to meet the purpose for which it was submitted and
33 -- subject to the terms of the agreement.
34 --
35 --% Target Dependencies:
36 -- None
37 --% Compiler Dependencies:
38 -- None
39 --~-----------------------------------------------------------------------------
40
41 with Mission_Parameters;
42 with Application_Process_Parameters;
43 with Task_Priority_Control;
44 with Ada_Task_Configuration;
45 package Onboard_Storage.Parameters is
46
47 --% Library Package:
48 -- Definition of parameters associated to on-board storage application
49 --+ process
50 --% Active Tasks:
51 --> None
52 --% Passive Tasks:
53 --> None
54
55 Application_ID :
56 constant Mission_Parameters.APID := Mission_Parameters.Onboard_Storage;
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 Telecommand_Buffer_Priority :
71 constant Task_Priority_Control.Passive_Task_Priority :=
72 Ada_Task_Configuration.
73 Onboard_Storage_Packet_Buffer_Priority;
74 Telecommand_Buffer_Size : constant := 2;
75
76 Telecommand_Interpreter_Priority :
77 constant Task_Priority_Control.Active_Task_Priority :=
78 Ada_Task_Configuration.
79 Onboard_Storage_Packet_Handler_Priority;
80
81 end TC_Interpreters;
82
83 --~--------------------------------------------------------------------------
84
85 package Stores is
86
87 --% Package:
88 -- Parameters defining the charcateristics of supported telemetry
89 --+ stores
90
91 subtype Local_Packet_Store_ID is
92 Mission_Parameters.Onboard_Storage_Packet_Store_ID;
93
94 -- Definition of sizes for the enclosed stores based on count and size
95 --+ for expected packet populations
96 subtype Packet_Count is Natural;
97 type Packet_Categories is
98 (Small_Buffers,
99 Medium_Buffers,
100 Large_Buffers);
101
102 type Store_Packet_Population_Spec is array (Packet_Categories) of
103 Packet_Count;
104
105 --~-----------------------------------------------------------------------
106
107 package High_Priority is
108
109 --% Package:
110 -- Parameters associated to high-priority store
111
112 Population : constant Store_Packet_Population_Spec :=
113 (Small_Buffers => 200,
114 Medium_Buffers => 100,
115 Large_Buffers => 0);
116 -- Size :
117 -- constant Natural :=
118 -- Population(Small_Buffers) +
119 -- Population(Medium_Buffers) +
120 -- Population(Large_Buffers);
121
122 -- Temporary erroneous size assigned due to conservative packate
123 --+ sizes
124 Size : constant := 10;
125
126 end High_Priority;
127
128 --~-----------------------------------------------------------------------
129
130 package Low_Priority is
131
132 --% Package:
133 -- Parameters associated to low-priority store
134
135 Population : constant Store_Packet_Population_Spec :=
136 (Small_Buffers => 100,
137 Medium_Buffers => 100,
138 Large_Buffers => 100);
139
140 -- Size :
141 -- constant Natural :=
142 -- Population(Small_Buffers) +
143 -- Population(Medium_Buffers) +
144 -- Population(Large_Buffers);
145
146 -- Temporary erroneous size assigned due to conservative packate
147 --+ sizes
148 Size : constant := 10;
149
150 end Low_Priority;
151
152 --~-----------------------------------------------------------------------
153
154 end Stores;
155
156 --~--------------------------------------------------------------------------
157
158 package Storage_And_Retrieval is
159
160 --% Package:
161 -- Parameters related to instance of storage and retrieval service
162
163 Packet_Handler_Stack_Size : constant := 30_000;
164
165 end Storage_And_Retrieval;
166
167 --~--------------------------------------------------------------------------
168
169 package TC_Dispatching is
170
171 --% Package:
172 -- Parameters related to dispatching of telecommands internally in the
173 --+ application process
174
175 -- To get visibility of infix operators
176 use type Task_Priority_Control.Active_Task_Priority;
177
178 TC_Task_Priority :
179 constant Task_Priority_Control.Active_Task_Priority :=
180 Onboard_Storage.Parameters.TC_Interpreters.
181 Telecommand_Interpreter_Priority + 2;
182 TC_Task_Stack_Size : constant := 8_000;
183
184 TC_Buffer_Priority :
185 constant Task_Priority_Control.Passive_Task_Priority :=
186 Ada_Task_Configuration.Onboard_Storage_TC_Buffer_Priority;
187 TC_Buffer_Size :
188 constant Natural :=
189 Application_Process_Parameters.The_Parameters
190 (Application_ID).Packet_Queue_Size;
191
192 end TC_Dispatching;
193
194 --~--------------------------------------------------------------------------
195
196 package Large_Data_Transfer is
197
198 --% Package:
199 -- Parameters for the large data transfer service instance
200 --% Active Tasks:
201 --> None
202 --% Passive Tasks:
203 --> None
204
205 -- Maximum length of sequence number list in a "Repeat Parts" TC/TM.
206 Sequence_Number_List_Length : constant := 8;
207
208 -- Priority of proteceted object encapsulating actual state changes,
209 --+ making them atomic.
210 Protected_State_Priority :
211 constant Task_Priority_Control.Passive_Task_Priority :=
212 Ada_Task_Configuration.LDT_Protected_State_Priority;
213
214 -- Timeout interval for downlink reception acknowledgement TC from
215 --+ receiver.
216 Timeout_Interval_In_Milliseconds : constant := 5_000;
217
218 -- Priority of proteceted object encapsulating the timout control
219 Protected_Timer_Control_Priority :
220 constant Task_Priority_Control.Passive_Task_Priority :=
221 Ada_Task_Configuration.LDT_Protected_Timer_Control_Priority;
222
223 -- Priority of the actual timer task for timeout control
224 Active_Timer_Priority :
225 constant Task_Priority_Control.Active_Task_Priority :=
226 Ada_Task_Configuration.LDT_Active_Timer_Priority;
227
228 -- Stack size of sporadic task performing TC packet execution as a
229 --+ response to calls to Handle_TC_Packet
230 Interpreter_Stack_Size : constant := 15_000;
231
232 -- Priority of protected object implementing buffering of calls to the
233 --+ SDU sender
234 SDU_Sender_Buffer_Priority :
235 constant Task_Priority_Control.Passive_Task_Priority :=
236 Ada_Task_Configuration.SDU_Sender_Buffer_Priority;
237
238 -- Maximum number of entries in buffer of calls to the SDU sender.
239 -- Should be defined to cater for bursts in arrival of TM packets
240 SDU_Sender_Buffer_Size : constant := 2;
241
242 -- Priority and stack size of sporadic task performing SDU sending as a
243 --+ response to calls to Deposit_TM_Packet
244 SDU_Sender_Interpreter_Priority :
245 constant Task_Priority_Control.Active_Task_Priority :=
246 Ada_Task_Configuration.SDU_Sender_Interpreter_Priority;
247
248 SDU_Sender_Interpreter_Stack_Size : constant := 15_000;
249
250 end Large_Data_Transfer;
251
252 --~--------------------------------------------------------------------------
253
254
255 end Onboard_Storage.parameters;
256
257 --~-----------------------------------------------------------------------------
258