pub struct ControlPipelineCtx<'a, B, E, C, M, PD, R: FlightFloat>where
B: BoardIo,
E: Estimator<R>,
C: Controller<R, State = E::State> + RcTrimCalibrator,
M: Mixer<R, MixerInput = C::ControlOutput>,
M::ActuatorCommands: AsRef<[R]> + Copy,
E::State: Copy + Default,
PD: PwmDriver<R>,{Show 14 fields
pub board: &'a mut B,
pub params: &'a Params,
pub sensors: &'a ProcessedSensors<R>,
pub external_attitude: &'a mut ExternalAttitudeState,
pub aux_commands: &'a AuxCommandState,
pub command: &'a CommandManager,
pub state: &'a mut StateManager,
pub estimator: &'a mut E,
pub controller: &'a mut C,
pub mixer: &'a mut M,
pub control_pipeline: &'a mut ControlPipelineResource<E::State, M::ActuatorCommands, R>,
pub pwm_output: &'a PwmOutputState,
pub pwm: &'a mut PD,
pub timing: Option<&'a mut ControlPipelineTiming>,
}Fields§
§board: &'a mut B§params: &'a Params§sensors: &'a ProcessedSensors<R>§external_attitude: &'a mut ExternalAttitudeState§aux_commands: &'a AuxCommandState§command: &'a CommandManager§state: &'a mut StateManager§estimator: &'a mut E§controller: &'a mut C§mixer: &'a mut M§control_pipeline: &'a mut ControlPipelineResource<E::State, M::ActuatorCommands, R>§pwm_output: &'a PwmOutputState§pwm: &'a mut PD§timing: Option<&'a mut ControlPipelineTiming>Auto Trait Implementations§
impl<'a, B, E, C, M, PD, R> Freeze for ControlPipelineCtx<'a, B, E, C, M, PD, R>
impl<'a, B, E, C, M, PD, R> RefUnwindSafe for ControlPipelineCtx<'a, B, E, C, M, PD, R>where
<E as Estimator<R>>::State: Sized + RefUnwindSafe,
<M as Mixer<R>>::ActuatorCommands: Sized + RefUnwindSafe,
B: RefUnwindSafe,
E: RefUnwindSafe,
C: RefUnwindSafe,
M: RefUnwindSafe,
PD: RefUnwindSafe,
R: RefUnwindSafe,
impl<'a, B, E, C, M, PD, R> Send for ControlPipelineCtx<'a, B, E, C, M, PD, R>
impl<'a, B, E, C, M, PD, R> Sync for ControlPipelineCtx<'a, B, E, C, M, PD, R>
impl<'a, B, E, C, M, PD, R> Unpin for ControlPipelineCtx<'a, B, E, C, M, PD, R>
impl<'a, B, E, C, M, PD, R> UnsafeUnpin for ControlPipelineCtx<'a, B, E, C, M, PD, R>
impl<'a, B, E, C, M, PD, R> !UnwindSafe for ControlPipelineCtx<'a, B, E, C, M, PD, R>
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
Mutably borrows from an owned value. Read more
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.