Claire Dross
8 years ago
1 changed files with 46 additions and 0 deletions
@ -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