Commit f5ffebba authored by TASTE User's avatar TASTE User
Browse files

add cpdu data types

parent e50659ed
This diff is collapsed.
Distribute-CPDU-Commands-Generic DEFINITIONS ::= BEGIN
END
Taps DEFINITIONS ::= BEGIN
APID[encoding pos-int, encode-values, size 11]
APUserID[encoding pos-int, encode-values, size 16]
CPDU-output-line-ID[]
CPDU-Id[]
CPDU-Ids[]
Pulse-Instr-Instance[] {
output-line-id [],
reserved NULL [pattern '0'B],
duration-exp-value []
}
TC-2-4 []
TYPE8b-ID[encoding pos-int, size 8]
TC[]{
TCs <TYPE8b-ID: tc-type, TYPE8b-ID: tc-subtype> [] {
tc2-4 [present-when tc-type==2 tc-subtype==4]
}
Telecommand[]{
packet-version-no NULL [pattern '000'B],
packet-type NULL [pattern '1'B], -- 1 for TC, 0 for TM
has-secondary-hdr NULL [pattern '1'B], -- !!! 0 for cpdu packets
......@@ -23,10 +32,13 @@ Taps DEFINITIONS ::= BEGIN
ack-successful-progress [],
ack-successful-start [],
ack-successful-acceptance [],
--service-type-id TYPE8b-ID [],
--service-subtype-id TYPE8b-ID [],
service-type-id TYPE8b-ID [],
service-subtype-id TYPE8b-ID [],
source-id []
}
},
application-data <secondary-header.service-type-id, secondary-header.service-subtype-id> [],
spare-tc NULL [pattern '00000000'B], -- TBD !!!
packet-error []
}
TM[]{
packet-version-no NULL [pattern '000'B],
......
PUS-Implicit-Knowledge DEFINITIONS ::=
BEGIN
TC-type {APID, APUserID} ::= SEQUENCE {
TC-type {APID, APUserID, TCs} ::= SEQUENCE {
dest-apid APID,
sequence-count INTEGER(0..16383),
packet-length INTEGER(0..65535),
secondary-header TC-Secondary-Header {APUserID}
secondary-header TC-Secondary-Header {APUserID},
application-data TCs,
packet-error INTEGER(0..65535)
}
TM-type {APID} ::= SEQUENCE {
......@@ -30,13 +32,24 @@ BEGIN
Pulse-Instruction {CPDU-OUTPUT-IDENTIFIER} ::= SEQUENCE {
output-line-id CPDU-OUTPUT-IDENTIFIER,
duration-exp-value INTEGER (0..7) }
duration-exp-value INTEGER (0..7)
}
CPDU-Command {CPDU-Identifier, Pulse-Instruction, INTEGER: max-Instr-No} ::= SEQUENCE {
cpdu-id CPDU-Identifier OPTIONAL,
cmd-pulse-instr SEQUENCE (SIZE (1..max-Instr-No)) OF Pulse-Instruction
}
-- TC[2,4] application data
Distribute-CPDU-Commands { CPDU-Cmd, INTEGER:max-Cpdu-Cmds } ::= SEQUENCE (SIZE (1..max-Cpdu-Cmds)) OF CPDU-Cmd
END
Taps DEFINITIONS ::=
BEGIN
IMPORTS Pulse-Instruction
IMPORTS Pulse-Instruction,
CPDU-Command,
Distribute-CPDU-Commands
FROM Distribute-CPDU-Commands-Generic
TC-type,
TM-type
......@@ -64,15 +77,29 @@ APUserID ::= ENUMERATED { --let ACN manage the "16 bits" constraint
-- CPDU output Identifier defined in 9.2.1d
CPDU-output-line-ID ::= INTEGER { cpdu-line1(1), cpdu-line2(2)} (0..4095)
CPDU-Id ::= ENUMERATED { cpdu-id-1, cpdu-id-2 }
CPDU-Ids ::= ENUMERATED { cpdu-id-1, cpdu-id-2 }
Pulse-Instr-Instance ::= Pulse-Instruction { CPDU-output-line-ID }
-- Maximum number of command pulse instructions (project specific) (PUS-C, clause 9.2.1.g)
max-Instr-No INTEGER (12 .. 504) ::= 12
-- Maximum number of CPDU commands (!bounds constraints not found in PUS-C)
max-CPDU-Cmds INTEGER (1..128) ::= 2
CPDU-Cmd ::= CPDU-Command {CPDU-Ids, Pulse-Instr-Instance, max-Instr-No}
(WITH COMPONENTS {..., cpdu-id PRESENT})
-- Instantiate the TC-2-4
TC-2-4 ::= Distribute-CPDU-Commands {CPDU-Cmd, max-CPDU-Cmds}
-- Instantiate the project list of TC
TCs ::= CHOICE {
tc2-4 TC-2-4
}
-- Instantiate the generic TC-type
Telecommand ::= TC-type{APID, APUserID, TCs}
-- Instantiate the Telecommand type
TC ::= TC-type{APID, APUserID}
-- Instantiate the Telemetry type
TM ::= TM-type{APID}
......
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