McpSmartBeaconingConfig

Struct McpSmartBeaconingConfig 

Source
pub struct McpSmartBeaconingConfig {
    pub low_speed: u8,
    pub high_speed: u8,
    pub slow_rate: u16,
    pub fast_rate: u8,
    pub turn_angle: u8,
    pub turn_slope: u8,
    pub turn_time: u8,
}
Expand description

SmartBeaconing configuration.

SmartBeaconing adapts the beacon interval based on speed and course changes. At high speed, beacons are sent more frequently; at low speed, less frequently. Course changes trigger immediate beacons.

Settings correspond to the 7 parameters under the APRS > SmartBeaconing menu on the TH-D75.

Fields§

§low_speed: u8

Low speed threshold in mph (range 1-30). Below this speed, beacons are sent at slow_rate.

§high_speed: u8

High speed threshold in mph (range 2-90). At or above this speed, beacons are sent at fast_rate.

§slow_rate: u16

Slow beacon rate in seconds (range 1-100 minutes, stored as seconds).

§fast_rate: u8

Fast beacon rate in seconds (range 10-180 seconds).

§turn_angle: u8

Minimum course change in degrees to trigger a beacon (range 5-90).

§turn_slope: u8

Turn slope factor (range 1-255). Higher values require more speed before a turn triggers a beacon.

§turn_time: u8

Minimum time between turn-triggered beacons in seconds (range 5-180).

Trait Implementations§

Source§

impl Clone for McpSmartBeaconingConfig

Source§

fn clone(&self) -> McpSmartBeaconingConfig

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 McpSmartBeaconingConfig

Source§

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

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

impl Default for McpSmartBeaconingConfig

Source§

fn default() -> Self

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

impl From<McpSmartBeaconingConfig> for SmartBeaconingConfig

Converts a radio-memory SmartBeaconing config (mph/seconds) to the runtime form (km/h / seconds / f64).

Field mapping (all rates are in seconds on both sides):

MCP fieldRuntime fieldConversion
low_speedlow_speed_kmhmph → km/h (× 1.609_344)
high_speedhigh_speed_kmhmph → km/h (× 1.609_344)
slow_rateslow_rate_secsseconds (widened u16u32)
fast_ratefast_rate_secsseconds (widened u8u32)
turn_slopeturn_slopewidened u8u16
turn_angleturn_min_degwidened u8f64
turn_timeturn_time_secswidened u8u32
Source§

fn from(mcp: McpSmartBeaconingConfig) -> Self

Converts to this type from the input type.
Source§

impl Hash for McpSmartBeaconingConfig

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for McpSmartBeaconingConfig

Source§

fn eq(&self, other: &McpSmartBeaconingConfig) -> 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 Copy for McpSmartBeaconingConfig

Source§

impl Eq for McpSmartBeaconingConfig

Source§

impl StructuralPartialEq for McpSmartBeaconingConfig

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