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