tsc_IAuxGnssMonitor

This interface is used to listen to any secondary receiver that the controller is configured to listen to.  Typically these are low accuracy receivers transmitting serial NMEA and are built in to many Trimble hardware platforms.

As such they are assumed to locate the controller or user (particularly within the context of a robotic Total Station survey).  You can configure the connection in the Settings application under the Connections/Aux. GPS menu.

There is some configuration on the monitor where you can receive grid coordinates by supplying a coordinate system and specify whether you want to be an active or passive listener.  Note that running the internal GPS on devices can reduce battery life.

Starting and stopping the monitor

void Start ();
Starts monitoring events that occur.  Calling Start multiple times is not an error.

void Stop ();
Stops event handling.  Stopping a monitor that was never started or is already stopped is not an error.  The Stop must be called on the same thread that started the monitor.

Configuration

virtual void SetIsActivelyListening (bool active);
virtual bool GetIsActivelyListening ();
Control the listening mode used when running. Active true will open the communications, false (passive) will report any observations but not open the channel by itself.

void SetCogoEnvironment(const tsc_CogoEnvironment& environment);
const tsc_CogoEnvironment& GetCogoEnvironment() const;
Control the coordinate system to transform to the grid event.  By default it is left blank and no grid event is sent.  For those who want the grid event should use the tsc_CogoEnvironment from the current job and keep that up to date when the OnCurrentJobCoordinateSystemChanged event is issued.

Event handlers

These methods are overridden as required.  They all have default implementations that ignore the event, so that only required handlers need to be implemented.

virtual void OnCurrentJobCoordinateSystemChanged  ();
The current job or its coordinate system has been changed, use this event to maintain the coordinate system that this monitor may be using to generate grids so that coordinates are reported in terms of the user's choices.

virtual void OnNewAuxGnssStreamedObservation (const double& latitude,
                                              const double& longitude,
                                              const double& height,
                                              const double& hdop,
                                              const double& utcTime,
                                              const double& satCount,
                                              const tsc_AuxGnssCorrectionsType corrections);

A new position has arrived, note that the accuracy is not guaranteeed in any way and should be treated accordingly.  Note that empty positions will be sent as well while the system is searching for a receiver.

virtual void OnNewAuxGnssStreamedGrid ( const double& northing,
                                        const double& easting,
                                        const double& elevation);

A new GPS position has arrived and been transformed to grid values using your supplied tsc_CogoEnvironment's coordiante system.  Note that empty positions will be sent as well while the system is searching for a receiver.