From cb82dbc5fb2526f882f9d09f155e0822c8e63cd1 Mon Sep 17 00:00:00 2001 From: hhenry01 Date: Mon, 20 Nov 2023 18:56:17 -0800 Subject: [PATCH] Add UML Diagram for External Intfs --- README.md | 2 +- external_interfaces.puml | 104 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 external_interfaces.puml diff --git a/README.md b/README.md index 7aa70d8..6a37ea7 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ ROS messages and services used across many ROS packages in the project. | `gps` | GPS | CAN Transceiver | Local Transceiver, Local Pathfinding | | `local_path_data` | LPathData | Local Pathfinding | Local Transceiver | | `mock_gps` | GPS | Boat Simulator | CAN Transceiver | -| `filtered_wind_sensor` | WindSensor | CAN Transceiver | Local Transceiver, Local Pathfinding | +| `filtered_wind_sensor` | WindSensor | CAN Transceiver | Local Pathfinding | | `mock_wind_sensors` | WindSensors | Boat Simulator | CAN Transceiver | | `wind_sensors` | WindSensors | CAN Transceiver | Local Transceiver | diff --git a/external_interfaces.puml b/external_interfaces.puml new file mode 100644 index 0000000..e298360 --- /dev/null +++ b/external_interfaces.puml @@ -0,0 +1,104 @@ +@startuml External Interfaces +Title External Interfaces + +!include %getenv("PLANTUML_TEMPLATE_PATH") + +skinparam State { + BackgroundColor { + <> White + <> $SAILBOT_BLUE + <> Green + <> Red + } + Font { + Color<> Black + Style<> Bold + } +} + +State Legend<> { + State "Publisher" <> + State Topic <> : Type + State "Subscriber" <> + State Node { + + } +} + +State ais_ships<> : AISShips +State batteries<> : Batteries +state desired_heading<> : DesiredHeading +State data_sensors<> : GenericSensors +State global_path<> : Path +State gps<> : GPS +State local_path_data<> : LPathData +State mock_gps<> : GPS +State filtered_wind_sensor<> : WindSensor +State mock_wind_sensors<> : WindSensors +State wind_sensors<> : WindSensors + +State "Local Pathfinding" as l_path { + State "Publish" as l_path_pub <> + State "Subscribe" as l_path_sub <> +} +State "Local Transceiver" as l_trans { + State "Publish" as l_trans_pub <> + State "Subscribe" as l_trans_sub <> +} +State "Controller" as ctrl { + ' State "Publish" as ctrl_pub <> + State "Subscribe" as ctrl_sub <> +} +State "Boat Simulator" as sim { + State "Publish" as sim_pub <> + State "Subscribe" as sim_sub <> +} + +State "Can Transceiver" as can { + State "Publish" as can_pub <> + State "Subscribe" as can_sub <> +} + +' Publisher --> Topic + +can_pub --> ais_ships +can_pub --> batteries +can_pub --> data_sensors +can_pub --> gps +can_pub --> filtered_wind_sensor +can_pub --> wind_sensors + +l_path_pub --> desired_heading +l_path_pub --> local_path_data + +l_trans_pub --> global_path + +sim_pub -left-> mock_gps +sim_pub -left-> mock_wind_sensors + +' Topic --> Subscriber + +ais_ships --> l_path_sub +ais_ships --> l_trans_sub + +batteries --> l_trans_sub + +desired_heading --> ctrl_sub +desired_heading --> sim_sub + +data_sensors --> l_trans_sub + +global_path --> l_path_sub + +gps --> l_trans_sub +gps --> l_path_sub + +local_path_data -up-> l_trans_sub + +mock_gps -up-> can_sub + +filtered_wind_sensor --> l_path_sub + +mock_wind_sensors -up-> can_sub + +wind_sensors --> l_trans_sub