Skip to content

Commit

Permalink
Modified EA440 protocol to transmit SSPs to the KM EA440 software usi…
Browse files Browse the repository at this point in the history
…ng the KM EM format

Added missing figures
  • Loading branch information
eriffon committed Nov 28, 2024
1 parent 4a60d10 commit 236baff
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 10 deletions.
Binary file modified docs/_static/ea440_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_static/ea440_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 4 additions & 3 deletions docs/app_b_connection_settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ Kongsberg EA440

The Konsgsberg EA440/EA640 single-beam echo sounder data acquisition system accepts SVP transmissions from the *Sound Speed* package. A method to verify reception of the cast is not currently known thus the user should confirm reception in the acquisition system.

In the *Setup* tab of the EA440 software, open the *Installation* window and under *I/O Setup*, configure the IP address and port number where the casts transmitted from the *Sound Speed* package (:numref:`ea440_1_fig`).
In the *Setup* tab of the EA440 software, open the *Installation* window and under *I/O Setup*, configure the IP address and port number where the casts transmitted from the *Sound Speed* package should be received (:numref:`ea440_1_fig`).

.. _ea440_1_fig:

Expand All @@ -462,7 +462,7 @@ In the *Setup* tab of the EA440 software, open the *Installation* window and und

Add a new LAN Port to receive casts from SSP package.

Under *Sensor Installation*, Add a new sensor with type *Sound Velocity Profile AML CALC*. Select the newly created LAN Port as the port associated with this sensor. Enable both the speed and temperature profiles (:numref:`ea440_2_fig`).
Under *Sensor Installation*, Add a new sensor with type *Sound Velocity Profile EM*. Select the newly created LAN Port as the port associated with this sensor. Make sure that the S01 datagram is enabled (:numref:`ea440_2_fig`).

.. _ea440_2_fig:

Expand All @@ -472,7 +472,7 @@ Under *Sensor Installation*, Add a new sensor with type *Sound Velocity Profile
:alt: alternate text
:figclass: align-center

Add a new sensor in the AML CALC format to decode casts from SSP package.
Add a new sensor in the EM S01 format to decode casts from SSP package.

Open the *Monitor* window to verify successfull reception of a cast from the *Sound Speed* package (:numref:`ea440_3_fig`). Make sure that the *Sound Speed* package is properly configured with an Output client using the EA440 protocol to accomplish this test.

Expand Down Expand Up @@ -509,3 +509,4 @@ Under *Sound Velocity Profile*, select *Profile From Network* as source. Recepti
:figclass: align-center

Sound speed profile received from the *Sound Speed* package and displayed in the EA440 software

2 changes: 1 addition & 1 deletion hyo2/ssm2/app/gui/soundspeedsettings/widgets/output.py
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ def new_client(self):
while True:
# noinspection PyCallByClass
protocol, ok = QtWidgets.QInputDialog.getText(self, "New client",
"Input the protocol (SIS, KCTRL, HYPACK, PDS2000, QINSY, or EA440)",
"Input the protocol (SIS, KCTRL, EA440, HYPACK, PDS2000, or QINSY)",
QtWidgets.QLineEdit.Normal,
"SIS")
if not ok:
Expand Down
11 changes: 6 additions & 5 deletions hyo2/ssm2/lib/client/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,17 @@ def send_kng_format(self, prj: 'SoundSpeedLibrary', server_mode: bool = False) -
if (self.protocol == "QINSY") or (self.protocol == "PDS2000"):
kng_fmt = Dicts.kng_formats['S12']
logger.info("forcing S12 format")
if (self.protocol == "EA440"):
kng_fmt = Dicts.kng_formats['S01']
logger.info("forcing S01 format")

apply_thin = True
apply_12k = True
tolerances = [0.01, 0.03, 0.06, 0.1, 0.5]
if self.protocol == "QINSY":
apply_12k = False
tolerances = [0.001, 0.005, 0.01, 0.05, 0.1, 0.5]
elif self.protocol == "PDS2000":
elif (self.protocol == "PDS2000") or (self.protocol == "EA440"):
apply_12k = False

tx_data = None
Expand Down Expand Up @@ -93,10 +96,8 @@ def send_kng_format(self, prj: 'SoundSpeedLibrary', server_mode: bool = False) -
def send_aml_format(self, prj: 'SoundSpeedLibrary') -> bool:
logger.info("using aml format")
calc = Calc()
if self.protocol == "HYPACK":
tx_data = calc.convert(prj.ssp)
elif self.protocol == "EA440":
tx_data = calc.convert(prj.ssp).replace("\n", "\r\n")
tx_data = calc.convert(prj.ssp)

return self._transmit(tx_data)

def _transmit(self, tx_data: Union[bytes, str]) -> bool:
Expand Down
2 changes: 1 addition & 1 deletion hyo2/ssm2/lib/profile/dicts.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ def first_match(cls, dct, val):
("PDS2000", 2),
("QINSY", 3),
("KCTRL", 4),
("EA440", 5),
("EA440", 5),

])

Expand Down

0 comments on commit 236baff

Please sign in to comment.