Interfacing with Subsonus
IP Address
By default Subsonus uses DHCP to assign itself an address. The system can be assigned a static IP on the network configuration page. Advanced Navigation recommends using zeroconf to connect to the unit, however it is also possible to use the direct IP address to connect.
Network Discovery
Zeroconf
Zeroconf is a network protocol used for finding devices on a network without an IP address. Subsonus has zeroconf support and it is typically the easiest way to connect to it on a network. Zeroconf for Windows (Apple Bonjour) can be downloaded from one of the links below:
https://www.advancednavigation.com/Bonjour.msi (32-bit installer)
https://www.advancednavigation.com/Bonjour64.msi (64-bit installer)
Once zeroconf is installed you can open a web browser and enter the address http://an-subsonus-1.local/ to connect to a Subsonus. Note that the trailing forward slash is required on some browsers.
When operating multiple units the automatic discovery address will increment, for newly added units, for example if two Subsonus units are connected to the same network they will be available at http://an-subsonus-1.local/ and http://an-subsonus-2.local/, a third unit will go to http://an-subsonus-3.local/ and so on.
Host Name Discovery
A Subsonus unit can be accessed in three different ways once Zeroconf is supported:
-
Automatic discovery host name, http://an-subsonus-1.local/
-
Direct IP addresses access, for example if the unit is located at 192.168.1.2 http://192.168.1.2/
To determine IP address, Open Subsonus Tools and navigate to "File"→"Discovery". The device should appear in a few seconds, with the IP address shown.
-
User host name access, for example if the unit is named “Surface”: http://surface.local/
Evaluation kit units will have user host names of “Subsea” and “Surface” on arrival.
Subsonus to Subsonus Discovery
Subsonus units will automatically discover other units connected to the same network. Multi-cast needs to be enabled on the network for this feature to operate. For more information on this feature see IP Dataports Configuration Packet.
Advanced Navigation Packet Protocol Machine Interface
Subsonus features a full machine interface that allows access to all data and system configuration. The machine interface uses the binary AN packet protocol described in Advanced Navigation Packet Protocol over TCP.
The AN packet protocol machine interface is available over four TCP server ports. These are ports 16718, 16719, 16720 and 16721.
Subsonus can also connect to an external TCP server as an ANPP TCP client.
NMEA Input/Output
NMEA Input
Subsonus only accepts NMEA input from devices added on the Devices page, see section Device Address Configuration. This allows Subsonus to correct NMEA messages using user supplied offsets to the device. Offsets are measured from Subsonus to the position source. Heading sources must be aligned to Subsonus.
The Subsonus surface unit requires a reference source of position, velocity, time and heading to function. This can be supplied to the unit using NMEA. The messages required are GPGGA, GPVTG and GPHDT at 10Hz.
The full list of supported input NMEA messages is listed below in Supported NMEA Input Messages.
Message ID | Description |
---|---|
GPGGA |
3D position |
GPGLL |
2D position |
GPRMC |
2D position, 2D velocity and coarse time |
GPVTG |
2D velocity |
GPHDT |
Heading |
GPGSV |
Satellites |
GPGSA |
Dilution of Position |
GPZDA |
Time |
NMEA Output
Subsonus supports NMEA output over TCP server ports. These ports can be fully configured but by default ports 16722, 16723, 16724 and 16725 are set. Subsonus can also connect to an external TCP server as a TCP client.
Subsonus can output a configurable combination of NMEA messages GPZDA, GPGGA, GPVTG, GPRMC, GPHDT, GPGLL and PASHR at up to 50 Hz. The output NMEA messages can be configured in the NMEA output configuration page. An example output is shown below:
$GPZDA,031644.460,07,05,2013,00,00*52
$GPGGA,031644.460,3352.3501851,S,15112.2355488,E,6,00,1.4,150.0,M,0.0,M,,*7E
$GPVTG,089.19,T,089.19,M,000.00,N,000.00,K,E*27
$GPRMC,031644.460,A,3352.3501851,S,15112.2355488,E,0.0,89.2,070513,12.5,W,E*02
$GPHDT,89.2,T*06
$PASHR,031644.460,089.19,T,-00.01,-00.47,-00.00,,,,0,0*2E
Time Synchronisation
Subsonus supports time synchronisation using either PTP or NTP. When operating Subsonus with either the Advanced Navigation GNSS Compass or the Advanced Navigation ILU the time will be automatically synchronised with an accuracy of around 50 nanoseconds.
Modem Data Transfer
Subsonus includes acoustic modem functionality as a standard feature. Two Subsonus units can be used to transfer user data as well as completing their normal navigation tasks.
User data can be sent to Subsonus either ‘transparently’ on a specified network port, or via ANPP messages. At the other end of the link the data is available on both a transparent port and via ANPP. This allows support for a wide range of common customer instruments without requiring programming experience.
Basic modem functions can be configured using the web interface. The provided defaults will work in most applications.
Data Interface Setup | Default | |
---|---|---|
TCP Port | Required. This is the local network port Subsonus will accept user data on. | 16740 |
Data Interface Setup | Default | |
These rules do not have to match on both units. They only affect data sent from this Subsonus. | ||
Buffer size | Maximum amount of data to buffer before data is discarded (oldest data is discarded first) | 1024 Bytes |
Buffer timeout | Maximum time to hold data in buffer. (Data age is based on the age of the last byte in the data chunk. If data expires it will be discarded). Set to 0 to disable. | 60 Seconds |
Data chunk size | The maximum size of a chunk. Sending enough data to exceed this size will create a new chunk. | 48 Bytes |
Data chunk timeout | The maximum time between bytes in a data chunk. Exceeding this timeout will create a new data chunk. Set to 0 to disable this feature. | 10 ms |
Modem Data Transfer Setup
Subsonus ensures that user data is intact upon arrival by packaging the user data into “data chunks” which are indivisible. Data chunks may be discarded if the buffer fills up or the buffer timeout is exceeded but partial data chunks will not be delivered over transparent pipes.
For complex applications, ANPP messages may be used for fine grained control and monitoring of the modem link. These messages are defined in Advanced Navigation Packet Protocol.