This repository has been archived by the owner on Mar 23, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
99 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
@startuml common | ||
|
||
box Modules | ||
participant "Local Transceiver ROS Intf" as intf | ||
participant "Local Transceiver" as local | ||
end box | ||
|
||
box Resources | ||
Collections "Sensor Buffer" as buf | ||
Queue "Serial Port" as port | ||
end box | ||
|
||
note across | ||
As ROS is used for synchronizing access to resources, the module control | ||
flow is blocking, meaning only one subsequence can happen at at a time. | ||
end note | ||
|
||
@enduml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
@startuml common | ||
|
||
box Modules | ||
participant "HTTP Handler" as handler | ||
participant "HTTP Server" as server | ||
participant SailbotDB as db | ||
end box | ||
|
||
note over handler, server | ||
Part of the same class. The handler is separated from the | ||
server in the diagram to illustrate that the server does | ||
not block on requests, and multiple can be handled simultaneously. | ||
end note | ||
|
||
@endmul |
35 changes: 35 additions & 0 deletions
35
projects/remote_transceiver/diagrams/receive_sensors_sequence.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
@startuml Receive Sensors Sequence | ||
title Remote Transceiver Receive Sensors Sequence | ||
|
||
!include %getenv("PLANTUML_TEMPLATE_PATH") | ||
!include common.puml | ||
|
||
autonumber | ||
|
||
box Resources | ||
Collections "Sensors Buffer" as buf | ||
Database "MongoDB" as mongo | ||
end box | ||
|
||
note over buf : Contents of this buffer are \nunparsed, raw binary strings | ||
|
||
-> handler ++ : POST Sensors | ||
handler -> server --++: Process POST Request | ||
server -> server : Parse HTTP | ||
server --> buf : Update Sensors Buffer | ||
alt If Incomplete Sensors Payload | ||
handler <- server --++ : Return OK | ||
<- handler -- : Send Response | ||
|
||
else Else All Sensor Payloads Received | ||
activate server | ||
handler <-- server ++ : Return OK | ||
note right of server : Execution continues after returning HTTP response | ||
<- handler -- : Send Response | ||
server <-- buf : Read Entire Buffer | ||
server -> server : Parse Protobuf Sensors Object from Binary | ||
server -> db ++ : Commit Sensors to DB | ||
db -> db : Convert Sensors to BSON Format | ||
db --> mongo -- : Write Sensors to MongoDB | ||
deactivate server | ||
end |
24 changes: 24 additions & 0 deletions
24
projects/remote_transceiver/diagrams/transmit_global_path_sequence.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
@startuml Transmit Global Path Sequence | ||
title Remote Transceiver Transmit Global Path Sequence | ||
|
||
!include %getenv("PLANTUML_TEMPLATE_PATH") | ||
!include common.puml | ||
|
||
autonumber | ||
|
||
note over db : Unused | ||
|
||
-> handler ++ : POST Global Path | ||
handler -> server --++ : Process POST request | ||
server -> server : Parse HTTP Request for Waypoints | ||
server -> server : Convert Waypoints to Protobuf and Serialize | ||
opt If Waypoints are too Large for One Message | ||
server -> server : Split Waypoints Across Multiples Messages | ||
end | ||
loop For Each Waypoint Message | ||
server --> handler ++ : Transmit Waypoints | ||
<- handler -- : POST Waypoints to Iridium | ||
deactivate server | ||
end | ||
|
||
@enduml |