Crate mai400_api
source · [−]Expand description
Kubos API for interacting with Adcole Maryland Aerospace MAI-400 ADACS
All work is done against an instantiated MAI400
struct.
Examples
use mai400_api::*;
// Create a new MAI connection
let mai = MAI400::new("/dev/ttyS5")?;
// Set the GPS time to Jan 01, 2018
mai.set_gps_time(1198800018)?;
// Pull the updated time out of the next standard telemetry message
let (std, _imu, _irehs) = mai.get_message()?;
if let Some(telem) = std {
println!("Current GPS time: {}", telem.gps_time);
}
Modules
Module for receiving and processing the IREHS telemetry message
Mock objects for use with unit tests
Module for receiving and processing the raw IMU telemetry message
Module for extracting and saving the rotating variables from the standard telemetry messages
Module for receiving and processing the standard telemetry message
Structs
Wrapper for UART stream
IR Earth Horizon Sensor telemetry data
Structure for keplarian elements returned in the standard telemetry message
Structure for MAI-400 device instance
Raw accelerometer and gyroscope data
Structure to contain all possible variables which can be returned
by the standard telemetry message’s rotating_variable
fields
Standard telemetry packet sent by the MAI-400 every 250ms
Thermopile error flags
Enums
Constants
Sync word for raw IMU and IREHS telemetry packets
Type Definitions
Custom error type for MAI400 operations.