File: /home/oboss/Users/gec/sources/Basic_Services/Platform_Parameters/ada_task_configuration.ads
1 --% Compilation Unit: Ada_Task_Configuration
2 --
3 --% Category: Package Declaration
4 --
5 --% Release: $Name: $
6 --
7 --% Version: $Revision: 2.2 $
8 --
9 --% Author: $Author: gec $
10 --
11 --% Revision Log:
12 -- $Log: ada_task_configuration.ads,v $
13 -- Revision 2.2 2004/02/13 16:16:27 gec
14 -- Merged results of Demonstrator development on to main OBOSS trunk.
15 --
16 -- Revision 2.1.8.4 2004/01/26 10:29:23 gec
17 -- Updated parameters for Payload application process.
18 --
19 -- Revision 2.1.8.3 2004/01/19 15:37:20 jhl
20 -- Udating wrt. integration Test.
21 --
22 -- Revision 2.1.8.2 2004/01/05 12:14:04 gec
23 -- Updated Power Conditioning System application process according to
24 --+ Demonstrator Test Case.
25 --
26 -- Revision 2.1.8.1 2003/12/12 12:11:26 gec
27 -- Updated Data Handling System application process according to 'OBOSS-III
28 --+ Demonstrator Test Case Specification'.
29 --
30 -- Revision 2.1 2003/10/21 08:44:43 gec
31 -- Merged STADY_Recommendations branch onto trunk.
32 -- Contains numerous updates resulting from STADY fault descriptions.
33 --
34 -- Revision 2.0.2.2 2003/10/17 11:07:07 gec
35 -- Inserted error handling in External_Application_Process_IF submitting
36 --+ event reports in case of data loss due to overflow of internal buffers.
37 --
38 -- Response to STADY fault description 39 & 40.
39 --
40 -- Revision 2.0.2.1 2003/10/13 08:09:52 gec
41 -- Reinserted Event_Forwarder to support generation of event reports.
42 --
43 -- Revision 2.0 2003/04/04 08:50:11 gec
44 -- Initial release of source files serving as baseline for OBOSS-III
45 --+ project.
46 --
47 -- Revision 1.1.1.1 2003/04/04 08:13:03 gec
48 -- Imported using TkCVS
49 --
50 --
51 --
52 --% Project: OBOSS
53 --
54 --% Copyright (C) 2003 by Terma A/S
55 -- Proprietary and intellectual rights of Terma A/S, Denmark,
56 -- are involved in the subject-matter of this material and
57 -- all manufacturing, reproduction, use, disclosure, and
58 -- sales rights pertaining to such subject-matter are
59 -- expressly reserved. This material is submitted for a
60 -- specific purpose as agreed, and the recipient by
61 -- accepting this material agrees that this material will
62 -- not be used, copied, or reproduced in whole or in part
63 -- nor its contents revealed in any manner or to any person,
64 -- except to meet the purpose for which it was submitted and
65 -- subject to the terms of the agreement.
66 --
67 --% Target Dependencies:
68 -- None
69 --% Compiler Dependencies:
70 -- None
71
72 --~-----------------------------------------------------------------------------
73
74 with Task_Priority_Control;
75 with System;
76 package Ada_Task_Configuration is
77
78 --% Library Package:
79 -- Definition of priorities associated with all active and passive Ada
80 --+ tasks in OBOSS
81 --% Active Tasks:
82 --> None
83 --% Passive Tasks:
84 --> None
85
86 -- Access infix operators on Task_Priority_Control.Active_Task_Priority and
87 --+ Task_Priority_Control.Passive_Task_Priority
88 use Task_Priority_Control;
89
90 -- Ceiling of priorities for active and passive tasks.
91 Max_Active_Priority :
92 constant Task_Priority_Control.Active_Task_Priority :=
93 Task_Priority_Control.Active_Task_Priority'Last;
94 Max_Passive_Priority :
95 constant Task_Priority_Control.Passive_Task_Priority :=
96 Task_Priority_Control.Passive_Task_Priority'Last;
97
98 Main_Program_Priority :
99 constant System.Priority := Task_Priority_Control.Main_Program_Priority;
100
101 --------------------------------------------------------------------------------
102 --+
103 -- Device Drivers
104 --------------------------------------------------------------------------------
105 --+
106
107
108 Onboard_Elapsed_Time_Critical_Region_Priority :
109 constant Task_Priority_Control.Passive_Task_Priority := 58;
110 Synchronous_Serial_Interface_Critical_Region_Priority :
111 constant Task_Priority_Control.Passive_Task_Priority := 58;
112 Analogue_Status_Interface_Critical_Region_Priority :
113 constant Task_Priority_Control.Passive_Task_Priority := 58;
114 Digital_Status_Interface_Critical_Region_Priority :
115 constant Task_Priority_Control.Passive_Task_Priority := 58;
116 Temperature_Status_Interface_Critical_Region_Priority :
117 constant Task_Priority_Control.Passive_Task_Priority := 58;
118 Power_Conditioning_System_Interfaces_Priority :
119 constant Task_Priority_Control.Passive_Task_Priority := 58;
120
121 TC_Source_Priority :
122 constant Task_Priority_Control.Active_Task_Priority := 49;
123
124
125
126 --------------------------------------------------------------------------------
127 --+
128 -- System Infrastructure
129 --------------------------------------------------------------------------------
130 --+
131
132 -- Priorities associated with the Packet Router.
133 Packet_Buffer_Priority :
134 constant Task_Priority_Control.Passive_Task_Priority := 58;
135 Packet_Distributer_Priority :
136 constant Task_Priority_Control.Active_Task_Priority := 49;
137
138 -- Protected object implementing pool of PUS Packets.
139 -- Shall be ceiling of priorities of all tasks operating on PUS Packets.
140 PUS_Packet_Pool_Priority :
141 constant Task_Priority_Control.Passive_Task_Priority := 61;
142
143 Counters_Critical_Region_Task_Priority :
144 constant Task_Priority_Control.Passive_Task_Priority := 45;
145 Packet_Store_Info_Critical_Region_Task_Priority :
146 constant Task_Priority_Control.Passive_Task_Priority := 48;
147
148 -- Protected object implementing pool of small and large source data
149 --+ buffers.
150 -- Shall be ceiling of priorities of all tasks operating on source data in
151 --+ PUS packets.
152 Small_Source_Data_Pool_Priority :
153 constant Task_Priority_Control.Passive_Task_Priority := 61;
154 Large_Source_Data_Pool_Priority :
155 constant Task_Priority_Control.Passive_Task_Priority := 61;
156
157 -- Event Queue related to event reporting.
158 -- Introduced due to GNAT problems with cyclic references.
159 Event_Queue_Priority :
160 constant Task_Priority_Control.Passive_Task_Priority := 61;
161
162 -- Event Forwarder related to event reporting.
163 -- Introduced due to GNAT problems with cyclic references.
164 Event_Forwarder_Priority :
165 constant Task_Priority_Control.Active_Task_Priority := 57;
166
167 --------------------------------------------------------------------------------
168 --+
169 -- Ground IF Agent
170 --------------------------------------------------------------------------------
171 --+
172
173 -- Priority of protected around UART used for up/downlink
174 UART_Protected_Priority :
175 constant Task_Priority_Control.Passive_Task_Priority :=
176 Task_Priority_Control.Passive_Task_Priority'Last;
177 -- Priority assigned to queue of interrupt transactions from UART on
178 --+ up/downlink
179 UART_Interrupt_Handler_Priority :
180 constant Task_Priority_Control.Interrupt_Task_Priority :=
181 Task_Priority_Control.Interrupt_Task_Priority'Last;
182 -- Priority assigned to interrupt-sporadic task handling UART on
183 --+ up/downlink
184 UART_Receiver_Task_Priority :
185 constant Task_Priority_Control.Active_Task_Priority := 60;
186 -- Priority of protected buffer of packets destined at ground
187 Up_Down_Link_Dispatcher_Event_Buffer_Priority :
188 constant Task_Priority_Control.Passive_Task_Priority := 57;
189 -- Priority of task receiving packets destined at ground
190 Up_Down_Link_Dispatcher_Task_Priority :
191 constant Task_Priority_Control.Active_Task_Priority := 46;
192 -- Priority of protected buffer of packets received from ground
193 Up_Down_Link_Receiver_Event_Buffer_Task_Priority :
194 constant Task_Priority_Control.Passive_Task_Priority := 61;
195 -- Priority of packet receiver from ground
196 Up_Down_Link_The_Receiver_Task_Priority :
197 constant Task_Priority_Control.Active_Task_Priority := 18;
198 -- Priority of protected low-level buffer of byte stream from ground
199 Up_Down_Link_Circular_Buffer_Low_Level_Byte_Buffer_Priority :
200 constant Task_Priority_Control.Passive_Task_Priority := 61;
201 -- Priority of low-level packet receiver from ground (IT sporadic)
202 Up_Down_Link_TC_Low_Level_Receiver_Task_Priority :
203 constant Task_Priority_Control.Active_Task_Priority := 59;
204
205 --------------------------------------------------------------------------------
206 --+
207 -- Payload
208 --------------------------------------------------------------------------------
209
210 -- Interfaces
211
212 Thermistor_Simulator_Region_Prority : constant Passive_Task_Priority := 55;
213
214 -- Telecommand Dispatcher
215
216 -- Priority of protected queue of telecommands destined at Power
217 --+ Conditioning System Application process
218 Payload_TC_Buffer_Priority : constant Passive_Task_Priority := 55;
219 -- Priority of dispatcher task distributing received telecommands to proper
220 --+ service.
221 Payload_TC_Task_Priority : constant Active_Task_Priority := 35;
222 -- Priority of protected buffer of payload commands
223 Payload_Telecommand_Buffer_Priority :
224 constant Task_Priority_Control.Passive_Task_Priority := 54;
225 -- Priority of payload service executor
226 Payload_Telecommand_Interpreter_Priority :
227 constant Task_Priority_Control.Active_Task_Priority := 19;
228
229 -- Housekeeping and Diagnostic Service
230
231 -- Priority assigned to protected report definitions.
232 Payload_HK_Diag_Report_Definition_Priority :
233 constant Task_Priority_Control.Passive_Task_Priority := 26;
234 -- Priority of Protected object implementing timeline of collection events
235 Payload_HK_Diag_Event_List_Priority :
236 constant Task_Priority_Control.Passive_Task_Priority := 25;
237 -- Priority of cyclic object performing parameter collection
238 Payload_HK_Diag_Event_Task_Priority :
239 constant Task_Priority_Control.Active_Task_Priority := 14;
240
241 -- Science Data service
242 -- Priority of cyclic task collecting science data.
243 Science_Collector_Priority :
244 constant Task_Priority_Control.Active_Task_Priority := 12;
245
246
247 --------------------------------------------------------------------------------
248 --+
249 -- Power Conditioning System
250 --------------------------------------------------------------------------------
251 --+
252
253 -- Interfaces
254
255 PDU_Simulator_Region_Prority : constant Passive_Task_Priority := 55;
256
257 -- Telecommand Dispatcher
258
259 -- Priority of protected queue of telecommands destined at Power
260 --+ Conditioning System Application process
261 Power_Conditioning_System_TC_Buffer_Priority :
262 constant Passive_Task_Priority := 55;
263 -- Priority of dispatcher task distributing received telecommands to proper
264 --+ service.
265 Power_Conditioning_System_TC_Task_Priority :
266 constant Active_Task_Priority := 35;
267 -- Priority of protected buffer of power conditioning system commands
268 Power_Conditioning_System_Telecommand_Buffer_Priority :
269 constant Task_Priority_Control.Passive_Task_Priority := 54;
270 -- Priority of power conditioning system service executor
271 Power_Conditioning_System_Telecommand_Interpreter_Priority :
272 constant Task_Priority_Control.Active_Task_Priority := 19;
273
274 -- Onboard Monitoring Service
275
276 -- Priority of protected object implementing buffering of telecommands to
277 --+ onboard monitoring service.
278 Power_Conditioning_System_Monitor_Telecommand_Buffer_Priority :
279 constant Task_Priority_Control.Passive_Task_Priority := 39;
280 -- Priority of sporadic task performing telecommand execution for onboard
281 --+ monitoring service
282 Power_Conditioning_System_Monitor_Telecommand_Interpreter_Priority :
283 constant Task_Priority_Control.Active_Task_Priority := 27;
284 -- Priority of Protected object implementing monitoring list.
285 Power_Conditioning_System_Monitoring_List_Priority :
286 constant Task_Priority_Control.Passive_Task_Priority := 30;
287 -- Priority of Protected object implementing collection of check
288 --+ definitions.
289 Power_Conditioning_System_Check_Definitions_Collection_Priority :
290 constant Task_Priority_Control.Passive_Task_Priority := 29;
291 -- Priority of Protected object implementing timeline of monitoring events.
292 Power_Conditioning_System_Monitor_Timeline_Priority :
293 constant Task_Priority_Control.Passive_Task_Priority := 28;
294 -- Priority of cyclic task performing parameter monitoring.
295 Power_Conditioning_System_Monitor_Task_Priority :
296 constant Task_Priority_Control.Active_Task_Priority := 16;
297 -- Priority of Protected object implementing list of OOL transitions.
298 Power_Conditioning_System_OOL_Transition_List_Priority :
299 constant Task_Priority_Control.Passive_Task_Priority := 17;
300 -- Priority of cyclic task generating out-of-limit reports.
301 Power_Conditioning_System_OOL_Reporter_Priority :
302 constant Task_Priority_Control.Active_Task_Priority := 1;
303
304 -- Housekeeping and Diagnostic Service
305
306 -- Priority of Protected object implementing buffering of telecommands
307 --+ destined at the Housekeeping & Diagnostics service.
308 Power_Conditioning_System_HK_Diag_Telecommand_Buffer_Priority :
309 constant Task_Priority_Control.Passive_Task_Priority := 37;
310 -- Priority of sporadic task performing telecommand execution of
311 --+ Housekeeping & Diagnostics service telecommands.
312 Power_Conditioning_System_HK_Diag_Telecommand_Interpreter_Priority :
313 constant Task_Priority_Control.Active_Task_Priority := 24;
314 -- Priority assigned to protected report definitions.
315 Power_Conditioning_System_HK_Diag_Report_Definition_Priority :
316 constant Task_Priority_Control.Passive_Task_Priority := 26;
317 -- Priority of Protected object implementing timeline of collection events
318 Power_Conditioning_System_HK_Diag_Event_List_Priority :
319 constant Task_Priority_Control.Passive_Task_Priority := 25;
320 -- Priority of cyclic object performing parameter collection
321 Power_Conditioning_System_HK_Diag_Event_Task_Priority :
322 constant Task_Priority_Control.Active_Task_Priority := 14;
323
324 -- Function Management Service
325
326 -- Priority of Protected object implementing buffering of telecommands
327 --+ destined at Function Management Service.
328 Power_Conditioning_System_Function_Management_Telecommand_Buffer_Priority :
329 constant Task_Priority_Control.Passive_Task_Priority := 38;
330 -- Priority of sporadic task performing telecommand execution of Function
331 --+ Management telecommands.
332 Power_Conditioning_System_Function_Management_Telecommand_Interpreter_Priority :
333 constant Task_Priority_Control.Active_Task_Priority := 15;
334
335 -- Onboard Storage & Retrieval Service
336
337 -- Priority of Protected object implementing buffering of telecommands
338 --+ related to storage selections
339 PCS_Storage_Selection_Telecommand_Buffer_Priority :
340 constant Task_Priority_Control.Passive_Task_Priority := 36;
341 -- Priority of sporadic task performing telecommand execution of
342 --+ telecommands related to storage selections for Onboard Storage &
343 --+ Retrieval service.
344 PCS_Storage_Selection_Telecommand_Interpreter_Priority :
345 constant Task_Priority_Control.Active_Task_Priority := 13;
346
347
348 --------------------------------------------------------------------------------
349 --+
350 -- Data Handlling System
351 --------------------------------------------------------------------------------
352 --+
353
354 -- Priority of protected queue of telecommands destined at Data Handling
355 --+ System application process.
356 Data_Handling_System_TC_Buffer_Priority :
357 constant Task_Priority_Control.Passive_Task_Priority := 54;
358 -- Priority of dispatcher task distributing received telecommands to command
359 --+ service executor
360 Data_Handling_System_TC_Task_Priority :
361 constant Task_Priority_Control.Active_Task_Priority := 33;
362 -- Priority of protected buffer of data handling system commands
363 Data_Handling_System_Telecommand_Buffer_Priority :
364 constant Task_Priority_Control.Passive_Task_Priority := 34;
365 -- Priority of data handling system service executor
366 Data_Handling_System_Telecommand_Interpreter_Priority :
367 constant Task_Priority_Control.Active_Task_Priority := 19;
368 -- Priority of protected telecommand queue
369 Data_Handling_System_Schedule_Priority :
370 constant Task_Priority_Control.Passive_Task_Priority := 32;
371 -- Priority of telecommand scheduler
372 Data_Handling_System_Scheduler_Task_Priority :
373 constant Task_Priority_Control.Active_Task_Priority := 31;
374
375 -- Priorities associated to instance of large data transfer
376 LDT_Protected_State_Priority :
377 constant Task_Priority_Control.Passive_Task_Priority := 52;
378 LDT_Protected_Timer_Control_Priority :
379 constant Task_Priority_Control.Passive_Task_Priority := 53;
380 LDT_Active_Timer_Priority :
381 constant Task_Priority_Control.Active_Task_Priority := 42;
382 SDU_Sender_Buffer_Priority :
383 constant Task_Priority_Control.Passive_Task_Priority := 53;
384 -- JHL_UT: changed SDU_Sender_Interpreter_Priority from 41 to 10
385 SDU_Sender_Interpreter_Priority :
386 constant Task_Priority_Control.Active_Task_Priority := 10;
387
388 -- Priorities associated to instance of event/action service
389 Detection_List_Priority :
390 constant Task_Priority_Control.Passive_Task_Priority := 53;
391
392 --------------------------------------------------------------------------------
393 --+
394 -- Onboard Storage Administrator
395 --------------------------------------------------------------------------------
396 --+
397
398 -- Priority of protected queue of telecommands destined at Onboard Storage
399 --+ Administrator application process.
400 Onboard_Storage_TC_Buffer_Priority :
401 constant Task_Priority_Control.Passive_Task_Priority := 53;
402 -- Priority of dispatcher task distributing received telecommands to proper
403 --+ service.
404 Onboard_Storage_TC_Task_Priority :
405 constant Task_Priority_Control.Active_Task_Priority := 11;
406 -- Priority of protected buffer of storage adminstration commands
407 Onboard_Storage_Packet_Buffer_Priority :
408 constant Task_Priority_Control.Passive_Task_Priority := 17;
409 -- Priority of storage administration command service executor
410 Onboard_Storage_Packet_Handler_Priority :
411 constant Task_Priority_Control.Active_Task_Priority := 15;
412
413 end Ada_Task_Configuration;
414
415 --~-----------------------------------------------------------------------------
416