Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
M48
; DRILL file {KiCad 5.1.5+dfsg1-2build2} date Tue 25 Mar 2025 08:21:24 PM CDT
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2025-03-25T20:21:24-05:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,5.1.5+dfsg1-2build2
; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2
INCH
%
G90
G05
T0
M30
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
M48
; DRILL file {KiCad 5.1.5+dfsg1-2build2} date Tue 25 Mar 2025 08:21:24 PM CDT
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2025-03-25T20:21:24-05:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,5.1.5+dfsg1-2build2
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
INCH
T1C0.0157
T2C0.0315
T3C0.0394
%
G90
G05
T1
X6.101Y-4.981
T2
X5.4601Y-4.6001
X5.4601Y-4.7001
X5.4601Y-4.8001
X5.4601Y-4.9001
X5.7601Y-4.6001
X5.7601Y-4.7001
X5.7601Y-4.8001
X5.7601Y-4.9001
X5.4601Y-3.1301
X5.4601Y-3.2301
X5.4601Y-3.3301
X5.4601Y-3.4301
X5.7601Y-3.1301
X5.7601Y-3.2301
X5.7601Y-3.3301
X5.7601Y-3.4301
X5.4686Y-2.493
X5.4686Y-2.593
X5.4686Y-2.693
X5.4686Y-2.793
X5.7686Y-2.493
X5.7686Y-2.593
X5.7686Y-2.693
X5.7686Y-2.793
X5.4601Y-4.2001
X5.4601Y-4.3001
X5.4601Y-4.4001
X5.4601Y-4.5001
X5.7601Y-4.2001
X5.7601Y-4.3001
X5.7601Y-4.4001
X5.7601Y-4.5001
X5.4686Y-2.0901
X5.4686Y-2.1901
X5.4686Y-2.2901
X5.4686Y-2.3901
X5.7686Y-2.0901
X5.7686Y-2.1901
X5.7686Y-2.2901
X5.7686Y-2.3901
X5.4601Y-3.5301
X5.4601Y-3.6301
X5.4601Y-3.7301
X5.4601Y-3.8301
X5.7601Y-3.5301
X5.7601Y-3.6301
X5.7601Y-3.7301
X5.7601Y-3.8301
T3
X5.9401Y-3.8301
X6.0401Y-3.8301
X6.1401Y-3.8301
X5.9401Y-4.8001
X6.0401Y-4.8001
X6.1401Y-4.8001
X5.9401Y-4.5001
X6.0401Y-4.5001
X6.1401Y-4.5001
X5.1191Y-4.2751
X5.1191Y-4.3751
X5.1191Y-4.4751
X5.1191Y-4.5751
X5.1191Y-4.6751
X5.1191Y-4.7751
X5.2191Y-4.2751
X5.2191Y-4.3751
X5.2191Y-4.4751
X5.2191Y-4.5751
X5.2191Y-4.6751
X5.2191Y-4.7751
X5.9401Y-4.4001
X6.0401Y-4.4001
X6.1401Y-4.4001
X5.9386Y-2.693
X6.0386Y-2.693
X6.1386Y-2.693
X5.1191Y-3.1751
X5.1191Y-3.2751
X5.1191Y-3.3751
X5.1191Y-3.4751
X5.1191Y-3.5751
X5.1191Y-3.6751
X5.2191Y-3.1751
X5.2191Y-3.2751
X5.2191Y-3.3751
X5.2191Y-3.4751
X5.2191Y-3.5751
X5.2191Y-3.6751
X5.9401Y-3.7301
X6.0401Y-3.7301
X6.1401Y-3.7301
X5.9386Y-2.393
X6.0386Y-2.393
X6.1386Y-2.393
X5.9386Y-2.293
X6.0386Y-2.293
X6.1386Y-2.293
X5.9401Y-4.0001
X6.0401Y-4.0001
X6.1401Y-4.0001
X5.9386Y-2.593
X6.0386Y-2.593
X6.1386Y-2.593
X4.219Y-2.075
X4.219Y-2.175
X4.219Y-2.275
X4.219Y-2.375
X4.219Y-2.475
X4.219Y-2.575
X4.319Y-2.075
X4.319Y-2.175
X4.319Y-2.275
X4.319Y-2.375
X4.319Y-2.475
X4.319Y-2.575
X5.9386Y-2.793
X6.0386Y-2.793
X6.1386Y-2.793
X3.951Y-2.171
X3.951Y-2.271
X3.951Y-2.371
X3.951Y-2.471
X5.9386Y-2.193
X6.0386Y-2.193
X6.1386Y-2.193
X5.9386Y-2.493
X6.0386Y-2.493
X6.1386Y-2.493
X5.9401Y-3.3301
X6.0401Y-3.3301
X6.1401Y-3.3301
X5.9401Y-3.2301
X6.0401Y-3.2301
X6.1401Y-3.2301
X5.9401Y-4.2001
X6.0401Y-4.2001
X6.1401Y-4.2001
X5.9386Y-2.9601
X6.0386Y-2.9601
X6.1386Y-2.9601
X5.1191Y-2.0751
X5.1191Y-2.1751
X5.1191Y-2.2751
X5.1191Y-2.3751
X5.1191Y-2.4751
X5.1191Y-2.5751
X5.2191Y-2.0751
X5.2191Y-2.1751
X5.2191Y-2.2751
X5.2191Y-2.3751
X5.2191Y-2.4751
X5.2191Y-2.5751
X5.9401Y-4.9001
X6.0401Y-4.9001
X6.1401Y-4.9001
X5.9401Y-4.6001
X6.0401Y-4.6001
X6.1401Y-4.6001
X5.9401Y-4.3001
X6.0401Y-4.3001
X6.1401Y-4.3001
X5.9401Y-3.5301
X6.0401Y-3.5301
X6.1401Y-3.5301
X5.941Y-5.071
X6.041Y-5.071
X6.141Y-5.071
X5.9401Y-4.7001
X6.0401Y-4.7001
X6.1401Y-4.7001
X5.9401Y-3.4301
X6.0401Y-3.4301
X6.1401Y-3.4301
X5.9401Y-3.6301
X6.0401Y-3.6301
X6.1401Y-3.6301
X5.9401Y-3.1301
X6.0401Y-3.1301
X6.1401Y-3.1301
X5.9386Y-2.093
X6.0386Y-2.093
X6.1386Y-2.093
T0
M30
22 changes: 21 additions & 1 deletion doc/Nodes/SonarArrayNode/SonarArrayNode.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,24 @@ Examples:

### Sequence Diagrams
![](../../../nodes/SonarArrayDriverNode/driver/doc/output/SonarArrayNodeDriverSequenceDiagram.png)
![](../../../nodes/SonarArrayDriverNode/doc/output/SonarArrayDriverNodeSequenceDiagram.png)
![](../../../nodes/SonarArrayDriverNode/doc/output/SonarArrayDriverNodeSequenceDiagram.png)

## Diagnostics Strategy
| Status | Diagnostic Type | Message | Level | Description |
| --- | --- | --- | --- | --- |
| READY | COMMUNICATIONS | INITIALIZING | INFO | Set when Comms with Sonar Array are initializing. |
| READY | COMMUNICATIONS | INITIALIZING_ERROR | ERROR | Set when the Comms port to the Sonar Array can't be initialized. |
| READY | COMMUNICATIONS | DEVICE_NOT_AVAILABLE | ERROR | Set when Comm Port becomes unavailable. |
| READY | COMMUNICATIONS | NODATA | ERROR | Set when Comm Port never received data. |
| READY | COMMUNICATIONS | NOERROR | INFO | Set when no error is present. |
| READY | DATA_STORAGE | INITIALIZING | INFO | Set when Driver is initializing configuration. |
| READY | DATA_STORAGE | INITIALIZING_ERROR | ERROR | Set when Driver can't initialize configuration. |
| READY | DATA_STORAGE | NOERROR | INFO | Set when no error is found with Data Storage. |
| READY | SENSORS | INITIALIZING | INFO | Set when Sensors are Initializing. |
| READY | SENSORS | DROPPING_PACKETS | WARN | Set when Sensor Array is missing data. |
| READY | SENSORS | DEVICE_NOT_AVAILABLE | ERROR | Set when Sonar Array becomes unavailable. |
| READY | SENSORS | NODATA | ERROR | Set when no Sensor data has been received. |
| READY | SENSORS | NOERROR | INFO | Set when no error is present with Sensors. |
| READY | SYSTEM_RESOURCE | INITIALIZING | INFO | Set when Driver is initializing System Resource monitoring. |
| READY | SYSTEM_RESOURCE | INITIALIZING_ERROR | ERROR | Set when Driver can't initialize System Resource monitoring. |
| READY | SYSTEM_RESOURCE | NOERROR | INFO | Set when no error is present with System Resource monitoring. |
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ alt initialize
node -> process: enable_diagnostics()
node -> process++: finish_initialization()
process -> driver++: init()
activate driver
driver --> process--: diagnostic[]
process --> node--
node -> node: finish_initialization()
node -> node: rescan_nodes()
Expand All @@ -30,8 +32,8 @@ alt loops
node -> node++: run_loop1
node -> process++: update(0.02, now)
process -> driver++: update(0.02)
driver --> process--: diag
process --> node--: diag
driver --> process--: diagnostic[]
process --> node--: diagnostic[]
node -> process++: get_sonar_data()
process -> driver++: get_sonar_data()
driver --> process--: sonar_data
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,19 @@ package sensor_msgs {
}
namespace sonar_array {
interface ISonarArrayNodeDriver #LimeGreen {
+{abstract} bool init(Diagnostic diagnostic,Logger logger,sensor_msgs::Range[] sonars)
+{abstract} Diagnostic[] init(Diagnostic diagnostic,Logger logger,sensor_msgs::Range[] sonars)
+{abstract} bool is_fully_initialized()
+{abstract} bool set_comm_device(std::string comm_device, int speed)
+{abstract} Diagnostic update(double current_time_sec, double dt)
+{abstract} Diagnostic[] update(double current_time_sec, double dt)
+{abstract} bool finish()
+{abstract} string pretty(string mode)
+{abstract} sensor_msgs::Range[] get_sonar_data()
+{abstract} std::string pretty(sensor_msgs::Range[] sonar_data)
}
abstract BaseSonarArrayNodeDriver #LimeGreen {
+bool init(Diagnostic diagnostic,Logger logger,sensor_msgs::Range[] sonars)
+Diagnostic[] init(Diagnostic diagnostic,Logger logger,sensor_msgs::Range[] sonars)
+bool is_fully_initialized()
+Diagnostic update(double current_time_sec, double dt)
+Diagnostic[] update(double current_time_sec, double dt)
+string pretty(string mode)
+sensor_msgs::Range[] get_sonar_data()
+std::string pretty(sensor_msgs::Range[] sonar_data)
Expand All @@ -37,9 +37,9 @@ namespace sonar_array {
}
ISonarArrayNodeDriver <|.. BaseSonarArrayNodeDriver
class SonarArrayNodeDriver #LimeGreen {
+bool init(Diagnostic diagnostic,Logger logger,sensor_msgs::Range[] sonars)
+bool set_comm_device(std::string comm_device, int speed)
+Diagnostic update(double current_time_sec, double dt)
+Diagnostic[] init(Diagnostic diagnostic,Logger logger,sensor_msgs::Range[] sonars)
+Diagnostic[] set_comm_device(std::string comm_device, int speed)
+Diagnostic[] update(double current_time_sec, double dt)
+string pretty(string mode)
+bool finish()
+int readFromSerialPort(char[] buffer, int size)
Expand All @@ -48,9 +48,9 @@ namespace sonar_array {
}
BaseSonarArrayNodeDriver <|-- SonarArrayNodeDriver
class MockSonarArrayNodeDriver #LimeGreen {
+bool init(Diagnostic diagnostic,Logger logger,sensor_msgs::Range[] sonars)
+bool set_comm_device(std::string comm_device, int speed)
+Diagnostic update(double current_time_sec, double dt)
+Diagnostic[] init(Diagnostic diagnostic,Logger logger,sensor_msgs::Range[] sonars)
+Diagnostic[] set_comm_device(std::string comm_device, int speed)
+Diagnostic[] update(double current_time_sec, double dt)
+string pretty(string mode)
+bool finish()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,26 @@ activate user
user -> interface++: init(Diagnostic diagnostic, Logger logger,sensor_msgs::Range[] sonars)
interface -> driver++: init(Diagnostic diagnostic,Logger logger,sensor_msgs::Range[] sonars)
driver -> base++: init(Diagnostic diagnostic, Logger, logger,sensor_msgs::Range[] sonars)
base --> driver--: status
driver --> interface--: status
interface --> user--: status
base --> driver--: diagnostic[]
driver --> interface--: diagnostic[]
interface --> user--: diagnostic[]

user -> driver++: set_comm_device(string port_name, int baud_rate)
driver -> driver: fully_initialized = true
driver --> user--: status
driver --> user--: diagnostic[]
end

alt update
user -> interface++: update(double current_time, double dt)
interface -> driver++: update(double current_time, double dt)
driver -> base++: update(double current_time, doublt dt)
base --> driver--: diagnostic
base --> driver--: diagnostic[]
driver -> driver: buffer = readFromSerialPort()
driver -> parser++: parsePacket(buffer)
parser --> driver--: packet
driver -> driver: updateSonarData(packet)
driver --> interface--: diagnostic
interface --> user--: diagnostic
driver --> interface--: diagnostic[]
interface --> user--: diagnostic[]
end

@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.