Mission Configurations

In order to leverage some more powerful aspects of SonarView such as using multiple devices in tandem (multiple Omniscans, Surveyor with GPS, etc.), configuring the offsets of a scanner, or changing the vehicle model, you will need to edit the config.json file located in the same directory where SonarView log files are stored.

If you are not sure where your log file directory is, see how to set it here. If config.json is not present, one will be written with examples.

If you intend to use only one device with SonarView and have no need for advanced configuration, you do not need to change the config.json file

General form of config.json

Below is a generic config.json file that shows all the various fields that COULD be used. The format of the file must conform to JSON standards. If it does not, you will get error messages. There are some additional fields for specific devices that will be explained later.

{
  "session_plans": [
    {
      "name": "Session Name 1",
      "platform": "User Defined Platform 1",
      "devices": [
        {
          "product_id": "prod_id1",
          "url": "serial:COMXX?baud=XXXX"
        },
        {
          "product_id": "prod_id2",
          "url": "tcp://XXX.XXX.X.XX:XXXX"
        },
        {
          "product_id": "prod_id3",
          "url": "udp://XXX.XXX.X.XX:XXXX"
        }
      ]
    },
    {
      "name": "Session Name 2",
      "devices": [
        {
          "product_id": "prod_id1",
          "url": "serial:COMXX?baud=XXXX"
        }
      ]
    }
  ],
  "platforms": [
    {
      "name": "User Defined Platform 1",
      "model": "ROV model",
      "protocol": "ROV Communication Protocol",
      "url": "ROV url"
    }
  ]
}

Session Plans

A session plan contains all relevant information for that mission including devices to be used, mounting angles, the vehicle type, etc. The array of session plans can contain any number of different configurations of your devices, so you'll only need one config.json file.

For each session plan, you declare a name. This name will be an option in discovery once you have the associated devices available at the declared ports.

Devices

After the session plan's name, you declare the "devices" array. This contains all devices you will use in tandem in a mission. Below is the information for a device:

Device Fields

KeyValueRequired

"product_id"

ID of device

Y

"url"

Connection type and port

Y

"transducer_deg"

Omniscan transducer angle

N

"channel_number"

Omniscan channel number

N

"imu_deg"

Omniscan IMU angle

N

"options"

Additional options for specific devices

N

Valid Product IDs

ProductProduct ID

Omniscan 450

"os450"

Surveyor 240-16

"mbes24016"

DVL-75

"dvl75"

Tracker 650

"tracker650"

Insight 240

"insight240"

S500 Sounder

"s500"

Ping

"ping"

Ping360

"p360"

Generic NMEA GPS

"gps"

Yacht Devices NMEA 2000 USB Gateway

"ydnu-02"

Url Format

ProtocolFormat

TCP

"tcp://XXX.XXX.X.XX:XXXX"

UDP

"udp://XXX.XXX.X.XX:XXXX"

Serial

"serial:COMXX?baud=XXXX"

For TCP and UDP replace XXX.XXX.X.XX:XXXX with the IP address and port number of the device. For example, if your device is at IP 192.168.2.1 using port 51200 and you're using a TCP connection the url value would be "tcp://192.168.2.1:51200"

For serial, replace COMXX with the proper COM port and set the appropriate baud rate (e.g. "serial:COM9?baud=115200")

Platforms

Platforms are optional. Each session can have one platform specified. A platform defines the vehicle being used for SonarView. This is useful for setting the 3D model in SonarView to the correct vehicle and grabbing useful data like position and heading. The list of platforms you intend to use needs to be defined below sessions plans. The fields for a platform and supported platforms are listed below:

KeyValueRequired

"name"

User defined name for platform. This name will be used as the value for "platform" in the session

Y

"model"

Vehicle 3D model used by SonarView

N

"protocol"

Communication protocol used by vehicle

N

"url"

Connection type and port to vehicle

N

Vehicle3D Model Name (value for "model")

BlueBoat

"blue_boat"

BlueROV2

"blue_rov"

Blueye X3

"blueye_x3"

Deep Trekker Revolution

"deep_trekker_7200"

Chasing M2 Pro Max

"chasing_m2_pro_max"

The supported options for "protocol" are "mavlink2rest", "chasing", and "blueye"

Last updated