Claire Dross
8 years ago
31 changed files with 336 additions and 118 deletions
@ -0,0 +1,76 @@ |
|||||||
|
with Types; use Types; |
||||||
|
|
||||||
|
package External with Abstract_State => |
||||||
|
((From_GS with External => Async_Writers), |
||||||
|
(From_CP with External => Async_Writers), |
||||||
|
(From_P_P with External => Async_Writers)) is |
||||||
|
|
||||||
|
------------------------------------------------------ |
||||||
|
-- Ground-based Mission Preparation and Supervision -- |
||||||
|
------------------------------------------------------ |
||||||
|
|
||||||
|
function Navigation_Parameters return Navigation_Parameters_Type with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_GS; |
||||||
|
|
||||||
|
function Navigation_Mode return Navigation_Mode_Type with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_GS; |
||||||
|
|
||||||
|
function Navigation_Option return Navigation_Option_Type with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_GS; |
||||||
|
|
||||||
|
function Go return Boolean with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_GS; |
||||||
|
|
||||||
|
function Emergency_Landing return Boolean with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_GS; |
||||||
|
|
||||||
|
-------------------------------------------------- |
||||||
|
-- AV-based Mission Preparation (Control Panel) -- |
||||||
|
-------------------------------------------------- |
||||||
|
|
||||||
|
function On_OFF_Push_Button return Boolean with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_CP; |
||||||
|
|
||||||
|
function Start_Push_Button return Boolean with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_CP; |
||||||
|
|
||||||
|
function Mode_Switch return Navigation_Mode_Type with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_CP; |
||||||
|
|
||||||
|
function Bay_Switch return Bay_Switch_Type with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_CP; |
||||||
|
|
||||||
|
function Payload_Mass return Payload_Mass_Type with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_CP; |
||||||
|
|
||||||
|
function USB_Key return Navigation_Parameters_Type with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_CP; |
||||||
|
|
||||||
|
------------------------- |
||||||
|
-- Physical Parameters -- |
||||||
|
------------------------- |
||||||
|
|
||||||
|
function P return Distance_Type with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_P_P; |
||||||
|
|
||||||
|
function P_Dot return Speed_Type with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_P_P; |
||||||
|
|
||||||
|
function Q return Angle_Type with |
||||||
|
Volatile_Function, |
||||||
|
Global => From_P_P; |
||||||
|
|
||||||
|
end External; |
@ -1,33 +1,38 @@ |
|||||||
package MMS.F_PT.F_MM.Output is |
with Types; use Types; |
||||||
|
|
||||||
|
package MMS.F_PT.F_MM.Output with |
||||||
|
Abstract_State => (To_F_CM, To_F_EL, To_F_FC) |
||||||
|
is |
||||||
|
|
||||||
------------- |
------------- |
||||||
-- To F_CM -- |
-- To F_CM -- |
||||||
-------------- |
-------------- |
||||||
|
|
||||||
function Mission_Cancelled return Boolean; |
function Mission_Cancelled return Boolean with Global => To_F_CM; |
||||||
|
|
||||||
function Mission_Complete return Boolean; |
function Mission_Complete return Boolean with Global => To_F_CM; |
||||||
|
|
||||||
function Mission_Aborted return Boolean; |
function Mission_Aborted return Boolean with Global => To_F_CM; |
||||||
|
|
||||||
------------- |
------------- |
||||||
-- To F_EL -- |
-- To F_EL -- |
||||||
-------------- |
-------------- |
||||||
|
|
||||||
function Emergency_Landing return Boolean; |
function Emergency_Landing return Boolean with Global => To_F_EL; |
||||||
|
|
||||||
------------- |
------------- |
||||||
-- To F_FC -- |
-- To F_FC -- |
||||||
------------- |
------------- |
||||||
|
|
||||||
function Start_Take_Off return Boolean; |
function Start_Take_Off return Boolean with Global => To_F_FC; |
||||||
|
|
||||||
function Start_Landing return Boolean; |
function Start_Landing return Boolean with Global => To_F_FC; |
||||||
|
|
||||||
function Operating_Point return Operating_Point_Type; |
function Operating_Point return Operating_Point_Type with Global => To_F_FC; |
||||||
|
|
||||||
function Operating_Mode return Navigation_Option_Type; |
function Operating_Mode return Navigation_Option_Type with Global => To_F_FC; |
||||||
|
|
||||||
function Mission_Range return Current_Range_Type; -- ??? which distance type |
function Mission_Range return Current_Range_Type with Global => To_F_FC; |
||||||
|
-- ??? which distance type |
||||||
|
|
||||||
end MMS.F_PT.F_MM.Output; |
end MMS.F_PT.F_MM.Output; |
||||||
|
@ -1,47 +1,55 @@ |
|||||||
|
with Types; use Types; |
||||||
|
with External; |
||||||
|
|
||||||
package MMS.Input is |
package MMS.Input is |
||||||
|
|
||||||
------------------------------------------------------ |
------------------------------------------------------ |
||||||
-- Ground-based Mission Preparation and Supervision -- |
-- Ground-based Mission Preparation and Supervision -- |
||||||
------------------------------------------------------ |
------------------------------------------------------ |
||||||
|
|
||||||
function Navigation_Parameters return Navigation_Parameters_Type; |
function Navigation_Parameters return Navigation_Parameters_Type |
||||||
|
renames External.Navigation_Parameters; |
||||||
|
|
||||||
function Navigation_Mode return Navigation_Mode_Type; |
function Navigation_Mode return Navigation_Mode_Type |
||||||
|
renames External.Navigation_Mode; |
||||||
|
|
||||||
function Navigation_Option return Navigation_Option_Type; |
function Navigation_Option return Navigation_Option_Type |
||||||
|
renames External.Navigation_Option; |
||||||
|
|
||||||
function Go return Boolean; |
function Go return Boolean renames External.Go; |
||||||
|
|
||||||
function Emergency_Landing return Boolean; |
function Emergency_Landing return Boolean renames External.Emergency_Landing; |
||||||
|
|
||||||
-------------------------------------------------- |
-------------------------------------------------- |
||||||
-- AV-based Mission Preparation (Control Panel) -- |
-- AV-based Mission Preparation (Control Panel) -- |
||||||
-------------------------------------------------- |
-------------------------------------------------- |
||||||
|
|
||||||
function On_OFF_Push_Button return Boolean; |
function On_OFF_Push_Button return Boolean |
||||||
|
renames External.On_OFF_Push_Button; |
||||||
function Start_Push_Button return Boolean; |
|
||||||
|
|
||||||
function Mode_Switch return Navigation_Mode_Type; |
|
||||||
|
|
||||||
function Bay_Switch return Bay_Switch_Type; |
function Start_Push_Button return Boolean |
||||||
|
renames External.Start_Push_Button; |
||||||
|
|
||||||
function Payload_Mass return Payload_Mass_Type; |
function Mode_Switch return Navigation_Mode_Type |
||||||
|
renames External.Mode_Switch; |
||||||
|
|
||||||
function USB_Key return Navigation_Parameters_Type; |
function Bay_Switch return Bay_Switch_Type |
||||||
|
renames External.Bay_Switch; |
||||||
|
|
||||||
function Rotactor_1 return Rotactor_Type; |
function Payload_Mass return Payload_Mass_Type |
||||||
|
renames External.Payload_Mass; |
||||||
|
|
||||||
function Rotactor_2 return Rotactor_Type; |
function USB_Key return Navigation_Parameters_Type |
||||||
|
renames External.USB_Key; |
||||||
|
|
||||||
------------------------- |
------------------------- |
||||||
-- Physical Parameters -- |
-- Physical Parameters -- |
||||||
------------------------- |
------------------------- |
||||||
|
|
||||||
function P return Distance_Type; |
function P return Distance_Type renames External.P; |
||||||
|
|
||||||
function P_Dot return Speed_Type; |
function P_Dot return Speed_Type renames External.P_Dot; |
||||||
|
|
||||||
function Q return Angle_Type; |
function Q return Angle_Type renames External.Q; |
||||||
|
|
||||||
end MMS.Input; |
end MMS.Input; |
||||||
|
@ -0,0 +1,63 @@ |
|||||||
|
package Types 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 new Integer range 0 .. 98; -- in kg |
||||||
|
|
||||||
|
type Distance_Type is new Float; -- type of P, unit and bounds ??? |
||||||
|
|
||||||
|
type Speed_Type is new Float; -- type of P_Dot, unit and bounds ??? |
||||||
|
|
||||||
|
type Angle_Type is new Float; -- type of Q, unit and bounds ??? |
||||||
|
|
||||||
|
type Angular_Speed_Type is new Float; -- type of Q_Dot, unit and bounds ??? |
||||||
|
|
||||||
|
type Rotactor_Type is range 0 .. 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 Propulsion_Energy_Type is record |
||||||
|
Primary_Source_Capacity : Source_Type; |
||||||
|
Secondary_Source_Capacity : Source_Type; |
||||||
|
end record; |
||||||
|
|
||||||
|
type Torque_Type is delta 0.0001 range -10.0E6 .. 10.0E6; -- ??? |
||||||
|
end Types; |
Loading…
Reference in new issue