Claire Dross
8 years ago
1 changed files with 46 additions and 0 deletions
@ -0,0 +1,46 @@
@@ -0,0 +1,46 @@
|
||||
with MMS.F_PT.F_FC.Data; |
||||
|
||||
package MMS.F_PT.F_FC.Behavior is |
||||
|
||||
------------ |
||||
-- Inputs -- |
||||
------------ |
||||
|
||||
function P return Current_Range_Type; |
||||
function P_Dot return Current_Speed_Type; |
||||
|
||||
---------------------- |
||||
-- Estimated Values -- |
||||
---------------------- |
||||
|
||||
function Q_Angle return Angle_Type; |
||||
function Q_Dot return Angular_Speed_Type; |
||||
|
||||
------------ |
||||
-- States -- |
||||
------------ |
||||
|
||||
type Phase_State_Type is (CLIMB, CRUISE, DESCENT); |
||||
|
||||
function Phase_State return Phase_State_Type; |
||||
|
||||
---------------- |
||||
-- Properties -- |
||||
---------------- |
||||
|
||||
-- From 6.7.3.2 |
||||
|
||||
function In_Safety_Envelope return Boolean is |
||||
(case Phase_State is |
||||
when CLIMB => |
||||
Q_Dot in MMS.F_PT.F_FC.Data.Qdot_MinCl .. MMS.F_PT.F_FC.Data.Qdot_MaxCl |
||||
and Q_Angle < MMS.F_PT.F_FC.Data.Q_MaxCl, |
||||
when CRUISE => |
||||
Q_Dot in MMS.F_PT.F_FC.Data.Qdot_MinCr .. MMS.F_PT.F_FC.Data.Qdot_MaxCr |
||||
and Q_Angle > MMS.F_PT.F_FC.Data.Q_MinCr |
||||
and P_Dot < MMS.F_PT.F_FC.Data.Pdot_MaxCr, |
||||
when DESCENT => |
||||
Q_Dot in MMS.F_PT.F_FC.Data.Qdot_MinDs .. MMS.F_PT.F_FC.Data.Qdot_MaxDs |
||||
and Q_Angle < MMS.F_PT.F_FC.Data.Q_MaxDs); |
||||
|
||||
end MMS.F_PT.F_FC.Behavior; |
Loading…
Reference in new issue