File: /home/oboss/Users/gec/sources/PUS_Services/Function_Management/generic_tc_translator.ads
1 --% Compilation Unit: Generic_TC_Translator
2 --
3 --% Category: Generic Package Declaration
4 --
5 --% Release: $Name: $
6 --
7 --% Version: $Revision: 2.2 $
8 --
9 --% Author: $Author: gec $
10 --
11 --% Revision Log:
12 -- $Log: generic_tc_translator.ads,v $
13 -- Revision 2.2 2004/02/13 16:17:18 gec
14 -- Merged results of Demonstrator development on to main OBOSS trunk.
15 --
16 -- Revision 2.1.2.1 2004/01/26 10:25:02 gec
17 -- Updates reflecting restructuring of function management service.
18 --
19 -- Revision 2.1 2003/11/13 14:57:44 gec
20 -- Merged ECSS Migration branch to main trunk.
21 --
22 -- Revision 2.0.8.1 2003/11/11 14:52:40 gec
23 -- Updated Function Management Service according to ECSS-E-70-41A standard.
24 --
25 -- Revision 2.0 2003/04/04 08:51:04 gec
26 -- Initial release of source files serving as baseline for OBOSS-III
27 --+ project.
28 --
29 -- Revision 1.1.1.1 2003/04/04 08:13:12 gec
30 -- Imported using TkCVS
31 --
32 --
33 --
34 --% Project: OBOSS
35 --
36 --% Copyright (C) 2003 by Terma A/S
37 -- Proprietary and intellectual rights of Terma A/S, Denmark,
38 -- are involved in the subject-matter of this material and
39 -- all manufacturing, reproduction, use, disclosure, and
40 -- sales rights pertaining to such subject-matter are
41 -- expressly reserved. This material is submitted for a
42 -- specific purpose as agreed, and the recipient by
43 -- accepting this material agrees that this material will
44 -- not be used, copied, or reproduced in whole or in part
45 -- nor its contents revealed in any manner or to any person,
46 -- except to meet the purpose for which it was submitted and
47 -- subject to the terms of the agreement.
48 --
49 --% Target Dependencies:
50 -- None
51 --% Compiler Dependencies:
52 -- None
53
54 --~-----------------------------------------------------------------------------
55
56 with Function_Management_Types;
57 with Verification_Types;
58 with PUS;
59 with Mission_Parameters;
60 with Task_Priority_Control;
61 with Packet_Depositor;
62 with Telecommand_Verification_Generator;
63 generic
64
65 --% Generic Parameter Constraints:
66 --> Telecommand_Buffer_Priority - Shall exceed ceiling of any callers of
67 --+ Handle_PUS_Packet and Telecommand_Interpreter_Priority
68
69 -- Application ID associated to application process providing the function
70 --+ management service.
71 My_APID : in Mission_Parameters.APID;
72
73 -- Pacakge suppporting routing of generated telemetry reports
74 with package Router is new Packet_Depositor(<>);
75
76 -- Package supporting generation of telecomand verification reports
77 with package Telecommand_Verifier is new Telecommand_Verification_Generator
78 (<>);
79
80 -- Performs function as described for service type (8,1) with function ID
81 --+ Fct_ID and any parameters as contained in Params.
82 -- Result shall indicate the status of execution for completion, and is
83 --+ included in generated telecommand verification packet.
84 with function Perform_Function
85 (TC : PUS.PUS_Packet;
86 Fct_ID : Function_Management_Types.Function_ID;
87 Params : Function_Management_Types.Parameter_List)
88 return Verification_Types.Verification_Status;
89
90 -- Priority of protected object implementing buffering of calls to
91 --+ Handle_PUS_Packet
92 Telecommand_Buffer_Priority
93 : in Task_Priority_Control.
94 Passive_Task_Priority;
95
96 -- Maximum number of entries in buffer of calls to Handle_PUS_Packet.
97 -- Should be defined to cater for bursts in arrival of telecommands for
98 --+ execution
99 Telecommand_Buffer_Size : in Positive;
100
101 -- Priority and stack size of sporadic task performing telecommand execution
102 --+ as a response to calls to Handle_PUS_Packet
103 Telecommand_Interpreter_Priority
104 : in Task_Priority_Control.
105 Active_Task_Priority;
106 Telecommand_Interpreter_Stack_Size : in Natural;
107
108 package Generic_TC_Translator is
109
110 --% Package:
111 -- Generic implementation of function management service as defined by
112 --+ service type 8 in Packet Utilisation Standard
113 --% Active Tasks:
114 --> The_TC_Interpreter.The_Sporadic_Task - Sporadic
115 --% Passive Tasks:
116 --> The_TC_Interpreter.Event_Buffer.Queue_Task - Critical region
117 --+ protecting queue of telecommands pending for execution
118
119 procedure Initialize;
120
121 --% Subprogram:
122 -- Subject given telecommand packet for execution by function management
123 --+ service
124 --% Parameter Constraints:
125 --> None
126 --% Exceptions Raised:
127 --> None
128 procedure Handle_PUS_Packet
129 (TC : in PUS.PUS_Packet);
130
131 end Generic_TC_Translator;
132
133 --~-----------------------------------------------------------------------------
134