Commit 425fc9bc authored by Daniel Tonoiu's avatar Daniel Tonoiu
Browse files

HK service: Periodically generate HK parameter reports; one shot report for HK report structures

parent 4bdc66bd
This diff is collapsed.
......@@ -83,10 +83,15 @@ END
-- Generic definition of HK service
HK-Service-Structures DEFINITIONS ::=
BEGIN
Simply-HK-IDs{INTEGER: n1-max, Simply-HK-Parameter-ID} ::= SEQUENCE (SIZE (0..n1-max)) OF Simply-HK-Parameter-ID
Super-HK-Sets{INTEGER: nfa-max, Super-HK-Parameter-Set} ::= SEQUENCE (SIZE (0..nfa-max)) OF Super-HK-Parameter-Set
Simply-HK-IDs{INTEGER: n1-max, Simply-HK-Parameter-ID} ::= SEQUENCE (SIZE (1..n1-max)) OF Simply-HK-Parameter-ID
-- the super commutated HK parameter set IDs
Super-HK-Parameter-Set{INTEGER: n2-max, Super-HK-Parameter-ID} ::= SEQUENCE (SIZE (1..n2-max)) OF Super-HK-Parameter-ID
Super-HK-Parameter-Set{SCSR-No, INTEGER: n2-max, Super-HK-Parameter-ID} ::= SEQUENCE {
scsrNo SCSR-No,
super-HK-Param-IDs SEQUENCE (SIZE (1..n2-max)) OF Super-HK-Parameter-ID
}
-- TC[3,1] create HK parameter report structure
Build-HK-Structure{HK-structure-ID, Collection-Interval, INTEGER: n1-max, Simply-HK-Parameter-ID, INTEGER: nfa-max, Super-HK-Parameter-Set} ::= SEQUENCE {
hk-struct-id HK-structure-ID,
......@@ -113,9 +118,12 @@ BEGIN
Change-HK-CollectionInterval{INTEGER: max-Instr-No, HK-CollectionInterval} ::= SEQUENCE (SIZE (1..max-Instr-No)) OF HK-CollectionInterval
-- TM[3,25] housekeeping parameter report
HK-Parameter-Report{HK-Structure-ID, Parameter-Value, INTEGER: no-Of-ParamValues} ::= SEQUENCE {
HK-Parameters-List{INTEGER: no-Of-ParamValues, Parameter-Value} ::= SEQUENCE (SIZE (1..no-Of-ParamValues)) OF Parameter-Value
--HK-Parameter-Report{HK-Structure-ID, Parameter-Value, INTEGER: no-Of-ParamValues} ::= SEQUENCE {
HK-Parameter-Report{HK-Structure-ID, HK-Parameter-Value} ::= SEQUENCE {
hk-report-structure-id HK-Structure-ID,
paramValue SEQUENCE (SIZE (1..no-Of-ParamValues)) OF Parameter-Value
paramsList HK-Parameter-Value
}
END
......@@ -141,6 +149,7 @@ FROM PUS-Implicit-Knowledge
Manage-HK-Structures,
Change-HK-CollectionInterval,
HK-CollectionInterval,
HK-Parameters-List,
HK-Parameter-Report
FROM HK-Service-Structures;
......@@ -207,31 +216,33 @@ TC-2-4 ::= Distribute-CPDU-Commands {CPDU-Cmd, max-CPDU-Cmds}
-- instantiate HK service data structures
-- collection interval parameter, units of MSI - minimum sampling interval
max-CollectionInterval INTEGER (1..256) ::= 100
max-CollectionInterval INTEGER (1..256) ::= 10
msi INTEGER(1..256) ::= 1 -- the minimum sampling interval
Collection-Interval-Inst ::= INTEGER(msi..max-CollectionInterval)
-- N1 - the number of simply commutated HK parameters
-- the maximum number of simply commutated HK parameters
n1-simply-HK INTEGER(0..255) ::= 2
-- N2 - the number of super commutated HK parameters
-- the maximum number of super commutated HK parameters
n2-super-HK INTEGER(0..255) ::= 2
-- the maximum no. of HK parameter report structures: (N1 * N2) -1 ; N1 or N2 can be zero but not both of them; the no of sets can also vary
-- the maximum no. of HK parameter report structures
maxNo-HK-structures INTEGER(0..255) ::= 8
HK-def-Counter ::= INTEGER (1..maxNo-HK-structures)
SimplyHK-Index ::= INTEGER (1..n1-simply-HK)
-- nfa-max: the maximum no. of HK supercommutated parameters sets
nfa-max-inst INTEGER(0..255) ::= n2-super-HK -- a super commutated HK parameter must be unique in a HK structure definition
--nfa-max-inst ::= INTEGER(msi..max-CollectionInterval )
Super-Sets-Index ::= INTEGER (1..nfa-max-inst) -- count the HK super commutated params sets
Super-HK-Index ::= INTEGER (1..n2-super-HK) -- count the HK super commutated parameters in each set
-- the HK parameter report structure ID
--HK-structure-ID-inst ::= INTEGER(0..255)
HK-structure-ID-inst ::= ENUMERATED { x0y1(0), x0y2(1), x1y0(2), x1y1(3), x1y2(4), x2y0(5), x2y1(6), x2y2(7)}
HK-structure-ID-inst ::= ENUMERATED { hk-def-01(0), hk-def-02(1), hk-def-03(2), hk-def-04(3), hk-def-05(4), hk-def-06(5), hk-def-07(6), hk-def-08(7)}
-- the HK simply commutated HK parameters IDs enumeration
Simply-HK-Parameters-IDs-inst ::= ENUMERATED {cpdu1-ID(1), cpdu2-ID(2)}
-- the HK simply commutated HK parameters IDs enumeration
Super-HK-Parameters-IDs-inst ::= ENUMERATED{s1-ID(3), s2-ID(4)}
-- Instantiate the super commutated HK parameter set IDs
Super-HK-Parameter-Set-Inst ::= Super-HK-Parameter-Set{n2-super-HK, Super-HK-Parameters-IDs-inst}
Super-HK-Parameter-Set-Inst ::= Super-HK-Parameter-Set{Collection-Interval-Inst, n2-super-HK, Super-HK-Parameters-IDs-inst}
-- Instantiate the TC-3-1 create HK parameter report structures
TC-3-1 ::= Build-HK-Structure{HK-structure-ID-inst, Collection-Interval-Inst, n1-simply-HK, Simply-HK-Parameters-IDs-inst , nfa-max-inst, Super-HK-Parameter-Set-Inst }
-- Instantiate the HK Report definition
......@@ -254,9 +265,16 @@ TC-3-31 ::= Change-HK-CollectionInterval{maxNo-HK-structures, HK-CollectionInter
TM-3-10 ::= HK-Report-Structure{HK-structure-ID-inst, Collection-Interval-Inst, n1-simply-HK, Simply-HK-Parameters-IDs-inst , nfa-max-inst, Super-HK-Parameter-Set-Inst } (WITH COMPONENTS {..., periodic-status PRESENT})
-- instantiate TM[3,25] housekeeping parameter report
Parameter-Value-inst ::= ENUMERATED { on, off, s1v1, s1v2, s1v3, s2v1, s2v2, s2v3}
no-Of-ParamValues INTEGER ::= 8
TM-3-25 ::= HK-Parameter-Report{HK-structure-ID-inst , Parameter-Value-inst, no-Of-ParamValues }
-- no-Of-ParamValues = no_of_simply_commutated parameters + (max-CollectionInterval * no_of_super_commutated parameters)
no-Of-ParamValues INTEGER ::= 22
HK-Parameter-Report-Index ::= INTEGER (1..no-Of-ParamValues)
HK-Parameters-List-inst ::= HK-Parameters-List{no-Of-ParamValues, Parameter-Value-inst}
TM-3-25 ::= HK-Parameter-Report{HK-structure-ID-inst , HK-Parameters-List-inst}
-- store the HK parameters for multiple active HK definitions
HK-Def-Params-List ::= SEQUENCE (SIZE (1..maxNo-HK-structures)) OF HK-Parameters-List-inst
IndexHKdef ::= INTEGER (1..maxNo-HK-structures)
CPDU-status ::= ENUMERATED {
off(0),
......@@ -297,7 +315,8 @@ Start-Exec-failure-codes ::= ENUMERATED {
startExecFailed(1),
hk-def-already-present(2),
hk-def-not-present(3),
hk-def-enabled(4)
hk-def-enabled(4),
hk-param-duplicated
}
Progress-Exec-failure-codes ::= ENUMERATED {
noFailure(0),
......@@ -468,9 +487,15 @@ MyOctStr ::= OCTET STRING (SIZE (3))
-- You can also declare constants
myVar MySeqOf ::= { hello, world }
--===========================================
-- project specific data
OutputString ::= OCTET STRING (SIZE (0..100))
maxT-UInt32 T-UInt32 ::= 4294967295
-- used by the SDL delay procedure
delayValue T-UInt32 ::= 1000000
END
......@@ -534,6 +559,36 @@ END
......
This diff is collapsed.
8c0215caf6e72f70b1f844529c6e199a InterfaceView.aadl
7262d73651d1a611baf85f31a4daa62b InterfaceView.aadl
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -51,7 +51,7 @@ PROCEDURE asn1SccT_Int32_uPER_Decode_aux(val: out asn1SccT_Int32; S : in adaasn1
--# pre K.K+1>= S'First and K.K + asn1SccT_Int32_REQUIRED_BITS_FOR_ENCODING <= S'Last;
--# post K.K>=K~.K and K.K<=K~.K+asn1SccT_Int32_REQUIRED_BITS_FOR_ENCODING;
ERR_asn1SccT_Int32:CONSTANT INTEGER := 1086; -- (-2147483648 .. 2147483647)
ERR_asn1SccT_Int32:CONSTANT INTEGER := 1092; -- (-2147483648 .. 2147483647)
-----------------------------------------------------------asn1SccT_UInt32-------------------------------------------------------------
SUBTYPE asn1SccT_UInt32 IS adaasn1rtl.Asn1Int range 0..4294967295;
......@@ -90,7 +90,7 @@ PROCEDURE asn1SccT_UInt32_uPER_Decode_aux(val: out asn1SccT_UInt32; S : in adaas
--# pre K.K+1>= S'First and K.K + asn1SccT_UInt32_REQUIRED_BITS_FOR_ENCODING <= S'Last;
--# post K.K>=K~.K and K.K<=K~.K+asn1SccT_UInt32_REQUIRED_BITS_FOR_ENCODING;
ERR_asn1SccT_UInt32:CONSTANT INTEGER := 1087; -- (0 .. 4294967295)
ERR_asn1SccT_UInt32:CONSTANT INTEGER := 1093; -- (0 .. 4294967295)
-----------------------------------------------------------asn1SccT_Int8-------------------------------------------------------------
SUBTYPE asn1SccT_Int8 IS adaasn1rtl.Asn1Int range -128..127;
......@@ -129,7 +129,7 @@ PROCEDURE asn1SccT_Int8_uPER_Decode_aux(val: out asn1SccT_Int8; S : in adaasn1rt
--# pre K.K+1>= S'First and K.K + asn1SccT_Int8_REQUIRED_BITS_FOR_ENCODING <= S'Last;
--# post K.K>=K~.K and K.K<=K~.K+asn1SccT_Int8_REQUIRED_BITS_FOR_ENCODING;
ERR_asn1SccT_Int8:CONSTANT INTEGER := 1088; -- (-128 .. 127)
ERR_asn1SccT_Int8:CONSTANT INTEGER := 1094; -- (-128 .. 127)
-----------------------------------------------------------asn1SccT_UInt8-------------------------------------------------------------
SUBTYPE asn1SccT_UInt8 IS adaasn1rtl.Asn1Int range 0..255;
......@@ -168,7 +168,7 @@ PROCEDURE asn1SccT_UInt8_uPER_Decode_aux(val: out asn1SccT_UInt8; S : in adaasn1
--# pre K.K+1>= S'First and K.K + asn1SccT_UInt8_REQUIRED_BITS_FOR_ENCODING <= S'Last;
--# post K.K>=K~.K and K.K<=K~.K+asn1SccT_UInt8_REQUIRED_BITS_FOR_ENCODING;
ERR_asn1SccT_UInt8:CONSTANT INTEGER := 1089; -- (0 .. 255)
ERR_asn1SccT_UInt8:CONSTANT INTEGER := 1095; -- (0 .. 255)
-----------------------------------------------------------asn1SccT_Boolean-------------------------------------------------------------
SUBTYPE asn1SccT_Boolean IS adaasn1rtl.Asn1Boolean;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment