GpsConfig

Struct GpsConfig 

Source
pub struct GpsConfig {
    pub enabled: bool,
    pub pc_output: bool,
    pub operating_mode: GpsOperatingMode,
    pub battery_saver: bool,
    pub sentence_output: NmeaSentences,
    pub track_log: TrackLogConfig,
    pub my_positions: [PositionMemory; 5],
    pub position_ambiguity: GpsPositionAmbiguity,
    pub data_tx: GpsDataTx,
    pub target_point: Option<TargetPoint>,
}
Expand description

Complete GPS configuration for the TH-D75.

Covers all settings from the radio’s GPS menu tree, including receiver control, output format, track logging, and position memory. Derived from the capability gap analysis features 95-109.

Per User Manual Chapter 13 and Chapter 28:

§GPS specifications

  • TTFF (cold start): approximately 40 seconds
  • TTFF (hot start): approximately 5 seconds
  • Horizontal accuracy: 10 m or less
  • Receive sensitivity: approximately -141 dBm (acquisition)
  • GPS logger mode current consumption: 125 mA

§GPS Receiver mode (per User Manual Chapter 13, Menu No. 403)

GPS Receiver mode turns off the transceiver function entirely to prolong battery life during GPS track logging. Only GPS information is displayed. The FM broadcast radio still works in this mode. Limited key operations are available: [MENU], [MARK], [F] (toggle North Up / Heading Up), and navigation between GPS screens.

§My Position (per User Manual Chapter 13, Menu No. 401)

5 position memory channels store latitude, longitude, and a name (up to 8 characters) for locations from which you frequently transmit APRS packets. Select GPS to use the live GPS position or My Position 1-5 for a fixed stored position.

§Position Ambiguity (per User Manual Chapter 13, Menu No. 402)

Controls how many trailing digits of position data are omitted from APRS packets: Off (full precision), 1-Digit, 2-Digit, 3-Digit, or 4-Digit.

§Position Memory (per User Manual Chapter 13)

The radio provides 100 position memory slots, each storing latitude, longitude, altitude, timestamp, name (up to 8 characters), and APRS icon. Memories can be sorted by name or date/time, used as target points for navigation, or cleared individually or all at once.

§GPS Battery Saver (per User Manual Chapter 13, Menu No. 404)

Options: Off / 1 / 2 / 4 / 8 minutes / Auto. The Auto setting progressively increases the GPS off-time: 1 min -> 2 min -> 4 min -> 8 min (stays at 8 min). If position is later acquired then lost, the cycle restarts at 1 minute.

§GPS PC Output (per User Manual Chapter 13, Menu No. 405)

When enabled, NMEA data is output via USB or Bluetooth (selected by Menu No. 981). Configurable sentences (Menu No. 406): $GPGGA, $GPGLL, $GPGSA, $GPGSV, $GPRMC, $GPVTG. At least one sentence must remain selected.

§Track Log (per User Manual Chapter 13, Menu No. 410-414)

Records movement to a microSD memory card. Record methods: Time (interval 2-1800 seconds), Distance (0.01-9.99 miles/km/nm), or Beacon (synced with APRS beacon transmissions). Track log files are named by start date/time (e.g., 05122024_124705.nme). Track logging pauses when the microSD card is full.

Fields§

§enabled: bool

Built-in GPS receiver on/off.

§pc_output: bool

GPS PC output mode (send NMEA data to the serial port).

§operating_mode: GpsOperatingMode

GPS operating mode.

§battery_saver: bool

GPS battery saver (reduce GPS power consumption by cycling the receiver on and off).

§sentence_output: NmeaSentences

NMEA sentence output selection (which sentences to include in PC output).

§track_log: TrackLogConfig

Track log recording configuration.

§my_positions: [PositionMemory; 5]

Manual position memory slots (5 available: “My Position 1” through “My Position 5”).

§position_ambiguity: GpsPositionAmbiguity

Position ambiguity level (shared with APRS, but configured in GPS menu).

§data_tx: GpsDataTx

GPS data TX configuration (auto-transmit position on DV mode).

§target_point: Option<TargetPoint>

Target point for navigation (bearing/distance display).

Trait Implementations§

Source§

impl Clone for GpsConfig

Source§

fn clone(&self) -> GpsConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GpsConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for GpsConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for GpsConfig

Source§

fn eq(&self, other: &GpsConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for GpsConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more