File: /home/oboss/Users/gec/sources/PUS_Services/Function_Management/generic_tc_translator-parser.ads
1 --% Compilation Unit: Generic_TC_Translator.Parser
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: generic_tc_translator-parser.ads,v $
13 -- Revision 2.1 2003/11/13 14:57:44 gec
14 -- Merged ECSS Migration branch to main trunk.
15 --
16 -- Revision 1.1.2.1 2003/11/11 14:52:40 gec
17 -- Updated Function Management Service according to ECSS-E-70-41A standard.
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
42 with Parameter_Structure_Descriptions;
43 private generic
44
45 -- Application ID associated to application process providing the function
46 --+ management service.
47 My_APID : in Mission_Parameters.APID;
48
49 package Generic_TC_Translator.Parser is
50
51 --% Library Package:
52 -- Services for parsing of incomming telecommands translating these into
53 --+ an internal representation.
54 --% Active Tasks:
55 --> None
56 --% Passive Tasks:
57 --> None
58
59 -- Indicates that the application process ID in the given packet differs
60 --+ from My_APID
61 Illegal_Application_Process_ID : exception;
62 -- Indicates that the service type of the given packet is illegal
63 Illegal_Service_Type : exception;
64 -- Indicates that the service subtype of the given packet is illegal
65 Illegal_Service_Subtype : exception;
66 -- Indicates that the application data of the given telecommand is not
67 --+ well-formed.
68 Invalid_Application_Data : exception;
69
70 -- Internal representation for service requests
71
72 type Service_Request
73 (Subservice : Function_Management_Types.Subservice;
74 Number_Of_Parameters : Function_Management_Types.List_Length) is
75 record
76 Function_ID : Function_Management_Types.Function_ID;
77 case Subservice is
78 when Function_Management_Types.Perform_Function =>
79 Parameters :
80 Function_Management_Types.Parameter_List
81 (1 .. Number_Of_Parameters);
82 end case;
83 end record;
84
85
86 --% Subprogram:
87 -- Translates the given Packet into an internal service request
88 --+ representation
89 --% Parameter Constraints:
90 --> TC - Shall be a telecommand packet
91 --> TC - Must be of service type 8
92 --% Exceptions Raised:
93 --> Invalid_Source_Data - Parsing failed due to inconsistencies in TC
94 --+ source data
95
96 function Transform_Telecommand
97 (TC : PUS.PUS_Packet)
98 return Service_Request;
99
100 end Generic_TC_Translator.parser;
101
102 --~-----------------------------------------------------------------------------
103