Real Time Import/Export

Greensea Workspace allows for real time import of NMEA messages from external applications or export of NMEA messages to external applications. This is handled by a set of helper programs:

  • gss_nmea2gss – Real time import of NMEA messages from other applications to Greensea Workspace.
  • gss_gss2nmea – Real time export of NMEA messages from Greensea Workspace to other applications..

These programs are installed as part of Greensea Workspace. Greensea Workspace uses the helper programs to receive or publish information to or from its channels. More information about Greensea Workspace’s channels can be found in the Channel/Data Lists page.

NOTE – You must use -c /dev/vr485 after each command when accessing the putty when operating with Workhorse Splashproof Controller, for example:

vr_enum -c /dev/vr485

./vr_debug_putty.py [node_ID] -c /dev/vr485

 More information will be provided about setting up specific importing and exporting requirements on the following pages:

  1. Determine the capabilities of the other application, including messages available or permitted, communications protocols and ports available.
  2. Make all physical connections for the ROV and other application’s device requirements (if necessary).
  3. Open a terminal window and enter the gss_* command (where * = either “nmea2gss” or “gss2nmea”) and associated parameters (as appropriate for the other application).
  4. Start Greensea Workspace and the other application. (the order of starting will generally not matter, but in some cases it might – this will depend on the other application’s requirements, including time-out settings, etc.)
  5. Verify import or export is operational.

 You can create a shell script (.sh) and desktop shortcut for the gss_* command to make it easier to start the helper program.

 You can customize the Greensea Workspace configuration to include the shell script when Greensea Workspace is started.

 You can use the Greensea Workspace Process View to enable or disable import / export processes allowing you to alternate between configurations.

 Some applications may require setting up a virtual port to enable communications between Greensea Workspace and another application, depending on the protocols supported by that application. See Device Integration section in the appendices.

Real Time Import into Greensea Workspace

Real Time Import requires an application that can export NMEA sentences in real time via a computer port, and the use of gss_nmea2gss.

Real Time Import Example

If your application can export NMEA sentences in real time to a computer port, you will need to know how to configure it. The application’s documentation should provide the information you need. For example, if your application can export an NMEA GGA sentence (LAT/LON coordinate data) using TCP/IP address 192.168.1.34, port 16720, you would execute the following command in a terminal window before starting Greensea Workspace (this command should be entered on one line):

  • gss_nmea2gss transport=tcp hostname=192.168.1.34 ip_port=16720 gps_channel=TS_SHIPS_POS_STAT

Where:

  • gss_nmea2gss is the helper program
  • transport=tcp tells the program to use the TCP protocol for communication
  • hostname=192.168.1.34 is the TCP/IP address that the application uses for export
  • ip_port=16720 is the TCP/IP port that the application uses for export
  • gps_channel=TS_SHIPS_POS_STAT is the Greensea Workspace Channel for receiving the data – in this example the data will be treated as a topside GPS

Using a Shell Script to Start the Helper Program

To create a shell script, the above command can be entered into a .sh file as follows (using the “\” to indicate more data for the command follows on the next line, which makes the file easier to read):

#!/bin/bash
 
gss_nmea2gss \
transport=tcp \
hostname=192.168.1.34 \
ip_port=16720 \
gps_channel=TS_SHIPS_POS_STAT

A desktop shortcut can be created for this .sh file to make it easier to execute. Information about creating a shortcut can be found online.

Options for gss_nmea2gss

You can add the help=true option to the gss_nmea2gss command to display a complete list of supported channels and input parameters.

gss_nmea2gss help=true

Modifying Greensea’s Workspace Configuration for Import

Here is a sample excerpt of the modification required to be added to the process_server_config.yml file.

    - client_name: videoray
      uuid: USER_CREATED_NAME
      process_name: /home/videoray/USER_CREATED_SHELL_SCRIPT_NAME.sh
      arguments:
        - ~
      process_cmd: keep_alive
      publish_console: 0
      keep_alive_ms: 1000

USER_CREATED_NAME and USER_CREATED_SHELL_SCRIPT_NAME should be replaced with the names based on your preference and the filename of your shell script.

For assistance modifying the Greensea Workspace configuration or managing processes, please contact VideoRay Support at support@videoray.com.

Real Time Export from Greensea Workspace

Real Time Export requires an application that can receive NMEA sentences in real time via a computer port, and the use of gss_gss2nmea.

Real Time Export Example

If your application can import NMEA sentences in real time to a computer port, you will need to know how to configure it. The application’s documentation should provide the information you need. For example, if your application can import an NMEA GGA sentence (LAT/LON coordinate data) using UDP address 192.168.1.102, port 29470, and you want the export rate set to 10 Hz, you would execute the following command in a terminal window before starting Greensea Workspace (this command should be entered on one line):

  • gss_gss2nmea transport=udp subscribe_channel=OPENINS_NAV_SOLUTION serial_message_out=GGA serial_mesage_out=PAUV udp_src_adr=192.168.1.215 udp_dst_adr=192.168.1.102 udp_port=29470 publish_hz-10

Where:

  • gss_gss2nmea is the helper program
  • transport=udp tells the program to use the UDP protocol for communication
  • subscribe channel=OPENINS_NAV_SOLUTION tells the helper program to use (listen to) the OPENINS_NAV_SOLUTION channel
  • serial_message_out=GGA tells the helper program to send the GGA sentence to the other application
  • serial_message_out=PAUVA is the helper program to send the PAUV sentence to the other application
  • usd_src_adr=192.168.1.215 is the UDP address of the source of the data (192.168.1.215 is the default address of the Operator Control console computer)
  • usd_dst_adr=192.168.1.102 is the UDP address that the application uses for its import
  • udp_port=29470 is the UDP port that the other application uses for its import
  • publish_hz=10 sets the frequency of output messages to 10 Hz

 You can export more than one serial message – in this case the GGA and PAUV sentences will be exported.

Using a Shell Script to Start the Helper Program

To create a shell script, the above command can be entered into a .sh file as follows (using the “\” to indicate more data for the command follows on the next line, which makes the file easier to read):

#!/bin/bash
 
gss_gss2nmea \
transport=udp \
subscribe_channel=OPENINS_NAV_SOLUTION \
serial_message_out=GGA \
serial_mesage_out=PAUV \
udp_src_adr=192.168.1.215 \
udp_dst_adr=192.168.1.102 \
udp_port=29470 \
publish_hz=10

A desktop shortcut can be created for this .sh file to make it easier to execute. Information about creating a shortcut can be found online.

Options for gss_gss2nmea

You can add the help=true option to the gss_gss2nmea command to display a complete list of supported channels and export parameters.

gss_gss2nmea help=true

Modifying Greensea’s Workspace Configuration for Export

Here is a sample excerpt of the modification required to be added to the process_server_config.yml file.

    - client_name: videoray
      uuid: USER_CREATED_NAME
      process_name: /home/videoray/USER_CREATED_SHELL_SCRIPT_NAME.sh
      arguments:
        - ~
      process_cmd: keep_alive
      publish_console: 0
      keep_alive_ms: 1000

USER_CREATED_NAME and USER_CREATED_SHELL_SCRIPT_NAME should be replaced with the names based on your preference and the filename of your shell script.

For assistance modifying the Greensea Workspace configuration or managing processes, please contact VideoRay Support at support@videoray.com.

Import/Export Helper Programs

Help is available for each helper program using the syntax below.

For gss_nmea2gss

gss_nmea2gss help=true

For gss_gss2nmea

gss_gss2nmea help=true

gss_nmea2gss Help

NMEA2GSS Device Interface Application version r1002000005
Developed by Greensea Systems, Inc. using OpenSEA
Greensea Systems, Inc. ::www.greenseainc.com

Usage gss_nmea2gss [options]:
Available options (must not contain spaces)

gps_channel=GPS_STATPublish gss::gps_data_t on the argument channel
pose_channel=GPS_POSE_STATPublish gss::pose_t on the argument channel
alt_channel=ALT_STATPublish gss::pose_t on the argument channel
depth_channel=DEPTH_STATPublish gss::pose_t on the argument channel
hdg_channel=COMPASS_STATPublish gss::compass_stat_t on the argument channel
imu_channel=IMU_STATPublish gss::imu_stat_t on the argument channel
gga_channel=GGA_STATPublish gss::nmea_gga_t on the argument channel
hdt_channel=HDT_STATPublish gss::nmea_hdt_t on the argument channel
pressure_channel=PRESSURE_STATPublish gss::pressure_stat_t on the argument channel
mda_channel=MDA_STATPublish gss::nmea_mda_t on the argument channel
mwv_channel=MWV_STATPublish gss::nmea_mwv_t on the argument channel
zda_channel=ZDA_STATPublish gss::nmea_zda_t on the argument channel
vhw_channel=VHW_STATPublish gss::nmea_vhw_t on the argument channel
vlw_channel=VLW_STATPublish gss::nmea_vlw_t on the argument channel
mtw_channel=MTW_STATPublish gss::nmea_mtw_t on the argument channel
pose_lbl_channel=LBL_STATPublish LBL messages with a gss::pose_t on the argument channel.
pose_gga_with_id_channel=GGA_ID_STATPublish GGA messages with a gss::pose_t on the argument channel with the reference ID appended to channel.
Note:The GGA with ID messages will publish a different channel for each tracked target.The target number will be appended to the end of the POREG channel.
pose_poreg_channel=POREG_STATPublish POREG messages with a gss::pose_t on the argument channel.
Note:The POREG messages will publish a different channel for each tracked target.The target number will be appended to the end of the POREG channel.
pose_offset_northing=0Set a Northing offset in meters for pose_stat_t
pose_offset_easting=0Set a Easting offset in meters for pose_stat_t
pose_offset_height=0Set a Height offset in meters for pose_stat_t
cfg_fileUse the argument configuration file to configure the serial port
port=/dev/ttyS0An NMEA data source is connected to serial port /dev/ttyS0
baud=9600Use 9600 as the serial port baud rate
gga_only=falseFor GPS only, Transmit only when receiving gga messages.
use_fix_time=falseFor GPS pose_t only, Use the fix time instead of the unix time
compass_stat_gga_quality_en=falseEnable adding the GGA fix quality to the anlaog_t vector for compass_stat_t messages
compass_declination=0.0Set a compass declination value
settings=9600,8,n,1,offSerial NMEA data source is configured for 9600 baud, 8 databits, no parity, 1 stop bit
NOTE: only one of ‘baud’ or ‘settings’ argument is allowed
transport=serialSet the transport type.Options: serial,tcp,udp
hostname=192.168.1.201The hostname to connect.
ip_port=9000The IP port to connect.
datavalid=0Set a datavlid time before closing and opening the port.Default is disabled.
ignore_csumSet to ignore the checksum.
logging_level=0Use the lowest level of logging
Error logging levelsDebugInfoWarningSevereFatal
ping=falseEnable to ping option to verify the correct serial settings
help=falsePrint Usage Information

gss_gss2nmea Help

Gss_lcm_transport Interface Application
Developed by Greensea Systems, Inc. using openSEA
Greensea Systems, Inc. :: www.greenseainc.com

Usage gss_gss2nmea [options]:
Available options (must not contain spaces)

publish_hzTarget GGA transmit rate in Hz
subscribe_channelReceive messages on the specified channel
nav_pcomms_channel=Receive Navigation pcomms messages on the specified channel
gps_channel=Receive gps_data_t messages on the specified channel
command_channelReceive commands from the UI on command channel (optional)
cfg_fileUse the configuration file: lcm_soln2serialconfig
portAn lcm_soln2serial is connected to serial port /dev/ttyS0
baudUse 9600 as the serial port baud rate settings=9600,8,n,1,off
Serial NMEA data source is configured for 9600 baud, 8 databits,no parity, 1 stop bit
NOTE: only one of ‘baud’ or ‘settings’ argument is allowed
logging_level=0Use the lowest level of logging
Error logging levelsDebugInfoWarningSevereFatal
serial_message_out=GGA Options:GGAHDTRVRTGDPTHPRTSS1PAUVVHWRMCMPOSPRDIDLOKI
input_type=NAV_SOLNDefault will accept the navigation solution:
Options:NAV_SOLNGPSCOMPASSIMU
udp_port=Port to transmit UDP data
udp_src_adr=UDP Source Address
udp_dst_adr=UDP Destination Address
transport=SERIALTransport type Default: Serial
Options: SERIAL, UDP
help=truePrint Usage Information

Updated on November 17, 2023
Was this article helpful

Related Articles

Contact Support