Skip to content

Commit 54be98c

Browse files
committed
Updated M16 manual, updated thermal shutdown descripton for DVL and Sonar, updated troubleshooting for DVLA50 and sw-update for sonar
1 parent d9aecfb commit 54be98c

19 files changed

+551
-335
lines changed

docs/dvl/dvl-a125.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ The DVL-A125 builds on the already impressive feats of the DVL-A50 with its incr
1111

1212
The DVL estimates velocity relative to the sea bottom by sending acoustic waves from the four angled transducers and then measure the frequency shift (doppler effect) from the received echo. By combining the measurements of all four transducers and the time between each acoustic pulse, it is possible to very accurately estimate the speed and direction of movement.
1313

14+
1415
!!! Tip
1516
Keep the DVL-A125 in a bucket of water to ensure sufficient cooling when using the DVL on a workbench.
1617

@@ -19,6 +20,11 @@ The DVL estimates velocity relative to the sea bottom by sending acoustic waves
1920

2021
![dvl_A125_dimensions](../img/DVL-A125--Dimensions.png)
2122

23+
###Cable dimensions
24+
Delivered cable length: 3.0m
25+
26+
Cable diameter: 7.8mm +/- 0.2mm
27+
2228

2329
## Mounting Holes
2430

docs/dvl/dvl-a50.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ The DVL estimates velocity relative to the sea bottom by sending acoustic waves
2121

2222
![dvl_a50_dimensions](../img/WL-21035-3_DVL-A50_Side3_1600_dimension_crop.jpg)
2323

24+
### Cable dimensions
25+
Delivered cable length: 3.0m
26+
27+
Cable diameter: 6.8mm +/- 0.2mm
28+
2429

2530
## Mounting Holes
2631

docs/dvl/dvl-troubleshooting.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,37 @@
22

33
## Is my DVL faulty?
44

5-
Below is a small list to check if your DVL is faulty or you are experiencing any issues. It starts with the basic before moving on to more advanced troubleshooting. When you come to the point of failure or the troubleshooting do not help, please submit a support ticket to our support team through our [Support portal](https://waterlinked.com/support). Please write what is the issue and how you have tested the DVL. Please describe how the test environment is setup and how the DVL is mounted. Please add any [Diagnostic reports](gui/diagnostic-report.md) and pictures of the test setup. This will help our support team greatly!
5+
Below is a small list to check if your DVL is not performing as expected or you are experiencing any issues. It starts with the basic before moving on to more advanced troubleshooting. When you come to the point of failure or if the troubleshooting do not help, please submit a support ticket to our support team through our [Support portal](https://waterlinked.com/support). Please write what you are experiencing and how you tested/used the DVL when you experienced the issue.
66

7-
If the trouble shooting guide do not help, please check out [FAQ DVL](faq.md#faq-dvl)!
7+
In the Support Portal please describe the test environment or test setup you have used and how the DVL is mounted. If possible, open the DVL GUI and go to Diagnostic Log in the left menu. Press the Create Diagnostic Report button. This will automatically record a log file that you can download to your computer. Please add the [Diagnostic reports](gui/diagnostic-report.md) and pictures of the test setup in the support portal. This will help our support team greatly!
8+
9+
If the troubleshooting guide do not help, please check out [FAQ DVL](faq.md#faq-dvl)!
810

911
### Check if DVL is powered
1012
1. Put the DVL under water and power it on with an adequate power supply.
13+
* Does the DVL pull any current? Expected current consumption: Approximate average 260mA at 18V
14+
* Does the LED turn on?
1115

1216
### LED
13-
1. Check the LED status, see [LED Signals](../interfaces#LED-Signals).
17+
1. For LED status, see [LED Signals](../interfaces#LED-Signals).
1418

1519
### Wiring
1620
1. Check that you have wired your DVL correctly, see [Wiring interface](../interfaces#wiring-interface).
17-
- 1.1 If you have custom connector you need to ask the supplier for the correct drawings.
21+
- 1.1 If you have a custom connector you need to ask the supplier for the correct drawings.
1822
2. Check for damages along the cable and that there are good connection where you have terminated your DVL.
1923
3. Check for short between Negative/Ground and Positive (10-30V).
2024

2125
### Environmental Check
22-
1. The Line og sight should be clear of any obstacles including walls, see [Line of sight](../dvl-a50#line-of-sight).
26+
1. The Line of sight should be clear of any obstacles including walls, see [Line of sight](../dvl-a50#line-of-sight).
2327
- 1.1 One easy way to make sure the Line of sight is clear from any walls is to observe that all beam shows approximately the same distance to the bottom. If some of the beams are flickering or showing another distance it might pick up a reflection from a wall or some other obstacle in the line of sight. Obstacle free radius from the DVL to the wall depending on the distance to the bottom can be calculated with this formula: **Obstacle free radius** = tan(32.5°) × **distance from DVL to bottom**.
2428
2. If testing in a pool, tank or bucket it should **not** be made out of a **polished metal** or very clean surfaces. This can introduce more noise and make it harder for the DVL to get a bottom lock.
2529
3. Check that there are no motors, echo sunders, pumps, running house. This can create noise in the same frequency as the DVL and have an impact on the acoustic signal.
2630
4. Make sure the environment is not acting on the DVL in a way that makes it pitch and yaw (waves). That will send the acoustic signal in many directions making it hard to achieve a bottom lock.
2731

32+
## Thermal shutdown - Does the DVL look like it is constantly powering on and off
33+
The DVL has a thermal shutdown mechanism to avoid damage. It will issue a warning before shutting down at 55℃. Once it cools below 50℃, it automatically restarts. If the overheating issue is not addressed, it may repeat this shutdown/restart cycle.
2834

35+
1. Is the DVL in water? If not it will overheat and enter a shutdown/restart cycle.
2936

3037
<!-- ### Obstacle free radius calculator
3138
@@ -121,13 +128,13 @@ If the trouble shooting guide do not help, please check out [FAQ DVL](faq.md#faq
121128

122129
2. You are able to access and see the Dashboard like displayed in our [Web Demo](https://dvl.demo.waterlinked.com/#/diagnostic).
123130

124-
3. Check that you hav have latest software, see [Software Updates](sw-update.md#software-updates)
131+
3. Check that you have the latest software, see [Software Updates](sw-update.md#software-updates)
125132

126133

127134
## Collecting data
128-
Assuming you have checked the above and your testing environment will not affect the performance of the DVL you can now start collecting data!
135+
Assuming you have checked the above and that your testing environment will not affect the performance of the DVL, you can now start collecting data!
129136

130137
1. Go into the [Diagnostic report](gui/diagnostic-report.md) and collect data. Fill the description with relevant information of the test environment and observed issue.
131138
2. Take picture of the test environment and how DVL is mounted to bracket or ROV.
132-
3. If there are know issues under certain conditions/setup please perform these tests as well and collect diagnostic reports.
139+
3. If there are known issues under certain conditions/setup please perform these tests as well and collect diagnostic reports.
133140
4. Open a ticker through our support portal [Support portal](https://waterlinked.com/support) where you upload the diagnostic reports, pictures with a description of your issue.

docs/dvl/faq.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,7 @@ The maximum transmit source level is 200 dB.
8787

8888
## 9. Can the DVL overheat?
8989

90-
Yes. The DVL has a thermal shutdown to avoid damage. It will issue a warning before shutting down at 55℃. Once it cools below 50℃, it automatically restarts. If the overheating issue is not addressed, it may repeat this shutdown/restart cycle.
91-
92-
For more details, see [Protocol](dvl-protocol.md).
90+
Yes. The DVL has a thermal shutdown to avoid damage. It will issue a warning before shutting down at 55℃. Once it cools below 50℃, it automatically restarts. If the overheating issue is not addressed, it may repeat this shutdown/restart cycle. To avoid this always keep the DVL in water when powered on.
9391

9492
---
9593

docs/dvl/interfaces.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ For both the DVL-A50 and the DVL-A125.
1212

1313
* Flashing green light, mostly on (slow, every few seconds): DVL has bottom lock.
1414

15-
* Flashing green light (fast, many times a second): DVL is in thermal shutdown.
15+
* Flashing green light (fast, many times a second): DVL is in [thermal shutdown](dvl-troubleshooting.md#thermal-shutdown---does-the-dvl-look-like-it-is-constantly-powering-on-and-off)
1616

1717
## Wiring interface
1818

@@ -52,6 +52,13 @@ The table below shows the specific pinout for the Seacon MCOM8M connector.
5252

5353
The DVL is equipped with a shielded cable that helps protect the communication and power lines from external electromagnetic interference (EMI) and radio frequency interference (RFI). Please note that the DVL electronics themselves are not internally connected to the shield; it is up to the user to decide whether and how to connect the shield.
5454

55+
!!! Note
56+
For DVLA50, shielded cables were introduced autumn 2024 from serial number 30273 and upwards, and 05838 and upwards.
57+
58+
DVLA50's with Seacon MCOMSM connector and DVLA50's made before autumn 2024 are delivered with unshielded cable.
59+
60+
All DVLA125 are delivered with shielded cable.
61+
5562
### Connecting the Shield
5663

5764
For optimal performance, especially when mounted on an ROV (Remotely Operated Vehicle) or AUV (Autonomous Underwater Vehicle), it is recommended to connect the shield to reduce the impact of interference on the communication and power signals. The most common connection methods are:

docs/dvl/sw-update.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ It is recommended to always run the latest DVL software where possible. The late
55
The release notes for each release is available in the [GUI](../gui/dashboard) and also in the [GUI demo](https://dvl.demo.waterlinked.com/#/about).
66

77
!!! Warning
8-
During the software upgrade, the thermal protection feature is turned off. To prevent the DVL from overheating, it is important to submerge the DVL in water throughout the update process.”
8+
During the software upgrade, the thermal protection feature is turned off. To prevent the DVL from overheating, it is important to submerge the DVL in water throughout the update process.
9+
10+
If the DVL is switched off during an upgrade it might be permanently damaged.”
911

1012

1113
## Automatic software update

docs/img/m16-gui.png

43.2 KB
Loading

docs/img/m16_signal_strength.png

38.5 KB
Loading
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Diagnostic report
2+
This document describes the structure of the diagnostic report and how to decode it.
3+
4+
## Packet Structure of the Diagnostic Report
5+
6+
When in diagnostic mode (or upon a report request in transparent mode), the modem sends an **18-byte** report. The byte layout is:
7+
8+
| **Byte (bit)** | **Field** | **Description** |
9+
|:--------------:|:-----------------------|:-----------------------------------------------------------------------------------------------:|
10+
| 0 (0:7) | `START_OF_FRAME (SOF)` | “$” (0x24) |
11+
| 1:2 (0:15) | `TB` | Transport block containing 2 bytes of received data. |
12+
| 3 (0:7) | `BER` | Bit error rate |
13+
| 4 (0:7) | `SIGNAL_POWER` | Relative signal power (0–255) |
14+
| 5 (0:7) | `NOISE_POWER` | Relative noise power (0–255) |
15+
| 6:7 (0:15) | `PACKET_VALID` | Indicates packet integrity: LDPC decode + CRC successful |
16+
| 8 (0:7) | `PACKET_INVALID` | CRC check failed |
17+
| 9 (0:7) | `GIT_REV` | Firmware revision (Git commit hash, 8-bit) |
18+
| 10:12 (0:23) | `TIME_FROM_BOOT` | Time since power-up in 10 ms increments |
19+
| 13:14 (0:15) | `CHIP_ID` | FPGA chip ID |
20+
| 15 (0:1) | `HW_REV` | Hardware revision (2 bits) |
21+
| 15 (2:5) | `CHANNEL` | Active communication channel (1–12) |
22+
| 15 (6) | `TB_VALID` | Transport block valid bit; indicates new TB data |
23+
| 15 (7) | `TX_COMPLETE` | Indicates that a transmission has finished |
24+
| 16 (0) | `DIAGNOSTIC_MODE` | 1 if in diagnostic mode; 0 otherwise |
25+
| 16 (1) | `RESERVED` | Reserved bit |
26+
| 16 (2:3) | `POWER_LEVEL` | Current power level (0 = L4, 1 = L3, 2 = L2, 3 = L1) |
27+
| 16 (4:7) | `RESERVED` | Reserved bits |
28+
| 17 (0:7) | `END_OF_FRAME (EOF)` | New line (“\n”) |
29+
30+
!!! warning
31+
**Signal Power & Noise Power**
32+
- Both range from 0 to 255.
33+
- When the modem is idle (not transmitting or receiving), **Signal Power** reflects the background noise floor, which should match **Noise Power**.
34+
- **During** packet decoding, `SIGNAL_POWER` should be **greater** than `NOISE_POWER` for a successful decode.
35+
36+
**Practical Tip**
37+
- Record the Noise Power while idle as your baseline (noise floor).
38+
- Compare that with Signal Power during active communication.
39+
- The bigger the gap, the better the link quality. (Could be closer to each other)
40+
41+
---
42+
43+
## Example Python Report Parser
44+
45+
```python
46+
def decode_packet(packet: bytes) -> Optional[Dict[str, Any]]:
47+
"""
48+
Decode a packet received from the modem.
49+
50+
Parameters
51+
----------
52+
packet : bytes
53+
The raw packet (18 bytes) starting with '$' (0x24) and ending with '\n' (0x0A).
54+
55+
Returns
56+
-------
57+
Optional[Dict[str, Any]]
58+
A dictionary with decoded values if valid, or None otherwise.
59+
"""
60+
if len(packet) != 18 or packet[0] != ord('$') or packet[-1] != ord('\n'):
61+
return None
62+
63+
# The 16 bytes after the '$' and before the '\n'
64+
data = packet[1:17]
65+
decoded = struct.unpack("<HBBBHBBBBBHBB", data)
66+
67+
decoded_dict = {
68+
"TR_BLOCK": decoded[0],
69+
"BER": decoded[1],
70+
"SIGNAL_POWER": decoded[2],
71+
"NOISE_POWER": decoded[3],
72+
"PACKET_VALID": decoded[4],
73+
"PACKET_INVALID": decoded[5],
74+
"GIT_REV": decoded[6].to_bytes(1, "little"),
75+
"TIME": (decoded[9] << 16) | (decoded[8] << 8) | decoded[7],
76+
"CHIP_ID": decoded[10],
77+
"HW_REV": decoded[11] & 0b00000011,
78+
"CHANNEL": (decoded[11] & 0b00111100) >> 2,
79+
"TB_VALID": (decoded[11] & 0b01000000) >> 6,
80+
"TX_COMPLETE": (decoded[11] & 0b10000000) >> 7,
81+
"DIAGNOSTIC_MODE": decoded[12] & 0b00000001,
82+
"LEVEL": (decoded[12] & 0b00001100) >> 2,
83+
}
84+
85+
return decoded_dict
86+
```

docs/modem-m16/modem-m16-faq.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,26 @@ Below are some frequently asked questions about the Modem M16. Click on a questi
88

99
No, the modem's uses an unsynchronized method of sending data meaning that an time of flight estimate would give large errors in the range estimations. The acoustic signal is not synced but known to be within some time frame of 25ms.
1010

11-
However if looking at the [Signal to noise ratio (SNR)](modem-m16-uart-interface.md#packet-structure-of-the-diagnostic-report) you can use it to indicate that the distance between the modems is fare or close. For example would a grater SNR (better signal) indicate that it is most likely close as it has so good signal.
11+
However if looking at the [Signal to noise ratio (SNR)](../modem-m16/modem-m16-diagnostic-report.md) you can use it to indicate that the distance between the modems is fare or close. For example would a grater SNR (better signal) indicate that it is most likely close as it has so good signal.
1212

1313
---
1414

1515
## 2. Do the modem retransmit data packets?
1616

17-
No, the modem do not retransmit data packets. If you need a more robust data link to ensure that packets are received you will have to implement that in your application/driver.
17+
<!-- No, the modem do not retransmit data packets. If you need a more robust data link to ensure that packets are received you will have to implement that in your application/driver. -->
1818

19-
---
19+
Yes, If the modem is set to parrot mode (see [Parrot Mode](../modem-m16/modem-m16-integration.md#parrot-mode)), it will retransmit all packets it has received.
20+
21+
---
22+
23+
## 3. Does the modem need line of sight to communicate between them?
24+
Yes, they do.
25+
26+
## 4. Can the modem be mounted below a shell on an ROV?
27+
No, the transducer part of the modem must be in the water to be able to send and receive signals.
28+
29+
## 5. How should the modem be mounted to achiecve the best possible signal strength
30+
The signal strength from the Modem-M16 is donut-shaped around the transducer.
31+
32+
Below is a simple scetch that illustrates the signal strength in all directions. For shorter distances the mounting is not relevant, as the signal is transmitted in all directions and also reflected at the surface, seabed or other constructions in the water. On long distances or to achieve optimal behaviour, the mounting position might slightly impact the signal range of the modem.
33+
![Signal strength scetch](../img/m16_signal_strength.png)

0 commit comments

Comments
 (0)