File: /home/oboss/Users/gec/sources/Demonstrator/Data_Handling_System/data_handling_system-parameters.ads
1 --% Compilation Unit: Data_Handling_System.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: data_handling_system-parameters.ads,v $
13 -- Revision 2.1 2004/02/13 16:16:31 gec
14 -- Merged results of Demonstrator development on to main OBOSS trunk.
15 --
16 -- Revision 1.1.2.5 2004/01/19 15:33:44 jhl
17 -- Udating wrt. integration Test.
18 --
19 -- Revision 1.1.2.4 2003/12/18 14:16:36 gec
20 -- Updated Data Handling System application process in accordance with 'OBOSS-III Demonstrator Specification'.
21 --
22 -- Revision 1.1.2.3 2003/12/12 12:10:48 gec
23 -- Updated Data Handling System application process according to 'OBOSS-III
24 --+ Demonstrator Test Case Specification'.
25 --
26 -- Revision 1.1.2.2 2003/12/10 15:56:29 gec
27 -- Updated instance of memory management service in accordance with
28 --+ 'Demonstrator Test Case Specification'.
29 --
30 -- Revision 1.1.2.1 2003/12/10 10:12:50 gec
31 -- Restructured Data Handling System application process using child
32 --+ packages.
33 --
34 --
35 --% Project: OBOSS
36 --
37 --% Copyright (C) 2003 by Terma A/S
38 -- Proprietary and intellectual rights of Terma A/S, Denmark,
39 -- are involved in the subject-matter of this material and
40 -- all manufacturing, reproduction, use, disclosure, and
41 -- sales rights pertaining to such subject-matter are
42 -- expressly reserved. This material is submitted for a
43 -- specific purpose as agreed, and the recipient by
44 -- accepting this material agrees that this material will
45 -- not be used, copied, or reproduced in whole or in part
46 -- nor its contents revealed in any manner or to any person,
47 -- except to meet the purpose for which it was submitted and
48 -- subject to the terms of the agreement.
49 --
50 --% Target Dependencies:
51 -- None
52 --% Compiler Dependencies:
53 -- None
54
55 --~-----------------------------------------------------------------------------
56
57 with Task_Priority_Control;
58 with Ada_Task_Configuration;
59 with Mission_Parameters;
60 with Application_Process_Parameters;
61 with External_On_Board_Scheduling_Types;
62 with External_Memory_Management_Types;
63 with Packet_Store_Types;
64 package Data_Handling_System.Parameters is
65
66 --% Library Package:
67 -- Definition of on-board scheduling values
68 --% Active Tasks:
69 --> None
70 --% Passive Tasks:
71 --> None
72
73 -- Application process ID associated to the data handling system application
74 --+ process
75 Application_ID :
76 constant Mission_Parameters.APID :=
77 Mission_Parameters.Data_Handling_System;
78
79
80 --~--------------------------------------------------------------------------
81
82 package TC_Interpreters is
83
84 --% Package:
85 -- Parameters common to the telecommand interpreters in the
86 --+ appplication process
87 --% Active Tasks:
88 --> None
89 --% Passive Tasks:
90 --> None
91
92 Telecommand_Buffer_Priority :
93 constant Task_Priority_Control.Passive_Task_Priority :=
94 Ada_Task_Configuration.
95 Data_Handling_System_Telecommand_Buffer_Priority;
96 Telecommand_Buffer_Size : constant := 2;
97
98 Telecommand_Interpreter_Priority :
99 constant Task_Priority_Control.Active_Task_Priority :=
100 Ada_Task_Configuration.
101 Data_Handling_System_Telecommand_Interpreter_Priority;
102
103 end TC_Interpreters;
104
105 --~--------------------------------------------------------------------------
106
107 package TC_Dispathing is
108
109 --% Package:
110 -- Parameters related to dispatching of telecommands internally in the
111 --+ application process
112 --% Active Tasks:
113 --> task_name - Category
114 --% Passive Tasks:
115 --> task_name - Description
116
117 TC_Task_Priority :
118 constant Task_Priority_Control.Active_Task_Priority :=
119 Ada_Task_Configuration.
120 Data_Handling_System_TC_Task_Priority;
121 TC_Task_Stack_Size : constant := 8_000;
122
123 TC_Buffer_Priority :
124 constant Task_Priority_Control.Passive_Task_Priority :=
125 Ada_Task_Configuration.
126 Data_Handling_System_TC_Buffer_Priority;
127 TC_Buffer_Size :
128 constant Natural :=
129 Application_Process_Parameters.The_Parameters
130 (Application_ID).Packet_Queue_Size;
131
132 end TC_Dispathing;
133
134 --~--------------------------------------------------------------------------
135
136 package Onboard_Scheduling is
137
138 --% Package:
139 -- Parameters for the onboard scheduling service instance
140 --% Active Tasks:
141 --> None
142 --% Passive Tasks:
143 --> None
144
145 Schedule_Size : constant := 3 * 20;
146 Schedule_Max_List_Length : constant := Schedule_Size;
147
148 type Sub_Schedule_ID is
149 (All_Sub_Schedules,
150 Sub_Schedule_1,
151 Sub_Schedule_2,
152 Sub_Schedule_3);
153
154 type Sub_Schedule_ID_Representation_Mapping is array
155 (Sub_Schedule_ID) of
156 External_On_Board_Scheduling_Types.Sub_Schedule_ID;
157 Sub_Schedule_ID_Representation :
158 constant Sub_Schedule_ID_Representation_Mapping :=
159 (All_Sub_Schedules => 0,
160 Sub_Schedule_1 => 1,
161 Sub_Schedule_2 => 2,
162 Sub_Schedule_3 => 3);
163
164 -- Scheduling period expressed as milliseconds
165 Scheduling_Period : constant := 1_000;
166
167 Max_No_Of_Telecommands_In_Scheduling_Period :
168 constant Natural := Schedule_Size;
169
170 Schedule_Priority :
171 constant Task_Priority_Control.Passive_Task_Priority :=
172 Ada_Task_Configuration.
173 Data_Handling_System_Schedule_Priority;
174
175 Scheduler_Task_Priority :
176 constant Task_Priority_Control.Active_Task_Priority :=
177 Ada_Task_Configuration.
178 Data_Handling_System_Scheduler_Task_Priority;
179 Scheduler_Task_Stack_Size : constant := 20_000;
180
181 Interpreter_Stack_Size : constant := 20_000;
182
183 end Onboard_Scheduling;
184
185 --~--------------------------------------------------------------------------
186
187 package Memory_Management is
188
189 --% Package:
190 -- Parameters related to memory management service instantiation
191 --% Active Tasks:
192 --> None
193 --% Passive Tasks:
194 --> None
195
196 Max_List_Length : constant := 1;
197 Max_Data_Length : constant := 10_000;
198
199 type Memory_ID is
200 (Code,
201 Data);
202
203 type Memory_ID_Representation_Mapping is array (Memory_ID) of
204 External_Memory_Management_Types.Memory_ID;
205 Memory_ID_Representation : constant Memory_ID_Representation_Mapping :=
206 (Code =>
207 (1 => Character'Pos('C'),
208 2 => Character'Pos('O'),
209 3 => Character'Pos('D'),
210 4 => Character'Pos('E'),
211 5 => Character'Pos(' '),
212 6 => Character'Pos('M'),
213 7 => Character'Pos('E'),
214 8 => Character'Pos('M')),
215 Data =>
216 (1 => Character'Pos('D'),
217 2 => Character'Pos('A'),
218 3 => Character'Pos('T'),
219 4 => Character'Pos('A'),
220 5 => Character'Pos(' '),
221 6 => Character'Pos('M'),
222 7 => Character'Pos('E'),
223 8 => Character'Pos('M')));
224
225 Interpreter_Stack_Size : constant := 15_000;
226
227 end Memory_Management;
228
229 --~--------------------------------------------------------------------------
230
231 package Large_Data_Transfer is
232
233 --% Package:
234 -- Parameters for the large data transfer service instance
235 --% Active Tasks:
236 --> None
237 --% Passive Tasks:
238 --> None
239
240 -- Maximum length of sequence number list in a "Repeat Parts" TC/TM.
241 Sequence_Number_List_Length : constant := 8;
242
243 -- Priority of proteceted object encapsulating actual state changes,
244 --+ making them atomic.
245 Protected_State_Priority :
246 constant Task_Priority_Control.Passive_Task_Priority :=
247 Ada_Task_Configuration.LDT_Protected_State_Priority;
248
249 -- Timeout interval for downlink reception acknowledgement TC from
250 --+ receiver.
251 Timeout_Interval_In_Milliseconds : constant := 10_000;
252
253 -- Priority of proteceted object encapsulating the timout control
254 Protected_Timer_Control_Priority :
255 constant Task_Priority_Control.Passive_Task_Priority :=
256 Ada_Task_Configuration.LDT_Protected_Timer_Control_Priority;
257
258 -- Priority of the actual timer task for timeout control
259 Active_Timer_Priority :
260 constant Task_Priority_Control.Active_Task_Priority :=
261 Ada_Task_Configuration.LDT_Active_Timer_Priority;
262
263 -- Stack size of sporadic task performing TC packet execution as a
264 --+ response to calls to Handle_TC_Packet
265 Interpreter_Stack_Size : constant := 15_000;
266
267 -- Priority of protected object implementing buffering of calls to the
268 --+ SDU sender
269 SDU_Sender_Buffer_Priority :
270 constant Task_Priority_Control.Passive_Task_Priority :=
271 Ada_Task_Configuration.SDU_Sender_Buffer_Priority;
272
273 -- Maximum number of entries in buffer of calls to the SDU sender.
274 -- Should be defined to cater for bursts in arrival of TM packets
275 SDU_Sender_Buffer_Size : constant := 2;
276
277 -- Priority and stack size of sporadic task performing SDU sending as a
278 --+ response to calls to Deposit_TM_Packet
279 SDU_Sender_Interpreter_Priority :
280 constant Task_Priority_Control.Active_Task_Priority :=
281 Ada_Task_Configuration.SDU_Sender_Interpreter_Priority;
282
283 SDU_Sender_Interpreter_Stack_Size : constant := 15_000;
284
285 end Large_Data_Transfer;
286
287 --~--------------------------------------------------------------------------
288
289 package Storage_Selection is
290
291 --% Package:
292 -- Various parameters applicable to the storage selection definiton
293 --+ service.
294 --% Active Tasks:
295 --> None
296 --% Passive Tasks:
297 --> None
298
299 Max_Store_IDs : constant Packet_Store_Types.Count_Type := 2;
300
301 -- Stack size of sporadic task performing TC packet execution as a
302 --+ response to calls to Handle_TC_Packet
303 Interpreter_Stack_Size : constant := 15_000;
304
305 end Storage_Selection;
306
307 --~--------------------------------------------------------------------------
308
309 package Event_Action is
310
311 --% Package:
312 -- Varuious parameters associated to the event-action service
313 --+ instantiation
314 --% Active Tasks:
315 --> None
316 --% Passive Tasks:
317 --> None
318
319 -- Maximum number of events in event detection list
320 Max_Detection_List_Length : constant := 3;
321
322 -- Maximum number of "Add Events" in an Event Action Telecommand
323 Max_Add_Events : constant := Max_Detection_List_Length;
324
325 -- Maximum number of "Delete Events" in an Event Action Telecommand
326 Max_Delete_Events : constant := Max_Detection_List_Length;
327
328 -- Maximum number of action controls (Enable/Disable) in an Event Action
329 --+ Telecommand
330 Max_Action_Controls : constant := Max_Detection_List_Length;
331
332 -- Stack size of sporadic task performing TC packet execution as a
333 --+ response to calls to Handle_TC_Packet
334 Interpreter_Stack_Size : constant := 15_000;
335
336 -- Priority of critical region making operations on event detection list
337 --+ data structures atomic
338 Detection_List_Priority :
339 constant Task_Priority_Control.Passive_Task_Priority :=
340 Ada_Task_Configuration.Detection_List_Priority;
341
342 end Event_Action;
343
344 --~--------------------------------------------------------------------------
345
346 end Data_Handling_System.parameters;
347
348 --~-----------------------------------------------------------------------------
349