pub struct TuneRunInitialReadings {
pub pv_ini: f32,
pub mv_ini: f32,
pub mv_range_low: f32,
pub mv_range_high: f32,
pub pv_range_high: f32,
pub pv_range_low: f32,
pub controller_direction: ControllerDirection,
pub mode_raw: Option<String>,
pub mode_attribute_raw: Option<String>,
pub setpoint_ini: Option<f32>,
}Expand description
The initial-readings snapshot for a TuneRunRow — known only once the driver’s initial
read actually succeeds (ReadInitialOPCvalues in the legacy app); None for a run that
failed before or during that step. Combines
bhtune_core::mrft::InitialReadings/bhtune_core::range::PvRange with the
resolved ControllerDirection core-tuning-math needs alongside them, as one bespoke
type, since gluing the two existing structs together with one extra field isn’t any
simpler than a purpose-built one here.
Fields§
§pv_ini: f32§mv_ini: f32§mv_range_low: f32§mv_range_high: f32§pv_range_high: f32§pv_range_low: f32§controller_direction: ControllerDirection§mode_raw: Option<String>The controller mode tag’s raw value at read time, before any mutation –
None when the template/loop has no mode tag at all. Persisted (rather than kept
only in-process) so a crashed run’s restore intent survives the process dying
outright – safety-restore-guard (finding 3 of the live-plant safety review).
mode_attribute_raw: Option<String>The mode-attribute tag’s raw value at read time, before any mutation – None when
the template/loop has no mode-attribute tag at all. See mode_raw.
setpoint_ini: Option<f32>The setpoint read while the loop was still in its original mode, captured only when
that mode was Auto (mirrors SvValueIni in the legacy app) – None otherwise. Read
here rather than during the mode transition itself (unlike the legacy app), since a
plain read has no mutation risk and can safely happen before the loop is touched at
all. See mode_raw.
Trait Implementations§
Source§impl Clone for TuneRunInitialReadings
impl Clone for TuneRunInitialReadings
Source§fn clone(&self) -> TuneRunInitialReadings
fn clone(&self) -> TuneRunInitialReadings
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TuneRunInitialReadings
impl Debug for TuneRunInitialReadings
Source§impl PartialEq for TuneRunInitialReadings
impl PartialEq for TuneRunInitialReadings
Source§fn eq(&self, other: &TuneRunInitialReadings) -> bool
fn eq(&self, other: &TuneRunInitialReadings) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for TuneRunInitialReadings
Auto Trait Implementations§
impl Freeze for TuneRunInitialReadings
impl RefUnwindSafe for TuneRunInitialReadings
impl Send for TuneRunInitialReadings
impl Sync for TuneRunInitialReadings
impl Unpin for TuneRunInitialReadings
impl UnsafeUnpin for TuneRunInitialReadings
impl UnwindSafe for TuneRunInitialReadings
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more