Commit 15cf81bd authored by Daniel Tonoiu's avatar Daniel Tonoiu
Browse files

implement the time management service

parent 40a9a359
File mode changed from 100755 to 100644
This source diff could not be displayed because it is too large. You can view the blob instead.
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]
......@@ -13,26 +10,8 @@ Taps DEFINITIONS ::= BEGIN
duration-exp-value []
}
TYPE8b-ID[encoding pos-int, size 8]
TC-2-1 []
TC-2-4 []
TCs <TYPE8b-ID: tc-type, TYPE8b-ID: tc-subtype> [] {
tc2-1 [present-when tc-type==2 tc-subtype==1],
tc2-4 [present-when tc-type==2 tc-subtype==4],
tc3-1 [present-when tc-type==3 tc-subtype==1],
tc3-3 [present-when tc-type==3 tc-subtype==3],
tc3-5 [present-when tc-type==3 tc-subtype==5],
tc3-6 [present-when tc-type==3 tc-subtype==6],
tc3-9 [present-when tc-type==3 tc-subtype==9],
tc3-27 [present-when tc-type==3 tc-subtype==27],
tc3-31 [present-when tc-type==3 tc-subtype==31],
tc12-1 [present-when tc-type==12 tc-subtype==1],
tc12-2 [present-when tc-type==12 tc-subtype==2],
tc12-13 [present-when tc-type==12 tc-subtype==13],
tc12-15 [present-when tc-type==12 tc-subtype==15],
tc12-16 [present-when tc-type==12 tc-subtype==16]
}
Telecommand[]{
TC[]{
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
......@@ -41,20 +20,53 @@ Taps DEFINITIONS ::= BEGIN
sequence-count [],
packet-length [],
secondary-header [] {
pus-version-number NULL [pattern '0010'B],
ack-successful-completion [],
ack-successful-progress [],
ack-successful-start [],
ack-successful-acceptance [],
service-type-id TYPE8b-ID [],
service-subtype-id TYPE8b-ID [],
source-id []
pus-version-number NULL [pattern '0010'B],
ack-successful-completion [],
ack-successful-progress [],
ack-successful-start [],
ack-successful-acceptance [],
pus-type TYPE8b-ID [],
pus-subtype TYPE8b-ID [],
source-id []
},
application-data <secondary-header.service-type-id, secondary-header.service-subtype-id> [],
spare-tc NULL [pattern '00000000'B], -- TBD !!!
application-data <secondary-header.pus-type, secondary-header.pus-subtype> [],
spare-tc NULL [pattern '00000000'B],
packet-error []
}
PUS <INTEGER: pus-type, INTEGER: pus-subtype> [] {
device-access <pus-subtype> [present-when pus-type == 2],
housekeeping <pus-subtype> [present-when pus-type == 3],
time-management <pus-subtype> [present-when pus-type == 9],
on-board-monitoring <pus-subtype> [present-when pus-type == 12]
}
PUS-2 <INTEGER: pus-subtype> [] {
pus-2-1-device-cmds [present-when pus-subtype == 1],
pus-2-4-cpdu-cmds [present-when pus-subtype == 4]
}
PUS-3 <INTEGER: pus-subtype> [] {
pus-3-1-new-HK [present-when pus-subtype == 1],
pus-3-3-del-HK [present-when pus-subtype == 3],
pus-3-5-periodic-HK-on [present-when pus-subtype == 5],
pus-3-6-periodic-HK-off [present-when pus-subtype == 6],
pus-3-9-report-HK [present-when pus-subtype == 9],
pus-3-27-one-shot-HK [present-when pus-subtype == 27],
pus-3-31-new-col-int [present-when pus-subtype == 31]
}
PUS-9 <INTEGER: pus-subtype> [] {
pus-9-1-set-rate-exp [present-when pus-subtype == 1]
}
PUS-12 <INTEGER: pus-subtype> [] {
pus-12-1-enable-def [present-when pus-subtype == 1],
pus-12-2-disable-def [present-when pus-subtype == 2],
pus-12-13-report-def [present-when pus-subtype == 13],
pus-12-15-enable-func [present-when pus-subtype == 15],
pus-12-16-disable-func [present-when pus-subtype == 16]
}
TM-1-1 []
TM-1-2 []
TM-1-3 []
......@@ -86,7 +98,7 @@ Taps DEFINITIONS ::= BEGIN
TM[]{
packet-version-no NULL [pattern '000'B],
packet-type NULL [pattern '0'B], -- 1 for TC, 0 for TM
has-secondary-hdr NULL [pattern '1'B], -- !!! 0 for time packets
has-secondary-hdr NULL [pattern '1'B], -- 0 for time packets
source-apid [],
sequence-flags NULL [pattern '11'B],
sequence-count [],
......@@ -97,12 +109,27 @@ Taps DEFINITIONS ::= BEGIN
service-type-id TYPE8b-ID [],
service-subtype-id TYPE8b-ID [],
message-type-counter [],
destination-id []
destination-id [],
time []
},
source-data <secondary-header.service-type-id, secondary-header.service-subtype-id> [],
spare-tm NULL [pattern '00000000'B], -- TBD !!!
packet-error []
}
TM-st09 []{
packet-version-no NULL [pattern '000'B],
packet-type NULL [pattern '0'B], -- 1 for TC, 0 for TM
has-secondary-hdr NULL [pattern '0'B], -- 0 for time packets
source-apid [],
sequence-flags NULL [pattern '11'B],
sequence-count [],
packet-length [],
source-data [],
spare-tm NULL [pattern '00000000'B], -- TBD !!!
packet-error []
}
TM-1-2-failure-codes [encoding pos-int, encode-values, size 8]
TM-1-10-failure-codes [encoding pos-int, encode-values, size 8]
Request-ID-inst[]{
......
PUS-Implicit-Knowledge DEFINITIONS ::=
BEGIN
TC-type {APID, SEQ-COUNT, APUserID, TCs} ::= SEQUENCE {
dest-apid APID,
TC-type{APID, SEQ-COUNT, APUserID, PUS} ::= SEQUENCE {
dest-apid APID DEFAULT obsw-AP,
sequence-count SEQ-COUNT,
packet-length INTEGER(0..65535),
secondary-header TC-Secondary-Header {APUserID},
application-data TCs,
application-data PUS,
packet-error INTEGER(0..65535)
}
TM-type {APID, APUserID, TMs} ::= SEQUENCE {
TM-type {APID, APUserID, TM-Time, TMs} ::= SEQUENCE {
source-apid APID,
sequence-count INTEGER(0..16383),
packet-length INTEGER(0..65535),
secondary-header TM-Secondary-Header{APUserID},
secondary-header TM-Secondary-Header{APUserID, TM-Time},
source-data TMs,
packet-error INTEGER(0..65535)
}
TM-no-sec-header{APID, TM-09} ::= SEQUENCE {
source-apid APID,
sequence-count INTEGER(0..16383),
packet-length INTEGER(0..65535),
source-data TM-09,
packet-error INTEGER(0..65535)
}
TC-Secondary-Header {APUserID} ::= SEQUENCE {
ack-successful-completion BOOLEAN,
ack-successful-progress BOOLEAN,
......@@ -26,41 +34,17 @@ TC-Secondary-Header {APUserID} ::= SEQUENCE {
source-id APUserID
}
TM-Secondary-Header {APUserID} ::= SEQUENCE {
TM-Secondary-Header {APUserID, TM-Time} ::= SEQUENCE {
time-reference-status INTEGER(0..15),
message-type-counter INTEGER(0..65535),
destination-id APUserID
destination-id APUserID,
time TM-Time
}
END
-- Generic definition for TC 2-1 - Distribute on/off device commands from PUS-C
Distribute-On-Off-Device-Commands-Generic DEFINITIONS ::=
BEGIN
On-Off-Device-Command{ On-off-dev-addr, INTEGER: addrsNo} ::= SEQUENCE (SIZE(1..addrsNo)) OF On-off-dev-addr
END
-- Generic definition for TC 2-4 - Distribute CPDU Commands from PUS-C
Distribute-CPDU-Commands-Generic DEFINITIONS ::=
BEGIN
Pulse-Instruction {CPDU-OUTPUT-IDENTIFIER, DURATION-EXP} ::= SEQUENCE {
output-line-id CPDU-OUTPUT-IDENTIFIER,
duration-exp-value DURATION-EXP
}
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
-- Generic definition for Request verification service TM
--************************************************************************************************************************************************* ST[01]
-- Generic definition for Request verification service ST[02]
Request-Verification-Reports DEFINITIONS ::=
BEGIN
......@@ -80,6 +64,28 @@ TM-1-type1 {Request-ID, Failure-Notice} ::= SEQUENCE {
}
END
--************************************************************************************************************************************************* ST[02]
-- Generic definitions for the Device access service ST[02]
Device-Access-Structures DEFINITIONS ::=
BEGIN
-- Generic definition for TC 2-1 - Distribute on/off device commands from PUS-C
On-Off-Device-Commands{ On-off-dev-addr, INTEGER: addrsNo} ::= SEQUENCE (SIZE(1..addrsNo)) OF On-off-dev-addr
-- Generic definitions for TC 2-4 - Distribute CPDU Commands from PUS-C
Pulse-Instruction {CPDU-OUTPUT-IDENTIFIER, DURATION-EXP} ::= SEQUENCE {
output-line-id CPDU-OUTPUT-IDENTIFIER,
duration-exp-value DURATION-EXP
}
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
--************************************************************************************************************************************************* ST[03]
-- Generic definitions for HK service ST[03]
......@@ -92,8 +98,6 @@ BEGIN
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,
......@@ -101,7 +105,6 @@ BEGIN
hk-parameter-ids Simply-HK-IDs{n1-max, Simply-HK-Parameter-ID},
super-hk-sets Super-HK-Sets{nfa-max, Super-HK-Parameter-Set}
}
-- wrap up the HK report definition
HK-Report-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,
......@@ -141,9 +144,9 @@ BEGIN
}
-- the event definition type
Event-Definition {Event-Definition-ID, Auxiliary-Data} ::= SEQUENCE {
Event-Definition {Event-Definition-ID} ::= SEQUENCE {
event-def-id Event-Definition-ID,
aux-data Auxiliary-Data,
--aux-data Auxiliary-Data,
severity ENUMERATED { informative, low-severity, medium-severity, high-severity }
}
......@@ -155,6 +158,24 @@ BEGIN
END
--************************************************************************************************************************************************ ST[09]
-- Generic definitions for the Time management ST[09] service
Time-Management-Structures DEFINITIONS ::=
BEGIN
-- the CDS time report - TM[9,3]
CDS-Time-Report{CDS-Spacecraft-Time, SC-Time-Reference-Status} ::= SEQUENCE {
rate-exp-value INTEGER (0..8),
spacecraft-time CDS-Spacecraft-Time,
sc-time-ref-status SC-Time-Reference-Status
}
-- the time report generation rate
Time-Report-Generation-Rate ::= INTEGER (1..256)
-- set the time report generation rate exponential value
Rate-Exp-Value-91 ::= INTEGER (0..8)
-- the number of milliseconds of a day
ms-per-day INTEGER(0 .. 4294967295) ::= 86400000
END
--************************************************************************************************************************************************* ST[12]
-- Generic definitions for the On-board monitoring service ST[12] service
Parameter-Monitoring-Structures DEFINITIONS ::=
......@@ -196,11 +217,13 @@ BEGIN
-- the generic PMON list of parameter monitoring definitions
Param-Monitor-Def-List{INTEGER: paramMonitor-Defs-No, Parameter-Monitoring-Definition} ::= SEQUENCE ( SIZE(paramMonitor-Defs-No) ) OF Parameter-Monitoring-Definition
-- enable and disable the parameter monitoring function
TC-12-15 ::= SEQUENCE {}
TC-12-16 ::= SEQUENCE {}
-- report the status of each parameter monitoring definition
TC-12-13 ::= SEQUENCE {}
Report-Def-Status-TC::= SEQUENCE {}
-- enable and disable the parameter monitoring function
Enable-Param-Monitor-Func ::= SEQUENCE {}
Disable-Param-Monitor-Func ::= SEQUENCE {}
-- define a list of repetition counters, one for each parameter monitoring definition
Repetition-Counter-List{INTEGER: paramMonitor-Defs-No, RepCounter} ::= SEQUENCE ( SIZE(1 .. paramMonitor-Defs-No) ) OF RepCounter
......@@ -247,36 +270,26 @@ END
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Taps DEFINITIONS ::=
BEGIN
IMPORTS Pulse-Instruction,
CPDU-Command,
Distribute-CPDU-Commands
FROM Distribute-CPDU-Commands-Generic
On-Off-Device-Command
FROM Distribute-On-Off-Device-Commands-Generic
Request-ID,
Failure-Notice,
TM-1-type1
IMPORTS Request-ID, Failure-Notice, TM-1-type1
FROM Request-Verification-Reports
TC-type,
TM-type
Pulse-Instruction, CPDU-Command, Distribute-CPDU-Commands, On-Off-Device-Commands
FROM Device-Access-Structures
TC-type, TM-type, TM-no-sec-header
FROM PUS-Implicit-Knowledge
Super-HK-Parameter-Set,
Build-HK-Structure,
HK-Report-Structure,
Manage-HK-Structures,
Change-HK-CollectionInterval,
HK-CollectionInterval,
HK-Parameters-List,
HK-Parameter-Report
Super-HK-Parameter-Set, Build-HK-Structure, HK-Report-Structure, Manage-HK-Structures,
Change-HK-CollectionInterval, HK-CollectionInterval, HK-Parameters-List, HK-Parameter-Report
FROM HK-Service-Structures
Event-Report, Event-Definition, Event-Definitions-List, Events-No
Event-Report, Event-Definition, Event-Definitions-List, Events-No
FROM Event-Reporting-Structures
Parameter-Monitoring-Definition , Limit-Check , Expected-Value-Check , Param-Monitor-Def-List, TC-12-15, TC-12-16,
Repetition-Counter-List, Setting-Param-Monitoring-Def, TC-12-13, Report-Def-Status, Report-Definitions-Status,
Check-Transition-Report, Check-Transit-Notification, Transition-Type, Limit-Transition, Exp-Value-Transition,
PMON-exp-value-check-status, PMON-limit-check-status
CDS-Time-Report, Rate-Exp-Value-91
FROM Time-Management-Structures
Parameter-Monitoring-Definition , Limit-Check , Expected-Value-Check , Param-Monitor-Def-List,
Repetition-Counter-List, Setting-Param-Monitoring-Def, Report-Def-Status, Report-Definitions-Status,
Check-Transition-Report, Check-Transit-Notification, Transition-Type, Limit-Transition, Exp-Value-Transition,
PMON-exp-value-check-status, PMON-limit-check-status, Report-Def-Status-TC,
Enable-Param-Monitor-Func, Disable-Param-Monitor-Func
FROM Parameter-Monitoring-Structures
T-UInt8, T-UInt32
T-UInt8, T-UInt32
FROM TASTE-BasicTypes;
-- for acn TC packet secondary header type & subtype
......@@ -286,36 +299,17 @@ SEQ-COUNT ::= INTEGER(0..16383)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- taps inst
-- instantiate project specific data structures
APID ::= ENUMERATED { --let ACN manage the "11 bits" constraint
APID ::= ENUMERATED {
time-rep-AP(0),
ground-AP(1),
routing-AP(2),
sensor1-AP(3),
sensor2-AP(4),
cpdu1-AP(5),
cpdu2-AP(6),
hk-report-AP(7),
params-statistics-AP(8),
event-rep-AP(9),
raw-mem-AP(10),
common-mem-AP(11),
config-mem-AP(12),
st13-send-AP(13),
st13-receive-AP(14),
schedule-AP(15),
storage-AP(16),
test-AP(17),
event-action-AP(18),
param-manage-AP(19),
file-manage-AP(20)
}
APUserID ::= ENUMERATED { --let ACN manage the "16 bits" constraint
ground-User(1),
sc-routingUser(2),
sc-sensorA-User(3),
sc-sensorB-User(4),
sc-cpdu-User(5)
obsw-AP(2),
payload-AP(3)
}
APUserID ::= ENUMERATED {
ground-User(1),
obsw-user(2),
payload-user(3)
}
-- the identifiers of the on-board parameters
......@@ -334,12 +328,10 @@ On-off-dev-addr ::= ENUMERATED {
addrsNo INTEGER (1..128) ::= 4
InstructionCounter ::= INTEGER (1..4)
-- Instantiate the TC-2-1
TC-2-1 ::= On-Off-Device-Command{On-off-dev-addr, addrsNo}
-------------------------------------------------------------------------------------------------------------------------------------------
-- instantiate CPDU commands
On-Off-Device-Cmds ::= On-Off-Device-Commands{On-off-dev-addr, addrsNo}
-- instantiate CPDU commands
CPDU-Ids ::= ENUMERATED { cpdu-id-1, cpdu-id-2 }
--CPDU-output-line-ID ::= INTEGER { cpdu-line1(1), cpdu-line2(2)} (0..4095)
CPDU-output-line-ID ::= INTEGER (0..1) -- CPDU output Identifier defined in 9.2.1d
CPDU-duration-exp-val ::= INTEGER (0..7) -- CPDU duration exponential value
......@@ -354,8 +346,13 @@ Index-CPDU-Cmd ::= INTEGER (1..max-CPDU-Cmds)
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}
Distribute-CPDU-Cmds ::= Distribute-CPDU-Commands {CPDU-Cmd, max-CPDU-Cmds}
-- select a service request
PUS-2 ::= CHOICE {
pus-2-1-device-cmds On-Off-Device-Cmds,
pus-2-4-cpdu-cmds Distribute-CPDU-Cmds
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ST[03] inst
-- instantiate HK service data structures
......@@ -388,22 +385,24 @@ 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{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 }
Create-HK-Struct ::= 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
HK-Report-Structure-inst ::= 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}
-- Instantiate the TC-3-3 to delete housekeeping parameter report structures
TC-3-3 ::= Manage-HK-Structures{maxNo-HK-structures, HK-structure-ID-inst}
-- Instantiate the TC-3-5 to enable the periodic generation of housekeeping parameter reports
TC-3-5 ::= Manage-HK-Structures{maxNo-HK-structures, HK-structure-ID-inst}
-- Instantiate the TC-3-6 to disable the periodic generation of housekeeping parameter reports
TC-3-6 ::= Manage-HK-Structures{maxNo-HK-structures, HK-structure-ID-inst}
-- Instantiate the TC-3-9 to report housekeeping parameter report structures
TC-3-9 ::= Manage-HK-Structures{maxNo-HK-structures, HK-structure-ID-inst}
-- Instantiate the TC-3-27 to generate a one shot report for housekeeping parameter report structures
TC-3-27 ::= Manage-HK-Structures{maxNo-HK-structures, HK-structure-ID-inst}
-- Instantiate the TC-3-3, TC-3-5, TC-3-6, TC-3-9 , TC-3-27
Manage-HK-Struct ::= Manage-HK-Structures{maxNo-HK-structures, HK-structure-ID-inst}
-- Instantiate the TC-3-31 to modify the collection interval of housekeeping parameter report structures
HK-CollectionInterval-Inst ::= HK-CollectionInterval{HK-structure-ID-inst, Collection-Interval-Inst}
TC-3-31 ::= Change-HK-CollectionInterval{maxNo-HK-structures, HK-CollectionInterval-Inst}
Change-CollectionInterval ::= Change-HK-CollectionInterval{ maxNo-HK-structures, HK-CollectionInterval-Inst }
-- select a service request
PUS-3 ::= CHOICE {
pus-3-1-new-HK Create-HK-Struct,
pus-3-3-del-HK Manage-HK-Struct,
pus-3-5-periodic-HK-on Manage-HK-Struct,
pus-3-6-periodic-HK-off Manage-HK-Struct,
pus-3-9-report-HK Manage-HK-Struct,
pus-3-27-one-shot-HK Manage-HK-Struct,
pus-3-31-new-col-int Change-CollectionInterval
}
-- instantiate the TM[3,10] housekeeping parameter report structure report
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})
......@@ -441,31 +440,31 @@ Sensor2-Output ::= ENUMERATED {
-- instantiate Event reporting ST[05] service data structures
-- the event definition identifier unique to the host application process
Event-Definition-ID-inst ::= ENUMERATED {
bll-ID,
ahl-ID,
uv-ID
}
-- auxiliary data for on board monitoring service events
Auxiliary-Data-inst ::= ENUMERATED {
below-low-limit,
above-high-limit,
unexpected-value
Event-Definition-ID-inst ::= ENUMERATED { bll-ID, ahl-ID, uv-ID }
-- auxiliary data for the on board monitoring service events
-- Auxiliary-Data-inst ::= ENUMERATED { below-low-limit, above-high-limit, unexpected-value }
-- auxiliary data
Auxiliary-Data-inst ::= CHOICE {
aux-on-board-mon Aux-On-Board-Monitoring,
aux-test Aux-Testing
}
Aux-On-Board-Monitoring ::= SEQUENCE {}
Aux-Testing ::= ENUMERATED { t01, t02 }
-- instantiate the Event Report structure
Event-Report-inst ::= Event-Report{Event-Definition-ID-inst, Auxiliary-Data-inst}
Event-Ty ::= Event-Report{Event-Definition-ID-inst, Auxiliary-Data-inst}
-- instantiate the TM[5,1] informative event report
TM-5-1 ::= Event-Report{Event-Definition-ID-inst, Auxiliary-Data-inst}
TM-5-1 ::= Event-Ty
-- instantiate the TM[5,2] low severity anomaly report;
TM-5-2 ::= Event-Report{Event-Definition-ID-inst, Auxiliary-Data-inst}
TM-5-2 ::= Event-Ty
-- instantiate the TM[5,3] medium severity anomaly report
TM-5-3 ::= Event-Report{Event-Definition-ID-inst, Auxiliary-Data-inst}
TM-5-3 ::= Event-Ty
-- instantiate the TM[5,4] high severity anomaly report
TM-5-4 ::= Event-Report{Event-Definition-ID-inst, Auxiliary-Data-inst}
TM-5-4 ::= Event-Ty
--TM-5-4 ::= Event-Report{Event-Definition-ID-inst, Auxiliary-Data-inst}
-- instantiate the taps Event Definition
Event-Definition-inst ::= Event-Definition{Event-Definition-ID-inst, Auxiliary-Data-inst}
Event-Definition-inst ::= Event-Definition{Event-Definition-ID-inst}
-- the no of event definitions
event-Defs-No INTEGER(0..255) ::= 3
-- access the event definition list
......@@ -474,11 +473,13 @@ EventDef-Index ::= INTEGER (1..event-Defs-No)
Event-Definitions-List-inst ::= Event-Definitions-List{ event-Defs-No, Event-Definition-inst}
-- define the project event definitions
event-def-01 Event-Definition-inst ::= {event-def-id bll-ID, aux-data below-low-limit, severity high-severity}
--event-def-01 Event-Definition-inst ::= {event-def-id bbl-ID, aux-data below-low-limit, severity informative}
event-def-02 Event-Definition-inst ::= {event-def-id ahl-ID, aux-data above-high-limit, severity high-severity}
--event-def-02 Event-Definition-inst ::= {event-def-id ahl-ID, aux-data above-high-limit, severity low-severity}
event-def-03 Event-Definition-inst ::= {event-def-id uv-ID, aux-data unexpected-value, severity medium-severity}
event-def-01 Event-Definition-inst ::= {event-def-id bll-ID, severity high-severity}
event-def-02 Event-Definition-inst ::= {event-def-id ahl-ID, severity high-severity}
event-def-03 Event-Definition-inst ::= {event-def-id uv-ID, severity medium-severity}
--event-def-01 Event-Definition-inst ::= {event-def-id bll-ID, aux-data aux-data-ev1, severity high-severity}
--event-def-02 Event-Definition-inst ::= {event-def-id ahl-ID, aux-data aux-on-board-mon, severity high-severity}
--event-def-03 Event-Definition-inst ::= {event-def-id uv-ID, aux-data aux-on-board-mon, severity medium-severity}
taps-event-definitions Event-Definitions-List-inst ::= { event-def-01, event-def-02, event-def-03}
-- instantiate observable related data types
......@@ -486,6 +487,32 @@ maxEventsNo INTEGER ::= 100000
Events-No-Inst ::= Events-No{maxEventsNo}
maxEventNoInst Events-No-Inst ::= maxEventsNo
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ST[09] inst
-- taps absolute time
CDS-Spacecraft-Time-inst ::= SEQUENCE {
day INTEGER (0..65535), -- 2 octets
ms-of-day INTEGER (0 .. 4294967295) -- 4 octets
}
-- define the spacecraft time reference status
SC-Time-Reference-Status-inst ::= ENUMERATED { on, off }
-- instantiate the taps CDS time report
TM-9-3 ::= CDS-Time-Report{CDS-Spacecraft-Time-inst, SC-Time-Reference-Status-inst}
-- set the mission starting day: the number of days between Wednesday, January 1st, 1958 and Wednesday, January 1st, 2020
taps-start-day INTEGER(0..65535) ::= 22645
-- set the generation rate of the telemetry transfer frames on virtual channel 0 in ms
tm-rate-vCh0 INTEGER(0..65535) ::= 1000
-- select a service request
PUS-9 ::= CHOICE {
pus-9-1-set-rate-exp Rate-Exp-Value-91
}
-- instantiate the time report CCSDS space packets with no secondary header
TM-st09::= TM-no-sec-header{APID, TM-9-3 }
--testing
--Test-TM01 ::= SEQUENCE {
-- test-field01 INTEGER(0..65535) ,
-- test-field02 BOOLEAN OPTIONAL }
--Test-TN01-inst ::= Test-TM01 (WITH COMPONENTS {..., test-field02 ABSENT})
--Test-TN01-inst ::= Test-TM01 (WITH COMPONENTS {..., test-field02 PRESENT})
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ST[12] inst
-- instantiate On-board monitoring ST[12] service data structures
......@@ -539,8 +566,7 @@ taps-param-monitor-defs Param-Monitor-Def-List-inst ::= {def-Parameter-Monitorin
-- instantiate TC[12,1] & TC[12,2]: enable/disable the parameter monitoring definitions
Setting-Param-Monitoring-Def-inst ::= Setting-Param-Monitoring-Def{paramMonitor-Defs-No, Param-Monitor-Def-ID-inst }
TC-12-1 ::= Setting-Param-Monitoring-Def-inst
TC-12-2 ::= Setting-Param-Monitoring-Def-inst
Control-Param-Monitoring-Def ::= Setting-Param-Monitoring-Def{paramMonitor-Defs-No, Param-Monitor-Def-ID-inst }
-- instantiate the parameter monitoring definition status report
Report-Def-Status-inst ::= Report-Def-Status{Param-Monitor-Def-ID-inst}
......@@ -558,27 +584,26 @@ IndexCTR ::= INTEGER(1..maxCTR)
-- implementation data structures
New-checkStatus ::= SEQUENCE ( SIZE(paramMonitor-Defs-No) ) OF BOOLEAN
First-check ::= SEQUENCE ( SIZE(paramMonitor-Defs-No) ) OF BOOLEAN
-- select a service request
PUS-12 ::= CHOICE {
pus-12-1-enable-def Control-Param-Monitoring-Def,
pus-12-2-disable-def Control-Param-Monitoring-Def,
pus-12-13-report-def Report-Def-Status-TC,
pus-12-15-enable-func Enable-Param-Monitor-Func,
pus-12-16-disable-func Disable-Param-Monitor-Func
}
--------------------------------------------------------------------------------------------------------------------------------------------------
-- Instantiate the project list of TC
TCs ::= CHOICE {
tc2-1 TC-2-1,
tc2-4 TC-2-4,
tc3-1 TC-3-1,
tc3-3 TC-3-3,
tc3-5 TC-3-5,
tc3-6 TC-3-6,
tc3-9 TC-3-9,
tc3-27 TC-3-27,
tc3-31 TC-3-31,
tc12-1 TC-12-1,
tc12-2 TC-12-2,
tc12-13 TC-12-13,
tc12-15 TC-12-15,
tc12-16 TC-12-16
-- choose between one of the PUS services
PUS ::= CHOICE {
device-access PUS-2,
housekeeping PUS-3,
time-management PUS-9,
on-board-monitoring PUS-12
}
-- Instantiate the generic TC-type
Telecommand ::= TC-type{APID, SEQ-COUNT, APUserID, TCs}
TC ::= TC-type{APID, SEQ-COUNT, APUserID, PUS}
--*********************************************************
-- Execution reporting data types
Start-Exec-failure-codes ::= ENUMERATED {
......@@ -688,13 +713,13 @@ TMs ::= CHOICE {
tm12-14 TM-12-14
}
-- Instantiate the Telemetry type
TM ::= TM-type{APID, APUserID, TMs}
TM ::= TM-type{APID, APUserID, CDS-Spacecraft-Time-inst, TMs}
END
--============================================================================================================= Taps Test Structures
Taps-Test-Structures DEFINITIONS ::=
BEGIN
IMPORTS CPDU-status, Event-Definition-ID-inst, S1-status
IMPORTS CPDU-status, Event-Ty, S1-status
FROM Taps
T-UInt8, T-UInt32
FROM TASTE-BasicTypes;
......@@ -726,7 +751,7 @@ Test-Taps-Parameters ::= CHOICE {
testST01Execution ST01ExecutionTestParams,
testCPDU1status CPDU-status,
testCPDU2status CPDU-status,
testEvents Event-Definition-ID-inst,
testEvents Event-Ty,
testST12OnBoardMonitor ST12OnBoardMonitoringTest
}
......@@ -786,6 +811,8 @@ myVar MySeqOf ::= { hello, world }
OutputString ::= OCTET STRING (SIZE (0..100))
maxT-UInt32 T-UInt32 ::= 4294967295