summaryrefslogtreecommitdiffstats
path: root/doc/tools/pdl2texi/drive.d
diff options
context:
space:
mode:
Diffstat (limited to 'doc/tools/pdl2texi/drive.d')
-rw-r--r--doc/tools/pdl2texi/drive.d874
1 files changed, 874 insertions, 0 deletions
diff --git a/doc/tools/pdl2texi/drive.d b/doc/tools/pdl2texi/drive.d
new file mode 100644
index 0000000000..ff41d5ad38
--- /dev/null
+++ b/doc/tools/pdl2texi/drive.d
@@ -0,0 +1,874 @@
+OBJECT: Drive
+ DESCRIPTION:
+ This object provides an interface to the elevation/azimuth
+ drive system(ECA).
+ THEORY OF OPERATION:
+ This object encapsulates the turret drive. The object provides
+ an interface to control the turret drive. A method is provided
+ to set the azimuth and elevation rate of the drive. Methods are
+ provided to request the drive to run in stabilized or power mode
+ and set the drive speed to high or low. A method is also provided
+ to allow for drift adjust.
+
+ This object also tracks drive system on hours. It gets the hours
+ from the EEPROM data, allows the hours to be set, updates the
+ hours via the activation and deactivation of the drive, and
+ provides access to the hours.
+
+ The object also provides methods to access azimuth and elevation
+ displacement, and methods to process changes in the hardware
+ discretes drive on, stabilized mode, thermal fault and fault.
+
+ The object also provides methods to enable and disable
+ both the remote and turret power interlocks which determine if
+ the drive can be driven by the remote or turret handstation
+ respectively.
+
+ATTRIBUTE DESCRIPTIONS:
+
+
+ATTRIBUTE: Azimuth_displacement
+ DESCRIPTION:
+ This attribute represents the current azimuth displacement
+ of the turret.
+ TYPE: floating point
+ RANGE: ???
+ UNITS: degrees
+ REQUIREMENTS:
+ AFS 8.2.11 Receive Azimuth Displacement and Elevation Displacement
+ AIS 5.2.6 Azimuth Displacement analog
+
+
+ATTRIBUTE: Azimuth_rate
+ DESCRIPTION:
+ Azimuth rate command for movement of the turret.
+ TYPE: floating point
+ UNITS: degrees / second
+ DEFAULTS: none
+ REQUIREMENTS:
+ AFS 8.2.3 Send Azimuth and Elevation Rate to ECA
+ AIS 5.3.4 Elevation Rate analog
+ AIS 5.3.5 Azimuth Rate analog
+
+
+ATTRIBUTE: Drift_adjust
+ DESCRIPTION:
+ This attribute represents the current drift adjustment mode
+ of the ECA turret drive.
+ TYPE: enumerated
+ MEMBERS:
+ ADJUST_OFF - drift adjust mode is OFF
+ ADJUST_ON - drift adjust mode is ON
+ REQUIREMENTS:
+ AFS 8.2.6 Capable of turret drift adjustment
+ AIS 5.3.1 Drift Adjust discrete
+
+
+ATTRIBUTE: Drive_on
+ DESCRIPTION:
+ Current status of the turret drive. The turret drive may either be
+ switched on or off.
+ TYPE: boolean
+ MEMBERS:
+ FALSE - turret drive is off
+ TRUE - turret drive is on
+ DEFAULTS: FALSE
+ REQUIREMENTS:
+ AFS 8.2.9 Monitor Drive System On
+ AIS 5.2.1 Drive System On discrete
+
+
+ATTRIBUTE: Drive_system_hours
+ DESCRIPTION:
+ Total number of hours drive has been activated.
+ TYPE: integer
+ RANGE: 0 - +INFINITY
+ UNITS: seconds
+ REQUIREMENTS:
+ AFS 4.11 Respond to CDT elapsed time indicator key
+
+
+ATTRIBUTE: Elevation_displacement
+ DESCRIPTION:
+ This attribute represents the current elevation displacement
+ of the turret.
+ TYPE: floating point
+ RANGE: ???
+ UNITS: degrees
+ REQUIREMENTS:
+ AFS 8.2.11 Receive Azimuth Displacement and Elevation Displacement
+ AIS 5.2.7 Elevation Displacement analog
+
+
+ATTRIBUTE: Elevation_rate
+ DESCRIPTION:
+ Elevation rate command for movement of the turret.
+ TYPE: floating point
+ UNITS: degrees / second
+ DEFAULTS: none
+ REQUIREMENTS:
+ AFS 8.2.3 Send Azimuth and Elevation Rate to ECA
+ AIS 5.3.4 Elevation Rate analog
+ AIS 5.3.5 Azimuth Rate analog
+
+
+ATTRIBUTE: Fault
+ DESCRIPTION:
+ This attribute denotes whether a turret malfunction has occurred.
+ TYPE: boolean
+ MEMBERS:
+ TRUE - a turret malfunction has occurred
+ FALSE - no turret malfunction has occurred
+ DEFAULTS: FALSE
+ REQUIREMENTS:
+ AFS 8.2.7 Check for ECA failure indication
+ AIS 5.2.4 Turret Drive Malfunction discrete
+
+
+ATTRIBUTE: Mode
+ DESCRIPTION:
+ Current requested drive mode.
+ TYPE: enumerated
+ MEMBERS:
+ POWER - operate in POWER mode
+ STAB - operate in STABILIZED mode
+ DEFAULTS: POWER
+ REQUIREMENTS:
+
+
+ATTRIBUTE: Remote_power_interlock_position
+ DESCRIPTION:
+ This is the status of the remote's power interlock.
+ TYPE: enumerated
+ MEMBERS:
+ OPEN - relay is open
+ CLOSED - relay is closed
+ REQUIREMENTS:
+ AFS 8.2.12 Control Power Interlock
+
+
+ATTRIBUTE: Speed
+ DESCRIPTION:
+ Current speed mode of the ECA turret drive.
+ TYPE: enumerated
+ MEMBERS:
+ LOW_SPEED - turret drive does not allow the maximum rate
+ HIGH_SPEED - turret drive allows the maximum rate
+ DEFAULTS: HIGH
+ REQUIREMENTS:
+ AFS 8.2.5 Control Turret
+ AIS 5.3.3 Turret High Speed Mode discrete
+
+
+ATTRIBUTE: Stabilized_mode
+ DESCRIPTION:
+ Current drive mode indicating whether the ECA electronics are
+ operating in Stabilized mode or Power mode.
+ TYPE: boolean
+ MEMBERS:
+ FALSE - not operating in STABILIZED mode
+ TRUE - operating in STABILIZED mode
+ DEFAULTS: FALSE
+ REQUIREMENTS:
+ AFS 8.2.8 Monitor Turret Stab Mode Indicate
+ AIS 5.2.3 Turret Stab Mode Indicate discrete
+
+
+ATTRIBUTE: State
+ DESCRIPTION:
+ Current state of the turret drive.
+ TYPE: enumerated
+ MEMBERS:
+ ACTIVATED - turret drive is ON and active
+ DEACTIVATED - turret drive is ON but deactivated
+ DEFAULTS: DEACTIVATED
+ REQUIREMENTS:
+ AFS 8.2.4 Set Plam Grips Active
+ AIS 5.3.2 Palm Grips Active discrete
+
+
+ATTRIBUTE: Thermal_fault
+ DESCRIPTION:
+ This attribute denotes whether a turret thermal fault has occurred.
+ TYPE: boolean
+ MEMBERS:
+ TRUE - a turret thermal fault has occurred
+ FALSE - no turret thermal fault has occurred
+ DEFAULTS: FALSE
+ REQUIREMENTS:
+ AFS 8.2.7 Check for ECA failure indication
+ AIS 5.2.2 Turret ECA Thermal Failure discrete
+
+
+ATTRIBUTE: Turret_power_interlock_position
+ DESCRIPTION:
+ This is the status of the turret's power interlock.
+ TYPE: enumerated
+ MEMBERS:
+ OPEN - relay is open
+ CLOSED - relay is closed
+ REQUIREMENTS:
+ AFS 8.2.12 Control Power Interlock
+
+
+ASSOCIATION DESCRIPTIONS: none
+
+ABSTRACT TYPE DESCRIPTIONS:
+
+ABSTRACT TYPE: Drift_adjust_t
+ DESCRIPTION:
+ This abstract type represents the current drift adjustment mode
+ of the ECA turret drive.
+ VISIBILITY: public
+ DERIVATION: enumerated
+ MEMBERS:
+ ADJUST_OFF = 0 - drift adjust mode is OFF
+ ADJUST_ON = 1 - drift adjust mode is ON
+ REQUIREMENTS:
+ AIS 5.3.1 Drift Adjust discrete
+
+ABSTRACT TYPE: Interlock_status
+ DESCRIPTION:
+ An interlock state being OPEN or CLOSED.
+ VISIBILITY: private
+ DERIVATION: enumerated
+ MEMBERS:
+ OPEN - interlock relay is in the open state
+ CLOSED - interlock relay is in the closed state
+ REQUIREMENTS:
+ AFS 8.2.12 Control Power Interlock
+
+ABSTRACT TYPE: Mode
+ DESCRIPTION:
+ This type specifies the drive mode of the ECA turret drive.
+ VISIBILITY: public
+ DERIVATION: enumerated
+ MEMBERS:
+ POWER - operate in POWER mode
+ STAB - operate in STABILIZED mode
+
+ABSTRACT TYPE: Speed
+ DESCRIPTION:
+ This type specifies the Speed mode of the ECA turret drive.
+ VISIBILITY: public
+ DERIVATION: enumerated
+ MEMBERS:
+ LOW_SPEED = 0 - turret drive does not allow the maximum rate
+ HIGH_SPEED = 1 - turret drive allows the maximum rate
+ REQUIREMENTS:
+ AIS 5.3.3 Turret High Speed Mode discrete
+
+ABSTRACT TYPE: State_t
+ DESCRIPTION:
+ This type specifies the state of the turret drive.
+ VISIBILITY: private
+ DERIVATION: enumerated
+ MEMBERS:
+ DEACTIVATED - turret drive is ON but deactivated
+ ACTIVATED - turret drive is ON and active
+
+DATA ITEM DESCRIPTIONS:
+
+DATA ITEM: Azimuth_displacement_control
+ DESCRIPTION:
+ This data item contains the Azimuth_displacement analog control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: Azimuth_rate_control
+ DESCRIPTION:
+ This data item contains the Azimuth_rate analog control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: Drift_adjust_control
+ DESCRIPTION:
+ This data item contains the Drift_adjust discrete control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: Drive_activate_control
+ DESCRIPTION:
+ This data item contains the activate drive relay control information.
+ TYPE: handle
+
+
+DATA ITEM: Drive_activated_timestamp
+ DESCRIPTION:
+ This data item stores the timestamp of the last time the drive was
+ activated. It will be used to compute the activated time when a
+ deactivate is received.
+ TYPE: time_t
+ DEFAULT: none
+ NOTES:
+ see C library for data type information ???
+
+
+DATA ITEM: Drive_on
+ DESCRIPTION:
+ The current status of the turret drive representing whether
+ the drive is on or off.
+ TYPE: boolean
+ DEFAULT: FALSE
+
+
+DATA ITEM: Drive_on_control
+ DESCRIPTION:
+ This data item contains the Drive_on discrete flag control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: Drive_system_hours
+ DESCRIPTION:
+ This data item stores the actual time the drive has been active.
+ This value will be output by the Get_time method and will be set
+ by the Set_time method.
+ TYPE: integer
+ RANGE: 0 - +INFINITY
+ UNITS: seconds
+ DEFAULT: 0
+
+
+DATA ITEM: Elevation_rate_control
+ DESCRIPTION:
+ This data item contains the Elevation_rate analog control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: Elevation_displacement_control
+ DESCRIPTION:
+ This data item contains the Elevation_displacement analog control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: Fault_control
+ DESCRIPTION:
+ This data item contains the Fault discrete flag control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: Remote_power_interlock_control
+ DESCRIPTION:
+ This data item contains the Remote_power_interlock relay control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: Stabilized_mode_control
+ DESCRIPTION:
+ This data item contains the Stabilized_mode discrete flag control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: State
+ DESCRIPTION:
+ The current state of the turret drive representing an activated or
+ deactivated drive.
+ TYPE: State_t
+ DEFAULT: DEACTIVATED
+
+
+DATA ITEM: Thermal_fault_control
+ DESCRIPTION:
+ This data item contains the Thermal_fault discrete flag control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: Turret_power_interlock_control
+ DESCRIPTION:
+ This data item contains the Turret_power_interlock relay control
+ information.
+ TYPE: handle
+
+
+DATA ITEM: Turret_power_interlock_status
+ DESCRIPTION:
+ The accurate status of the turret power interlock relay. This value
+ will be used to control the relay during a transition from the remote
+ back to the turret console.
+ TYPE: Interlock_status
+ DEFAULT: none
+
+
+METHODS DESCRIPTIONS:
+
+METHOD: Activate
+ DESCRIPTION:
+ This method activates the turret drive system. A timestamp of the
+ activation is recorded to keep a running count of hours the drive has
+ been active.
+ VISIBILITY: public
+ INPUTS: none
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.4 Set Palm Grips Active
+ AIS 5.3.2 Palm Grips Active discrete
+ PDL:
+
+ if Drive_on
+ if State is DEACTIVATED
+ close the Drive_activate_control relay using the Relay object
+ timestamp Drive_activated_timestamp for Drive_system_hours
+ running total
+ set State to ACTIVATED
+ else
+ already in the ACTIVATED state
+
+
+METHOD: Create
+ DESCRIPTION:
+ This method initializes the Turret Drive object. All monitors of
+ turret drive signals are initialized and/or registered. All turret
+ drive characteristics are set to their initial values.
+ VISIBILITY: public
+ INPUTS: none
+ OUTPUTS: none
+ PDL:
+
+ set State to DEACTIVATED
+
+ get Drive_system_hours to initialize the elapsed drive time
+ from the Statistics (eeprom database ???) object - this is
+ stored upon shutdown in eeprom
+
+ create Fault_control using Discrete_flag object with the
+ following attributes
+ true_sense - DISCRETE_FLAG_TRUE_IS_1
+ is_buffered - false
+ is_monitored - true
+ period - 10ms
+ change_routine - Change_fault
+ change fault using initial value returned from create Fault_control
+
+ create Thermal_fault_control using Discrete_flag object with
+ the following attributes
+ true_sense - DISCRETE_FLAG_TRUE_IS_0
+ is_buffered - false
+ is_monitored - true
+ period - 10ms
+ change_routine - Change_thermal_fault
+ change thermal fault using initial value returned from create
+ Thermal_fault_control
+
+ create Stabilized_mode_control using Discrete_flag object with the
+ following attributes
+ true_sense - DISCRETE_FLAG_TRUE_IS_1
+ is_buffered - false
+ is_monitored - true
+ period - 10ms
+ change_routine - Change_stabilized_mode
+ change stabilized mode using initial value returned from create
+ Stabilized_mode_control
+
+ create Drive_on_control using Discrete_flag object with the
+ following attributes
+ true_sense - DISCRETE_FLAG_TRUE_IS_1
+ is_buffered - false
+ is_monitored - true
+ period - 10ms
+ change_routine - Change_drive_on
+ change drive on using initial value returned from create
+ Drive_on_control
+
+ create Azimuth_rate_control using the Linear_dac object
+ with the following attributes:
+ none voltage_low - -10
+ voltage_high - +10
+ logical_low - -60
+ logical_high - +60
+ is_buffered - false
+ period - none
+ initial_value - 0
+
+ create Elevation_rate_control using the Linear_dac object with the
+ following attributes:
+ voltage_low - -10
+ voltage_high - +10
+ logical_low - -60
+ logical_high - +60
+ is_buffered - false
+ period - none
+ initial_value - 0
+
+ create Azimuth_displacement_control using the Linear_adc object with
+ the following attributes:
+ voltage low -
+ voltage high -
+ logical low -
+ logical high -
+ is_buffered - false
+ is_monitored - false
+ period - none
+ change_routine - none
+ delta - none
+
+ create Elevation_displacement_control using the Linear_adc object
+ with the following attributes:
+ voltage low -
+ voltage high -
+ logical low -
+ logical high -
+ is_buffered - false
+ is_monitored - false
+ period - none
+ change_routine - none
+ delta - none
+
+ create Drive_activate_control using the Relay object with the
+ following attributes:
+ open_sense - RELAY_OPEN_IS_0
+ is_buffered - false
+ period - none
+ initial_state - RELAY_OPEN
+
+ create Turret_power_interlock_control using the Relay object with
+ the following attributes:
+ open_sense - RELAY_OPEN_IS_0
+ is_buffered - false
+ period - none
+ initial_state - RELAY_OPEN
+ set Turret_power_interlock_status to OPEN
+
+ create Remote_power_interlock_control using the Relay
+ object with the following attributes:
+ open_sense - RELAY_OPEN_IS_0
+ is_buffered - false
+ period - none
+ initial_state - RELAY_OPEN
+
+ create Drift_adjust_control using the Discrete_out object with
+ following attributes:
+ is_buffered - false
+ period - 10ms
+ initial_value - ADJUST_OFF
+
+
+METHOD: Deactivate
+ DESCRIPTION:
+ This method deactivates the turret drive system. A timestamp of the
+ activation is recorded to keep a running count of hours the drive
+ has been active.
+ VISIBILITY: public
+ INPUTS: none
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.4 Set Plam Grips Active
+ AIS 5.3.2 Palm Grips Active discrete
+ PDL:
+
+ if Drive_on
+ if State is DEACTIVATED
+ timestamp deactivate for Drive_system_hours running total
+ deactivate drive by opening the Drive_activate_control relay
+ using the Relay object
+ compute running time since last activate
+ add running time to Drive_system_hours
+ set State to DEACTIVATED
+ else
+ already in the DEACTIVATED state
+
+
+METHOD: Disable_remote_power_interlock
+ DESCRIPTION:
+ This method disables the turret power interlock safety preventing
+ the turret from being driven by the remote's handstation.
+ VISIBILITY: public
+ INPUTS: none
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.12 Control Power Interlock
+ PDL:
+
+ open the remote power interlock relay
+ return the turret relay to its designated state defined by the
+ Turret_power_interlock_status
+
+
+METHOD: Disable_turret_power_interlock
+ DESCRIPTION:
+ This method disables the turret power interlock safety preventing
+ the turret from being driven by the turret's handstation.
+ VISIBILITY: public
+ INPUTS: none
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.12 Control Power Interlock
+ PDL:
+
+ Deactivate the Drive object
+ open the turret power interlock relay
+ set Turret_power_interlock_status to OPEN
+
+
+METHOD: Enable_remote_power_interlock
+ DESCRIPTION:
+ This method will enable the remote power interlock to allow
+ the turret to be driven from the remote station.
+ VISIBILITY: public
+ INPUTS: none
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.12 Control Power Interlock
+ NOTES:
+ At this time the turret's power interlock is opened to avoid
+ having both relays closed at a time.
+ PDL:
+
+ if Drive_on
+ open the turret power interlock relay using the Relay object
+ close the remote power interlock relay using the Relay object
+
+
+METHOD: Enable_turret_power_interlock
+ DESCRIPTION:
+ This method will enable the turret power interlock to allow
+ the turret to be driven from the turret station.
+ VISIBILITY: public
+ INPUTS: none
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.12 Control Power Interlock
+ NOTES:
+ At this time the closed state is saved to allow the correct state
+ to be returned to in the event a remote overrides the turret and the
+ remote gives up its control, we must return to the previous state of
+ the turret power interlock.
+ PDL:
+
+ if Drive_on
+ close the turret power interlock relay using the Relay object
+
+ set the Turret_power_interlock_status to CLOSED to return to
+ when remote gives up control
+
+
+METHOD: Get_AZ_EL_displacement
+ DESCRIPTION:
+ This method returns the current azimuth displacement and elevation
+ displacement from the ECA.
+ VISIBILITY: public
+ INPUTS: none
+ OUTPUTS:
+ current azimuth displacement value
+ current elevation displacement value
+ REQUIREMENTS:
+ AFS 8.2.11 Receive Azimuth Displacement and Elevation Displacement
+ AIS 5.2.6 Azimuth Displacement analog
+ AIS 5.2.7 Elevation Displacement analog
+ NOTES:
+ Currently supported as an on-demand type of signal. May change to a
+ monitored analog signal.
+ PDL:
+
+ if Drive_on
+ get and return current azimuth displacement and current elevation
+ displacement from ECA using the Linear_ADC object
+
+
+METHOD: Get_hours
+ DESCRIPTION:
+ This method returns the current value contained in the elapsed
+ turret drive active time.
+ VISIBILITY: public
+ INPUTS: none
+ OUTPUTS:
+ elapsed turret drive time - the current elasped turret drive time
+ REQUIREMENTS:
+ REFERENCES:
+ AFS 4.11 Respond to CDT elapsed time indicator key
+ NOTES:
+ PDL:
+
+ return the current value for Drive_system_hours
+
+
+METHOD: Set_drift_adjust
+ DESCRIPTION:
+ This method provides the ability to set the drift adjust to the
+ value represented by the handstation. Drift adjust is either ON
+ or OFF.
+ VISIBILITY: public
+ INPUTS:
+ value - new drift adjust value
+ ADJUST_OFF - drift adjust mode is OFF
+ ADJUST_ON - drift adjust mode is ON
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.6 Capable of turret drift adjustment
+ AIS 5.3.1 Drift Adjust discrete
+ PDL:
+
+ if Drive_on
+ set drift adjust discrete to value using Discrete_out object
+
+METHOD: Set_hours
+ DESCRIPTION:
+ This method will set the turret drive activated elapsed time value
+ to the specified value.
+ VISIBILITY: public
+ INPUTS:
+ new_elapsed_time_value - specified turret drive elapsed time value
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 4.11 Respond to CDT elapsed time indicator key
+ PDL:
+
+ set the value of Drive_system_hours to the value specified by
+ new_elapsed_time_value
+
+
+METHOD: Set_mode
+ DESCRIPTION:
+ This method sets the requested mode of the turret drive.
+ VISIBILITY: public
+ INPUTS:
+ mode - new requested mode
+ POWER - operating in POWER mode
+ STAB - operating in STABILIZED mode
+ OUTPUTS: none
+ REQUIREMENTS:
+ PDL:
+ if mode is POWER
+ set drive mode switchlight to PWR_LAMP using the Console object
+ else if mode is STAB
+ set drive mode switchlight to STB_LAMP using the Console object
+
+
+METHOD: Set_rate
+ DESCRIPTION:
+ This method provides the ability to send azimuth and elevation rates
+ to the drive. Two parameters are used as input to designate the
+ corresponding rates. These parameters must be in degrees per second.
+ VISIBILITY: public
+ INPUTS:
+ azimuth rate - new azimuth rate in degress per second
+ elevation rate - new elevation rate in degress per second
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.3 Send Azimuth and Elevation Rate to ECA
+ AIS 5.3.4 Elevation Rate analog
+ AIS 5.3.5 Azimuth Rate analog
+ NOTES:
+ May need to couple these analogs with an interface driver to close
+ the window between writes and conversions.
+ PDL:
+
+ if Drive_on
+ send the new azimuth rate to the Azimuth analog
+ send the new elevation rate to Elevation analog
+
+
+METHOD: Set_speed
+ DESCRIPTION:
+ This method sets the turret drive speed mode to the specified value
+ either high or low based on user input.
+ VISIBILITY: public
+ INPUTS:
+ new_speed_value - new value to set the turret speed to
+ LOW_SPEED - turret drive does not allow the maximum rate
+ HIGH_SPEED - turret drive allows the maximum rate
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.5 Control Turret
+ AIS 5.3.3 Turret High Speed Mode discrete
+ PDL:
+
+ if Drive_on
+ set turret drive high speed mode discrete to the new_speed_value
+ using Discrete_out object
+
+
+METHOD: Change_drive_on
+ DESCRIPTION:
+ This method will be used to report a transition of the drive system
+ on discrete.
+ VISIBILITY: private
+ INPUTS:
+ value - new drive system on value
+ FALSE - indicates drive not on
+ TRUE - indicates drive on
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.9 Monitor Drive System On
+ AIS 5.2.1 Drive System On discrete
+ REFERENCES:
+ NOTES:
+ PDL:
+
+ set Drive_on to value
+ if Drive_on is FALSE
+ deactivate the turret drive using the Drive object
+
+
+METHOD: Change_fault
+ DESCRIPTION:
+ This method will be used to indicate that a turret malfunction
+ has been recognized by the turret drive.
+ VISIBILITY: private
+ INPUTS:
+ value - new value resulting from a fault discrete change
+ FALSE - indicates no fault
+ TRUE - indicates fault
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.7 Check for ECA failure indication
+ AIS 5.2.4 Turret Drive Malfunction discrete
+ PDL:
+
+ if value
+ send turret fault message using the Display object
+ else
+ return
+
+
+METHOD: Change_stabilized_mode
+ DESCRIPTION:
+ This method will determine a transition from STAB mode to POWER mode.
+ It will set the stab mode lamp on the console.
+ VISIBILITY: private
+ INPUTS:
+ value - new value resulting from a stab mode discrete change
+ FALSE - indicates not stabilized mode
+ TRUE - indicates stabilized mode
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.8 Monitor Turret Stab Mode Indicate
+ AIS 5.2.3 Turret Stab Mode Indicate discrete
+ PDL:
+
+ if value
+ set STAB mode light to LAMP_ON using the Console object
+ else value indicates not stabilized mode
+ set STAB mode light to LAMP_OFF using the Console object
+
+
+METHOD: Change_thermal_fault
+ DESCRIPTION:
+ This method will be used to indicate that a thermal fault has been
+ recognized by the turret drive.
+ VISIBILITY: private
+ INPUTS:
+ value - new value resulting from a thermal fault discrete change
+ FALSE - indicates no thermal fault
+ TRUE - indicates thermal fault
+ OUTPUTS: none
+ REQUIREMENTS:
+ AFS 8.2.7 Check for ECA failure indication
+ AIS 5.2.2 Turret ECA Thermal Failure discrete
+ PDL:
+
+ if value
+ send thermal fault message using the Display object
+ else
+ return
+
+END OBJECT: Drive