705x2b1s - CCSDS
705x2b1s - CCSDS
705x2b1s - CCSDS
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>CCSDS</strong> HISTORICAL DOCUMENTRECOMMENDATION FOR ADVANCED ORBITING SYSTEMSprocess PacketConstruction [pkt,oct,int](pathServiceType : Service,pathID : PathID,SequenceCount : PacketSequenceCount,packetType : PacketType,maxSDULength : Nat) : noexit :=(let SAP : PathId = pathID in([pathServiceType Eq OctetString] ->(oct ! SAP? Path : PathID? SHI : SecondaryHeaderIndicator? Data : OctetString [LengthOf(Data) Le maxSDULength] ;[]int ! Path! Make<strong>CCSDS</strong>Packet(MakePrimaryHeader(MakePacketID(version1, packetType,SHToSHF(SHI), APIDPart(Path)),MakePacketSC(PacketSequenceUnSeg, SequenceCount),ConvertNatToPL(Pred(LengthOf(Data)))),Data) ;PacketConstruction [pkt,oct,int](pathServiceType,pathID,Next(SequenceCount),packetType,maxSDULength))NOTE – The APID Qualifier is an optional part of the Path Identifier; if the Qualifier is not tobe used, then the value “NullAPIDQual” should be applied.[pathServiceType Eq UserFormatted] ->(pkt ! SAP? Qual : APIDQual? Packet : <strong>CCSDS</strong>Packet[(GetPacketLength(GetPrimaryHeader(Packet)) eqConvertNatToPL(Pred(LengthOf(GetUserData(Packet)))))and ((LengthOf(GetUserData(Packet))+6) Le maxSDULength)and (GetVersion(GetPrimaryHeader(Packet)) eq Version1)and (UserAPID(GetAPID(GetPrimaryHeader(Packet))))] ;int ! PathID ! Packet;PacketConstruction [pkt,oct,int](pathServiceType,pathID,Next(SequenceCount),packetType,maxSDULength))))endproc PacketConstruction<strong>CCSDS</strong> 705.2-B-1 Page 2-14 May 1994<strong>CCSDS</strong> HISTORICAL DOCUMENT