Crate gmt_dos_clients_servos

source ·
Expand description

§GMT Servo-Mechanisms

A dos-actors system that combines together a few clients:

  • the GMT FEM
  • the GMT mount control system
  • the GMT M1 control system
  • the GMT M2 control system

Per default, only a few inputs and outputs of the FEM are made available:

Other builders will add extra inputs and outputs to the FEM. These builders are:

  • [AsmsServo]
    • [Facesheet][asms_servo::Facesheet]
    • [ReferenceBody][asms_servo::ReferenceBody]
    • [VoiceCoils][asms_servo::VoiceCoils]
  • [WindLoads]
  • [EdgeSensors]

§Warning

The gmt_dos-clients_servos crate depends on some code that is generated at compile timed based on the value of the environment variables FEM_REPO and MOUNT_MODEL. To get the full documentation, you need to set the FEM_REPO environment variable and recompile the docs locally with:

FEM_REPO=<path-to-fem>  cargo doc --no-deps --package gmt_dos-clients_servos --open

§Example

use gmt_dos_clients_servos::{asms_servo, AsmsServo, GmtServoMechanisms};
use gmt_fem::FEM;

const ACTUATOR_RATE: usize = 80; // 100Hz

let frequency = 8000_f64; // Hz
let fem = FEM::from_env()?;

let gmt_servos =
    GmtServoMechanisms::<ACTUATOR_RATE, 1>::new(frequency, fem).build()?;