6 releases (stable)

new 2.1.1 Oct 30, 2024
2.1.0 May 3, 2024
2.0.0 Mar 13, 2024
1.1.0 Mar 4, 2024
0.1.0 Feb 1, 2024

#4 in #gmt

MIT license

5MB
15K SLoC

gmt_dos-clients_servos

Crates.io Documentation

A client for the GMT servo-mechanisms.


lib.rs:

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:

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()?;

Dependencies

~69MB
~1M SLoC