Skip to content

Commit 7c1e8f7

Browse files
committed
sonar: document http & move api section
1 parent 2fa50e5 commit 7c1e8f7

2 files changed

Lines changed: 20 additions & 11 deletions

File tree

docs/sonar-3d/sonar-3d-15-api.md

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
# Integration API Sonar 3D-15
22

33
## Introduction
4-
The **Water Linked Sonar 3D-15** provides real-time 3D views of underwater environments using a low-bandwidth **Range Image Protocol (RIP1)**. This protocol efficiently transmits data such as 3D points or grayscale bitmaps over UDP multicast, enabling live visualization, analysis, or archival for later use.
4+
The **Water Linked Sonar 3D-15** provides real-time 3D views of underwater environments using a low-bandwidth **Range Image Protocol (RIP1)**. This protocol efficiently transmits data such as 3D points or grayscale bitmaps over UDP, enabling live visualization, analysis, or archival for later use.
5+
6+
The Sonar 3D-15 also exposes a HTTP API for configuration and inspection of system state.
57

68
A Python example implementation of the Sonar API is available on [github](https://github.com/waterlinked/Sonar-3D-15-api-example).
79

@@ -25,34 +27,36 @@ RIP1 is a compact format for range and bitmap images, designed for <10 Mbit ba
2527

2628
---
2729

28-
## Network
29-
By default, the Sonar 3D-15 uses **UDP Multicast** (`224.0.0.96:4747`), so any device on the local network can receive data without knowing the sonar’s IP.
30+
### Network
31+
By default, the Sonar 3D-15 uses **UDP Multicast** (`224.0.0.96:4747`), so any device on the local network can receive RIP1 packets without knowing the sonar’s IP.
32+
33+
The Sonar can also be configured for UDP unicast, or to disable UDP packet sending. See HTTP API.
3034

3135
---
3236

33-
## Image Sizes and Update Rates
37+
### Image Sizes and Update Rates
3438
| **Mode** | **Resolution (W×H)** | **FOV (H×V)** | **Rate** |
3539
|---------------|----------------------|--------------|---------|
3640
| Low Frequency | 256 × 64 | 90° × 40° | 5 Hz |
3741
| High Frequency| 256 × 64 | 40° × 40° | 20 Hz |
3842

3943
---
4044

41-
## Message Types
45+
### Message Types
4246
RIP1 supports several Protobuf-encoded messages, including:
4347

44-
### `BitmapImageGreyscale8`
48+
#### `BitmapImageGreyscale8`
4549
- 8-bit grayscale; each pixel = signal strength or shaded depth.
4650
- `type` enum differentiates **signal strength** vs. **shaded**.
4751

48-
### `RangeImage`
52+
#### `RangeImage`
4953
- Each pixel represents distance (radius) to the strongest reflection.
5054
- `0` = no valid data.
5155
- `radius = pixelValue * imagePixelScale`.
5256

5357
---
5458

55-
## Coordinate and Image Conventions
59+
### Coordinate and Image Conventions
5660
**Axes** (right-handed):
5761

5862
- **x**: forward
@@ -91,7 +95,7 @@ z = -radius * sin(pitch); // z is downward
9195
9296
---
9397
94-
## `.proto` File (Excerpt)
98+
### `.proto` File (Excerpt)
9599
```protobuf
96100
// Water Linked Sonar 3D-15 protocol
97101
syntax = "proto3";
@@ -173,7 +177,12 @@ message RangeImage {
173177
- Decoders should ignore unrecognized messages.
174178
- Major breaking changes will involve a new protocol identifier.
175179

180+
Refer to the full protocol specification and `.proto` file shown above for more information.
181+
182+
## HTTP API
183+
184+
The Sonar 3D-15 exposes a HTTP API for configuration and inspection of system state. The HTTP API is exposed on port 80 and uses paths rooted at `/api/v1/integration/`. JSON is used for request and response bodies. The HTTP API is documented in the example code on [github](https://github.com/waterlinked/Sonar-3D-15-api-example).
185+
176186
---
177187

178188
**Thank you for using the Water Linked Sonar 3D-15!**
179-
Refer to the full protocol specification and `.proto` file shown above for more information.

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ nav:
4040
- Wiring: sonar-3d/sonar-3d-15-wiring.md
4141
- LED: sonar-3d/sonar-3d-15-led.md
4242
- GUI: sonar-3d/sonar-3d-15-gui.md
43+
- API: sonar-3d/sonar-3d-15-api.md
4344
- Integration:
4445
- DeepTrekker Pivot: sonar-3d/sonar-3d-15-deep-trekker-rov.md
4546
- Blueye X3: sonar-3d/sonar-3d-15-blueye-rov.md
4647
- BlueROV2: sonar-3d/sonar-3d-15-bluerov-integration.md
4748
- Chasing M2 PRO MAX: sonar-3d/sonar-3d-15-chasing-rov.md
48-
- API: sonar-3d/sonar-3d-15-api.md
4949
- Software Updates: sonar-3d/sonar-3d-15-software-update.md
5050
- Settings: sonar-3d/sonar-3d-15-config.md
5151
- Networking: sonar-3d/sonar-3d-15-networking.md

0 commit comments

Comments
 (0)