NMEA

This component reads NMEA 0183 messages, extract and combines information and publishes information to DDS. It is worth noting that it does its best to provide information irrespective of the available input signals. The output signals are decided as default signals except ExcludedSignals and with any additional CustomIDsSignals. The component also does its best to always provide values in predetermined reference frames, independent of the reference frames of the input signals and how these change.

The component is confgured by an input file with the following format:

  • Options:
    • PeriodMs: The update period in milliseconds.
  • Ports: A list of ports to listen on. These can be either serial ports, udp servers or tcp servers. Examples:
  • {Port: <serialportname>, Baud: <baudrate>, EndOfLine: <end of line character>, Name: <name to identify port>}
  • {TcpServerIp: <ip address or dns name>, Port: <port number>, EndOfLine: <end of line character>, Name: <name to identify port>}
  • {UdpInterfaceIp: <ip address or dns name>, Port: <port number>, EndOfLine: <end of line character>, Name: <name to identify port>}
  • ExcludedSignals: A list of default signals not to output. Possible values are:
    • CURRENT_PROFILE
    • DEPTH
    • GYRO
    • LOG_SPEED
    • POS_INFO
    • ROLLPITCH_PRT
    • ROLLPITCH_STB
    • SCANMAR_DEPTH
    • SCANMAR_POS_INFO
    • SCANMAR_WINCH_INFO_PRT_MID
    • SCANMAR_WINCH_INFO_PRT
    • SCANMAR_WINCH_INFO_STB_MID
    • SCANMAR_WINCH_INFO_STB
    • WINCH_INFO_PRT_MID
    • WINCH_INFO_PRT
    • WINCH_INFO_STB_MID
    • WINCH_INFO_STB
    • WINCH_SET_POINTS
    • WIND
  • CustomIDsSignals: A list of non-default signals to output. Examples:

    • {Signal: SCANMAR_DP, IDs: [1]}
    • {Signal: SCANMAR_DVTLAM, IDs: [1,2]}
    • {Signal: SCANMAR_DVTLAS, IDs: [1]}

    Possible values for CustomIDsSignals are:

  • SCANMAR_CAT
  • SCANMAR_CVTLAM
  • SCANMAR_CVTLAS
  • SCANMAR_DDST
  • SCANMAR_DP
  • SCANMAR_DPTM
  • SCANMAR_DST
  • SCANMAR_DVTLAM
  • SCANMAR_DVTLAS
  • SCANMAR_HT
  • SCANMAR_HTDP
  • SCANMAR_SYM
  • SCANMAR_TEY
  • SCANMAR_TLCT
  • SCANMAR_TMP
  • SCANMAR_TNS
  • SCANMAR_TS
  • SCANMAR_TSP
  • SIMRAD_BOTTOM
  • SIMRAD_CATCH
  • SIMRAD_DEPTH
  • SIMRAD_MARKER
  • SIMRAD_NOSENS
  • SIMRAD_TEMP

In the Ports- section, the following applies:

  • EndOfLine is optional with default value '\r\n'
  • Name is optional with default value ''.

An example input file is shown below, as well as here.

Options:
PeriodMs: 1000
Ports:
- {Port: COM1, Baud: 9600}
# - {Port: /dev/ttyS1, Baud: 4800}
# - {Port: /dev/ttyS2, Baud: 4800}
# - {Port: /dev/ttyS3, Baud: 4800}
# - {TcpServerIp: localhost, Port: 5000}
# - {UdpInterfaceIp: any, Port: 5001}
ExcludedSignals:
- CURRENT_PROFILE
- POS_INFO
- GYRO
- WIND
- DEPTH
- LOG_SPEED
- SCANMAR_POS_INFO
- SCANMAR_DEPTH
- SCANMAR_WINCH_INFO_STB
- SCANMAR_WINCH_INFO_STB_MID
- SCANMAR_WINCH_INFO_PRT_MID
- SCANMAR_WINCH_INFO_PRT
- ROLLPITCH_STB
- ROLLPITCH_PRT
- WINCH_INFO_STB
- WINCH_INFO_STB_MID
- WINCH_INFO_PRT_MID
- WINCH_INFO_PRT
- WINCH_SET_POINTS
CustomIDsSignals:
# - {Signal: SCANMAR_DP, IDs: [1]}
# - {Signal: SCANMAR_DVTLAM, IDs: [1,2]}
# - {Signal: SCANMAR_DVTLAS, IDs: [1]}