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