#![allow(clippy::all)]
use epics_base_rs::server::record::{Asl, FieldDesc, Special};
use epics_base_rs::types::DbFieldType;
pub static MENU_EPID_FEEDBACK_MODE: &[&str] = &["PID", "Max/Min"];
pub static MENU_EPID_FEEDBACK_STATE: &[&str] = &["Off", "On"];
pub static MENU_THROTTLE_DRVLC: &[&str] = &["Off", "On"];
pub static MENU_THROTTLE_DRVLS: &[&str] = &["Normal", "Low Limit", "High Limit"];
pub static MENU_THROTTLE_OV: &[&str] = &["Ext PV NC", "Ext PV OK", "Local PV", "Constant"];
pub static MENU_THROTTLE_STS: &[&str] = &["Unknown", "Error", "Success"];
pub static MENU_THROTTLE_SYNC: &[&str] = &["Idle", "Process"];
pub static MENU_THROTTLE_WAIT: &[&str] = &["False", "True"];
pub static MENU_TIMESTAMP_TST: &[&str] = &[
"YY/MM/DD HH:MM:SS",
"MM/DD/YY HH:MM:SS",
"Mon DD HH:MM:SS YY",
"Mon DD HH:MM:SS",
"HH:MM:SS",
"HH:MM",
"DD/MM/YY HH:MM:SS",
"DD Mon HH:MM:SS YY",
"DD-Mon-YYYY HH:MM:SS",
"Mon DD, YYYY HH:MM:SS.ns",
"MM/DD/YY HH:MM:SS.ns",
];
pub fn menu_choices(menu: &str) -> Option<&'static [&'static str]> {
Some(match menu {
"epidFeedbackMode" => MENU_EPID_FEEDBACK_MODE,
"epidFeedbackState" => MENU_EPID_FEEDBACK_STATE,
"throttleDRVLC" => MENU_THROTTLE_DRVLC,
"throttleDRVLS" => MENU_THROTTLE_DRVLS,
"throttleOV" => MENU_THROTTLE_OV,
"throttleSTS" => MENU_THROTTLE_STS,
"throttleSYNC" => MENU_THROTTLE_SYNC,
"throttleWAIT" => MENU_THROTTLE_WAIT,
"timestampTST" => MENU_TIMESTAMP_TST,
_ => return None,
})
}
pub static EPID_FIELDS: &[FieldDesc] = &[
FieldDesc {
name: "VAL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: true,
asl: Asl::Asl0,
size: 0,
menu: None,
initial: None,
interest: 0,
prop: false,
},
FieldDesc {
name: "SMSL",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(epics_base_rs::server::record::dbd_generated::MENU_OMSL),
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "STPL",
dbf_type: DbFieldType::String,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "INP",
dbf_type: DbFieldType::String,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "OUTL",
dbf_type: DbFieldType::String,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "TRIG",
dbf_type: DbFieldType::String,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "TVAL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "CVAL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 0,
prop: false,
},
FieldDesc {
name: "CVLP",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 0,
prop: false,
},
FieldDesc {
name: "OVAL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 0,
prop: false,
},
FieldDesc {
name: "OVLP",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 3,
prop: false,
},
FieldDesc {
name: "PREC",
dbf_type: DbFieldType::Short,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "MDT",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "FMOD",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_EPID_FEEDBACK_MODE),
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "FBON",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_EPID_FEEDBACK_STATE),
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "FBOP",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_EPID_FEEDBACK_STATE),
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "KP",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "KI",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "KD",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "EGU",
dbf_type: DbFieldType::String,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 16,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "HOPR",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "LOPR",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "DRVH",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "DRVL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "HIHI",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "LOLO",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "HIGH",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "LOW",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "HHSV",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "LLSV",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "HSV",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "LSV",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "HYST",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "ADEL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "MDEL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "ODEL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "P",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 2,
prop: false,
},
FieldDesc {
name: "PP",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 2,
prop: false,
},
FieldDesc {
name: "I",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 2,
prop: false,
},
FieldDesc {
name: "IP",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 2,
prop: false,
},
FieldDesc {
name: "D",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 2,
prop: false,
},
FieldDesc {
name: "DP",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 2,
prop: false,
},
FieldDesc {
name: "DT",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 2,
prop: false,
},
FieldDesc {
name: "DTP",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 2,
prop: false,
},
FieldDesc {
name: "ERR",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 2,
prop: false,
},
FieldDesc {
name: "ERRP",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 2,
prop: false,
},
FieldDesc {
name: "LALM",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 3,
prop: false,
},
FieldDesc {
name: "ALST",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 3,
prop: false,
},
FieldDesc {
name: "MLST",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 3,
prop: false,
},
];
pub static THROTTLE_FIELDS: &[FieldDesc] = &[
FieldDesc {
name: "VAL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: true,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 0,
prop: false,
},
FieldDesc {
name: "OVAL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 3,
prop: false,
},
FieldDesc {
name: "SENT",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 0,
prop: false,
},
FieldDesc {
name: "OSENT",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 0,
prop: false,
},
FieldDesc {
name: "WAIT",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_THROTTLE_WAIT),
initial: Some("0"),
interest: 1,
prop: false,
},
FieldDesc {
name: "HOPR",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "LOPR",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "DRVLH",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::Mod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: Some("0.0"),
interest: 0,
prop: false,
},
FieldDesc {
name: "DRVLL",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::Mod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: Some("0.0"),
interest: 0,
prop: false,
},
FieldDesc {
name: "DRVLS",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_THROTTLE_DRVLS),
initial: Some("0"),
interest: 1,
prop: false,
},
FieldDesc {
name: "DRVLC",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_THROTTLE_DRVLC),
initial: Some("0"),
interest: 0,
prop: false,
},
FieldDesc {
name: "VER",
dbf_type: DbFieldType::String,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 20,
menu: None,
initial: Some(""),
interest: 0,
prop: false,
},
FieldDesc {
name: "STS",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_THROTTLE_STS),
initial: Some("0"),
interest: 1,
prop: false,
},
FieldDesc {
name: "PREC",
dbf_type: DbFieldType::Short,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "DPREC",
dbf_type: DbFieldType::Short,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "DLY",
dbf_type: DbFieldType::Double,
runtime_typed: false,
read_only: false,
special: Special::Mod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: Some("0.0"),
interest: 0,
prop: false,
},
FieldDesc {
name: "OUT",
dbf_type: DbFieldType::String,
runtime_typed: false,
read_only: false,
special: Special::Mod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "OV",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_THROTTLE_OV),
initial: Some("1"),
interest: 1,
prop: false,
},
FieldDesc {
name: "SINP",
dbf_type: DbFieldType::String,
runtime_typed: false,
read_only: false,
special: Special::Mod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 1,
prop: false,
},
FieldDesc {
name: "SIV",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_THROTTLE_OV),
initial: Some("1"),
interest: 1,
prop: false,
},
FieldDesc {
name: "SYNC",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::Mod,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_THROTTLE_SYNC),
initial: Some("Idle"),
interest: 0,
prop: false,
},
];
pub static TIMESTAMP_FIELDS: &[FieldDesc] = &[
FieldDesc {
name: "VAL",
dbf_type: DbFieldType::String,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: true,
asl: Asl::Asl0,
size: 40,
menu: None,
initial: None,
interest: 0,
prop: false,
},
FieldDesc {
name: "OVAL",
dbf_type: DbFieldType::String,
runtime_typed: false,
read_only: true,
special: Special::NoMod,
pp: false,
asl: Asl::Asl1,
size: 40,
menu: None,
initial: None,
interest: 3,
prop: false,
},
FieldDesc {
name: "RVAL",
dbf_type: DbFieldType::ULong,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: true,
asl: Asl::Asl1,
size: 0,
menu: None,
initial: None,
interest: 0,
prop: false,
},
FieldDesc {
name: "TST",
dbf_type: DbFieldType::Enum,
runtime_typed: false,
read_only: false,
special: Special::None,
pp: false,
asl: Asl::Asl1,
size: 0,
menu: Some(MENU_TIMESTAMP_TST),
initial: None,
interest: 2,
prop: false,
},
];
pub fn record_fields(record_type: &str) -> Option<&'static [FieldDesc]> {
Some(match record_type {
"epid" => EPID_FIELDS,
"throttle" => THROTTLE_FIELDS,
"timestamp" => TIMESTAMP_FIELDS,
_ => return None,
})
}
pub static RECORD_TYPES: &[&str] = &["epid", "throttle", "timestamp"];