Anthony Leonardo Gracio
8 years ago
21 changed files with 760 additions and 0 deletions
@ -0,0 +1,26 @@ |
|||||||
|
with MMS.Input; |
||||||
|
with MMS.F_PT.Output; |
||||||
|
|
||||||
|
package MMS.F_EL.Input is |
||||||
|
|
||||||
|
-------------- |
||||||
|
-- From MMS -- |
||||||
|
-------------- |
||||||
|
|
||||||
|
function P return Distance_Type |
||||||
|
renames MMS.Input.P; |
||||||
|
|
||||||
|
function P_Dot return Speed_Type |
||||||
|
renames MMS.Input.P_Dot; |
||||||
|
|
||||||
|
function Q return Altitude_Type |
||||||
|
renames MMS.Input.Q; |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_PT -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Emergency_Landing return Boolean |
||||||
|
renames MMS.F_PT.Output.Emergency_Landing; |
||||||
|
|
||||||
|
end MMS.F_EL.Input; |
@ -0,0 +1,17 @@ |
|||||||
|
package MMS.F_EL.Output is |
||||||
|
|
||||||
|
------------ |
||||||
|
-- To MMS -- |
||||||
|
------------ |
||||||
|
|
||||||
|
function Propulsion_Torque return Torque_Type; |
||||||
|
|
||||||
|
function Braking_Torque return Torque_Type; |
||||||
|
|
||||||
|
------------- |
||||||
|
-- To F_PT -- |
||||||
|
------------- |
||||||
|
|
||||||
|
function Mission_Abort return Boolean; |
||||||
|
|
||||||
|
end MMS.F_EL.Output; |
@ -0,0 +1,5 @@ |
|||||||
|
package MMS.F_EL is |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end MMS.F_EL; |
@ -0,0 +1,87 @@ |
|||||||
|
with MMS.F_PT.Input; |
||||||
|
with MMS.F_PT.F_MM.Output; |
||||||
|
with MMS.F_PT.F_FC.Output; |
||||||
|
with MMS.F_PT.F_EM.Output; |
||||||
|
|
||||||
|
package MMS.F_PT.F_CM.Input is |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_PT -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Navigation_Parameters return Navigation_Parameters_Type |
||||||
|
renames MMS.F_PT.Input.Navigation_Parameters; |
||||||
|
|
||||||
|
function Navigation_Mode return Navigation_Mode_Type |
||||||
|
renames MMS.F_PT.Input.Navigation_Mode; |
||||||
|
|
||||||
|
function Navigation_Option return Navigation_Option_Type |
||||||
|
renames MMS.F_PT.Input.Navigation_Option; |
||||||
|
|
||||||
|
function Go return Boolean |
||||||
|
renames MMS.F_PT.Input.Go; |
||||||
|
|
||||||
|
function Emergency_Landing return Boolean |
||||||
|
renames MMS.F_PT.Input.Emergency_Landing; |
||||||
|
|
||||||
|
function On_OFF_Push_Button return Boolean |
||||||
|
renames MMS.F_PT.Input.On_OFF_Push_Button; |
||||||
|
|
||||||
|
function Start_Push_Button return Boolean |
||||||
|
renames MMS.F_PT.Input.Start_Push_Button; |
||||||
|
|
||||||
|
function Mode_Switch return Navigation_Mode_Type |
||||||
|
renames MMS.F_PT.Input.Mode_Switch; |
||||||
|
|
||||||
|
function Bay_Switch return Bay_Switch_Type |
||||||
|
renames MMS.F_PT.Input.Bay_Switch; |
||||||
|
|
||||||
|
function Payload_Mass return Payload_Mass_Type |
||||||
|
renames MMS.F_PT.Input.Payload_Mass; |
||||||
|
|
||||||
|
function USB_Key return Navigation_Parameters_Type |
||||||
|
renames MMS.F_PT.Input.USB_Key; |
||||||
|
|
||||||
|
function P return Distance_Type |
||||||
|
renames MMS.F_PT.Input.P; |
||||||
|
|
||||||
|
function P_Dot return Speed_Type |
||||||
|
renames MMS.F_PT.Input.P_Dot; |
||||||
|
|
||||||
|
function Q return Altitude_Type |
||||||
|
renames MMS.F_PT.Input.Q; |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_MM -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Mission_Aborted return Boolean |
||||||
|
renames MMS.F_PT.F_MM.Output.Mission_Aborted; |
||||||
|
|
||||||
|
function Mission_Complete return Boolean |
||||||
|
renames MMS.F_PT.F_MM.Output.Mission_Complete; |
||||||
|
|
||||||
|
function Mission_Cancelled return Boolean |
||||||
|
renames MMS.F_PT.F_MM.Output.Mission_Cancelled; |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_EM -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Primary_Source return Source_Type |
||||||
|
renames MMS.F_PT.F_EM.Output.Primary_Source; |
||||||
|
|
||||||
|
function Secondary_Source return Source_Type |
||||||
|
renames MMS.F_PT.F_EM.Output.Secondary_Source; |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_FC -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Propulsion_Torque return Torque_Type |
||||||
|
renames MMS.F_PT.F_FC.Output.Propulsion_Torque; |
||||||
|
|
||||||
|
function Braking_Torque return Torque_Type |
||||||
|
renames MMS.F_PT.F_FC.Output.Braking_Torque; |
||||||
|
|
||||||
|
end MMS.F_PT.F_CM.Input; |
@ -0,0 +1,103 @@ |
|||||||
|
with MMS.F_PT.F_CM.Input; |
||||||
|
|
||||||
|
package MMS.F_PT.F_CM.Output is |
||||||
|
|
||||||
|
------------- |
||||||
|
-- To F_PT -- |
||||||
|
------------- |
||||||
|
|
||||||
|
function CP_Switches return CP_Switches_Type is |
||||||
|
(CP_Switches_Type' |
||||||
|
(Power => MMS.F_PT.F_CM.Input.On_OFF_Push_Button, -- ??? |
||||||
|
Mode => MMS.F_PT.F_CM.Input.Mode_Switch, |
||||||
|
Bay => MMS.F_PT.F_CM.Input.Bay_Switch, |
||||||
|
Start => MMS.F_PT.F_CM.Input.Start_Push_Button, |
||||||
|
Rotactor_1 => 1, -- ??? |
||||||
|
Rotactor_2 => 1)); -- ??? |
||||||
|
|
||||||
|
function CP_Displays return CP_Displays_Type is |
||||||
|
(CP_Displays_Type' |
||||||
|
(Ready => True, -- This register is not loaded at increment 1 |
||||||
|
Cancelled => MMS.F_PT.F_CM.Input.Mission_Cancelled, |
||||||
|
Complete => MMS.F_PT.F_CM.Input.Mission_Complete, |
||||||
|
Aborted => MMS.F_PT.F_CM.Input.Mission_Aborted, |
||||||
|
Primary_Source => MMS.F_PT.F_CM.Input.Primary_Source, |
||||||
|
Secondary_Source => MMS.F_PT.F_CM.Input.Secondary_Source)); |
||||||
|
|
||||||
|
function Propulsion_Energy return Propulsion_Energy_Type is |
||||||
|
(Propulsion_Energy_Type' |
||||||
|
(Primary_Source_Capacity => 1, -- ??? |
||||||
|
Secondary_Source_Capacity => 1)); -- ??? |
||||||
|
|
||||||
|
function Mission_Cancelled return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Input.Mission_Cancelled; |
||||||
|
|
||||||
|
function Mission_Complete return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Input.Mission_Complete; |
||||||
|
|
||||||
|
function Mission_Aborted return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Input.Mission_Aborted; |
||||||
|
|
||||||
|
function Primary_Source return Source_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Primary_Source; |
||||||
|
|
||||||
|
function Secondary_Source return Source_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Secondary_Source; |
||||||
|
|
||||||
|
function Propulsion_Torque return Torque_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Propulsion_Torque; |
||||||
|
|
||||||
|
function Braking_Torque return Torque_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Braking_Torque; |
||||||
|
|
||||||
|
------------- |
||||||
|
-- To F_MM -- |
||||||
|
------------- |
||||||
|
|
||||||
|
function Navigation_Parameters return Navigation_Parameters_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Navigation_Parameters; |
||||||
|
|
||||||
|
function Navigation_Mode return Navigation_Mode_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Navigation_Mode; |
||||||
|
|
||||||
|
function Navigation_Option return Navigation_Option_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Navigation_Option; |
||||||
|
|
||||||
|
function Go return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Input.Go; |
||||||
|
|
||||||
|
function Emergency_Landing return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Input.Emergency_Landing; |
||||||
|
|
||||||
|
function On_OFF_Push_Button return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Input.On_OFF_Push_Button; |
||||||
|
|
||||||
|
function Start_Push_Button return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Input.Start_Push_Button; |
||||||
|
|
||||||
|
function Mode_Switch return Navigation_Mode_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Mode_Switch; |
||||||
|
|
||||||
|
function Bay_Switch return Bay_Switch_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Bay_Switch; |
||||||
|
|
||||||
|
function Payload_Mass return Payload_Mass_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Payload_Mass; |
||||||
|
|
||||||
|
function USB_Key return Navigation_Parameters_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.USB_Key; |
||||||
|
|
||||||
|
------------- |
||||||
|
-- To F_FC -- |
||||||
|
------------- |
||||||
|
|
||||||
|
function P return Distance_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.P; |
||||||
|
|
||||||
|
function P_Dot return Speed_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.P_Dot; |
||||||
|
|
||||||
|
function Q return Altitude_Type |
||||||
|
renames MMS.F_PT.F_CM.Input.Q; |
||||||
|
|
||||||
|
end MMS.F_PT.F_CM.Output; |
@ -0,0 +1,5 @@ |
|||||||
|
package MMS.F_PT.F_CM is |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end MMS.F_PT.F_CM; |
@ -0,0 +1,23 @@ |
|||||||
|
with MMS.F_PT.F_FC.Output; |
||||||
|
with MMS.F_PT.F_CM.Output; |
||||||
|
|
||||||
|
package MMS.F_PT.F_EM.Input is |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_FC -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Propulsion_Torque return Torque_Type |
||||||
|
renames MMS.F_PT.F_FC.Output.Propulsion_Torque; |
||||||
|
|
||||||
|
function Braking_Torque return Torque_Type |
||||||
|
renames MMS.F_PT.F_FC.Output.Propulsion_Torque; |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_CM -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function P_Dot return Speed_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.P_Dot; |
||||||
|
|
||||||
|
end MMS.F_PT.F_EM.Input; |
@ -0,0 +1,17 @@ |
|||||||
|
package MMS.F_PT.F_EM.Output is |
||||||
|
|
||||||
|
------------- |
||||||
|
-- To F_CM -- |
||||||
|
------------- |
||||||
|
|
||||||
|
function Primary_Source return Source_Type; |
||||||
|
|
||||||
|
function Secondary_Source return Source_Type; |
||||||
|
|
||||||
|
------------- |
||||||
|
-- To F_MM -- |
||||||
|
------------- |
||||||
|
|
||||||
|
function Energy_Level return Energy_Level_Type; |
||||||
|
|
||||||
|
end MMS.F_PT.F_EM.Output; |
@ -0,0 +1,5 @@ |
|||||||
|
package MMS.F_PT.F_EM is |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end MMS.F_PT.F_EM; |
@ -0,0 +1,38 @@ |
|||||||
|
with MMS.F_PT.F_CM.Output; |
||||||
|
with MMS.F_PT.F_MM.Output; |
||||||
|
|
||||||
|
package MMS.F_PT.F_FC.Input is |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_CM -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function P return Distance_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.P; |
||||||
|
|
||||||
|
function P_Dot return Speed_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.P_Dot; |
||||||
|
|
||||||
|
function Q return Altitude_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Q; |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_MM -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Start_Take_Off return Boolean |
||||||
|
renames MMS.F_PT.F_MM.Output.Start_Take_Off; |
||||||
|
|
||||||
|
function Start_Landing return Boolean |
||||||
|
renames MMS.F_PT.F_MM.Output.Start_Landing; |
||||||
|
|
||||||
|
function Operating_Point return Operating_Point_Type |
||||||
|
renames MMS.F_PT.F_MM.Output.Operating_Point; |
||||||
|
|
||||||
|
function Operating_Mode return Navigation_Option_Type |
||||||
|
renames MMS.F_PT.F_MM.Output.Operating_Mode; |
||||||
|
|
||||||
|
function Mission_Range return Current_Range_Type |
||||||
|
renames MMS.F_PT.F_MM.Output.Mission_Range; |
||||||
|
|
||||||
|
end MMS.F_PT.F_FC.Input; |
@ -0,0 +1,25 @@ |
|||||||
|
package MMS.F_PT.F_FC.Output is |
||||||
|
|
||||||
|
---------------------- |
||||||
|
-- To F_CM and F_EM -- |
||||||
|
---------------------- |
||||||
|
|
||||||
|
function Propulsion_Torque return Torque_Type; |
||||||
|
|
||||||
|
function Braking_Torque return Torque_Type; |
||||||
|
|
||||||
|
------------- |
||||||
|
-- To F_MM -- |
||||||
|
------------- |
||||||
|
|
||||||
|
function Mission_Abort return Boolean; -- ??? not listed in F_FC outputs |
||||||
|
|
||||||
|
function Estimated_Total_Mass return Estimated_Total_Mass_Type; |
||||||
|
|
||||||
|
function Current_Range return Current_Range_Type; |
||||||
|
|
||||||
|
function Current_Speed return Current_Speed_Type; |
||||||
|
|
||||||
|
function Current_Altitude return Current_Altitude_Type; |
||||||
|
|
||||||
|
end MMS.F_PT.F_FC.Output; |
@ -0,0 +1,5 @@ |
|||||||
|
package MMS.F_PT.F_FC is |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end MMS.F_PT.F_FC; |
@ -0,0 +1,72 @@ |
|||||||
|
with MMS.F_PT.F_CM.Output; |
||||||
|
with MMS.F_PT.F_FC.Output; |
||||||
|
with MMS.F_PT.F_EM.Output; |
||||||
|
with MMS.F_PT.Input; |
||||||
|
|
||||||
|
package MMS.F_PT.F_MM.Input is |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_CM -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Navigation_Parameters return Navigation_Parameters_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Navigation_Parameters; |
||||||
|
|
||||||
|
function Navigation_Mode return Navigation_Mode_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Navigation_Mode; |
||||||
|
|
||||||
|
function Navigation_Option return Navigation_Option_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Navigation_Option; |
||||||
|
|
||||||
|
function Go return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Output.Go; |
||||||
|
|
||||||
|
function On_OFF_Push_Button return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Output.On_OFF_Push_Button; |
||||||
|
|
||||||
|
function Start_Push_Button return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Output.Start_Push_Button; |
||||||
|
|
||||||
|
function Mode_Switch return Navigation_Mode_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Mode_Switch; |
||||||
|
|
||||||
|
function Bay_Switch return Bay_Switch_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Bay_Switch; |
||||||
|
|
||||||
|
function Payload_Mass return Payload_Mass_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Payload_Mass; |
||||||
|
|
||||||
|
function USB_Key return Navigation_Parameters_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.USB_Key; |
||||||
|
|
||||||
|
----------------------- |
||||||
|
-- From F_FC or F_EL -- |
||||||
|
----------------------- |
||||||
|
|
||||||
|
function Mission_Abort return Boolean is |
||||||
|
(MMS.F_PT.F_FC.Output.Mission_Abort or else MMS.F_PT.Input.Mission_Abort); |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_FC -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Estimated_Total_Mass return Estimated_Total_Mass_Type |
||||||
|
renames MMS.F_PT.F_FC.Output.Estimated_Total_Mass; |
||||||
|
|
||||||
|
function Current_Range return Current_Range_Type |
||||||
|
renames MMS.F_PT.F_FC.Output.Current_Range; |
||||||
|
|
||||||
|
function Current_Speed return Current_Speed_Type |
||||||
|
renames MMS.F_PT.F_FC.Output.Current_Speed; |
||||||
|
|
||||||
|
function Current_Altitude return Current_Altitude_Type |
||||||
|
renames MMS.F_PT.F_FC.Output.Current_Altitude; |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_EM -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Energy_Level return Energy_Level_Type |
||||||
|
renames MMS.F_PT.F_EM.Output.Energy_Level; |
||||||
|
|
||||||
|
end MMS.F_PT.F_MM.Input; |
@ -0,0 +1,33 @@ |
|||||||
|
package MMS.F_PT.F_MM.Output is |
||||||
|
|
||||||
|
------------- |
||||||
|
-- To F_CM -- |
||||||
|
-------------- |
||||||
|
|
||||||
|
function Mission_Cancelled return Boolean; |
||||||
|
|
||||||
|
function Mission_Complete return Boolean; |
||||||
|
|
||||||
|
function Mission_Aborted return Boolean; |
||||||
|
|
||||||
|
------------- |
||||||
|
-- To F_EL -- |
||||||
|
-------------- |
||||||
|
|
||||||
|
function Emergency_Landing return Boolean; |
||||||
|
|
||||||
|
------------- |
||||||
|
-- To F_FC -- |
||||||
|
------------- |
||||||
|
|
||||||
|
function Start_Take_Off return Boolean; |
||||||
|
|
||||||
|
function Start_Landing return Boolean; |
||||||
|
|
||||||
|
function Operating_Point return Operating_Point_Type; |
||||||
|
|
||||||
|
function Operating_Mode return Navigation_Option_Type; |
||||||
|
|
||||||
|
function Mission_Range return Current_Range_Type; -- ??? which distance type |
||||||
|
|
||||||
|
end MMS.F_PT.F_MM.Output; |
@ -0,0 +1,5 @@ |
|||||||
|
package MMS.F_PT.F_MM is |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end MMS.F_PT.F_MM; |
@ -0,0 +1,59 @@ |
|||||||
|
with MMS.Input; |
||||||
|
with MMS.F_EL.Output; |
||||||
|
|
||||||
|
package MMS.F_PT.Input is |
||||||
|
|
||||||
|
-------------- |
||||||
|
-- From MMS -- |
||||||
|
-------------- |
||||||
|
|
||||||
|
function Navigation_Parameters return Navigation_Parameters_Type |
||||||
|
renames MMS.Input.Navigation_Parameters; |
||||||
|
|
||||||
|
function Navigation_Mode return Navigation_Mode_Type |
||||||
|
renames MMS.Input.Navigation_Mode; |
||||||
|
|
||||||
|
function Navigation_Option return Navigation_Option_Type |
||||||
|
renames MMS.Input.Navigation_Option; |
||||||
|
|
||||||
|
function Go return Boolean |
||||||
|
renames MMS.Input.Go; |
||||||
|
|
||||||
|
function Emergency_Landing return Boolean |
||||||
|
renames MMS.Input.Emergency_Landing; |
||||||
|
|
||||||
|
function On_OFF_Push_Button return Boolean |
||||||
|
renames MMS.Input.On_OFF_Push_Button; |
||||||
|
|
||||||
|
function Start_Push_Button return Boolean |
||||||
|
renames MMS.Input.Start_Push_Button; |
||||||
|
|
||||||
|
function Mode_Switch return Navigation_Mode_Type |
||||||
|
renames MMS.Input.Mode_Switch; |
||||||
|
|
||||||
|
function Bay_Switch return Bay_Switch_Type |
||||||
|
renames MMS.Input.Bay_Switch; |
||||||
|
|
||||||
|
function Payload_Mass return Payload_Mass_Type |
||||||
|
renames MMS.Input.Payload_Mass; |
||||||
|
|
||||||
|
function USB_Key return Navigation_Parameters_Type |
||||||
|
renames MMS.Input.USB_Key; |
||||||
|
|
||||||
|
function P return Distance_Type |
||||||
|
renames MMS.Input.P; |
||||||
|
|
||||||
|
function P_Dot return Speed_Type |
||||||
|
renames MMS.Input.P_Dot; |
||||||
|
|
||||||
|
function Q return Altitude_Type |
||||||
|
renames MMS.Input.Q; |
||||||
|
|
||||||
|
--------------- |
||||||
|
-- From F_EL -- |
||||||
|
--------------- |
||||||
|
|
||||||
|
function Mission_Abort return Boolean |
||||||
|
renames MMS.F_EL.Output.Mission_Abort; |
||||||
|
|
||||||
|
end MMS.F_PT.Input; |
@ -0,0 +1,47 @@ |
|||||||
|
with MMS.F_PT.F_CM.Output; |
||||||
|
with MMS.F_PT.F_MM.Output; |
||||||
|
|
||||||
|
package MMS.F_PT.Output is |
||||||
|
|
||||||
|
----------- |
||||||
|
--To MMS -- |
||||||
|
----------- |
||||||
|
|
||||||
|
function CP_Switches return CP_Switches_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.CP_Switches; |
||||||
|
|
||||||
|
function CP_Displays return CP_Displays_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.CP_Displays; |
||||||
|
|
||||||
|
function Propulsion_Energy return Propulsion_Energy_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Propulsion_Energy; |
||||||
|
|
||||||
|
function Mission_Cancelled return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Output.Mission_Cancelled; |
||||||
|
|
||||||
|
function Mission_Complete return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Output.Mission_Complete; |
||||||
|
|
||||||
|
function Mission_Aborted return Boolean |
||||||
|
renames MMS.F_PT.F_CM.Output.Mission_Aborted; |
||||||
|
|
||||||
|
function Primary_Source return Source_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Primary_Source; |
||||||
|
|
||||||
|
function Secondary_Source return Source_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Secondary_Source; |
||||||
|
|
||||||
|
function Propulsion_Torque return Torque_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Propulsion_Torque; |
||||||
|
|
||||||
|
function Braking_Torque return Torque_Type |
||||||
|
renames MMS.F_PT.F_CM.Output.Braking_Torque; |
||||||
|
|
||||||
|
-------------- |
||||||
|
-- To F_EL -- |
||||||
|
-------------- |
||||||
|
|
||||||
|
function Emergency_Landing return Boolean |
||||||
|
renames MMS.F_PT.F_MM.Output.Emergency_Landing; |
||||||
|
|
||||||
|
end MMS.F_PT.Output; |
@ -0,0 +1,5 @@ |
|||||||
|
package MMS.F_PT is |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end MMS.F_PT; |
@ -0,0 +1,43 @@ |
|||||||
|
package MMS.Input is |
||||||
|
|
||||||
|
------------------------------------------------------ |
||||||
|
-- Ground-based Mission Preparation and Supervision -- |
||||||
|
------------------------------------------------------ |
||||||
|
|
||||||
|
function Navigation_Parameters return Navigation_Parameters_Type; |
||||||
|
|
||||||
|
function Navigation_Mode return Navigation_Mode_Type; |
||||||
|
|
||||||
|
function Navigation_Option return Navigation_Option_Type; |
||||||
|
|
||||||
|
function Go return Boolean; |
||||||
|
|
||||||
|
function Emergency_Landing return Boolean; |
||||||
|
|
||||||
|
-------------------------------------------------- |
||||||
|
-- AV-based Mission Preparation (Control Panel) -- |
||||||
|
-------------------------------------------------- |
||||||
|
|
||||||
|
function On_OFF_Push_Button return Boolean; |
||||||
|
|
||||||
|
function Start_Push_Button return Boolean; |
||||||
|
|
||||||
|
function Mode_Switch return Navigation_Mode_Type; |
||||||
|
|
||||||
|
function Bay_Switch return Bay_Switch_Type; |
||||||
|
|
||||||
|
function Payload_Mass return Payload_Mass_Type; |
||||||
|
|
||||||
|
function USB_Key return Navigation_Parameters_Type; |
||||||
|
|
||||||
|
------------------------- |
||||||
|
-- Physical Parameters -- |
||||||
|
------------------------- |
||||||
|
|
||||||
|
function P return Distance_Type; |
||||||
|
|
||||||
|
function P_Dot return Speed_Type; |
||||||
|
|
||||||
|
function Q return Altitude_Type; |
||||||
|
|
||||||
|
end MMS.Input; |
@ -0,0 +1,45 @@ |
|||||||
|
with MMS.F_PT.Output; |
||||||
|
|
||||||
|
package MMS.Output is |
||||||
|
|
||||||
|
------------------------------------- |
||||||
|
-- Ground-based Mission Monitoring -- |
||||||
|
------------------------------------- |
||||||
|
|
||||||
|
function CP_Switches return CP_Switches_Type |
||||||
|
renames MMS.F_PT.Output.CP_Switches; |
||||||
|
|
||||||
|
function CP_Displays return CP_Displays_Type |
||||||
|
renames MMS.F_PT.Output.CP_Displays; |
||||||
|
|
||||||
|
function Propulsion_Energy return Propulsion_Energy_Type |
||||||
|
renames MMS.F_PT.Output.Propulsion_Energy; |
||||||
|
|
||||||
|
---------------------------- |
||||||
|
-- Control Panel Displays -- |
||||||
|
---------------------------- |
||||||
|
|
||||||
|
function Mission_Cancelled return Boolean |
||||||
|
renames MMS.F_PT.Output.Mission_Cancelled; |
||||||
|
|
||||||
|
function Mission_Complete return Boolean |
||||||
|
renames MMS.F_PT.Output.Mission_Complete; |
||||||
|
|
||||||
|
function Mission_Aborted return Boolean |
||||||
|
renames MMS.F_PT.Output.Mission_Aborted; |
||||||
|
|
||||||
|
function Primary_Source return Source_Type |
||||||
|
renames MMS.F_PT.Output.Primary_Source; |
||||||
|
|
||||||
|
function Secondary_Source return Source_Type |
||||||
|
renames MMS.F_PT.Output.Secondary_Source; |
||||||
|
|
||||||
|
------------------------- |
||||||
|
-- Physical Parameters -- |
||||||
|
------------------------- |
||||||
|
|
||||||
|
function Propulsion_Torque return Torque_Type; |
||||||
|
|
||||||
|
function Braking_Torque return Torque_Type; |
||||||
|
|
||||||
|
end MMS.Output; |
@ -0,0 +1,95 @@ |
|||||||
|
-- The structure of the MMS system has been created from the System |
||||||
|
-- Requirements document following the pattern below: |
||||||
|
-- * Components are packages. |
||||||
|
-- * Sub-Components are child packages. |
||||||
|
-- * Inputs and outputs are functions stored in child packages Comp.Input and |
||||||
|
-- Comp.Output. |
||||||
|
-- * Connections between inputs and outputs of various components are done |
||||||
|
-- using renamings (or eventually expression functions when necessary). |
||||||
|
-- Consistency of the component architecture is ensured by following the |
||||||
|
-- rules below: |
||||||
|
-- - An input package Comp.Subcomp.Input can only reference outputs of |
||||||
|
-- siblings Comp.*.Output or inputs of parent Comp.Input. |
||||||
|
-- - An output package Comp.Output can only reference its own inputs |
||||||
|
-- Comp.Input or outputs of its children Comp.Subcomp.Output. |
||||||
|
-- - In subcomponents, inputs and outputs are grouped within sections |
||||||
|
-- with a header specifying to which component(s) they are linked. |
||||||
|
|
||||||
|
package MMS is |
||||||
|
|
||||||
|
---------------------------------- |
||||||
|
-- Types for inputs and outputs -- |
||||||
|
---------------------------------- |
||||||
|
|
||||||
|
type Distance_Input_Type is range 1 .. 100; -- in n.m |
||||||
|
|
||||||
|
type Speed_Input_Type is range 1 .. 250; -- in k.t |
||||||
|
|
||||||
|
type Altitude_Input_Type is range -500 .. 3000; -- in ft |
||||||
|
|
||||||
|
type Navigation_Parameters_Type is record |
||||||
|
Distance : Distance_Input_Type; |
||||||
|
Speed : Speed_Input_Type; |
||||||
|
Altitude : Altitude_Input_Type; |
||||||
|
end record; |
||||||
|
|
||||||
|
type Navigation_Mode_Type is (RP, A); |
||||||
|
|
||||||
|
type Navigation_Option_Type is (SPEED, ALTITUDE, ENERGY); |
||||||
|
|
||||||
|
type Bay_Switch_Type is (OPEN, CLOSED); |
||||||
|
|
||||||
|
type Payload_Mass_Type is delta 0.1 range 1.0 .. 5.0; -- ??? in kg |
||||||
|
|
||||||
|
type Distance_Type is new Float; -- in n.m |
||||||
|
|
||||||
|
type Speed_Type is new Float; -- in k.t |
||||||
|
|
||||||
|
type Altitude_Type is new Float; -- in ft |
||||||
|
|
||||||
|
type Rotactor_Type is range 1 .. 9; |
||||||
|
|
||||||
|
type CP_Switches_Type is record |
||||||
|
Power : Boolean; |
||||||
|
Mode : Navigation_Mode_Type; |
||||||
|
Bay : Bay_Switch_Type; |
||||||
|
Start : Boolean; |
||||||
|
Rotactor_1 : Rotactor_Type; |
||||||
|
Rotactor_2 : Rotactor_Type; |
||||||
|
end record; |
||||||
|
|
||||||
|
type Source_Type is range 1 .. 100; |
||||||
|
|
||||||
|
type CP_Displays_Type is record |
||||||
|
Ready : Boolean; |
||||||
|
Cancelled : Boolean; |
||||||
|
Complete : Boolean; |
||||||
|
Aborted : Boolean; -- ??? |
||||||
|
Primary_Source : Source_Type; |
||||||
|
Secondary_Source : Source_Type; |
||||||
|
end record; |
||||||
|
|
||||||
|
type Source_Capacity_Type is range 1 .. 99_999; |
||||||
|
|
||||||
|
type Propulsion_Energy_Type is record |
||||||
|
Primary_Source_Capacity : Source_Capacity_Type; |
||||||
|
Secondary_Source_Capacity : Source_Capacity_Type; |
||||||
|
end record; |
||||||
|
|
||||||
|
type Torque_Type is delta 0.0001 range -10.0E6 .. 10.0E6; -- ??? |
||||||
|
|
||||||
|
type Current_Range_Type is range 1 .. 1_000_000; -- in meters |
||||||
|
|
||||||
|
type Current_Speed_Type is range 1 .. 500; -- in km/h |
||||||
|
|
||||||
|
type Current_Altitude_Type is range -200 .. 1_000; -- in meters |
||||||
|
|
||||||
|
type Estimated_Total_Mass_Type is delta 0.1 range 5.0 .. 10.0; -- in kg ??? |
||||||
|
|
||||||
|
type Energy_Level_Type is range 0 .. 500; -- in kj |
||||||
|
|
||||||
|
type Operating_Point_Type is record |
||||||
|
Altitude : Current_Altitude_Type; -- ??? which altitude type |
||||||
|
Speed : Current_Speed_Type; -- ??? which speed type |
||||||
|
end record; |
||||||
|
end MMS; |
Loading…
Reference in new issue