#[non_exhaustive]pub struct BayInfo {Show 36 fields
pub uid: BayUid,
pub port_name: String,
pub user_name: String,
pub bay_num: u8,
pub features: BayFeatures,
pub is_input: bool,
pub is_output: bool,
pub is_audio: bool,
pub has_dolby: bool,
pub is_local: bool,
pub video_source: Option<BayUid>,
pub audio_source: Option<BayUid>,
pub power_status: Option<PowerStatus>,
pub hidden: Option<bool>,
pub faulty: Option<bool>,
pub zone_powered: Option<bool>,
pub hdbt_connected: Option<bool>,
pub signal_detected: Option<bool>,
pub hpd_detected: Option<bool>,
pub cec_detected: Option<bool>,
pub encoder_disabled: Option<bool>,
pub decoder_disabled: Option<bool>,
pub signal_type: Option<String>,
pub signal_details: Option<BaySignalDetails>,
pub signal_mode: MxrSignalType,
pub arc: ArcStatus,
pub volume: Option<VolumeMuteStatus>,
pub rc_type: Option<RcType>,
pub edid_profile: Option<EdidProfile>,
pub mirror: BayMirrorStatus,
pub audio_endpoint: Option<u8>,
pub amp_settings: Option<AmpZoneSettings>,
pub filtered: Vec<DeviceUid>,
pub linked_bay: Option<BayUid>,
pub v2ip_uid: DeviceUid,
pub content: Vec<BayContentField>,
}Expand description
What a bay is, and what is connected to it.
A status this bay has never reported is None, which is not the same as
the status being off: a device reports only what it has.
A mesh bay, a OneIP bay on one unit standing for another unit’s input or
output, reports that unit’s own bay 0 in the same direction. Only its
identity is its own: uid, port_name, bay_num, features, its
direction, is_local and v2ip_uid, which names that unit. Every change
to that bay is reported for each mesh bay standing for it as well. Until
the unit has reported the bay, the rest reads as never reported.
A command about a mesh bay goes to that unit about that bay, and is refused until the unit has reported it. A route keeps naming its source by a port of the device listing the mesh bay.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.uid: BayUidHow the bay is addressed: its device and its port.
port_name: StringThe name the device gives the port, such as Output 1.
user_name: StringThe name the installer gave the bay, falling back to the port name.
bay_num: u8The bay number the device’s own API and topology use.
features: BayFeaturesWhat the bay is wired for.
is_input: boolWhether the bay takes a signal in.
is_output: boolWhether the bay puts a signal out.
is_audio: boolWhether the bay carries audio and no video.
has_dolby: boolWhether the bay can decode Dolby.
is_local: boolWhether the bay is on this device rather than reached through the mesh.
video_source: Option<BayUid>The bay routed to this one for video.
audio_source: Option<BayUid>The bay routed to this one for audio, which follows the video source until the bay is told otherwise.
power_status: Option<PowerStatus>Power state of what is connected.
Whether the bay is hidden from the installation’s user interface.
faulty: Option<bool>Whether the device reports the bay as faulty.
zone_powered: Option<bool>Whether the amplifier zone the bay drives is powered on.
hdbt_connected: Option<bool>Whether an HDBaseT link is up.
signal_detected: Option<bool>Whether a signal is present.
hpd_detected: Option<bool>Whether hot-plug detect is asserted.
cec_detected: Option<bool>Whether a CEC device answered.
encoder_disabled: Option<bool>Whether the bay’s encoder is switched off.
decoder_disabled: Option<bool>Whether the bay’s decoder is switched off.
signal_type: Option<String>The signal as the device describes it, such as 1080p60 444 8.
signal_details: Option<BaySignalDetails>The signal as the device measures it.
signal_mode: MxrSignalTypeThe signal format the device reports for the bay.
arc: ArcStatusWhether audio return is active, and over which connector.
volume: Option<VolumeMuteStatus>Volume and mute, for a bay that has them.
A bay with no volume control of its own reads its
linked_bay’s, because a link to an amplifier
zone is how the mesh says that zone is this bay’s volume.
rc_type: Option<RcType>The kind of remote control attached.
edid_profile: Option<EdidProfile>The EDID profile the bay presents.
mirror: BayMirrorStatusWhich bay this one mirrors, if any.
audio_endpoint: Option<u8>The audio endpoint this bay feeds, on a device that has them.
amp_settings: Option<AmpZoneSettings>Amplifier settings, on an amplifier zone.
filtered: Vec<DeviceUid>Devices whose signals this bay refuses.
linked_bay: Option<BayUid>The bay on another device this one is linked to, once that bay has been discovered.
A link is mesh configuration rather than a route: it names the bay
elsewhere that belongs to this one, such as the amplifier zone carrying
a OneIP output’s volume. BayInfo::volume is already read through it.
v2ip_uid: DeviceUidThe unit a OneIP bay stands for, or the zero uid.
content: Vec<BayContentField>What the source on an input is showing, as its unit last reported.
A unit reports this whenever it changes, and keeps it while the source
has no signal; check BayInfo::signal_detected before showing it.