Skip to main content

TiltConfig

Struct TiltConfig 

Source
pub struct TiltConfig {
    pub segment_size: u8,
    pub min_tilt_angle: u8,
    pub beta_acc_mean: u16,
    pub report_mode: EventReportMode,
    pub interrupt_hold: u8,
}
Expand description

Configuration for the BMI323 tilt-detection feature.

Fields§

§segment_size: u8

Averaging duration of the acceleration reference vector.

Unit: seconds Scaling: raw / 50 Range: 0 ..= 255, corresponding to approximately 0.0s ..= 5.10s

§min_tilt_angle: u8

Minimum tilt angle raw field.

Unit: degrees Encoding: nonlinear Field width: 8 bits

The datasheet interpretation is cos(angle) * 256. The raw value is exposed directly to avoid adding a floating-point math dependency in this no_std crate.

§beta_acc_mean: u16

Exponential smoothing coefficient for the low-pass mean of the acceleration vector.

This is the raw beta_acc_mean field from the datasheet.

§report_mode: EventReportMode

Event reporting behavior shared across feature-engine interrupts.

§interrupt_hold: u8

Shared feature-engine interrupt hold-time exponent.

Implementations§

Source§

impl TiltConfig

Source

pub fn segment_size_from_seconds(seconds: f32) -> u8

Convert a reference-vector averaging duration in seconds to the BMI323 field encoding.

Source

pub fn segment_size_to_seconds(raw: u8) -> f32

Convert a raw segment-size field value back to seconds.

Source

pub fn interrupt_hold_from_millis(millis: f32) -> u8

Convert an interrupt hold time in milliseconds to the BMI323 field encoding.

Source

pub fn interrupt_hold_to_millis(raw: u8) -> f32

Convert a raw interrupt-hold field value back to milliseconds.

Trait Implementations§

Source§

impl Clone for TiltConfig

Source§

fn clone(&self) -> TiltConfig

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 TiltConfig

Source§

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

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

impl Format for TiltConfig

Source§

fn format(&self, f: Formatter<'_>)

Writes the defmt representation of self to fmt.
Source§

impl PartialEq for TiltConfig

Source§

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

Source§

impl Eq for TiltConfig

Source§

impl StructuralPartialEq for TiltConfig

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.

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, 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.