[][src]Struct mai400_api::rotating::RotatingTelemetry

pub struct RotatingTelemetry {
    pub b_field_igrf: [f32; 3],
    pub sun_vec_eph: [f32; 3],
    pub sc_pos_eci: [f32; 3],
    pub sc_vel_eci: [f32; 3],
    pub kepler_elem: KeplerElem,
    pub k_bdot: [f32; 3],
    pub kp: [f32; 3],
    pub kd: [f32; 3],
    pub k_unload: [f32; 3],
    pub css_bias: [i16; 6],
    pub mag_bias: [i16; 3],
    pub rws_volt: i16,
    pub rws_press: i16,
    pub att_det_mode: u8,
    pub rws_reset_cntr: [u8; 3],
    pub sun_mag_aligned: u8,
    pub minor_version: u8,
    pub mai_sn: u8,
    pub orbit_prop_mode: u8,
    pub acs_op_mode: u8,
    pub proc_reset_cntr: u8,
    pub major_version: u8,
    pub ads_op_mode: u8,
    pub css_gain: [f32; 6],
    pub mag_gain: [f32; 3],
    pub orbit_epoch: u32,
    pub true_anomoly_epoch: f32,
    pub orbit_epoch_next: u32,
    pub sc_pos_eci_epoch: [f32; 3],
    pub sc_vel_eci_epoch: [f32; 3],
    pub qb_x_wheel_speed: i16,
    pub qb_x_filter_gain: f32,
    pub qb_x_dipole_gain: f32,
    pub dipole_gain: [f32; 3],
    pub wheel_speed_bias: [i16; 3],
    pub cos_sun_mag_align_thresh: f32,
    pub unload_ang_thresh: f32,
    pub q_sat: f32,
    pub rwa_trq_max: f32,
    pub rws_motor_current: [u16; 3],
    pub rws_motor_temp: i16,
}
[]

Structure to contain all possible variables which can be returned by the standard telemetry message's rotating_variable fields

Fields

[]

IGRF magnetic fields (X, Y, Z) (Tesla)

[]

ECI Sun Vector from Ephemeris (X, Y, Z) (Unit)

[]

ECI Spacecraft Position (X, Y, Z) (km)

[]

ECI Spacecraft Velocity (X, Y, Z) (km)

[]

Keplerian elements

[]

Bdot Gain Acquisition Mode (X, Y, Z)

[]

Proportional Gain Normal Mode (X, Y, Z)

[]

Derivative Gain Normal Mode (X, Y, Z)

[]

Unloading Gain Normal Mode (X, Y, Z)

[]

CSS{n} Bias (1, 2, 3, 4, 5, 6)

[]

MAG Bias (X, Y, Z)

[]

RWS Bus Voltage (0.00483516483 v/lsb)

[]

Reserved

[]

Attitude Determination Mode

[]

RWS Reset Counter (X, Y, Z)

[]

Sun and Mag Field are aligned

[]

Software Minor Version

[]

Software Unit Serial Number

[]

Orbit Propagation Mode

[]

ACS Mode in Operation

[]

ADACS Processor Reset Counter

[]

Software Major Version

[]

ADS Mode in Operation

[]

CSS{n} Gain (1, 2, 3, 4, 5, 6)

[]

Mag Gain (X, Y, Z)

[]

Epoch of Current Orbit (GPS sec)

[]

True Anomaly at Epoch – Kepler (deg)

[]

Epoch of Next Updated RV (GPS sec)

[]

ECI Position at Next Epoch (X, Y, Z) (km)

[]

ECI Velocity at Next Epoch (X, Y, Z) (km/sec)

[]

QbX Wheel Speed Command (rpm)

[]

QbX Filter Gain

[]

QbX Dipole Gain

[]

Dipole Gain (X, Y, Z)

[]

Wheel Speed Bias (X, Y, Z) (rpm)

[]

Cosine of Sun/Mag Align Threshold Angle

[]

Max AngleToGo for Unloading (rad)

[]

Quaternion feedback saturation.

[]

Maximum RWA Torque (mNm)

[]

Reaction Wheel Motor Current (X, Y, Z) (A) (0.0003663003663 A/lsb)

[]

RWS Motor Temperature (Temperature oC = rwsMotorTemp * 0.0402930 - 50)

Methods

impl RotatingTelemetry
[src]
[]

[]

Extract the self variables from a standard telemetry message and update the appropriate corresponding fields in a selfTelemetry structure

Arguments

  • msg - Standard telemetry message to extract variables from
  • self - self variables structure to copy extracted data into

Errors

If errors are encountered, the structure will not be updated

Examples

let mai = MAI400::new("/dev/ttyS5")?;

let mut rotating = RotatingTelemetry::default();

let (std, _imu, _irehs) = mai.get_message()?;
if std.is_some() {
    rotating.update(&std.unwrap());
}

Trait Implementations

impl Clone for RotatingTelemetry
[src]
[+]

[]

Returns a copy of the value. Read more

[]

Performs copy-assignment from source. Read more

impl Default for RotatingTelemetry
[src]
[+]

[]

Returns the "default value" for a type. Read more

impl PartialEq<RotatingTelemetry> for RotatingTelemetry
[src]
[+]

[]

This method tests for self and other values to be equal, and is used by ==. Read more

[]

This method tests for !=.

impl Debug for RotatingTelemetry
[src]
[+]

[]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl Send for RotatingTelemetry

impl Sync for RotatingTelemetry

Blanket Implementations

impl<T> From for T
[src]
[]

[]

Performs the conversion.

impl<T, U> Into for T where
    U: From<T>, 
[src]
[]

[]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]
[]

[]

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

[]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]
[]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

[]

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]
[]

[]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]
[]

[]

Mutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]
[]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

[]

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Any for T where
    T: 'static + ?Sized
[src]
[]

[]

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more