use std::any::type_name;
use interface::{UID, UniqueIdentifier};
pub mod assembly;
pub mod gmt_fem;
pub mod gmt_m1;
pub mod gmt_m2;
pub use assembly::Assembly;
#[derive(UID)]
#[uid(port = 56_012)]
pub enum M12RigidBodyMotions {}
#[derive(UID)]
#[uid(port = 56_666)]
pub enum Estimate {}
pub mod mount {
use super::UID;
#[derive(UID)]
#[uid(port = 52_001)]
pub enum MountEncoders {}
#[derive(UID)]
#[uid(port = 52_011)]
pub enum AverageMountEncoders<const E: i32 = 0> {}
#[derive(UID)]
#[uid(port = 52_002)]
pub enum MountTorques {}
#[derive(UID)]
#[uid(port = 52_003)]
pub enum MountSetPoint {}
}
pub mod cfd_wind_loads {
use super::UID;
#[derive(UID)]
#[uid(port = 53_001)]
pub enum CFDMountWindLoads {}
#[derive(UID)]
#[uid(port = 53_002)]
pub enum CFDM1WindLoads {}
#[derive(UID)]
#[uid(port = 53_003)]
pub enum CFDM2WindLoads {}
}
pub mod optics;
pub mod domeseeing {
use super::UID;
#[derive(UID)]
#[uid(port = 54_001)]
pub enum DomeSeeingOpd {}
}
pub fn get_port<U: UniqueIdentifier>() -> u16 {
<U as UniqueIdentifier>::PORT
}
pub fn get_datatype<U: UniqueIdentifier>() -> &'static str {
type_name::<<U as UniqueIdentifier>::DataType>()
}