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

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 Debug for RotatingTelemetry
[src]

Formats the value using the given formatter. Read more

impl Default for RotatingTelemetry
[src]

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

impl PartialEq for RotatingTelemetry
[src]

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

This method tests for !=.

Auto Trait Implementations

impl Send for RotatingTelemetry

impl Sync for RotatingTelemetry