Commit 5450cb56 authored by Thanassis Tsiodras's avatar Thanassis Tsiodras
Browse files

implement all ST01 subservices

parent b42fb56c
This diff is collapsed.
......@@ -43,8 +43,24 @@ Taps DEFINITIONS ::= BEGIN
packet-error []
}
TM-1-1 []
TM-1-2 []
TM-1-3 []
TM-1-4 []
TM-1-5 []
TM-1-6 []
TM-1-7 []
TM-1-8 []
TM-1-10 []
TMs <TYPE8b-ID: tm-type, TYPE8b-ID: tm-subtype> [] {
tm1-1 [present-when tm-type==1 tm-subtype==1],
tm1-2 [present-when tm-type==1 tm-subtype==2],
tm1-3 [present-when tm-type==1 tm-subtype==3],
tm1-4 [present-when tm-type==1 tm-subtype==4],
tm1-5 [present-when tm-type==1 tm-subtype==5],
tm1-6 [present-when tm-type==1 tm-subtype==6],
tm1-7 [present-when tm-type==1 tm-subtype==7],
tm1-8 [present-when tm-type==1 tm-subtype==8],
tm1-10 [present-when tm-type==1 tm-subtype==10]
}
TM[]{
......@@ -67,12 +83,13 @@ Taps DEFINITIONS ::= BEGIN
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[]{
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
source-apid [],
source-apid [],
sequence-flags NULL [pattern '11'B],
sequence-count []
}
......
PUS-Implicit-Knowledge DEFINITIONS ::=
PUS-Implicit-Knowledge DEFINITIONS ::=
BEGIN
TC-type {APID, APUserID, TCs} ::= SEQUENCE {
TC-type {APID, SEQ-COUNT, APUserID, TCs} ::= SEQUENCE {
dest-apid APID,
sequence-count INTEGER(0..16383),
sequence-count SEQ-COUNT,
packet-length INTEGER(0..65535),
secondary-header TC-Secondary-Header {APUserID},
application-data TCs,
......@@ -64,9 +64,9 @@ END
Request-Verification-Reports DEFINITIONS ::=
BEGIN
Request-ID {APID}::= SEQUENCE {
source-apid APID,
sequence-count INTEGER(0..16383)
Request-ID {APID, SEQ-COUNT}::= SEQUENCE {
source-apid APID,
sequence-count SEQ-COUNT
}
Failure-Notice{Failure-Code, Failure-Data} ::= SEQUENCE {
......@@ -98,13 +98,18 @@ FROM PUS-Implicit-Knowledge;
-- for acn TC packet secondary header type & subtype
TYPE8b-ID ::= INTEGER (0..255)
SEQ-COUNT ::= INTEGER(0..16383)
APID ::= ENUMERATED { --let ACN manage the "11 bits" constraint
ground(1),
sc-routing(2),
sc-sensorA(3),
sc-sensorB(4),
sc-cpdu(5)
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)
}
APUserID ::= ENUMERATED { --let ACN manage the "16 bits" constraint
......@@ -120,12 +125,13 @@ On-off-dev-addr ::= ENUMERATED {
onAddr(61136),
offAddr(61140),
coldResetAddr(61144),
warmResetAddr(61148)
warmResetAddr(61148),
testAddr(61149)
}
-- Maximum number of On/Off device addresses commands (!bounds constraints not found in PUS-C)
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}
......@@ -155,29 +161,102 @@ TCs ::= CHOICE {
}
-- Instantiate the generic TC-type
Telecommand ::= TC-type{APID, APUserID, TCs}
Telecommand ::= TC-type{APID, SEQ-COUNT, APUserID, TCs}
--*********************************************************
-- Execution reporting data types
Start-Exec-failure-codes ::= ENUMERATED {
noFailure(0),
startExecFailed(1)
}
Progress-Exec-failure-codes ::= ENUMERATED {
noFailure(0),
progresExecFailed(1)
}
Completion-Exec-failure-codes ::= ENUMERATED {
noFailure(0),
completionExecFailed(1)
}
Start-Execution-Notification ::= SEQUENCE {
startExec BOOLEAN,
failureCode Start-Exec-failure-codes,
failureData INTEGER (0..255)
}
Progress-Execution-Notification ::= SEQUENCE {
step InstructionCounter,
progressExec BOOLEAN,
failureCode Progress-Exec-failure-codes,
failureData INTEGER (0..255)
}
Completion-Execution-Notification ::= SEQUENCE {
completionExec BOOLEAN,
failureCode Completion-Exec-failure-codes,
failureData INTEGER (0..255)
}
Request-ID-ACK ::= SEQUENCE{
requestID Request-ID-inst,
ack-successful-completion BOOLEAN,
ack-successful-progress BOOLEAN,
ack-successful-start BOOLEAN
}
--*********************************************************
-- Instantiate the request ID
Request-ID-inst ::= Request-ID {APID}
Request-ID-inst ::= Request-ID {APID, SEQ-COUNT}
-- TM-1-2-failure-codes , ACN manage the "8 bits" constraint
TM-1-2-failure-codes ::= ENUMERATED {
reqIntegrityFailure(0),
serviceNotAvailable(1),
wrongRequestType(2)
}
-- TM-1-10-failure-codes , ACN manage the "8 bits" constraint
TM-1-10-failure-codes ::= ENUMERATED {
reqIntegrityFailure(0),
noDestinationFound(1),
destinationNotReady(2)
}
-- TM-1-2 failure notice data, 8 bits
TM-1-2-failure-data ::= SEQUENCE {
tm-1-2-failure-data-inst INTEGER (0..255)
}
-- TM-1-10 failure notice data, 8 bits
TM-1-10-failure-data ::= SEQUENCE {
tm-1-10-failure-data-inst INTEGER (0..255)
}
Failure-Notice-tm-1-2 ::= Failure-Notice {TM-1-2-failure-codes, TM-1-2-failure-data}
Failure-Notice-tm-1-4 ::= Failure-Notice {Start-Exec-failure-codes, TM-1-10-failure-data}
Failure-Notice-tm-1-6 ::= Failure-Notice {Progress-Exec-failure-codes , TM-1-10-failure-data}
Failure-Notice-tm-1-8 ::= Failure-Notice {Completion-Exec-failure-codes, TM-1-10-failure-data}
Failure-Notice-tm-1-10 ::= Failure-Notice {TM-1-10-failure-codes, TM-1-10-failure-data}
TM-1-10 ::= TM-1-type1 {Request-ID-inst, Failure-Notice-tm-1-10}
TM-1-1 ::= Request-ID {APID, SEQ-COUNT}
TM-1-2 ::= TM-1-type1 {Request-ID-inst, Failure-Notice-tm-1-2}
TM-1-3 ::= Request-ID {APID, SEQ-COUNT}
TM-1-4 ::= TM-1-type1 {Request-ID-inst, Failure-Notice-tm-1-4}
TM-1-5 ::= SEQUENCE {
req-ID Request-ID {APID, SEQ-COUNT},
step InstructionCounter
}
TM-1-6 ::= SEQUENCE {
req-ID Request-ID {APID, SEQ-COUNT},
step InstructionCounter,
failureNotice Failure-Notice-tm-1-6
}
TM-1-7 ::= Request-ID {APID, SEQ-COUNT}
TM-1-8 ::= TM-1-type1 {Request-ID-inst, Failure-Notice-tm-1-8}
TM-1-10 ::= TM-1-type1 {Request-ID-inst, Failure-Notice-tm-1-10}
-- Instantiate the project list of TM
TMs ::= CHOICE {
tm1-10 TM-1-10
tm1-1 TM-1-1,
tm1-2 TM-1-2,
tm1-3 TM-1-3,
tm1-4 TM-1-4,
tm1-5 TM-1-5,
tm1-6 TM-1-6,
tm1-7 TM-1-7,
tm1-8 TM-1-8,
tm1-10 TM-1-10
}
-- Instantiate the Telemetry type
TM ::= TM-type{APID, APUserID, TMs}
......@@ -204,6 +283,26 @@ Test-TM ::= SEQUENCE{
}
Test-failureCodes ::= ENUMERATED {crcFailure, destinationNotFound, destinationNotReady}
Test-Taps-Parameters ::= CHOICE {
testST01Routing ST01RoutingTestParams,
testST01Acceptance ST01AcceptanceTestParams,
testST01Execution ST01ExecutionTestParams
}
ST01AcceptanceTestParams ::= SEQUENCE{
crcTest BOOLEAN,
serviceAvailableTest BOOLEAN,
ready BOOLEAN
}
ST01RoutingTestParams ::= SEQUENCE{
crcTest BOOLEAN
}
ST01ExecutionTestParams ::= SEQUENCE{
execStart BOOLEAN,
execProgress BOOLEAN,
execCompletion BOOLEAN
}
-- A few simple types to start with ASN.1
MyInteger ::= T-UInt8
......@@ -231,5 +330,51 @@ MyOctStr ::= OCTET STRING (SIZE (3))
-- You can also declare constants
myVar MySeqOf ::= { hello, world }
-- project specific data
OutputString ::= OCTET STRING (SIZE (0..100))
END
---------------------------------------------------
-- AADL2.0
-- TASTE
--
-- AADL2.1
-- TASTE type deploymentview
--
-- generated code: do not edit
---------------------------------------------------
PACKAGE deploymentview::DV::Node1
PUBLIC
WITH ocarina_buses;
WITH ocarina_drivers;
WITH Taste;
WITH Deployment;
WITH TASTE_DV_Properties;
PROCESS ground
END ground;
PROCESS IMPLEMENTATION ground.others
END ground.others;
DEVICE generic_sockets_ip_pohic
EXTENDS ocarina_drivers::generic_sockets_ip
FEATURES
link : REFINED TO REQUIRES BUS ACCESS ocarina_buses::ip.i {
Taste::coordinates => "862 1367";
};
PROPERTIES
Taste::Interface_Coordinates => "599 1317" APPLIES TO link;
Deployment::Help => "Write your ASN.1 configuration here";
Deployment::Configuration => "{devname ""eth0"", address ""127.0.0.1"", port 5116}";
Deployment::Config => "/home/taste/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/ip.asn";
Deployment::Version => "0.1beta";
END generic_sockets_ip_pohic;
PROCESS taps
END taps;
DEVICE IMPLEMENTATION generic_sockets_ip_pohic.others
EXTENDS ocarina_drivers::generic_sockets_ip.pohic
END generic_sockets_ip_pohic.others;
PROCESS IMPLEMENTATION taps.others
END taps.others;
END deploymentview::DV::Node1;
PACKAGE deploymentview::DV::Node2
PUBLIC
WITH ocarina_buses;
WITH ocarina_drivers;
WITH Taste;
WITH Deployment;
WITH TASTE_DV_Properties;
PROCESS spacecraft
END spacecraft;
PROCESS IMPLEMENTATION spacecraft.others
END spacecraft.others;
DEVICE generic_sockets_ip_pohic
EXTENDS ocarina_drivers::generic_sockets_ip
FEATURES
link : REFINED TO REQUIRES BUS ACCESS ocarina_buses::ip.i {
Taste::coordinates => "873 518";
};
PROPERTIES
Taste::Interface_Coordinates => "599 686" APPLIES TO link;
Deployment::Help => "Write your ASN.1 configuration here";
Deployment::Configuration => "{devname ""eth0"", address ""127.0.0.1"", port 5115}";
Deployment::Config => "/home/taste/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/ip.asn";
Deployment::Version => "0.1beta";
END generic_sockets_ip_pohic;
DEVICE IMPLEMENTATION generic_sockets_ip_pohic.others
EXTENDS ocarina_drivers::generic_sockets_ip.pohic
END generic_sockets_ip_pohic.others;
END deploymentview::DV::Node2;
PACKAGE deploymentview::DV
PUBLIC
WITH interfaceview::IV::sensor2_AP::st01_Acceptance;
WITH interfaceview::IV::sensor2_AP::st02_On_Off_cmds;
WITH interfaceview::IV::sensor2_AP::st01_Execution;
WITH interfaceview::IV::sensor2_AP::tm_st01;
WITH interfaceview::IV::ground_system::ground_GUI;
WITH interfaceview::IV::ground_system::processTC;
WITH interfaceview::IV::sendTM;
WITH interfaceview::IV::st01_routing;
WITH ocarina_processors_x86;
WITH deploymentview::DV::Node1;
WITH deploymentview::DV::Node2;
WITH ocarina_buses;
WITH Taste;
WITH Deployment;
WITH interfaceview::IV;
WITH TASTE_DV_Properties;
SYSTEM Node1
FEATURES
generic_sockets_ip_pohic_ip_i : REQUIRES BUS ACCESS ocarina_buses::ip.i;
END Node1;
SYSTEM IMPLEMENTATION Node1.others
SUBCOMPONENTS
IV_ground : SYSTEM interfaceview::IV::ground.others {
Taste::coordinates => "1573 1329 1922 1422";
Taste::FunctionName => "ground";
IV_st01_Acceptance : SYSTEM interfaceview::IV::sensor2_AP::st01_Acceptance::st01_Acceptance.others {
Taste::FunctionName => "st01_Acceptance";
};
ground : PROCESS deploymentview::DV::Node1::ground.others {
Taste::coordinates => "1361 1231 2490 1575";
Deployment::Port_Number => 0;
IV_st02_On_Off_cmds : SYSTEM interfaceview::IV::sensor2_AP::st02_On_Off_cmds::st02_On_Off_cmds.others {
Taste::FunctionName => "st02_On_Off_cmds";
};
x86_linux32 : PROCESSOR ocarina_processors_x86::x86.linux32 {
Taste::coordinates => "1252 1128 2673 1641";
IV_st01_Execution : SYSTEM interfaceview::IV::sensor2_AP::st01_Execution::st01_Execution.others {
Taste::FunctionName => "st01_Execution";
};
generic_sockets_ip_pohic : DEVICE deploymentview::DV::Node1::generic_sockets_ip_pohic.others {
Taste::coordinates => "862 1246 1180 1570";
IV_tm_st01 : SYSTEM interfaceview::IV::sensor2_AP::tm_st01::tm_st01.others {
Taste::FunctionName => "tm_st01";
};
CONNECTIONS
generic_sockets_ip_pohic_ip_i_link : BUS ACCESS generic_sockets_ip_pohic_ip_i -> generic_sockets_ip_pohic.link;
PROPERTIES
Taste::APLC_Binding => (reference (ground)) APPLIES TO IV_ground;
Actual_Processor_Binding => (reference (x86_linux32)) APPLIES TO ground;
Actual_Processor_Binding => (reference (x86_linux32)) APPLIES TO generic_sockets_ip_pohic;
END Node1.others;
SYSTEM Node2
FEATURES
generic_sockets_ip_pohic_ip_i : REQUIRES BUS ACCESS ocarina_buses::ip.i;
END Node2;
SYSTEM IMPLEMENTATION Node2.others
SUBCOMPONENTS
IV_ST01_routing : SYSTEM interfaceview::IV::ST01_routing.others {
Taste::coordinates => "1431 457 1606 536";
Taste::FunctionName => "ST01_routing";
IV_ground_GUI : SYSTEM interfaceview::IV::ground_system::ground_GUI::ground_GUI.others {
Taste::FunctionName => "ground_GUI";
};
IV_ST02_device_access : SYSTEM interfaceview::IV::ST02_device_access.others {
Taste::coordinates => "1448 577 1614 653";
Taste::FunctionName => "ST02_device_access";
IV_processTC : SYSTEM interfaceview::IV::ground_system::processTC::processTC.others {
Taste::FunctionName => "processTC";
};
IV_Sensor1 : SYSTEM interfaceview::IV::Sensor1.others {
Taste::coordinates => "1723 468 1846 525";
Taste::FunctionName => "Sensor1";
IV_sendTM : SYSTEM interfaceview::IV::sendTM::sendTM.others {
Taste::FunctionName => "sendTM";
};
IV_Sensor2 : SYSTEM interfaceview::IV::Sensor2.others {
Taste::coordinates => "1851 544 2045 610";
Taste::FunctionName => "Sensor2";
IV_st01_routing : SYSTEM interfaceview::IV::st01_routing::st01_routing.others {
Taste::FunctionName => "st01_routing";
};
spacecraft : PROCESS deploymentview::DV::Node2::spacecraft.others {
Taste::coordinates => "1347 370 2525 697";
taps : PROCESS deploymentview::DV::Node1::taps.others {
Taste::coordinates => "80770 67036 174706 102404";
Deployment::Port_Number => 0;
};
x86_linux32 : PROCESSOR ocarina_processors_x86::x86.linux32 {
Taste::coordinates => "1195 277 2667 744";
x86_linux : PROCESSOR ocarina_processors_x86::x86.linux {
Taste::coordinates => "69028 56931 186448 107457";
};
generic_sockets_ip_pohic : DEVICE deploymentview::DV::Node2::generic_sockets_ip_pohic.others {
Taste::coordinates => "873 374 1149 661";
};
CONNECTIONS
generic_sockets_ip_pohic_ip_i_link : BUS ACCESS generic_sockets_ip_pohic_ip_i -> generic_sockets_ip_pohic.link;
PROPERTIES
Taste::APLC_Binding => (reference (spacecraft)) APPLIES TO IV_ST01_routing;
Taste::APLC_Binding => (reference (spacecraft)) APPLIES TO IV_ST02_device_access;
Taste::APLC_Binding => (reference (spacecraft)) APPLIES TO IV_Sensor1;
Taste::APLC_Binding => (reference (spacecraft)) APPLIES TO IV_Sensor2;
Actual_Processor_Binding => (reference (x86_linux32)) APPLIES TO spacecraft;
Actual_Processor_Binding => (reference (x86_linux32)) APPLIES TO generic_sockets_ip_pohic;
END Node2.others;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_st01_Acceptance;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_st02_On_Off_cmds;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_st01_Execution;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_tm_st01;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_ground_GUI;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_processTC;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_sendTM;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_st01_routing;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO taps;
END Node1.others;
SYSTEM deploymentview
END deploymentview;
......@@ -163,36 +90,15 @@ END deploymentview;
SYSTEM IMPLEMENTATION deploymentview.others
SUBCOMPONENTS
Node1 : SYSTEM Node1.others {
Taste::coordinates => "805 1011 2786 1750";
};
Node2 : SYSTEM Node2.others {
Taste::coordinates => "805 164 2821 846";
};
ip_i : BUS ocarina_buses::ip.i {
Taste::coordinates => "159 237 599 1807";
Taste::coordinates => "58117 50052 196648 116945";
};
interfaceview : SYSTEM interfaceview::IV::interfaceview.others;
CONNECTIONS
Connection2 : BUS ACCESS ip_i -> Node1.generic_sockets_ip_pohic_ip_i {
Taste::coordinates => "862 1367 726 1367 726 1317 599 1317";
};
Connection1 : BUS ACCESS ip_i -> Node2.generic_sockets_ip_pohic_ip_i {
Taste::coordinates => "873 518 731 518 731 686 599 686";
};
PROPERTIES
Actual_Connection_Binding => (reference (ip_i)) APPLIES TO interfaceview.ST01_routing_TC_test_ground_TC_test;
Taste::Coordinates => "338 506 450 645" APPLIES TO interfaceview.ST01_routing_TC_test_ground_TC_test;
Actual_Connection_Binding => (reference (ip_i)) APPLIES TO interfaceview.ST01_routing_testI_ground_testI;
Taste::Coordinates => "324 770 442 882" APPLIES TO interfaceview.ST01_routing_testI_ground_testI;
Actual_Connection_Binding => (reference (ip_i)) APPLIES TO interfaceview.ground_test_TM_ST01_routing_test_TM;
Taste::Coordinates => "319 1141 444 1245" APPLIES TO interfaceview.ground_test_TM_ST01_routing_test_TM;
END deploymentview.others;
PROPERTIES
Taste::coordinates => "0 0 2970 2100";
Taste::version => "1.3.19";
Taste::coordinates => "0 0 297000 210000";
Taste::version => "2.0";
Taste::interfaceView => "InterfaceView.aadl";
Taste::HWLibraries => ("../tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
Taste::HWLibraries => ("../../tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
END deploymentview::DV;
-- copied aadl libraries
\ No newline at end of file
This diff is collapsed.
533ecce6cb62ba2835aedf458e913191 InterfaceView.aadl
f0c2096cb698a8ee1c111f7083b8fa80 InterfaceView.aadl
This project is done by ISS for ESA.
other update
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
-- This file was generated automatically: DO NOT MODIFY IT !
-- This file contains the description of the system distribution.
-- It is an input file for the TASTE ORCHESTRATOR
* ground PLATFORM_LINUX32
ground
vt_ground_test_tm
vt_ground_gui_polling_ground
* spacecraft PLATFORM_LINUX32
st01_routing
st02_device_access
sensor1
sensor2
spacecraft_taste_api
vt_st01_routing_testi
vt_st01_routing_tc_test
vt_st01_routing_s1_ready
vt_st01_routing_s2_ready
vt_sensor1_tc_s1
vt_sensor1_asks1
This diff is collapsed.
-- This file was generated automatically: DO NOT MODIFY IT !
-- This file contains a part of the system CONCURRENCY VIEW.
-- It is an input file for OCARINA.
package sensor1_CV_Thread
public
with Deployment;
with process_package;
with Dataview;
THREAD sensor1_sensor1
features
OUTPORT_S1_ready : OUT EVENT DATA PORT DataView::MyBool_Buffer.impl;
INPORT_TC_S1 : IN EVENT DATA PORT DataView::Telecommand_Buffer.impl
{ Compute_Execution_Time => 0 ms .. 0 ms;
Compute_Entrypoint_Source_Text => "po_hi_c_sensor1_TC_S1"; };
END sensor1_sensor1;
THREAD IMPLEMENTATION sensor1_sensor1.others
PROPERTIES
Initialize_Entrypoint_Source_Text => "init_sensor1";
Dispatch_Protocol => Sporadic;
Period => 1 ms;
Dispatch_Offset => 0 ms;
Compute_Execution_Time => 0 ms .. 10 ms;
Source_Stack_Size => 50 KByte;
Priority => 1;
END sensor1_sensor1.others;
end sensor1_CV_Thread;
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