File: /home/oboss/Users/gec/sources/PUS_Services/Large_Data_Transfer/large_data_transfer_types.ads

1     --% Compilation Unit: Large_Data_Transfer_Types
2     --
3     --% Category: Package Declaration
4     --
5     --% Release:  $Name:  $
6     --
7     --% Version:  $Revision: 1.4 $
8     --
9     --% Author:   $Author: jhl $
10     --
11     --% Revision Log:
12     --    $Log: large_data_transfer_types.ads,v $
13     --    Revision 1.4  2003/11/14 14:40:59  jhl
14     --    Corrected large data transfer after ECSS migration:
15     --    - Now using Mission_Parameters.Destination_ID
16     --
17     --    Revision 1.3  2003/10/13 11:05:45  jhl
18     --    Removed with's not needed.
19     --
20     --    Revision 1.2  2003/10/09 11:05:36  jhl
21     --    Added Service 13 And 19
22     --
23     --    Revision 1.1.2.2  2003/10/06 14:02:30  jhl
24     --    Large Data Transfer Post Review third update
25     --
26     --    Revision 1.1.2.1  2003/10/03 09:47:59  jhl
27     --    Large Data Transfer post review first update
28     --
29     --    Revision 1.1.2.1  2003/10/01 11:54:54  jhl
30     --    Initial version of service 13 Event Action, and 19 Large Data Transfer.
31     --
32     --    Revision 2.0  2003/04/04 10:08:58  gec
33     --    Initial release serving as baseline for OBOSS-III project.
34     --
35     --    Revision 1.1.1.1  2003/04/04 07:19:20  gec
36     --    Imported using TkCVS
37     --
38     --
39     --
40     --% Project: OBOSS
41     --
42     --% Copyright (C) 2003 by Terma A/S
43     --  Proprietary and intellectual rights of Terma A/S, Denmark,
44     --  are involved in the subject-matter of this material and
45     --  all manufacturing, reproduction, use, disclosure, and
46     --  sales rights pertaining to such subject-matter are
47     --  expressly reserved. This material is submitted for a
48     --  specific purpose as agreed, and the recipient by
49     --  accepting this material agrees that this material will
50     --  not be used, copied, or reproduced in whole or in part
51     --  nor its contents revealed in any manner or to any person,
52     --  except to meet the purpose for which it was submitted and
53     --  subject to the terms of the agreement.
54     --
55     --% Target Dependencies:
56     --    None
57     --% Compiler Dependencies:
58     --    None
59     
60     
61     --~-----------------------------------------------------------------------------
62     
63     with PUS_Data_Types;
64     with Mission_Parameters;
65     with Event_Reporting_Types;
66     
67     package Large_Data_Transfer_Types is
68     
69        --% Library Package:
70        --    Definition of Large Data Transfer service type and service subtypes.
71        --+    Large Data Transfer has PUS service Type 14.
72        --% Active Tasks:
73        -->   None
74        --% Passive Tasks:
75        -->   None
76     
77        -- Large Data Transfer service type constant
78        Large_Data_Transfer_Service :
79           constant PUS_Data_Types.Service_Type :=
80                    PUS_Data_Types.Large_Data_Transfer;
81     
82        --
83        -- Large Data Transfer supported sending sub-service subtypes
84        --
85        -- The order of the enumerations are important as ranges of TC's are used in
86        --+    subtypes
87        --
88     
89        type Large_Data_Transfer_Service_Subtype is
90              (-- Sending sub-sevice
91               -- TM's
92               First_Downlink_Part_Report,
93               Intermediate_Downlink_Part_Report,
94               Last_Downlink_Part_Report,
95               Repeated_Part_Report,
96               Downlink_Abort_Report,
97               -- TC's
98               Downlink_Reception_Acknowledgement,
99               Repeat_Parts,
100               Abort_Downlink,
101               -- Receiving sub-service
102               -- TC's
103               Accept_First_Uplink_Part,
104               Accept_Intermediate_Uplink_Part,
105               Accept_Last_Uplink_Part,
106               Accept_Repeated_Part,
107               Abort_Reception_Of_Uplinked_Data,
108               -- TM's
109               Uplink_Reception_Acknowledgement_Report,
110               Unsuccessfully_Received_Parts_Report,
111               Reception_Abort_Report);
112     
113        --
114        -- Subtypes of supported service subtypes for sending sub-service
115        --
116     
117        subtype Sender_TM_Part_Subtype is
118              Large_Data_Transfer_Service_Subtype range
119              First_Downlink_Part_Report .. Repeated_Part_Report;
120     
121        -- Exception indicating that the service subtype is usupported / unknown
122        Unsupported_Service_Subtype : exception;
123     
124        -- Large Data Transfer globals:
125     
126        -- TM report receiver
127        TM_Report_Receiver_APID :
128           constant Mission_Parameters.APID := Mission_Parameters.Ground;
129     
130        -- Event report receiver
131        Event_Report_Receiver_APID :
132           constant Mission_Parameters.Destination_ID := Mission_Parameters.Ground;
133     
134        -- Event report for failure to convert a received SDU to a PUS Packet:
135        -- Reporting level
136        SDU_Conversion_Failure_Reporting_Level :
137           constant Event_Reporting_Types.Reporting_Level :=
138                    Event_Reporting_Types.Low;
139        -- Report ID
140        SDU_Conversion_Failure_Report_ID :
141           constant Event_Reporting_Types.Report_ID :=
142                    Event_Reporting_Types.SDU_Conversion_Failure_Report;
143     
144        -- Event report for aborting current uplink when receiving a new
145        --+    Accept_First_Uplink_Part:
146        -- Reporting level
147        Current_Uplink_Aborted_Reporting_Level :
148           constant Event_Reporting_Types.Reporting_Level :=
149                    Event_Reporting_Types.Low;
150        -- Report ID
151        Current_Uplink_Aborted_Report_ID :
152           constant Event_Reporting_Types.Report_ID :=
153                    Event_Reporting_Types.Current_Uplink_Aborted;
154     
155        -- Type for the sequence number
156        type Sequence_Number is new Natural;
157     
158     end Large_Data_Transfer_Types;
159     
160     --~-----------------------------------------------------------------------------
161