source: rtems/doc/tools/pdl2texi/test_cases/avdas.d @ 5599d6e

4.104.114.84.9
Last change on this file since 5599d6e was 5599d6e, checked in by Joel Sherrill <joel.sherrill@…>, on Feb 6, 1998 at 1:48:44 PM

Added @table/@end table capability along with the avdas.d test case where
this capability was first used.

  • Property mode set to 100644
File size: 9.2 KB
Line 
1OBJECT: AVDAS
2  DESCRIPTION:
3    This object collects various values from other objects in the system
4    and outputs the values in a message on a serial interface.  The message
5    can be read and used as diagnostic information.
6  THEORY OF OPERATION:
7    This object contains a Server task which periodically collects
8    diagnostic values from other objects in the system and outputs the
9    values in a message on a serial interface.  The diagnostic values
10    collected and formatted reflect system status.
11  NOTES:
12    The following engineering note consists of a chart to aid in the
13    decision making process of whether the AVDAS should reflect System
14    status or Switch status.  As it is right now, it was decided to
15    reflect System status.
16
17    @table
18                               System                  Switch
19    Gun Manual              Weapon_control          Gunner_console
20    Gun Air                 -------                 -------
21    Gun Ground              -------                 -------
22    *Remote Status          Remote                  Remote
23    *Msl Armed Indicate     Missiles                Missiles
24    *Rain Mode              FOV                     FOV
25    *Msl Uncage Verified    Missiles                Missiles
26    *Msl Activate Status    Missiles                Missiles
27    *RSO Status             Weapon_control          Weapon_control
28    *Fire Permit            Weapon_control_(new)    Weapon_control_(new)
29    *Stab Mode Status       Drive_(new)             Drive_(new)
30    Uncage Mode Status      Weapon_control          Gunner_console_(new)
31    Engage Mode Status      Mode                    Gunner_console_(new)
32    *Palm Grip Status       Gunner_handstation      Gunner_handstation
33    *System Fault Status    Fault (Add)             Fault_(new)
34    FLIR FOV Status         FOV                     Gunner_console
35    *Autotrack Status       Video_tracker           Video_tracker
36    Arm Switch Status       Weapon_control          Gunner_console
37    *Uncage Switch Status   Gunner_handstation      Gunner_handstation
38    *Trig Switch Status     Gunner_handstation      Gunner_handstation
39    *Msl Fire Cmd Status    Missiles_(new)          Missiles_(new)
40    Helicopter Mode         Weapon_control          Gunner_console_(new)
41    IFF Challenge Switch    IFF_(new)               Gunner_console
42    *Auto Slew Status       Autoslew_Is_on          Autoslew_Is_on
43
44    @end table
45
46    Message bytes 26 through 29 are not set at this time pending
47    completion of the Super Elevate object.
48 
49ATTRIBUTE DESCRIPTIONS: none
50
51ASSOCIATION DESCRIPTIONS: none
52
53ABSTRACT TYPE DESCRIPTIONS: none
54
55DATA ITEM DESCRIPTIONS:
56 
57DATA ITEM: Message
58  DESCRIPTION:
59    This data item is the buffer used to build an AVDAS data message.
60    The first two bytes are place-holders for the header bytes.  The
61    last byte is a place-holder for the checksum byte.
62  DERIVATION: array[ 36 ]
63  TYPE: bytes
64  DEFAULT:
65    all bytes = 0x00
66
67DATA ITEM: The_Channel
68  DESCRIPTION:
69    This data item contains the handle to the AVDAS channel.
70  TYPE: Channel_Control handle
71  DEFAULT: NULL
72 
73METHOD DESCRIPTIONS:
74
75METHOD: Break_Up
76  DESCRIPTION:
77    This method converts a floating point number to two ascii bytes
78    based on an input range and weighting factor.
79  VISIBILITY: private
80  INPUTS:
81    max_range
82    min_range
83    value
84    weight_factor
85  OUTPUTS:
86    lower_byte
87    upper_byte
88  PDL:
89    if value between 0 and min_range
90      set temp2 to min_range
91      set bit_ratio to absolute value( temp2 / 0x8000 )
92    else if value between 0 and max_range
93      set temp2 to max_range
94      set bit_ratio to absolute value( temp2 / 0x7FF0 )
95
96    set temp3 to (value / temp2) * weight_factor
97
98    set temp4 to temp3 converted to unsigned 16 bit value
99
100    set temp4 to two's compliment of temp4
101
102    set lower_byte to lower 8 bits of temp4
103
104    set upper_byte to upper 8 bits of temp4
105
106METHOD: Create
107  DESCRIPTION:
108    This method performs the necessary actions to create this object.
109  VISIBILITY: public
110  INPUTS: none
111  OUTPUTS: none
112  PDL:
113    initialize Message to default
114
115    get AVDAS protocol information using the AVDAS_protocol object
116    create a channel for the AVDAS interface using the Channel object
117    attach the channel to the AVDAS interface using the Channel object
118     with the following parameters:
119       flush        - FALSE
120       major_number - CONFIGURATION_AVDAS_MAJOR
121       minor_number - CONFIGURATION_AVDAS_MINOR
122 
123TASK DESCRIPTIONS:
124
125TASK: Server
126  DESCRIPTION: 
127    This task periodically collects diagnostic values and outputs the
128    values in a message on a serial interface.
129  INPUTS: none
130  SYNCHRONIZATION: period
131  TIMING: 100 ms
132  REQUIREMENTS: 
133    AFS 3.1.4 Provide AVDAS
134    AFS 3.1.7 Update AVDAS port
135  PDL:
136    create a period
137
138    wait for completion using the Initialization object
139
140    loop forever
141       wait for period to expire
142
143       initialize Message
144
145       get absolute azimuth using the Turret object
146       format absolute azimuth and store in Message[2] and Message[3]
147
148       get elevation using the Turret object
149       format elevation and store in Message[4] and Message[5]
150
151       get drive rate using the Drive object
152       format azimuth rate and store in Message[6] and Message[7]
153       format elevation rate and store in Message[8] and Message[9]
154
155       get drive displacement using the Drive object
156       format azimuth displacement and store in Message[10] and Message[11]
157       format elevation displacement and
158        store in Message[12] and Message[13]
159
160       get seeker position error using the Seeker object
161       format azimuth position error and
162        store in Message[14] and Message[15]
163       format elevation position error and
164        store in Message[16] and Message[17]
165
166       get range using the Laser object
167       format range and store in Message[18] and Message[19]
168
169       get north reference using the Turret object
170       format north reference and store in Message[20] and Message[21]
171
172       get video tracker position error using the Video_tracker object
173       format azimuth position error and
174        store in Message[22] and Message[23]
175       format elevation position error and
176        store in Message[24] and Message[25]
177
178       ?get lead command?
179
180       get gun mode switch using the Weapon_control object
181       format gun mode switch and store in Message[30]
182
183       determine if remote is active using the Remote object
184       format remote active and store in Message[30]
185
186       determine if missile is safed using the Missiles object
187       format missile safed and store in Message[30]
188
189       determine if rain mode is active using the FOV object
190       format rain mode active and store in Message[30]
191
192       get missile inventory using the Missiles object
193       format present indicators and store in Message[31]
194       format selected indicators and store in Message[32]
195
196       determine if missile uncage verified using the Missiles object
197       format missile uncage verified and store in Message[32]
198
199       determine if missile activated using the Missiles object
200       format missile activated and store in Message[32]
201
202       determine if RSO is authorized using the Weapon_control object
203       format RSO authorized and store in Message[32]
204
205       determine if fire permit using the Weapon_control object
206       format fire permit and store in Message[32]
207
208       determine if stab mode using the Drive object
209       format stab mode and store in Message[33]
210
211       determine if uncage mode is WEAPON_CONTROL_MANUAL_UNCAGE using
212        the Weapon_control object
213       format uncage mode and store in Message[33]
214
215       determine if current mode is MODE_ENGAGE using the Mode object
216       format current mode and store in Message[33]
217
218       determine if palmgrip switch is pressed using the
219        Gunner_handstation object
220       format palmgrip switch pressed and store in Message[33]
221
222       determine if fault is active using the Fault object
223       format fault active and store in Message[33]
224
225       determine if FOV FLIR zoom is FOV_ZOOM_NARROW using the FOV object
226       format FOV FLIR zoom and store in Message[33]
227
228       determine if video tracker is on using the Video_tracker object
229       format video tracker on and store in Message[34]
230
231       determine if armed using the Weapon_control object
232       format armed and store in Message[34]
233
234       determine if uncage trigger switch pressed using the
235        Gunner_handstation object
236       format uncage trigger switch pressed and store in Message[34]
237
238       determine if fire trigger switch pressed using the
239        Gunner_handstation object
240       format fire trigger switch pressed and store in Message[34]
241
242       determine if missiles is firing using the Missiles object
243       format missiles firing and store in Message[34]
244
245       determine if helicopter mode is WEAPON_CONTROL_ON using the
246        Weapon_control object
247       format helicopter mode and store in Message[34]
248
249       determine if IFF challenge using the IFF object
250       format IFF challenge and store in Message[34]
251
252       determine if autoslew is on using the Autoslew object
253       format autoslew is on and store in Message[34]
254
255       loop until successful
256          write Message using the Channel object
257          if unsuccessful
258             reset the Channel object
259
260ENDOBJECT: AVDAS
Note: See TracBrowser for help on using the repository browser.