NDEVR
API Documentation
MainGPSManager

The central manager for GPS sensors in the application, handling sensor lifecycle, connection management, quality settings, and INI persistence. More...

Inheritance diagram for MainGPSManager:
[legend]
Collaboration diagram for MainGPSManager:
[legend]

Public Member Functions

 MainGPSManager ()
 Constructs the main GPS manager.
void activeGNSSSensorChangedSignal (UUID active_id)
 Emitted when the active GNSS sensor changes for a role.
ActiveGPSSensoractiveSensor (UUID active_id) const
 Returns the active sensor descriptor for the given role UUID.
virtual Buffer< PositionSensor * > availableGNSSDevices () const override
 Returns all available GNSS devices.
TranslatedString connectionName (GPSSensor *sensor) const
 Returns the display name of the connection for the given sensor.
String connectionString (GPSSensor *sensor) const
 Returns the connection string for the given sensor.
ActiveGPSSensorcreateActiveGPSSensor (ConnectionInfo connection_info)
 Creates an active GPS sensor from a connection.
ActiveGPSSensorcreateActiveGPSSensor (const File &file)
 Creates an active GPS sensor from a file source.
void finishReadingINI (INIFactory &factory) override
 Completes reading settings from an INI factory.
PositionSensorgetGNSSDevice (const UUID &id) override
 Returns the GNSS device with the given UUID.
virtual void getINI (INIFactory &factory) override
 Serializes settings to an INI factory.
bool hasActiveSensor (UUID active_id) const
 Checks whether a sensor with the given role UUID is active.
InfoPipelog () const
 Returns the log info pipe.
const GNSSQualitySettingsorientationQualitySettings (GNSSQuality quality) const
 Returns orientation quality settings for the given quality level.
const GNSSQualitySettingspositionQualitySettings (GNSSQuality quality) const
 Returns position quality settings for the given quality level.
void setActiveSensor (UUID active_id, const ConnectionInfo &connection)
 Registers an active sensor by UUID and connection info.
void setActiveSensor (UUID active_id, QPointer< GPSSensor > gps)
 Registers an active sensor by UUID and sensor pointer.
void setInfoPipe (InfoPipe *info)
 Sets the info pipe for log output.
void setOrientationQualitySettings (GNSSQuality quality, const GNSSQualitySettings &settings)
 Sets orientation quality settings for the given quality level.
void setPositionQualitySettings (GNSSQuality quality, const GNSSQualitySettings &settings)
 Sets position quality settings for the given quality level.
void settingsModifiedSignal ()
 Emitted when GNSS settings are modified.
void setToDefaults ()
 Resets all quality settings to their defaults.
bool shouldAutoConnect (GPSSensor *gps) const
 Returns whether the given sensor should auto-connect.
UUID uuid () const override
 Returns the unique identifier for this manager.
Public Member Functions inherited from INIInterface
 INIInterface ()
 Constructs an INIInterface with no default INI file.
 INIInterface (const File &default_ini)
 Constructs an INIInterface with the specified default INI file.
virtual ~INIInterface ()
 Virtual destructor for safe polymorphic cleanup.
virtual void prepareForINI (INIFactory &)
 Called before reading or writing an INI file.
virtual bool readINIOptions ()
 Reads INI options from the default INI file.
virtual bool readINIOptions (File &ini_file)
 Reads INI options from the specified INI file.
virtual bool saveINIOptions (bool multithead=false)
 Saves INI options to the default INI file.
virtual bool saveINIOptions (File &ini_file, bool multithead=false)
 Saves INI options to the specified INI file.
void setDefaultINIFile (const File &file)
 Sets the default INI file path used for reading and writing options.
virtual void writeToLog (const StringView &title, LogPtr log, uint01 log_level=2U)
 Writes the current INI options to the specified log with a title.
virtual void writeToLog (LogPtr log, uint01 log_level=2U)
 Writes the current INI options to the specified log.

Static Public Member Functions

static RGBColor ConstellationToColor (GNSSConstellation constellation_type)
 Returns the display color for a given satellite constellation type.
static MainGPSManagerDefaultInstance ()
 Returns the global singleton instance.
static RGBColor SNRToColor (fltp08 srn)
 Converts a signal-to-noise ratio to a display color.

Static Public Attributes

static ApplicationOption< bool > autoconnect_gnss_device
 Whether to auto-connect GNSS on startup.
static ApplicationOption< bool > log_raw_nmea_streams
 Whether to log raw NMEA data streams.
static ApplicationOption< bool > use_single_gnss_device
 Whether to enforce a single GNSS device.

Protected Attributes

Dictionary< UUID, ActiveGPSSensor * > m_gps_definitions
 Maps role UUIDs to active sensor descriptors.
Dictionary< String, ActiveGPSSensor * > m_gps_sensors
 Maps connection strings to active sensor descriptors.
UUID m_id
 This manager's unique identifier.
InfoPipem_log = nullptr
 The log info pipe.
GNSSQualitySettings m_orientation_quality_settings [cast< uint04 >(GNSSQuality::e_size)]
 Orientation quality settings array indexed by GNSSQuality.
GNSSQualitySettings m_position_quality_settings [cast< uint04 >(GNSSQuality::e_size)]
 Position quality settings array indexed by GNSSQuality.
Protected Attributes inherited from INIInterface
File m_default_ini
 The default file path used for reading and writing INI options.

Detailed Description

The central manager for GPS sensors in the application, handling sensor lifecycle, connection management, quality settings, and INI persistence.

Definition at line 35 of file MainGPSManager.h.

Member Function Documentation

◆ activeGNSSSensorChangedSignal()

void MainGPSManager::activeGNSSSensorChangedSignal ( UUID active_id)

Emitted when the active GNSS sensor changes for a role.

Parameters
[in]active_idThe role UUID that changed.

◆ activeSensor()

ActiveGPSSensor * MainGPSManager::activeSensor ( UUID active_id) const

Returns the active sensor descriptor for the given role UUID.

Parameters
[in]active_idThe role UUID.
Returns
Pointer to the active sensor descriptor, or nullptr.

◆ availableGNSSDevices()

virtual Buffer< PositionSensor * > MainGPSManager::availableGNSSDevices ( ) const
overridevirtual

Returns all available GNSS devices.

Returns
A buffer of position sensor pointers.

Implements GNSSInterface.

◆ connectionName()

TranslatedString MainGPSManager::connectionName ( GPSSensor * sensor) const

Returns the display name of the connection for the given sensor.

Parameters
[in]sensorThe GPS sensor.
Returns
The translated connection name.

◆ connectionString()

String MainGPSManager::connectionString ( GPSSensor * sensor) const

Returns the connection string for the given sensor.

Parameters
[in]sensorThe GPS sensor.
Returns
The connection identifier string.

◆ ConstellationToColor()

RGBColor MainGPSManager::ConstellationToColor ( GNSSConstellation constellation_type)
static

Returns the display color for a given satellite constellation type.

Parameters
[in]constellation_typeThe constellation type.
Returns
The corresponding RGB color.

◆ createActiveGPSSensor() [1/2]

ActiveGPSSensor * MainGPSManager::createActiveGPSSensor ( ConnectionInfo connection_info)

Creates an active GPS sensor from a connection.

Parameters
[in]connection_infoThe connection parameters.
Returns
Pointer to the created active sensor descriptor.

◆ createActiveGPSSensor() [2/2]

ActiveGPSSensor * MainGPSManager::createActiveGPSSensor ( const File & file)

Creates an active GPS sensor from a file source.

Parameters
[in]fileThe GPS data file.
Returns
Pointer to the created active sensor descriptor.

◆ DefaultInstance()

MainGPSManager & MainGPSManager::DefaultInstance ( )
static

Returns the global singleton instance.

Returns
Reference to the default MainGPSManager.

References MainGPSManager().

◆ finishReadingINI()

void MainGPSManager::finishReadingINI ( INIFactory & factory)
overridevirtual

Completes reading settings from an INI factory.

Parameters
[in]factoryThe INI factory to read from.

Reimplemented from INIInterface.

◆ getGNSSDevice()

PositionSensor * MainGPSManager::getGNSSDevice ( const UUID & id)
overridevirtual

Returns the GNSS device with the given UUID.

Parameters
[in]idThe device UUID.
Returns
Pointer to the position sensor, or nullptr if not found.

Implements GNSSInterface.

◆ getINI()

virtual void MainGPSManager::getINI ( INIFactory & factory)
overridevirtual

Serializes settings to an INI factory.

Parameters
[in]factoryThe INI factory to write to.

Implements INIInterface.

◆ hasActiveSensor()

bool MainGPSManager::hasActiveSensor ( UUID active_id) const

Checks whether a sensor with the given role UUID is active.

Parameters
[in]active_idThe role UUID.
Returns
True if an active sensor exists.

◆ log()

InfoPipe * MainGPSManager::log ( ) const

Returns the log info pipe.

Returns
Pointer to the info pipe.

◆ orientationQualitySettings()

const GNSSQualitySettings & MainGPSManager::orientationQualitySettings ( GNSSQuality quality) const

Returns orientation quality settings for the given quality level.

Parameters
[in]qualityThe GNSS quality level.
Returns
Reference to the quality settings.

◆ positionQualitySettings()

const GNSSQualitySettings & MainGPSManager::positionQualitySettings ( GNSSQuality quality) const

Returns position quality settings for the given quality level.

Parameters
[in]qualityThe GNSS quality level.
Returns
Reference to the quality settings.

◆ setActiveSensor() [1/2]

void MainGPSManager::setActiveSensor ( UUID active_id,
const ConnectionInfo & connection )

Registers an active sensor by UUID and connection info.

Parameters
[in]active_idThe role UUID for this sensor.
[in]connectionThe connection parameters.

◆ setActiveSensor() [2/2]

void MainGPSManager::setActiveSensor ( UUID active_id,
QPointer< GPSSensor > gps )

Registers an active sensor by UUID and sensor pointer.

Parameters
[in]active_idThe role UUID for this sensor.
[in]gpsThe GPS sensor pointer.

◆ setInfoPipe()

void MainGPSManager::setInfoPipe ( InfoPipe * info)

Sets the info pipe for log output.

Parameters
[in]infoThe info pipe to use.

◆ setOrientationQualitySettings()

void MainGPSManager::setOrientationQualitySettings ( GNSSQuality quality,
const GNSSQualitySettings & settings )

Sets orientation quality settings for the given quality level.

Parameters
[in]qualityThe GNSS quality level.
[in]settingsThe quality settings to apply.

◆ setPositionQualitySettings()

void MainGPSManager::setPositionQualitySettings ( GNSSQuality quality,
const GNSSQualitySettings & settings )

Sets position quality settings for the given quality level.

Parameters
[in]qualityThe GNSS quality level.
[in]settingsThe quality settings to apply.

◆ shouldAutoConnect()

bool MainGPSManager::shouldAutoConnect ( GPSSensor * gps) const

Returns whether the given sensor should auto-connect.

Parameters
[in]gpsThe GPS sensor.
Returns
True if auto-connect is enabled.

◆ SNRToColor()

RGBColor MainGPSManager::SNRToColor ( fltp08 srn)
static

Converts a signal-to-noise ratio to a display color.

Parameters
[in]srnThe signal-to-noise ratio.
Returns
The corresponding RGB color.

◆ uuid()

UUID MainGPSManager::uuid ( ) const
inlineoverridevirtual

Returns the unique identifier for this manager.

Returns
The manager UUID.

Implements GNSSInterface.

Definition at line 43 of file MainGPSManager.h.

References m_id.


The documentation for this class was generated from the following file: