gps component
- Ports
- Services
- get_param (attribute)
- get_last_fix (attribute)
- set_noise (attribute)
- connect (activity)
- disconnect (activity)
- set_rtk_port (activity)
- connect_rtk (activity)
- set_reference (function)
- get_reference (attribute)
- unfix (activity)
- fix (activity)
- fix_here (activity)
- send_rtcm (activity)
- cancel_rtcm (activity)
- enable_rtcm (function)
- monitor_fix (activity)
- rtk_stats (function)
- log (function)
- log_stop (function)
- log_info (function)
- Tasks
Ports
state (out)
Data structure
|
info (out)
Data structure
|
Services
get_param (attribute)
Outputs
|
get_last_fix (attribute)
Outputs
|
set_noise (attribute)
Inputs
|
Set minimum noise on position and velocity
connect (activity)
Inputs
|
Throws
|
Context
|
Connect to the hardware
disconnect (activity)
Throws
|
Context
|
Disconnect from the hardware
set_rtk_port (activity)
Inputs
|
Throws
|
Context
|
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
|
Throws
|
Context
|
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.
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
|
Throws
|
Set the ENU reference position.
The position published in the state (out) port is computed as ENU (east,
north, up) coordinates relative to the given global reference
in LLH coordinates (latitude, longitude, height above ellipsoid).
get_reference (attribute)
Outputs
|
Get the ENU reference position.
unfix (activity)
Throws
|
Context
|
Unset FIX mode.
This service makes the component stop acting as a fixed base station and puts it back in mobile receiver mode. See fix (activity) and fix_here (activity).
fix (activity)
Inputs
|
Throws
|
Context
|
Set FIX mode at given position.
After invoking this service, the component is configured in fixed base station mode. In particular, it will start providing RTCM corrections to clients requesting it (see send_rtcm (activity)).
Depending on the underlying hardware, the given llh
position must
be accurate enough so that the receiver can actually switch to base
station mode. The required accurarcy must typically be better than
10 meters. The precision given in sigma
should reflect the
estimated precision of the llh
position, although this precision
is not used by the hardware.
The fix
member of the info (out) port will switch to fix_fixed
mode
when the connected hardware will actually have successfully switched
to the base station mode.
fix_here (activity)
Inputs
|
Outputs
|
Throws
|
Context
|
Average current position and set FIX mode.
This service is similar to fix (activity), but uses the current receiver
position as the desired fixed position. The current position is
first averaged for avg_time
number of seconds and the fix (activity)
service is then invoked with the averaged result. The receiver
should not be moved during the averaging period.
When successful, the service also returns the averaged position. It can be later reused as a parameter of the fix (activity) service to save the averaging time and quickly switch to the base sation mode when the receiver position is already known.
The averaging time should be long enough so that a sufficient
precision is obtained on the position. Depending on the setup quality,
this can take as much as several dozens of minutes. The obtained
precision is always returned in the sigma
output parameter.
This result should be checked and the averaging done for a longer
time if the precision is not deemed satisfactory.
send_rtcm (activity)
Inputs
|
Throws
|
Context
|
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.
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
|
Throws
|
Context
|
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
|
Throws
|
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
|
Throws
|
Context
|
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
|
Throws
|
Log RTK configuration and statistics.
Tasks
io
Context
|
Throws
|