Ports

state (out)

Data structure
  • struct ::or_pose_estimator::state state

    • struct ::or::time::ts ts

      • long sec

      • long nsec

    • boolean intrinsic

    • optional< struct ::or::t3d::pos > pos

      • double x

      • double y

      • double z

    • optional< struct ::or::t3d::att > att

      • double qw

      • double qx

      • double qy

      • double qz

    • optional< struct ::or::t3d::vel > vel

      • double vx

      • double vy

      • double vz

    • optional< struct ::or::t3d::avel > avel

      • double wx

      • double wy

      • double wz

    • optional< struct ::or::t3d::acc > acc

      • double ax

      • double ay

      • double az

    • optional< struct ::or::t3d::aacc > aacc

      • double awx

      • double awy

      • double awz

    • optional< struct ::or::t3d::pos_cov > pos_cov

      • double cov[6]

    • optional< struct ::or::t3d::att_cov > att_cov

      • double cov[10]

    • optional< struct ::or::t3d::att_pos_cov > att_pos_cov

      • double cov[12]

    • optional< struct ::or::t3d::vel_cov > vel_cov

      • double cov[6]

    • optional< struct ::or::t3d::avel_cov > avel_cov

      • double cov[6]

    • optional< struct ::or::t3d::acc_cov > acc_cov

      • double cov[6]

    • optional< struct ::or::t3d::aacc_cov > aacc_cov

      • double cov[6]


info (out)

Data structure
  • struct ::gps::solution_s info

    • struct ::or::time::ts ts

      • long sec

      • long nsec

    • struct ::or::time::ts utc

      • long sec

      • long nsec

    • enum ::gps::fix_s fix ∈ { fix_none, fix_interp, fix_single, fix_diff, fix_rtk_float, fix_rtk, fix_fixed }

    • unsigned short sats

    • struct ::gps::llh_s llh

      • double latitude

      • double longitude

      • double height

    • struct ::gps::enu_s pos

      • double east

      • double north

      • double up

    • struct ::gps::enu_s pos_sigma

      • double east

      • double north

      • double up

    • struct ::gps::enu_s vel

      • double east

      • double north

      • double up

    • struct ::gps::enu_s vel_sigma

      • double east

      • double north

      • double up


Services

get_param (attribute)

Outputs
  • struct ::gps::param_s param

    • string<32> model

    • double rate

    • double ecutoff


get_last_fix (attribute)

Outputs
  • struct ::gps::ids::fix_s fix

    • double remain

    • unsigned long samples

    • struct ::gps::llh_s llh

      • double latitude

      • double longitude

      • double height

    • struct ::gps::enu_s pos

      • double east

      • double north

      • double up

    • struct ::gps::enu_s sigma

      • double east

      • double north

      • double up


connect (activity)

Inputs
  • string<64> serial (default "/dev/ttyUSB0") Serial device

  • unsigned long baud (default "115200") Baud rate

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

  • exception ::gps::e_nodev

  • exception ::gps::e_baddev

    • string<256> dev

Context
  • In task io

Connect to the hardware


disconnect (activity)

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

Context
  • In task io

Disconnect from the hardware


set_rtk_port (activity)

Inputs
  • unsigned short port (default "8083") RTK server UDP port

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

Context
  • In task io

Configure the UDP port for RTK correction streaming.

RTK data (see send_rtcm (activity)) is streamed from this source UDP port. Requests for RTK data from remote components (see connect_rtk (activity)) should thus be made to this port number.


connect_rtk (activity)

Inputs
  • string<64> host (default "gps-base") RTK server hostname

  • unsigned short port (default "8083") RTK server UDP port

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

  • exception ::gps::e_nodev

Context
  • In task io

Receive RTK data from a remote gps-genom3 component.

In mobile station mode, the component can be configured to accept RTK data from a remote gps-genom3 component configured in base station mode.

This service asks the remote host identified by its name or IP number (in number-and-dots notation) and the port number (see set_rtk_port (activity)) to start streaming any available RTK data to this component.

Note
If RTK data is received from an unknown host that was not explicitly connected with this service, the component will print a diagnostic message on stderr and ignore the data.

set_reference (function)

Inputs
  • struct ::gps::llh_s reference

    • double latitude

    • double longitude

    • double height

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

Set ENU reference position


get_reference (attribute)

Outputs
  • struct ::gps::llh_s ref

    • double latitude

    • double longitude

    • double height

Get ENU reference position


unfix (activity)

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

  • exception ::gps::e_nodev

Context

Unset FIX mode


fix (activity)

Inputs
  • struct ::gps::llh_s llh

    • double latitude

    • double longitude

    • double height

  • struct ::gps::enu_s sigma

    • double east

    • double north

    • double up

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

  • exception ::gps::e_nodev

  • exception ::gps::e_nofix

Context

Set FIX mode at given position


fix_here (activity)

Inputs
  • double avg_time (default "600") Position average duration (s)

Outputs
  • struct ::gps::llh_s llh

    • double latitude

    • double longitude

    • double height

  • struct ::gps::enu_s pos

    • double east

    • double north

    • double up

  • struct ::gps::enu_s sigma

    • double east

    • double north

    • double up

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

  • exception ::gps::e_nodev

  • exception ::gps::e_nofix

Context

Average current position and set FIX mode


send_rtcm (activity)

Inputs
  • unsigned short rtcmid (default "1") RTCM message id

  • double period (default "1") Period (s)

  • double offset (default "0") Offset (s)

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

  • exception ::gps::e_nodev

Context
  • In task io

Send new RTCM corrections.

The RTCM message identified by rtcmid is streamed on the UDP port set in set_rtk_port (activity) (by default 8083) at the frequency corresponding to period.

The messages are sent at UTC timestamps multiple of period, plus an offset. For instance, to stream data at 1 second afer every minute, set the period to 60 and offset to 1.

Not all periods and messages are supported by all devices. In case of an unsupported setting, the e_sys/EINVAL exception will be raised.

Note
RTCM messages will only be streamed when the device is configured in base station mode. This requires fixed position to be set with fix (activity) or fix_here (activity).

cancel_rtcm (activity)

Inputs
  • unsigned short rtcmid (default "1") RTCM message id

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

  • exception ::gps::e_nodev

Context
  • In task io

Stop sending and ignore certain RTCM messages.

In base station mode, the RTCM message identified by rtcmid are not streamed anymore. See send_rtcm (activity).

In mobile station mode, any incoming RTCM message with this rtcmid will be silently ignored. This is useful to precisely configure what the hardware device will see, especially to filter out messages supported by the hardware but that are not wanted in a specific configuration. It is also useful to suppress diagnostic messages about incoming messages that are not supported by the hardware.


enable_rtcm (function)

Inputs
  • unsigned short rtcmid (default "1") RTCM message id

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

Accept certain RTCM messages.

In mobile station mode, accept incoming RTCM message with this rtcmid. This is ony useful if a message has been previously cancelled. See cancel_rtcm (activity).


monitor_fix (activity)

Inputs
  • enum ::gps::monitor_op_s trigger (default "::gps::monitor_above") Type of event expected ∈ { monitor_above, monitor_below }

  • enum ::gps::fix_s target (default "::gps::fix_rtk_float") Fix quality threshold ∈ { fix_none, fix_interp, fix_single, fix_diff, fix_rtk_float, fix_rtk, fix_fixed }

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

Context
  • In task io

Monitor fix quality changes.

This service waits until the fix quality is at least target (for trigger equal to monitor_above) or worse than target (for trigger equal to monitor_below).


rtk_stats (function)

Outputs
  • struct ::gps::rtcm_stats_s stats

    • sequence< struct ::gps::rtcm_sentid > sent

      • unsigned short rtcmid

      • double period

      • double offset

      • unsigned long out

    • sequence< struct ::gps::rtcm_recvid > recv

      • unsigned short rtcmid

      • unsigned long in

    • sequence< unsigned short > ignored

    • unsigned long inbytes

    • unsigned long inpkts

    • unsigned long outbytes

    • unsigned long outpkts

    • unsigned long dropbytes

    • unsigned long droppkts

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

  • exception ::gps::e_nodev

Log RTK configuration and statistics.


log (function)

Inputs
  • string<64> path (default "/tmp/gps.log") Log file name

  • unsigned long decimation (default "1") Reduced logging frequency

Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what

Log solution


log_stop (function)

Stop logging


log_info (function)

Outputs
  • unsigned long miss Missed log entries

  • unsigned long total Total log entries

Show missed log entries


Tasks

io

Context
Throws
  • exception ::gps::e_sys

    • short code

    • string<128> what