Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update link to CFDP PDF in sdd.md #1591

Merged
merged 10 commits into from
Jul 26, 2022
Binary file removed Svc/Deframer/docs/img/class_diagram_deframer.png
Binary file not shown.
Binary file not shown.
38 changes: 0 additions & 38 deletions Svc/Deframer/docs/img/sequence-diagrams/active-cmd-packet.puml

This file was deleted.

Binary file not shown.
34 changes: 0 additions & 34 deletions Svc/Deframer/docs/img/sequence-diagrams/active-file-packet.puml

This file was deleted.

Binary file not shown.
35 changes: 0 additions & 35 deletions Svc/Deframer/docs/img/sequence-diagrams/passive-cmd-packet.puml

This file was deleted.

Binary file not shown.
31 changes: 0 additions & 31 deletions Svc/Deframer/docs/img/sequence-diagrams/passive-file-packet.puml

This file was deleted.

93 changes: 88 additions & 5 deletions Svc/Deframer/docs/sdd.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,13 @@ See <a href="#dpi-impl">below</a> for a description of how `Deframer` implements

Here is a class diagram for `Deframer`:

![classdiagram](./img/class_diagram_deframer.png)
```mermaid
classDiagram
ObjBase <|-- PassiveComponentBase
PassiveComponentBase <|-- DeframerComponentBase
DeframerComponentBase <|-- Deframer
DeframingProtocolInterface <|-- Deframer
```

### 4.4. State

Expand Down Expand Up @@ -386,27 +392,104 @@ Vertical dashed lines represent component code.
Solid horizontal arrows represent synchronous port invocations, and open
horizontal arrows represent asynchronous port invocations.

![Active byte stream driver, command packet](img/sequence-diagrams/active-cmd-packet.png)
```mermaid
sequenceDiagram
activate activeComm
activeComm->>buffMgr: Allocate frame buffer FB
buffMgr-->>activeComm: Return FB
activeComm->>activeComm: Fill FB with framed data
activeComm->>deframer: Send FB[framedIn]
deframer->>buffMgr: Allocate packet buffer PB [bufferAllocate]
buffMgr-->>deframer: Return PB
deframer->>deframer: Deframe FB into PB
deframer->>deframer: Copy PB into a command packet C
deframer-)cmdDisp: Send C [comOut]
deframer->>buffMgr: Deallocate PB [bufferDeallocate]
buffMgr-->>deframer:
deframer->>buffMgr: Deallocate FB [framedDeallocate]
buffMgr-->>deframer:
deframer-->>activeComm:
deactivate activeComm
activate cmdDisp
cmdDisp->>deframer: Send cmd response [cmdResponseIn]
deframer-->>cmdDisp:
deactivate cmdDisp
```

**Sending a file packet:**
The following sequence diagram shows what happens when `activeComm`
sends data to `deframer`, and `deframer` decodes the data into a file packet.

![Active byte stream driver, file packet](img/sequence-diagrams/active-file-packet.png)
```mermaid
sequenceDiagram
activate activeComm
activeComm->>buffMgr: Allocate frame buffer FB
buffMgr-->>activeComm: Return FB
activeComm->>activeComm: Fill FB with framed data
activeComm->>deframer: Send FB [framedIn]
deframer->>buffMgr: Allocate packet buffer PB [bufferAllocate]
buffMgr-->>deframer: Return PB
deframer->>deframer: Deframe FB into PB
deframer-)fileUplink: Send PB [bufferOut]
deframer->>buffMgr: Deallocate FB [framedDeallocate]
buffMgr-->>deframer:
deframer-->>activeComm:
deactivate activeComm
activate fileUplink
fileUplink->>buffMgr: Deallocate PB
buffMgr-->>fileUplink:
deactivate fileUplink
```

#### 6.2.2. Passive Byte Stream Driver

**Sending a command packet:** The following sequence diagram shows what
happens when `passiveComm` sends data to `deframer`, and
`deframer` decodes the data into a command packet.

![Passive byte stream driver, command packet](img/sequence-diagrams/passive-cmd-packet.png)
```mermaid
sequenceDiagram
activate rateGroup
rateGroup->>deframer: Send schedule tick [schedIn]
deframer->>passiveComm: Poll for data [framedPoll]
passiveComm-->>deframer: Return status
deframer->>buffMgr: Allocate packet buffer PB [bufferAllocate]
buffMgr-->>deframer: Return PB
deframer->>deframer: Deframe data into PB
deframer->>deframer: Copy PB into a command packet C
deframer-)cmdDisp: Send C [comOut]
deframer->>buffMgr: Deallocate PB [bufferDeallocate]
buffMgr-->>deframer:
deframer-->>rateGroup:
deactivate rateGroup
activate cmdDisp
cmdDisp->>deframer: Send cmd response [cmdResponseIn]
deframer-->>cmdDisp:
deactivate cmdDisp
```

**Sending a file packet:** The following sequence diagram shows what
happens when `passiveComm` sends data to `deframer`, and
`Deframer` decodes the data into a file packet.

![Passive byte stream driver, file packet](img/sequence-diagrams/passive-file-packet.png)
```mermaid
sequenceDiagram
activate rateGroup
rateGroup->>deframer: Send schedule tick [schedIn]
deframer->>passiveComm: Poll for data [framedPoll]
passiveComm-->>deframer: Return status
deframer->>buffMgr: Allocate packet buffer PB [bufferAllocate]
buffMgr-->>deframer: Return PB
deframer->>deframer: Deframe data into PB
deframer-)fileUplink: Send PB [bufferOut]
deframer-->>rateGroup:
deactivate rateGroup
activate fileUplink
fileUplink->>buffMgr: Deallocate PB
buffMgr-->>fileUplink:
deactivate fileUplink
```


### 6.3. Using Svc::GenericHub

Expand Down
2 changes: 1 addition & 1 deletion Svc/FileUplink/docs/sdd.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ then issue a *PacketOutOfOrder* warning reporting
b. Use *writeFileDescriptor* to do the following:

1. Use the method described in &sect; 4.1.2 of the
[CCSDS File Delivery Protocol (CFDP) Recommended Standard](http://public.ccsds.org/publications/archive/727x0b4.pdf)
[CCSDS File Delivery Protocol (CFDP) Recommended Standard](https://public.ccsds.org/Pubs/727x0b4s.pdf)
to compute the checksum value for the file.

2. Compare the value computed in the previous step against the
Expand Down